Ignore:
Timestamp:
08/16/12 17:08:27 (12 years ago)
Author:
sherbold
Message:
  • adapted PHP plugin event structure to new event structure
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/php/WeblogParser.java

    r488 r554  
    1616import java.util.Set; 
    1717 
    18 import de.ugoe.cs.quest.plugin.php.eventcore.WebEvent; 
     18import de.ugoe.cs.quest.eventcore.Event; 
     19import de.ugoe.cs.quest.eventcore.IEventTarget; 
     20import de.ugoe.cs.quest.eventcore.IEventType; 
     21import de.ugoe.cs.quest.plugin.php.eventcore.PHPEventTarget; 
     22import de.ugoe.cs.quest.plugin.php.eventcore.PHPEventType; 
     23import de.ugoe.cs.quest.plugin.php.eventcore.WebRequest; 
    1924import de.ugoe.cs.util.FileTools; 
    2025import de.ugoe.cs.util.console.Console; 
     
    6772         * </p> 
    6873         */ 
    69         private List<List<WebEvent>> sequences; 
     74        private List<List<Event>> sequences; 
    7075 
    7176        /** 
     
    9095         * </p> 
    9196         */ 
    92         private List<Collection<List<WebEvent>>> sequencesFrequentUsers; 
     97        private List<Collection<List<Event>>> sequencesFrequentUsers; 
    9398 
    9499        /** 
     
    145150         * @return generated event sequences 
    146151         */ 
    147         public Collection<List<WebEvent>> getSequences() { 
     152        public Collection<List<Event>> getSequences() { 
    148153                return sequences; 
    149154        } 
     
    232237         * @return list of the sequences of all frequent users 
    233238         */ 
    234         public List<Collection<List<WebEvent>>> getFrequentUserSequences() { 
     239        public List<Collection<List<Event>>> getFrequentUserSequences() { 
    235240                return sequencesFrequentUsers; 
    236241        } 
     
    255260 
    256261                Map<String, List<Integer>> cookieSessionMap = new HashMap<String, List<Integer>>(); 
     262                Map<String, Long> cookieTimestampMap = new HashMap<String, Long>(); 
     263                 
    257264                int lastId = -1; 
    258265 
     
    261268                loadRobotRegex(); 
    262269 
    263                 sequences = new ArrayList<List<WebEvent>>(); 
     270                sequences = new ArrayList<List<Event>>(); 
    264271                users = new ArrayList<String>(); 
    265272 
     
    298305                                        List<String> getVars = extractGetVarsFromUri(uri); 
    299306                                         
    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)); 
    302311 
    303312                                        // find session and add event 
     
    308317                                                sessionIds.add(++lastId); 
    309318                                                cookieSessionMap.put(cookie, sessionIds); 
    310                                                 sequences.add(new LinkedList<WebEvent>()); 
     319                                                sequences.add(new LinkedList<Event>()); 
    311320                                                users.add(cookie); 
    312321                                        } 
    313322                                        Integer lastSessionIndex = sessionIds 
    314323                                                        .get(sessionIds.size() - 1); 
    315                                         List<WebEvent> lastSession = sequences 
     324                                        List<Event> lastSession = sequences 
    316325                                                        .get(lastSessionIndex); 
    317326                                        long lastEventTime = timestamp; 
    318327                                        if (!lastSession.isEmpty()) { 
    319                                                 lastEventTime = lastSession.get(lastSession.size() - 1) 
    320                                                                 .getTimestamp(); 
     328                                                lastEventTime = cookieTimestampMap.get(cookie); 
    321329                                        } 
    322330                                        if (timestamp - lastEventTime > timeout) { 
    323331                                                sessionIds.add(++lastId); 
    324                                                 List<WebEvent> newSession = new LinkedList<WebEvent>(); 
     332                                                List<Event> newSession = new LinkedList<Event>(); 
    325333                                                newSession.add(event); 
    326334                                                sequences.add(newSession); 
     
    329337                                                lastSession.add(event); 
    330338                                        } 
     339                                        cookieTimestampMap.put(cookie, timestamp); 
    331340                                } catch (URISyntaxException e) { 
    332341                                        Console.traceln("Ignored line " + lineCounter + ": " 
     
    358367        private void generateFrequentUserSequences(Set<String> uniqueUsers) { 
    359368                frequentUsers = new ArrayList<String>(); 
    360                 sequencesFrequentUsers = new ArrayList<Collection<List<WebEvent>>>(); 
     369                sequencesFrequentUsers = new ArrayList<Collection<List<Event>>>(); 
    361370                for (String user : uniqueUsers) { 
    362371                        List<String> tmp = new ArrayList<String>(); 
     
    367376                        if (size >= frequentUsersThreshold) { 
    368377                                frequentUsers.add(user); 
    369                                 Collection<List<WebEvent>> sequencesUser = new ArrayList<List<WebEvent>>(); 
     378                                Collection<List<Event>> sequencesUser = new ArrayList<List<Event>>(); 
    370379                                for (int i = 0; i < sequences.size(); i++) { 
    371380                                        if (users.get(i).equals(user)) { 
Note: See TracChangeset for help on using the changeset viewer.