Changeset 197


Ignore:
Timestamp:
09/26/11 21:52:21 (13 years ago)
Author:
sherbold
Message:

+ added classes EFGEvent and EFGReplayable for events obtained from EFG files

Location:
trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg
Files:
3 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/commands/CMDefgToMM.java

    r196 r197  
    1010import de.ugoe.cs.eventbench.data.Event; 
    1111import de.ugoe.cs.eventbench.data.GlobalDataContainer; 
     12import de.ugoe.cs.eventbench.efg.data.EFGEvent; 
    1213import de.ugoe.cs.eventbench.models.FirstOrderMarkovModel; 
    1314import de.ugoe.cs.util.console.Command; 
     
    5354                for (EventType event : efgEvents) { 
    5455                        /* 
    55                          * Steffen (Question): I think the widgetId is only a hash value 
    56                          * identifying the target Is it sufficient as a target or should it 
    57                          * be somehow resolved into something more meaningful? If so, how? 
    58                          * Where is it available? There is some kind of GUI file with this 
    59                          * information, right? Should information of the GUI file be 
    60                          * resolved or the GUI file simply be associated with the EFG 
    61                          * internally. The best solution for this probably depends on the 
    62                          * test-case structure, which I have not analyzed yet. 
     56                         * the widgetId and eventId are only hash values,  
     57                         * the "interpretation" is found in the GUI file.  
     58                         */ 
     59                        String eventTarget = event.getWidgetId(); 
     60                        String eventId = event.getEventId(); 
     61                         
     62                        /*  
     63                         * Not sure what these are used for. 
     64                        String eventType = event.getType(); 
     65                        String eventAction = event.getAction(); 
    6366                         */ 
    6467 
    65                         // both widget ID and eventType are always null in the sample EFGs 
    66                         // ... 
    67                         String eventTarget = event.getWidgetId(); 
    68                         //String eventType = event.getType(); 
    69  
    70                         /* 
    71                          * What is the Action? What is the difference between the Action and 
    72                          * the Type? 
    73                          */ 
    74                         String eventAction = event.getAction(); 
    75  
    76                         Event<?> myEvent = new Event<Object>(eventAction); 
     68                        Event<?> myEvent = new EFGEvent(eventId); 
    7769                        myEvent.setTarget(eventTarget); 
    7870                        myEvents.add(myEvent); 
     
    9082                Collection<List<Event<?>>> subsequences = new LinkedList<List<Event<?>>>(); 
    9183 
    92                 /* 
    93                  * Code adapted from package 
    94                  * edu.umd.cs.guitar.testcase.plugin.TCPlugin#parseFollowRelations() 
    95                  * (part of testcase-generator-core) 
    96                  */ 
    9784                int efgSize = efgEvents.size(); 
    9885                for (int row = 0; row < efgSize; row++) { 
    9986                        for (int col = 0; col < efgSize; col++) { 
    10087                                int relation = efgGraph.getRow().get(row).getE().get(col); 
    101  
    10288                                // otherEvent is followed by currentEvent 
    10389                                if (relation != GUITARConstants.NO_EDGE) { 
     
    10692                                        edge.add(myEvents.get(col)); 
    10793                                        subsequences.add(edge); 
    108  
    109                                         /* 
    110                                          * Steffen (Question): What is the purpose of this if? What 
    111                                          * is the difference between a normal and a reaching edge? 
    112                                          * if (relation == GUITARConstants.REACHING_EDGE && 
    113                                          * !otherEvent.getEventId().equals( 
    114                                          * currentEvent.getEventId())) { I probably don't need this 
    115                                          * anyways, since for usage analysis only successors are 
    116                                          * relevant Vector<EventType> p = null;// 
    117                                          * preds.get(otherEvent); if (p == null) { p = new 
    118                                          * Vector<EventType>(); } 
    119                                          *  
    120                                          * p.add(currentEvent); preds.put(otherEvent, p); } 
    121                                          */ 
    12294                                } 
    12395                        } 
Note: See TracChangeset for help on using the changeset viewer.