Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5599 amit.gupta 1
package in.shop2020.server;
2
 
3
import in.shop2020.model.ProductSearchActivity;
4
import in.shop2020.web.DailySearchQueryAggregatorServlet;
5
 
6
import java.text.SimpleDateFormat;
7
import java.util.ArrayList;
8
import java.util.Date;
9
import java.util.List;
10
import java.util.TimeZone;
11
import java.util.logging.Logger;
12
 
13
import javax.jdo.Extent;
14
import javax.jdo.PersistenceManager;
15
import javax.jdo.Query;
16
 
17
public class ProductSearchActivityRepository {
18
 
19
	private static Logger logger = Logger.getLogger(ProductSearchActivityRepository.class.getName());
20
 
21
	public List<ProductSearchActivity> getAll() {
22
		PersistenceManager pm = PMF.get().getPersistenceManager();
23
		try {
24
			List<ProductSearchActivity> searchActivities = new ArrayList<ProductSearchActivity>();
25
		    Extent<ProductSearchActivity> extent = pm.getExtent(ProductSearchActivity.class, false);
26
		    for (ProductSearchActivity searchActivity : extent) {
27
		    	logger.warning(searchActivity.toString());
28
		        searchActivities.add(searchActivity);
29
		    }
30
		    extent.closeAll();
31
 
32
		    return searchActivities;
33
		} catch(Exception e) {
34
			logger.warning(e.toString());
35
			e.printStackTrace();
36
		} finally {
37
			pm.close();
38
		}
39
		return null;
40
	}
41
 
42
	public void create(ProductSearchActivity searchActivity) {
43
	    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
44
	    String key = sdf.format(searchActivity.getDate()) + "-" + searchActivity.getQueryString();
45
	    searchActivity.setKey(key);
46
		PersistenceManager pm = PMF.get().getPersistenceManager();
47
		try {
48
		    pm.makePersistent(searchActivity);
49
		} catch(Exception e) {
50
			logger.warning(e.toString());
51
			e.printStackTrace();
52
		} finally {
53
			pm.close();
54
		}
55
	}
56
 
57
	public void createAll(List<ProductSearchActivity> searchActivities) {
58
	    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
59
	    sdf.setTimeZone(TimeZone.getTimeZone("IST"));
60
        for (ProductSearchActivity searchActivity : searchActivities) {
61
            String key = sdf.format(searchActivity.getDate()) + "-" + searchActivity.getQueryString();
62
	        searchActivity.setKey(key);
63
	        logger.warning(searchActivity.toString());
64
	    }
65
        PersistenceManager pm = PMF.get().getPersistenceManager();
66
        try {
67
            pm.makePersistentAll(searchActivities);
68
        } catch(Exception e) {
69
			logger.warning(e.toString());
70
			e.printStackTrace();
71
		} finally {
72
            pm.close();
73
        }
74
    }
75
 
76
	public void deleteById(String key) {
77
		PersistenceManager pm = PMF.get().getPersistenceManager();
78
		try {
79
			pm.deletePersistent(pm.getObjectById(ProductSearchActivity.class, key));
80
		} finally {
81
			pm.close();
82
		}
83
	}
84
 
85
	public ProductSearchActivity getById(String key) {
86
        PersistenceManager pm = PMF.get().getPersistenceManager();
87
        try {
88
            return pm.getObjectById(ProductSearchActivity.class, key);
89
        } finally {
90
            pm.close();
91
        }
92
    }
93
 
94
	public static List<ProductSearchActivity> getByDate(Date date) {
95
	    PersistenceManager pm = PMF.get().getPersistenceManager();
96
        Query query = pm.newQuery(ProductSearchActivity.class);
97
        //query.setFilter("date <= dateParam");
98
        query.setFilter("date == dateParam");
99
        query.declareImports("import java.util.Date");
100
        query.declareParameters("Date dateParam");
101
 
102
        try {
103
            return (List<ProductSearchActivity>) query.execute(date);
104
        } finally {
105
            query.closeAll();
106
        }
107
    }
108
 
109
}