Changeset 1676


Ignore:
Timestamp:
08/14/14 09:08:50 (10 years ago)
Author:
rkrimmel
Message:

Restructuring ObjectdistanceSubstitutionMatrix?

File:
1 edited

Legend:

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

    r1675 r1676  
    2121        private SymbolMap<ITaskInstance, ITask> uniqueTasks; 
    2222        private double gapPenalty;  
     23        private int index = 0; 
    2324         
    2425        private double positiveThreshold; 
     
    4445 
    4546        public void generate() { 
    46          
    47                 int index = 0; 
    4847                 
    49                 float maxDistance =34; 
    5048                for (Iterator<ITaskInstance> it = uniqueTasks.getSymbols().iterator(); it 
    5149                                .hasNext();) { 
     
    5351                        IEventTaskInstance eti1 = null; 
    5452                        if (obj1 instanceof IEventTaskInstance) { 
     53                                System.out.println(obj1); 
    5554                                eti1 = (IEventTaskInstance) obj1; 
    5655                        } 
    5756                        else { 
    5857                                //System.out.println("Not an EventTaskInstance"); 
     58                                //System.out.println(obj1); 
    5959                                continue; 
    6060                        } 
     
    6969                                else{ 
    7070                                        //System.out.println("Not an EventtaskInstance"); 
     71                                        //System.out.println(obj1); 
    7172                                        continue; 
    7273                                } 
    73                                 IGUIElement first = (IGUIElement) eti1.getEvent().getTarget(); 
    74                                 IGUIElement second = (IGUIElement) eti2.getEvent().getTarget(); 
    75                                 int tempindex1 = -1; 
    76                                 int tempindex2 = -1; 
    77                                 if(!idmapping.containsKey(eti1.getTask().getId())) 
    78                                 { 
    79                                         idmapping.put(eti1.getTask().getId(), index); 
    80                                         tempindex1 = index; 
    81                                         index++; 
    82                                 }        
    83                                 else  
    84                                 { 
    85                                         tempindex1 = idmapping.get(eti1.getTask().getId()); 
    86                                 }        
    87                                 if(!idmapping.containsKey(eti2.getTask().getId())) 
    88                                 { 
    89                                         idmapping.put(eti2.getTask().getId(), index); 
    90                                         tempindex2 = index; 
    91                                         index++; 
    92                                 }        
    93                                 else  
    94                                 { 
    95                                         tempindex2 = idmapping.get(eti2.getTask().getId()); 
    96                                 } 
    97                                 float distance = -1*AlignmentHelpers.distanceBetween(first, second); 
    98                          
    99                          
    100                                 if(distance > maxDistance){ 
    101                                         maxDistance = distance; 
    102                                 } 
    103                                  
    104                                 distance += positiveThreshold; 
    105                                  
    106  
    107                                  
    108                                 matrix.set(tempindex1, tempindex2,distance); 
     74                 
     75                                matrix.set(getIndex(eti1), getIndex(eti2),distanceBetweenInstances(eti1,eti2)); 
    10976         
    11077                        } 
    11178                } 
     79        } 
     80         
     81        private int getIndex(IEventTaskInstance eti) { 
     82                int tempindex = -1; 
     83                if(!idmapping.containsKey(eti.getTask().getId())) 
     84                { 
     85                        idmapping.put(eti.getTask().getId(), index); 
     86                        tempindex = index; 
     87                        index++; 
     88                }        
     89                else  
     90                { 
     91                        tempindex = idmapping.get(eti.getTask().getId()); 
     92                } 
     93                return tempindex; 
     94        } 
     95         
     96        private float distanceBetweenInstances(IEventTaskInstance eti1, IEventTaskInstance eti2)  { 
     97                IGUIElement first = (IGUIElement) eti1.getEvent().getTarget(); 
     98                IGUIElement second = (IGUIElement) eti2.getEvent().getTarget(); 
     99                float distance = -1*AlignmentHelpers.distanceBetween(first, second); 
     100                distance += positiveThreshold; 
     101                return distance; 
    112102        } 
    113103         
Note: See TracChangeset for help on using the changeset viewer.