Ignore:
Timestamp:
08/22/14 01:14:05 (10 years ago)
Author:
rkrimmel
Message:

Fixed harmonization issues but tasks are created wrong now..

Location:
branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/RuleUtils.java

    r1682 r1690  
    1515package de.ugoe.cs.autoquest.tasktrees.temporalrelation; 
    1616 
    17 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence; 
    18 import de.ugoe.cs.autoquest.tasktrees.treeifc.IIteration; 
    19 import de.ugoe.cs.autoquest.tasktrees.treeifc.IIterationInstance; 
    2017import de.ugoe.cs.autoquest.tasktrees.treeifc.IMarkingTemporalRelationship; 
    2118import de.ugoe.cs.autoquest.tasktrees.treeifc.IOptional; 
     
    128125                                                 
    129126                                        if(((IMarkingTemporalRelationship) tempTask).getMarkedTask() == parent.get(startIndex).getTask()) { 
    130                                                 System.out.println("Adding OptionalInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
     127                                                //System.out.println("Adding OptionalInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
    131128                                                IOptionalInstance optional = taskFactory.createNewTaskInstance((IOptional) tempTask); 
    132129                                                taskBuilder.setChild(optional, parent.get(startIndex)); 
     
    134131                                        } 
    135132                                        else { 
    136                                                 System.out.println("Adding Empty optional, not deleting anything from the input sequence"); 
     133                                                //System.out.println("Adding Empty optional, not deleting anything from the input sequence"); 
    137134                                                IOptionalInstance optional = taskFactory.createNewTaskInstance((IOptional) tempTask); 
    138135                                                taskBuilder.addChild(subsequence, optional); 
     
    142139                                        }                                
    143140                        } else if (tempTask.getType() == "selection") { 
    144                                 System.out.println("Adding SelectionInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
     141                                //System.out.println("Adding SelectionInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
    145142                                ISelectionInstance selection = taskFactory.createNewTaskInstance((ISelection) tempTask); 
    146143                                taskBuilder.setChild(selection, parent.get(startIndex) ); 
     
    148145 
    149146                        } else if (tempTask.getType() == "sequence") { 
    150                                 System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
     147                                //System.out.println("Adding SequenceInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
    151148                                taskBuilder.addChild(subsequence,parent.get(startIndex)); 
    152149                        } else if (tempTask.getType() == "iteration") { 
    153                                 //IIterationInstance iteration = taskFactory.createNewTaskInstance((IIteration) tempTask); 
    154                                 //taskBuilder.addChild(iteration,parent.get(startIndex)); 
    155150                                taskBuilder.addChild(subsequence, parent.get(startIndex)); 
    156                                 System.out.println("Adding IterationInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
     151                                //System.out.println("Adding IterationInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
    157152                        } else { 
    158                                 System.out.println("Adding EventInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
     153                                //System.out.println("Adding EventInstance " + parent.get(startIndex) + " to " + tempTask.getType()); 
    159154                                taskBuilder.addChild(subsequence, parent.get(startIndex)); 
    160155                        } 
  • branches/autoquest-core-tasktrees-alignment/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java

    r1687 r1690  
    3838import de.ugoe.cs.autoquest.tasktrees.treeifc.IOptional; 
    3939import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelection; 
    40 import de.ugoe.cs.autoquest.tasktrees.treeifc.ISelectionInstance; 
    4140import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequence; 
    4241import de.ugoe.cs.autoquest.tasktrees.treeifc.ISequenceInstance; 
     
    9392        private TaskHandlingStrategy preparationTaskHandlingStrategy; 
    9493 
    95         /** 
    96          * <p> 
    97          * the task handling strategy to be used for comparing tasks during 
    98          * iteration detection i.e., after the tasks are harmonized 
    99          * </p> 
    100          */ 
    101         private TaskHandlingStrategy identityTaskHandlingStrategy; 
    10294 
    10395        /** 
     
    123115                this.preparationTaskHandlingStrategy = new TaskHandlingStrategy( 
    124116                                minimalTaskEquality); 
    125                 this.identityTaskHandlingStrategy = new TaskHandlingStrategy( 
    126                                 TaskEquality.IDENTICAL); 
    127117 
    128118        } 
     
    153143                        iteration++; 
    154144                        appData.detectedAndReplacedTasks = false; 
    155                          
    156145                        appData.getStopWatch().start("whole loop");  
    157146                        detectAndReplaceIterations(appData); 
     
    188177                        for (int j = 0; j < session.size(); j++) { 
    189178                                ITaskInstance taskInstance = session.get(j); 
    190                                 //System.out.print(taskInstance.getTask().getId() + " "); 
    191179                                templist.getSequence()[j] = taskInstance.getTask().getId(); 
    192                                 appData.getNumber2Task().put(templist.getSequence()[j], 
    193                                                 taskInstance.getTask()); 
    194180                        } 
    195181                        //System.out.println(); 
     
    219205                                "harmonizing task model of event task instances"); 
    220206                appData.getStopWatch().start("harmonizing event tasks"); 
    221  
    222                 appData.uniqueTasks = preparationTaskHandlingStrategy.createSymbolMap(); 
     207                SymbolMap<ITaskInstance, ITask> uniqueTasks = preparationTaskHandlingStrategy.createSymbolMap(); 
    223208 
    224209                TaskInstanceComparator comparator = preparationTaskHandlingStrategy 
     
    233218                        for (int i = 0; i < session.size(); i++) { 
    234219                                ITaskInstance taskInstance = session.get(i); 
    235                                 task = appData.getUniqueTasks().getValue(taskInstance); 
     220                                task = uniqueTasks.getValue(taskInstance); 
    236221 
    237222                                if (task == null) { 
    238                                         appData.getUniqueTasks().addSymbol(taskInstance, 
     223                                        uniqueTasks.addSymbol(taskInstance, 
    239224                                                        taskInstance.getTask()); 
     225                                                        appData.getUniqueTasks().add(taskInstance.getTask()); 
     226                                                        appData.getNumber2Task().put(taskInstance.getTask().getId(),taskInstance.getTask()); 
    240227                                } else { 
    241228                                        taskBuilder.setTask(taskInstance, task); 
     
    333320                for (ITask iteratedTask : iteratedTasks) { 
    334321 
    335                         // TODO: Check if this is correct 
    336322                        IIteration iteration = taskFactory.createNewIteration(); 
    337                         appData.getUniqueTasks().addSymbol( 
    338                                         taskFactory.createNewTaskInstance(iteration), iteration); 
     323                        appData.getUniqueTasks().add( iteration); 
    339324                        appData.getNumber2Task().put(iteration.getId(), iteration); 
    340325                        iterations.put(iteratedTask, iteration); 
     
    384369 
    385370                ISequence sequence = taskFactory.createNewSequence(); 
     371                appData.uniqueTasks.add(sequence); 
     372                appData.number2task.put(sequence.getId(), sequence); 
     373                 
    386374 
    387375                int[] first = m.getFirstSequence().getSequence(); 
     
    406394                        else if (first[i] == -1 && second[i] != -1) { 
    407395                                IOptional optional = taskFactory.createNewOptional(); 
    408                                 appData.uniqueTasks.addSymbol( 
    409                                                 //TODO:: Don't create TaskInstances here, use a set of tasks instead 
    410                                                 taskFactory.createNewTaskInstance(optional), optional); 
     396                                appData.uniqueTasks.add(optional); 
    411397                                appData.number2task.put(optional.getId(), optional); 
    412398                                taskBuilder.setMarkedTask(optional, appData.getNumber2Task() 
     
    418404                        else if (first[i] != -1 && second[i] == -1) { 
    419405                                IOptional optional = taskFactory.createNewOptional(); 
    420                                 //TODO:: Don't create TaskInstances here, use a set of tasks instead 
    421                                 appData.uniqueTasks.addSymbol( 
    422                                                 taskFactory.createNewTaskInstance(optional), optional); 
     406                                appData.uniqueTasks.add(optional); 
    423407                                appData.number2task.put(optional.getId(), optional); 
    424408                                taskBuilder.setMarkedTask(optional, appData.getNumber2Task() 
     
    428412                        // Both tasks are not equal, we need to insert a selection here 
    429413                        else { 
    430                                 //TODO: Debug output 
    431                                 //System.out.println("First: " + first[i] + " Second: " + second[i]); 
    432414                                ISelection selection = taskFactory.createNewSelection(); 
    433                                 //TODO:: Don't create TaskInstances here, use a set of tasks instead 
    434                                 ISelectionInstance temp = taskFactory.createNewTaskInstance(selection); 
    435                                 appData.uniqueTasks 
    436                                                 .addSymbol(temp,selection); 
     415                                appData.getUniqueTasks().add(selection); 
    437416                                appData.number2task.put(selection.getId(), selection); 
    438417                                taskBuilder.addChild(selection, 
     
    649628                private HashMap<Integer, ITask> number2task; 
    650629 
    651                 private SymbolMap<ITaskInstance, ITask> uniqueTasks; 
     630                //TODO: We Actually just need number2task here 
     631                private HashSet<ITask> uniqueTasks; 
    652632 
    653633                private ArrayList<NumberSequence> numberseqs; 
     
    679659                        this.sessions = sessions; 
    680660                        numberseqs = new ArrayList<NumberSequence>(); 
     661                        uniqueTasks = new HashSet<ITask>(); 
    681662                        number2task = new HashMap<Integer, ITask>(); 
    682663                        stopWatch = new StopWatch(); 
     
    691672                } 
    692673 
    693                 private SymbolMap<ITaskInstance, ITask> getUniqueTasks() { 
     674                private HashSet<ITask> getUniqueTasks() { 
    694675                        return uniqueTasks; 
    695676                } 
Note: See TracChangeset for help on using the changeset viewer.