Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3371 vikas 1
<%@page import="java.util.Date"%>
2
<%@page import="java.util.TimeZone"%>
3
<%@page import="java.text.SimpleDateFormat"%>
4
<%@page import="com.google.appengine.api.datastore.Query.SortDirection"%>
5
<%@page import="java.util.Map.Entry"%>
6
<%@ page import="java.util.List" %>
7
<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %>
8
<%@ page import="com.google.appengine.api.datastore.DatastoreService" %>
9
<%@ page import="com.google.appengine.api.datastore.Query" %>
10
<%@ page import="com.google.appengine.api.datastore.Entity" %>
11
<%@ page import="com.google.appengine.api.datastore.PreparedQuery" %>
12
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
13
 
14
<html>
15
  <head>
16
      <link rel="stylesheet" href="/DataTables/media/css/demo_table.css" type="text/css" />
17
      <link rel="stylesheet" href="/DataTables/extras/TableTools/media/css/TableTools.css" type="text/css" /> 
18
  </head>
19
  <body>
20
<%
21
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
22
    sdf.setTimeZone(TimeZone.getTimeZone("IST"));
23
    SimpleDateFormat iSdf = new SimpleDateFormat("yyyyMMdd");
24
    iSdf.setTimeZone(TimeZone.getTimeZone("IST"));
25
    DatastoreService datastore = DatastoreServiceFactory
26
            .getDatastoreService();
27
    String eventType = request.getParameter("eventType");
28
 
29
    if (eventType == null || eventType.isEmpty()) {
30
        return;
31
    }
32
    Date shortDate = iSdf.parse(request.getParameter("shortDate"));
33
    Long catalogId = Long.parseLong(request.getParameter("catalogId"));
34
 
35
    Query query = new Query("DataLog");
36
    query.addFilter("eventType", Query.FilterOperator.EQUAL,
37
            eventType);
38
    if (eventType.equals("PRODUCT_VIEW")) {
39
        query.addFilter("itemId", Query.FilterOperator.EQUAL,
40
                catalogId);
41
    }
42
    else {
43
        query.addFilter("itemIds", Query.FilterOperator.EQUAL,
44
                catalogId);
45
    }
46
    query.addFilter("shortdate", Query.FilterOperator.EQUAL,
47
            shortDate);
48
    PreparedQuery pq = datastore.prepare(query);
49
%>
50
	<table cellpadding="0" cellspacing="0" border="0" class="display"
51
		id="product-access">
52
		<thead>
53
			<tr>
54
				<th>Date</th>
55
				<th>First Source</th>
56
				<th>Session Source</th>
57
				<th>User Id</th>
58
				<th>View Session</th>
59
			</tr>
60
		</thead>
61
		<tbody>
62
 
63
<%
64
        for (Entity result : pq.asIterable()) {
65
            Query sessionQuery = new Query("DataLog");
66
            sessionQuery.addFilter("sessionId", Query.FilterOperator.EQUAL,
67
                    result.getProperty("sessionId").toString());
68
            sessionQuery.addFilter("eventType", Query.FilterOperator.EQUAL,
69
                    "NEW_SESSION");
70
            PreparedQuery sessionPq = datastore.prepare(sessionQuery);
71
            Entity sessionResult = sessionPq.asIterable().iterator().next();
72
            String firstSource = "";
73
            String sessionSource ="";
74
            if (sessionResult != null) {
75
	            if(sessionResult.hasProperty("firstSource")) {
76
	                firstSource = sessionResult.getProperty("firstSource").toString();
77
	            }
78
	            if(sessionResult.hasProperty("source")) {
79
	                sessionSource = sessionResult.getProperty("source").toString();
80
	            }
81
            }
82
%>
83
			<tr>
84
				<td><%=sdf.format((Date) (result.getProperty("date")))%></td>
85
				<td><%=firstSource%></td>
86
                <td><%=sessionSource%></td>
87
                <td><a href="/jsp/user-activity.jsp?email=<%=result.getProperty("email").toString()%>"><%= result.getProperty("email").toString() %></a></td>
88
				<td><a href="/jsp/session-activity.jsp?sessionId=<%=result.getProperty("sessionId").toString()%>"><%=result.getProperty("sessionId").toString()%></a></td>
89
			</tr>
90
<%
91
    }
92
%>
93
		</tbody>
94
	</table>
95
    <script type="text/javascript" language="javascript" src="/DataTables/media/js/jquery.js"></script>
96
    <script type="text/javascript" language="javascript" src="/DataTables/media/js/jquery.dataTables.min.js"></script>
97
    <script type="text/javascript" charset="utf-8" src="/DataTables/extras/TableTools/media/js/ZeroClipboard.js"></script>
98
    <script type="text/javascript" charset="utf-8" src="/DataTables/extras/TableTools/media/js/TableTools.js"></script>
99
    <script type="text/javascript" charset="utf-8">
100
        $(document).ready(function() {
101
            $('#product-access').dataTable({
102
                "sPaginationType": "full_numbers",
103
                "bProcessing": true,
104
                "bStateSave": true,
105
                "sDom": 'T<"clear">lfrtip',
106
                "oTableTools": {
107
                    "sSwfPath": "/DataTables/extras/TableTools/media/swf/copy_cvs_xls_pdf.swf"
108
                },
109
                "aoColumns": [ 
110
                              null,
111
                              { "bSearchable": false },
112
                              null,
113
                              null,
114
                              null
115
                    ]
116
            });
117
        } );
118
    </script>
119
  </body>
120
</html>