Blame | Last modification | View Log | RSS feed
package in.shop2020.server;import in.shop2020.model.ProductSearchActivity;import in.shop2020.web.DailySearchQueryAggregatorServlet;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.TimeZone;import java.util.logging.Logger;import javax.jdo.Extent;import javax.jdo.PersistenceManager;import javax.jdo.Query;public class ProductSearchActivityRepository {private static Logger logger = Logger.getLogger(ProductSearchActivityRepository.class.getName());public List<ProductSearchActivity> getAll() {PersistenceManager pm = PMF.get().getPersistenceManager();try {List<ProductSearchActivity> searchActivities = new ArrayList<ProductSearchActivity>();Extent<ProductSearchActivity> extent = pm.getExtent(ProductSearchActivity.class, false);for (ProductSearchActivity searchActivity : extent) {logger.warning(searchActivity.toString());searchActivities.add(searchActivity);}extent.closeAll();return searchActivities;} catch(Exception e) {logger.warning(e.toString());e.printStackTrace();} finally {pm.close();}return null;}public void create(ProductSearchActivity searchActivity) {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");String key = sdf.format(searchActivity.getDate()) + "-" + searchActivity.getQueryString();searchActivity.setKey(key);PersistenceManager pm = PMF.get().getPersistenceManager();try {pm.makePersistent(searchActivity);} catch(Exception e) {logger.warning(e.toString());e.printStackTrace();} finally {pm.close();}}public void createAll(List<ProductSearchActivity> searchActivities) {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");sdf.setTimeZone(TimeZone.getTimeZone("IST"));for (ProductSearchActivity searchActivity : searchActivities) {String key = sdf.format(searchActivity.getDate()) + "-" + searchActivity.getQueryString();searchActivity.setKey(key);logger.warning(searchActivity.toString());}PersistenceManager pm = PMF.get().getPersistenceManager();try {pm.makePersistentAll(searchActivities);} catch(Exception e) {logger.warning(e.toString());e.printStackTrace();} finally {pm.close();}}public void deleteById(String key) {PersistenceManager pm = PMF.get().getPersistenceManager();try {pm.deletePersistent(pm.getObjectById(ProductSearchActivity.class, key));} finally {pm.close();}}public ProductSearchActivity getById(String key) {PersistenceManager pm = PMF.get().getPersistenceManager();try {return pm.getObjectById(ProductSearchActivity.class, key);} finally {pm.close();}}public static List<ProductSearchActivity> getByDate(Date date) {PersistenceManager pm = PMF.get().getPersistenceManager();Query query = pm.newQuery(ProductSearchActivity.class);//query.setFilter("date <= dateParam");query.setFilter("date == dateParam");query.declareImports("import java.util.Date");query.declareParameters("Date dateParam");try {return (List<ProductSearchActivity>) query.execute(date);} finally {query.closeAll();}}}