Changeset 566


Ignore:
Timestamp:
08/17/12 10:22:43 (12 years ago)
Author:
sherbold
Message:
  • adapted MFC plugin to new event core
Location:
trunk
Files:
2 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-core-events/src/main/java/de/ugoe/cs/quest/eventcore/Event.java

    r553 r566  
    229229     *             thrown if generatedReplaySeq is null 
    230230     */ 
    231     public void addReplayableSequence(List<IReplayable> generatedReplaySeq) { 
     231    public void addReplayableSequence(List<? extends IReplayable> generatedReplaySeq) { 
    232232        if (generatedReplaySeq == null) { 
    233233            throw new InvalidParameterException("generatedReplaySeq must not be null"); 
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/mfc/EventGenerator.java

    r488 r566  
    1818 
    1919import de.ugoe.cs.quest.eventcore.Event; 
     20import de.ugoe.cs.quest.plugin.mfc.eventcore.MFCEventTarget; 
     21import de.ugoe.cs.quest.plugin.mfc.eventcore.MFCEventType; 
    2022import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowTree; 
    2123import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowTreeNode; 
    22 import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsEvent; 
    2324import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsMessage; 
    2425import de.ugoe.cs.util.console.Console; 
     
    8182         * </p> 
    8283         */ 
    83         private WindowsEvent currentToken; 
     84        private Event currentToken; 
     85         
     86        /** 
     87         * <p> 
     88         * Event type of the current token. Stored as a member to be able to update it during the parsing of the idinfo tag. 
     89         * </p> 
     90         */ 
     91        private MFCEventType currentType; 
    8492 
    8593        /** 
     
    132140         */ 
    133141        @SuppressWarnings("unchecked") 
    134         public WindowsEvent generateEvent(List<WindowsMessage> sequence) { 
     142        public Event generateEvent(List<WindowsMessage> sequence) { 
    135143                Document rulesDoc = getDocument(rulesFile); 
    136144                Element rulesRoot = rulesDoc.getRootElement(); 
     
    144152                        Element currentRule = ruleElements.get(ruleIndex); 
    145153                        currentRuleName = currentRule.getAttributeValue("name"); 
    146                         currentToken = new WindowsEvent(currentRuleName); 
    147                         currentToken.setDecorator(MFCReplayDecorator.getInstance()); 
     154                        currentType = new MFCEventType(currentRuleName); 
     155                        currentToken = new Event(currentType); 
     156                         
    148157                        isMatch = true; 
    149158                        messageStorage = new HashMap<String, Object>(); 
     
    183192                                                } catch (InvalidParameterException e) { 
    184193                                                        Console.printerrln(e.getMessage()); 
    185                                                         currentToken.invalidateReplay(); 
     194                                                        // TODO currentToken.invalidateReplay(); 
    186195                                                } 
    187196                                        } else if (genMsgElement.getName().equals("genMsgSeq")) { 
    188197                                                try { 
    189198                                                        generateReplaySequence(genMsgElement); 
    190                                                         currentToken.invalidateReplay(); 
     199                                                        // TODO currentToken.invalidateReplay(); 
    191200                                                } catch (InvalidParameterException e) { 
    192201                                                        Console.printerrln(e.getMessage()); 
    193                                                         currentToken.invalidateReplay(); 
     202                                                        // TODO currentToken.invalidateReplay(); 
    194203                                                } 
    195204                                        } 
     
    200209                                        // cannot be empty if document is valid 
    201210                                        List<Element> valueElements = idinfoElement.getChildren(); 
    202                                         currentToken.setIdInfo(getTermValue(null, 
     211                                        currentType.setInfo(getTermValue(null, 
    203212                                                        valueElements.get(0))); 
    204213                                } 
    205                                 Console.traceln(currentRule.getAttributeValue("name") 
    206                                                 + currentToken.getIdInfo() + " matched"); 
     214                                Console.traceln(currentToken.getType().toString() + " matched"); 
    207215                        } else { 
    208216                                currentToken = null; 
     
    249257                                if (isMatch) { 
    250258                                        handleStorage(messageElement, currentMessage); 
    251                                         currentToken.setTarget(currentMessage 
    252                                                         .getXmlWindowDescription()); 
    253                                         currentToken 
    254                                                         .setTargetShort(currentMessage.getParentNames()); 
     259                                        currentToken.setTarget(new MFCEventTarget(currentMessage 
     260                                                        .getXmlWindowDescription())); 
     261                                        // TODO currentToken.setTargetShort(currentMessage.getParentNames()); 
    255262                                } 
    256263                        } 
     
    298305                                if (isCurrentMatch) { 
    299306                                        handleStorage(messageElement, currentMessage); 
    300                                         currentToken.setTarget(currentMessage 
    301                                                         .getXmlWindowDescription()); 
    302                                         currentToken 
    303                                                         .setTargetShort(currentMessage.getParentNames()); 
     307                                        currentToken.setTarget(new MFCEventTarget(currentMessage 
     308                                                        .getXmlWindowDescription())); 
     309                                        // TODO currentToken.setTargetShort(currentMessage.getParentNames()); 
    304310                                } 
    305311                        } 
     
    516522                        generatedMessage.setDelay(delay); 
    517523                } else { 
    518                         currentToken.invalidateReplay(); 
    519                 } 
    520                 currentToken.addReplayEvent(generatedMessage); 
     524                        // TODO currentToken.invalidateReplay(); 
     525                } 
     526                currentToken.addReplayable(generatedMessage); 
    521527        } 
    522528 
     
    568574                        } 
    569575                } 
    570                 currentToken.addReplaySequence(generatedMessageSeq); 
     576                currentToken.addReplayableSequence(generatedMessageSeq); 
    571577        } 
    572578 
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/mfc/MFCLogParser.java

    r488 r566  
    2323import org.xml.sax.helpers.DefaultHandler; 
    2424 
     25import de.ugoe.cs.quest.eventcore.Event; 
    2526import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowTree; 
    26 import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsEvent; 
    2727import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsMessage; 
    2828import de.ugoe.cs.util.StringTools; 
     
    7171         * </p> 
    7272         */ 
    73         private Collection<List<WindowsEvent>> sequences; 
     73        private Collection<List<Event>> sequences; 
    7474 
    7575        /** 
     
    110110        public MFCLogParser(boolean countMessageOccurences) { 
    111111                sequenceSplitter = new SequenceSplitter(); 
    112                 sequences = new LinkedList<List<WindowsEvent>>(); 
     112                sequences = new LinkedList<List<Event>>(); 
    113113                currentHandler = null; 
    114114                this.countMessageOccurences = countMessageOccurences; 
     
    127127         * @return collection of event sequences 
    128128         */ 
    129         public Collection<List<WindowsEvent>> getSequences() { 
     129        public Collection<List<Event>> getSequences() { 
    130130                return sequences; 
    131131        } 
     
    209209                } else if (qName.equals("session")) { 
    210210                        sequenceSplitter.endSession(); 
    211                         List<WindowsEvent> seq = sequenceSplitter.getSequence(); 
     211                        List<Event> seq = sequenceSplitter.getSequence(); 
    212212                        if( seq!=null && !seq.isEmpty() ) { 
    213213                                sequences.add(seq); 
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/mfc/SequenceSplitter.java

    r488 r566  
    55 
    66import de.ugoe.cs.quest.eventcore.Event; 
    7 import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsEvent; 
    87import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsMessage; 
    98import de.ugoe.cs.util.console.Console; 
     
    5756         * </p> 
    5857         */ 
    59         private List<WindowsEvent> actionSequence; 
     58        private List<Event> actionSequence; 
    6059 
    6160        /** 
     
    7675                initMessages = true; 
    7776                tokenGenerator = new EventGenerator(); 
    78                 actionSequence = new LinkedList<WindowsEvent>(); 
     77                actionSequence = new LinkedList<Event>(); 
    7978                prevMsg = 0; 
    8079        } 
     
    9190                if (startOfSequence(msg)) { 
    9291                        if (!initMessages) { 
    93                                 WindowsEvent currentAction = tokenGenerator 
     92                                Event currentAction = tokenGenerator 
    9493                                                .generateEvent(currentSequence); 
    9594                                if (currentAction != null) { 
     
    129128         * @return generated event sequence 
    130129         */ 
    131         public List<WindowsEvent> getSequence() { 
     130        public List<Event> getSequence() { 
    132131                return actionSequence; 
    133132        } 
     
    140139         */ 
    141140        public void endSession() { 
    142                 WindowsEvent currentAction = tokenGenerator 
     141                Event currentAction = tokenGenerator 
    143142                                .generateEvent(currentSequence); 
    144143                if (currentAction != null) { 
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/mfc/commands/CMDparseXML.java

    r434 r566  
    77 
    88import de.ugoe.cs.quest.CommandHelpers; 
     9import de.ugoe.cs.quest.eventcore.Event; 
    910import de.ugoe.cs.quest.plugin.mfc.MFCLogParser; 
    1011import de.ugoe.cs.quest.plugin.mfc.eventcore.MFCTargetComparator; 
    1112import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowTree; 
    12 import de.ugoe.cs.quest.plugin.mfc.eventcore.WindowsEvent; 
    1313import de.ugoe.cs.quest.ui.GlobalDataContainer; 
    1414import de.ugoe.cs.util.console.Command; 
     
    6363                parser.parseFile(filename); 
    6464 
    65                 Collection<List<WindowsEvent>> sequences = parser.getSequences(); 
     65                Collection<List<Event>> sequences = parser.getSequences(); 
    6666                 
    6767                Console.traceln("Pre-computing event target equalities."); 
    6868                // compare all Events to a dummy event to make sure they are known by 
    6969                // the MFCTargetComparator 
    70                 WindowsEvent dummyEvent = new WindowsEvent("dummy"); 
    71                 for (List<WindowsEvent> sequence : sequences) { 
    72                         for (WindowsEvent event : sequence) { 
     70                Event dummyEvent = Event.STARTEVENT; 
     71                for (List<Event> sequence : sequences) { 
     72                        for (Event event : sequence) { 
    7373                                event.equals(dummyEvent); 
    7474                        } 
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/mfc/eventcore/WindowsEvent.java

    r434 r566  
    1010import org.w3c.dom.NodeList; 
    1111 
    12 import de.ugoe.cs.quest.eventcore.ReplayableEvent; 
     12import de.ugoe.cs.quest.eventcore.Event; 
     13 
    1314 
    1415/** 
     
    1920 * @author Steffen Herbold 
    2021 * @version 1.0 
     22 * @deprecated This class is deprecated and only kept for now for documentation - some features still need to be extracted and reconstructed elsewhere 
    2123 */ 
    22 public class WindowsEvent extends ReplayableEvent<WindowsMessage> { 
     24public class WindowsEvent extends Event { 
    2325 
    2426        /** 
     
    3941         */ 
    4042        public WindowsEvent(String type) { 
    41                 super(type); 
     43                super(new MFCEventType("foo")); 
    4244        } 
    4345 
    44         @Override 
     46        //@Override 
    4547        protected boolean targetEquals(String otherTarget) { 
    46                 return MFCTargetComparator.compare(target, otherTarget); 
     48                return MFCTargetComparator.compare(target.toString(), otherTarget); 
    4749        } 
    4850         
    4951        int targetHash = 0; 
    5052         
    51         @Override 
     53        //@Override 
    5254        protected int targetHashCode() { 
    5355                if( targetHash==0 ) { 
  • trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/plugin/mfc/eventcore/WindowsMessage.java

    r434 r566  
    55import java.util.Map; 
    66 
     7import de.ugoe.cs.quest.IReplayDecorator; 
    78import de.ugoe.cs.quest.eventcore.IReplayable; 
     9import de.ugoe.cs.quest.plugin.mfc.MFCReplayDecorator; 
    810import de.ugoe.cs.util.StringTools; 
    911 
     
    509511        } 
    510512 
    511         /* 
    512          * (non-Javadoc) 
    513          *  
    514          * @see de.ugoe.cs.quest.eventcore.IReplayable#getTarget() 
    515          */ 
    516         @Override 
    517         public String getTarget() { 
    518                 return xmlWindowDescription; 
    519         } 
     513    /* (non-Javadoc) 
     514     * @see de.ugoe.cs.quest.eventcore.IReplayable#getDecorator() 
     515     */ 
     516    @Override 
     517    public IReplayDecorator getDecorator() { 
     518        return MFCReplayDecorator.getInstance(); 
     519    } 
    520520} 
Note: See TracChangeset for help on using the changeset viewer.