Ignore:
Timestamp:
06/09/11 15:06:49 (14 years ago)
Author:
sherbold
Message:
  • experimental parsing of web usage logs
Location:
trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web
Files:
1 added
2 edited

Legend:

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

    r51 r53  
    66import java.text.SimpleDateFormat; 
    77import java.util.ArrayList; 
    8 import java.util.Date; 
    98import java.util.HashMap; 
    109import java.util.LinkedList; 
     
    1211import java.util.Map; 
    1312 
    14 import de.ugoe.cs.eventbench.data.Event; 
    1513import de.ugoe.cs.eventbench.web.data.WebEvent; 
    1614import de.ugoe.cs.util.console.Command; 
     
    2220        public void run(List<Object> parameters) { 
    2321                // TODO Auto-generated method stub 
    24                 if( parameters.size() < 2 ) { 
     22                if( parameters.size() < 1 ) { 
    2523                        throw new InvalidParameterException(); 
    2624                } 
     
    4543                        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    4644                         
    47                         for( int i=0; i<lines.length ; i++ ) { 
    48                                 String[] values = lines[i].split(" "); 
     45                        for( String line : lines ) { 
     46                                String[] values = line.trim().split(" "); 
    4947                                 
    5048                                // use cookie as session identifier 
     
    5452                                long timestamp = dateFormat.parse(dateString).getTime(); 
    5553                                String uri = values[3]; 
     54                                String ref = values[4]; 
     55                                List<String> postedVars = new ArrayList<String>(); 
     56                                for( int i=5 ; i<values.length ; i++ ) { 
     57                                        postedVars.add(values[i]); 
     58                                } 
    5659                                 
     60                                         
     61                                WebEvent event = new WebEvent(uri, timestamp, postedVars); 
     62                                 
     63                                 
     64                                // find session and add event 
    5765                                List<Integer> sessionIds = cookieSessionMap.get(cookie); 
    5866                                if( sessionIds==null ) { 
     
    7280                                        sessionIds.add(++lastId); 
    7381                                        List<WebEvent> newSession = new LinkedList<WebEvent>(); 
    74                                         newSession.add(new WebEvent(uri, timestamp)); 
     82                                        newSession.add(event); 
    7583                                        sessions.add(newSession); 
    7684                                } else { 
    77                                         lastSession.add(new WebEvent(uri, timestamp)); 
     85                                        lastSession.add(event); 
    7886                                } 
    7987                        }  
     
    8492                 
    8593        } 
    86  
     94         
    8795        @Override 
    8896        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java

    r51 r53  
    11package de.ugoe.cs.eventbench.web.data; 
    22 
    3 import de.ugoe.cs.eventbench.data.Event; 
     3import java.util.List; 
    44 
    5 public class WebEvent extends Event<String> { 
     5import de.ugoe.cs.eventbench.data.ReplayableEvent; 
     6 
     7public class WebEvent extends ReplayableEvent<WebRequest> { 
    68 
    79        private final long timestamp; 
     10        private String uri; 
    811         
    9         public WebEvent(String type, long timestamp) { 
    10                 super(type); 
     12        private final static String makeType(String uri, List<String> postVars) { 
     13                String type = uri; 
     14                if( postVars!=null && !postVars.isEmpty() ) { 
     15                        type += postVars.toString().replace(" ", ""); 
     16                } 
     17                return type; 
     18        } 
     19         
     20        public WebEvent(String uri, long timestamp, List<String> postVars) { 
     21                super(makeType(uri, postVars)); 
    1122                this.timestamp = timestamp; 
     23                this.uri = uri; 
     24                addReplayEvent(new WebRequest(uri, postVars)); 
    1225        } 
    1326         
Note: See TracChangeset for help on using the changeset viewer.