Ignore:
Timestamp:
02/01/13 12:16:47 (11 years ago)
Author:
fglaser
Message:
  • Bug in JFCSimplifiedLogParser fixed, which caused violation of event order during parsing
  • Test of JFCSimplifiedLogParser extended to cover handling of events that have no registered target while being parsed.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCSimplifiedLogParser.java

    r1051 r1058  
    274274        } 
    275275        if (!eventsWithoutTargets.isEmpty()) { 
    276             Console.printerr("Some events reference GUI elments that are not part of logfile. +" 
    277                 + "These events have been ignored."); 
     276            Console.printerr("Some events reference GUI elements that are not part of logfile. " + 
     277                        "These events have been parsed without target."); 
    278278        } 
    279279    } 
     
    406406                    event.setTarget(guiElement); 
    407407                    guiElement.markUsed(); 
    408                     currentSequence.add(event); 
    409408                } 
    410409                eventsWithoutTargets.remove(currentGUIElementHash); 
     
    419418                IGUIElement currentGUIElement; 
    420419                currentGUIElement = currentGUIElementTree.find(currentEventSource); 
    421  
     420                Event event; 
    422421                // in some rare cases the target GUI element of the event is not 
    423422                // known yet 
    424423                if (currentGUIElement == null) { 
    425                     Event event = 
    426                         new Event(instantiateInteraction(currentEventId, currentEventParameters)); 
    427                     event.setTimestamp(currentEventTimestamp); 
    428  
     424                    event = new Event(instantiateInteraction(currentEventId, currentEventParameters)); 
    429425                    List<Event> eventList = eventsWithoutTargets.get(currentEventSource); 
    430426                    if (eventList == null) { 
     
    435431                } 
    436432                else { 
    437                     Event event = 
    438                         new Event(instantiateInteraction(currentEventId, currentEventParameters), 
     433                    event = new Event(instantiateInteraction(currentEventId, currentEventParameters), 
    439434                                  currentGUIElement); 
    440                     event.setTimestamp(currentEventTimestamp); 
    441435                    JFCGUIElement currentEventTarget = (JFCGUIElement) event.getTarget(); 
    442436                    currentEventTarget.markUsed(); 
    443  
    444                     currentSequence.add(event); 
    445                 } 
     437                } 
     438                event.setTimestamp(currentEventTimestamp); 
     439                currentSequence.add(event); 
    446440 
    447441                currentEventParameters = null; 
Note: See TracChangeset for help on using the changeset viewer.