Ignore:
Timestamp:
10/05/11 00:39:28 (13 years ago)
Author:
sherbold
Message:
  • extended de.ugoe.cs.eventbench.web.WeblogParser? with functionality to determine frequent users
  • adapted command loadSessionsFromClickstream allow optional determination of frequent users
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/commands/CMDloadSessionsFromClickstream.java

    r226 r232  
    55import java.security.InvalidParameterException; 
    66import java.text.ParseException; 
     7import java.util.Collection; 
    78import java.util.List; 
    89 
    910import de.ugoe.cs.eventbench.data.GlobalDataContainer; 
    1011import de.ugoe.cs.eventbench.web.WeblogParser; 
     12import de.ugoe.cs.eventbench.web.data.WebEvent; 
    1113import de.ugoe.cs.util.console.Command; 
    1214import de.ugoe.cs.util.console.Console; 
     
    3840                int minLength = -1; 
    3941                int maxLength = -1; 
    40                 if( parameters.size()>=3 ) { 
     42                boolean generateFrequentUsers = false; 
     43                int frequentUserThreshold = 20; 
     44                if (parameters.size() >= 3) { 
    4145                        serverUrl = (String) parameters.get(2); 
    4246                } 
    43                 if (parameters.size() >= 5) { 
     47                if (parameters.size() >= 6) { 
    4448                        timeout = Integer.parseInt((String) parameters.get(3)); 
    4549                        minLength = Integer.parseInt((String) parameters.get(4)); 
    4650                        maxLength = Integer.parseInt((String) parameters.get(5)); 
    4751                } 
     52                if (parameters.size() >= 8) { 
     53                        generateFrequentUsers = Boolean.parseBoolean((String) parameters 
     54                                        .get(6)); 
     55                        frequentUserThreshold = Integer 
     56                                        .parseInt((String) parameters.get(7)); 
     57                } 
    4858 
    4959                WeblogParser parser = new WeblogParser(); 
    50                 if( serverUrl!=null ) { 
     60                if (serverUrl != null) { 
    5161                        parser.setUrl(serverUrl); 
    5262                } 
     
    5565                        parser.setMinLength(minLength); 
    5666                        parser.setMaxLength(maxLength); 
     67                } 
     68                if (generateFrequentUsers) { 
     69                        parser.setFrequentUserThreshold(frequentUserThreshold); 
    5770                } 
    5871                try { 
     
    7184                        Console.traceln("Old data \"" + sequencesName + "\" overwritten"); 
    7285                } 
     86                if (generateFrequentUsers) { 
     87                        List<String> frequentUserIDs = parser.getFrequentUsers(); 
     88                        List<Collection<List<WebEvent>>> frequentUserSessions = parser 
     89                                        .getFrequentUserSequences(); 
     90                        for (int i = 0; i < frequentUserIDs.size(); i++) { 
     91                                GlobalDataContainer.getInstance().addData( 
     92                                                sequencesName + "_" + frequentUserIDs.get(i), 
     93                                                frequentUserSessions.get(i)); 
     94                        } 
     95                } 
    7396        } 
    7497 
     
    80103        @Override 
    81104        public void help() { 
    82                 Console.println("Usage: loadSessionsFromClickstream <filename> <sequencesName> {<serverUrl>} {<timeout> <minSessionLength> <maxSessionLength>}"); 
     105                Console.println("Usage: loadSessionsFromClickstream <filename> <sequencesName> {<serverUrl>} {<timeout> <minSessionLength> <maxSessionLength>} {<generateFrequentUsers> <frequentUserThreshold>}"); 
    83106        } 
    84107 
Note: See TracChangeset for help on using the changeset viewer.