Subversion Repositories SmartDukaan

Rev

Rev 2620 | Rev 2670 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2620 Rev 2669
Line 1... Line 1...
1
package in.shop2020.web;
1
package in.shop2020.web;
2
 
2
 
3
import java.io.IOException;
3
import java.io.IOException;
-
 
4
import java.util.HashMap;
-
 
5
import java.util.List;
-
 
6
import java.util.Map;
4
 
7
 
5
import javax.servlet.http.HttpServlet;
8
import javax.servlet.http.HttpServlet;
6
import javax.servlet.http.HttpServletRequest;
9
import javax.servlet.http.HttpServletRequest;
7
import javax.servlet.http.HttpServletResponse;
10
import javax.servlet.http.HttpServletResponse;
8
 
11
 
-
 
12
import org.json.JSONObject;
-
 
13
 
9
import com.google.appengine.api.datastore.DatastoreService;
14
import com.google.appengine.api.datastore.DatastoreService;
10
import com.google.appengine.api.datastore.DatastoreServiceFactory;
15
import com.google.appengine.api.datastore.DatastoreServiceFactory;
11
import com.google.appengine.api.datastore.Entity;
16
import com.google.appengine.api.datastore.Entity;
12
import com.google.appengine.api.datastore.PreparedQuery;
17
import com.google.appengine.api.datastore.PreparedQuery;
13
import com.google.appengine.api.datastore.Query;
18
import com.google.appengine.api.datastore.Query;
14
 
19
 
15
public class ShowCompareProducts extends HttpServlet {
20
public class ShowCompareProducts extends HttpServlet {
16
    private static final long serialVersionUID = -8236918415987438049L;
21
    private static final long serialVersionUID = -8236918415987438049L;
17
 
22
 
18
    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
23
    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
19
        resp.setContentType("text/plain");
24
        resp.setContentType("application/json");
20
        
25
        
21
        DatastoreService datastore = DatastoreServiceFactory
26
        DatastoreService datastore = DatastoreServiceFactory
22
                .getDatastoreService();
27
                .getDatastoreService();
23
 
28
 
24
        Query q = new Query("DataLog");
29
        Query q = new Query("DataLog");
25
        q.addFilter("eventType", Query.FilterOperator.EQUAL, "PRODUCT_COMPARE");
30
        q.addFilter("eventType", Query.FilterOperator.EQUAL, "PRODUCT_COMPARE");
26
        
31
        
27
        PreparedQuery pq = datastore.prepare(q);
32
        PreparedQuery pq = datastore.prepare(q);
-
 
33
        
-
 
34
        Map<Long, Map<Long, Long>> comparisonStats = new HashMap<Long, Map<Long, Long>>();
28
 
35
        
29
        try {
36
        try {
30
            resp.getWriter().println("Comparisons \n");
-
 
31
            for (Entity result : pq.asIterable()) {
37
            for (Entity result : pq.asIterable()) {
-
 
38
                List<Long> itemIds =  (List<Long>) result.getProperty("itemIds");
-
 
39
                if(itemIds != null && !itemIds.isEmpty()){
-
 
40
                	for(int i=0; i<itemIds.size(); i++){
-
 
41
                		for(int j=0; j<i; j++){
-
 
42
                			Long itemOne = itemIds.get(i);
-
 
43
                			Long itemTwo = itemIds.get(j);
-
 
44
                			Map<Long, Long> comparedItems;
-
 
45
                			comparedItems = comparisonStats.get(itemOne);
-
 
46
                			if(comparedItems==null){
-
 
47
                				comparedItems = new HashMap<Long, Long>();
-
 
48
                				comparisonStats.put(itemOne, comparedItems);
-
 
49
                			}
-
 
50
                			if(comparedItems.containsKey(itemTwo)){
-
 
51
                				comparedItems.put(itemTwo, comparedItems.get(itemTwo)+1);
-
 
52
                			}else{
-
 
53
                				comparedItems.put(itemTwo, 1L);
-
 
54
                			}
-
 
55
                			
-
 
56
                			comparedItems = comparisonStats.get(itemTwo);;
-
 
57
                			if(comparedItems==null){
-
 
58
                				comparedItems = new HashMap<Long, Long>();
-
 
59
                				comparisonStats.put(itemTwo, comparedItems);
-
 
60
                			}
-
 
61
                			if(comparedItems.containsKey(itemOne)){
-
 
62
                				comparedItems.put(itemOne, comparedItems.get(itemOne)+1);
-
 
63
                			}else{
32
                resp.getWriter().println("\n");
64
                				comparedItems.put(itemOne, 1L);
-
 
65
                			}
-
 
66
                		}
-
 
67
                	}
-
 
68
                }
33
                resp.getWriter().println(result.toString());
69
                //resp.getWriter().println(comparisonStats);
34
            }
70
            }
-
 
71
            
-
 
72
            JSONObject comparisonStatsJson = new JSONObject(comparisonStats);
-
 
73
            resp.getWriter().println(comparisonStatsJson);
-
 
74
            	
35
        } catch (IOException e) {
75
        } catch (IOException e) {
36
            e.printStackTrace();
76
            e.printStackTrace();
37
        }
77
        }
38
    }
78
    }
39
    
79