Ignore:
Timestamp:
06/10/11 10:27:05 (13 years ago)
Author:
sherbold
Message:
  • modified de.ugoe.cs.eventbench.ReplayGenerator? to use de.ugoe.cs.eventbench.IReplayDecorator interface to write headers and footers
  • added decorator MFCReplayDecorator for writing MFC replay header and footer
Location:
trunk/EventBenchConsole/src/de/ugoe/cs/eventbench
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/ReplayGenerator.java

    r44 r58  
    1313 
    1414public class ReplayGenerator { 
    15                  
     15         
     16        private IReplayDecorator decorator = null; 
     17         
    1618        public void createLogfileMultipleSessions(List<List<ReplayableEvent<?>>> sequences, String filename) { 
    1719                OutputStreamWriter writer = openReplayFile(filename); 
    1820                if( writer!=null ) {             
    1921                        try { 
    20                                 writer.write("<?xml version=\"1.0\" encoding=\"UTF-16\"?>" + StringTools.ENDLINE); 
    21                                 writer.write("<log>" + StringTools.ENDLINE); 
    22  
     22                                decorator = sequences.get(0).get(0).getReplayDecorator(); 
     23                                if( decorator!=null ) { 
     24                                        writer.write(decorator.getHeader()); 
     25                                } 
    2326                                for( List<ReplayableEvent<?>> actions : sequences ) { 
    2427                                        writeSession(actions, writer); 
    2528                                } 
    26                                  
    27                                 writer.write("</log>" + StringTools.ENDLINE); 
     29                                if( decorator!=null ) { 
     30                                        writer.write(decorator.getFooter()); 
     31                                } 
     32                                decorator = null; 
    2833                                writer.close(); 
    2934                        } catch (IOException e) { 
     
    3742                if( writer!=null ) {             
    3843                        try { 
    39                                 writer.write("<?xml version=\"1.0\" encoding=\"UTF-16\"?>" + StringTools.ENDLINE); 
    40                                 writer.write("<log>" + StringTools.ENDLINE); 
    41          
     44                                actions.get(0).getReplayDecorator(); 
     45                                if( decorator!=null ) { 
     46                                        writer.write(decorator.getHeader()); 
     47                                } 
    4248                                writeSession(actions, writer); 
    43                                  
    44                                 writer.write("</log>" + StringTools.ENDLINE); 
     49                                if( decorator!=null ) { 
     50                                        writer.write(decorator.getFooter()); 
     51                                } 
     52                                decorator = null; 
    4553                                writer.close(); 
    4654                        } catch (IOException e) { 
     
    7684        private void writeSession(List<ReplayableEvent<?>> actions, OutputStreamWriter writer) 
    7785                        throws IOException { 
    78                 writer.write(" <session>" + StringTools.ENDLINE); 
     86                if( decorator!=null ) { 
     87                        writer.write(decorator.getSessionHeader()); 
     88                } 
    7989                for( ReplayableEvent<?> currentAction : actions ) { 
    8090                         
     
    8292                        for( IReplayable replayble : replayables ) { 
    8393                                writer.write(replayble.getReplayXml()+StringTools.ENDLINE); 
     94                                writer.flush(); 
    8495                        } 
    8596                } 
    86                 writer.write(" </session>" + StringTools.ENDLINE); 
     97                if( decorator!=null ) { 
     98                        writer.write(decorator.getSessionFooter()); 
     99                } 
    87100        } 
    88101 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/windows/EventGenerator.java

    r52 r58  
    145145                        currentRuleName = currentRule.getAttributeValue("name"); 
    146146                        currentToken = new ReplayableEvent<WindowsMessage>(currentRuleName); 
     147                        currentToken.setDecorator(MFCReplayDecorator.getInstance()); 
    147148                        isMatch = true; 
    148149                        messageStorage = new HashMap<String, Object>(); 
Note: See TracChangeset for help on using the changeset viewer.