1 package com.dotmarketing.loggers; 2 3 import java.util.Iterator ; 4 import java.util.List ; 5 6 import com.dotmarketing.beans.Clickstream; 7 import com.dotmarketing.beans.ClickstreamRequest; 8 import com.dotmarketing.factories.ClickstreamFactory; 9 import com.dotmarketing.factories.ClickstreamRequestFactory; 10 11 18 public class DatabaseClickstreamLogger implements ClickstreamLogger { 19 20 public void log(Clickstream clickstream) { 21 if (clickstream == null) 22 return; 23 24 25 28 List myStream = clickstream.getClickstreamRequests(); 29 if (myStream != null && myStream.size() > 0) { 30 Iterator myStreamIter = myStream.iterator(); 31 ClickstreamFactory.save(clickstream); 32 long clickStreamId = clickstream.getClickstreamId(); 33 while (myStreamIter.hasNext()) { 34 ClickstreamRequest myClickstreamRequest = (ClickstreamRequest) myStreamIter.next(); 35 myClickstreamRequest.setClickstreamId(clickStreamId); 36 ClickstreamRequestFactory.save(myClickstreamRequest); 37 38 } 39 } 40 41 46 String _dotCMSID = clickstream.getCookieId(); 47 String _loggedInUser = clickstream.getUserId(); 48 49 if (_dotCMSID != null) { 50 List <Clickstream> csl = ClickstreamFactory.getClickstreamsByCookieId(_dotCMSID); 51 if (_loggedInUser == null) { 52 for (Clickstream cs : csl) { 53 if (cs.getUserId() != null) { 54 _loggedInUser = cs.getUserId(); 55 break; 56 } 57 } 58 } 59 if (_loggedInUser != null) { 60 for (Clickstream cs : csl) { 61 if (cs.getUserId() == null) { 62 cs.setUserId(_loggedInUser); 63 ClickstreamFactory.save(cs); 64 } 65 } 66 } 67 } 68 } 69 } 70 | Popular Tags |