- Timestamp:
- 08/16/12 17:08:27 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/WeblogParser.java
r488 r554 16 16 import java.util.Set; 17 17 18 import de.ugoe.cs.quest.plugin.php.eventcore.WebEvent; 18 import de.ugoe.cs.quest.eventcore.Event; 19 import de.ugoe.cs.quest.eventcore.IEventTarget; 20 import de.ugoe.cs.quest.eventcore.IEventType; 21 import de.ugoe.cs.quest.plugin.php.eventcore.PHPEventTarget; 22 import de.ugoe.cs.quest.plugin.php.eventcore.PHPEventType; 23 import de.ugoe.cs.quest.plugin.php.eventcore.WebRequest; 19 24 import de.ugoe.cs.util.FileTools; 20 25 import de.ugoe.cs.util.console.Console; … … 67 72 * </p> 68 73 */ 69 private List<List< WebEvent>> sequences;74 private List<List<Event>> sequences; 70 75 71 76 /** … … 90 95 * </p> 91 96 */ 92 private List<Collection<List< WebEvent>>> sequencesFrequentUsers;97 private List<Collection<List<Event>>> sequencesFrequentUsers; 93 98 94 99 /** … … 145 150 * @return generated event sequences 146 151 */ 147 public Collection<List< WebEvent>> getSequences() {152 public Collection<List<Event>> getSequences() { 148 153 return sequences; 149 154 } … … 232 237 * @return list of the sequences of all frequent users 233 238 */ 234 public List<Collection<List< WebEvent>>> getFrequentUserSequences() {239 public List<Collection<List<Event>>> getFrequentUserSequences() { 235 240 return sequencesFrequentUsers; 236 241 } … … 255 260 256 261 Map<String, List<Integer>> cookieSessionMap = new HashMap<String, List<Integer>>(); 262 Map<String, Long> cookieTimestampMap = new HashMap<String, Long>(); 263 257 264 int lastId = -1; 258 265 … … 261 268 loadRobotRegex(); 262 269 263 sequences = new ArrayList<List< WebEvent>>();270 sequences = new ArrayList<List<Event>>(); 264 271 users = new ArrayList<String>(); 265 272 … … 298 305 List<String> getVars = extractGetVarsFromUri(uri); 299 306 300 WebEvent event = new WebEvent(url, path, timestamp, 301 postedVars, getVars); 307 IEventType type = new PHPEventType(path, postedVars, getVars); 308 IEventTarget target = new PHPEventTarget(path); 309 Event event = new Event(type, target); 310 event.addReplayable(new WebRequest(url, path, postedVars, getVars)); 302 311 303 312 // find session and add event … … 308 317 sessionIds.add(++lastId); 309 318 cookieSessionMap.put(cookie, sessionIds); 310 sequences.add(new LinkedList< WebEvent>());319 sequences.add(new LinkedList<Event>()); 311 320 users.add(cookie); 312 321 } 313 322 Integer lastSessionIndex = sessionIds 314 323 .get(sessionIds.size() - 1); 315 List< WebEvent> lastSession = sequences324 List<Event> lastSession = sequences 316 325 .get(lastSessionIndex); 317 326 long lastEventTime = timestamp; 318 327 if (!lastSession.isEmpty()) { 319 lastEventTime = lastSession.get(lastSession.size() - 1) 320 .getTimestamp(); 328 lastEventTime = cookieTimestampMap.get(cookie); 321 329 } 322 330 if (timestamp - lastEventTime > timeout) { 323 331 sessionIds.add(++lastId); 324 List< WebEvent> newSession = new LinkedList<WebEvent>();332 List<Event> newSession = new LinkedList<Event>(); 325 333 newSession.add(event); 326 334 sequences.add(newSession); … … 329 337 lastSession.add(event); 330 338 } 339 cookieTimestampMap.put(cookie, timestamp); 331 340 } catch (URISyntaxException e) { 332 341 Console.traceln("Ignored line " + lineCounter + ": " … … 358 367 private void generateFrequentUserSequences(Set<String> uniqueUsers) { 359 368 frequentUsers = new ArrayList<String>(); 360 sequencesFrequentUsers = new ArrayList<Collection<List< WebEvent>>>();369 sequencesFrequentUsers = new ArrayList<Collection<List<Event>>>(); 361 370 for (String user : uniqueUsers) { 362 371 List<String> tmp = new ArrayList<String>(); … … 367 376 if (size >= frequentUsersThreshold) { 368 377 frequentUsers.add(user); 369 Collection<List< WebEvent>> sequencesUser = new ArrayList<List<WebEvent>>();378 Collection<List<Event>> sequencesUser = new ArrayList<List<Event>>(); 370 379 for (int i = 0; i < sequences.size(); i++) { 371 380 if (users.get(i).equals(user)) {
Note: See TracChangeset
for help on using the changeset viewer.