source: branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/ObjectDistanceSubstitionMatrix.java @ 1553

Last change on this file since 1553 was 1553, checked in by rkrimmel, 10 years ago

Completly restructured alignment approach classes, it is no longer a plugin.

File size: 2.0 KB
Line 
1package de.ugoe.cs.autoquest.tasktrees.alignment.substitution;
2
3import java.util.ArrayList;
4import java.util.Collection;
5import java.util.Iterator;
6
7import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel;
8import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
9
10import java.util.List;
11
12import de.ugoe.cs.autoquest.eventcore.Event;
13import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentHelpers;
14import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTaskInstance;
15import de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession;
16import de.ugoe.cs.util.console.GlobalDataContainer;
17
18public class ObjectDistanceSubstitionMatrix implements SubstitutionMatrix {
19
20        private ArrayList<int[][]> matrix;
21        private int currentSequence;
22       
23       
24        public ObjectDistanceSubstitionMatrix() {
25                currentSequence = 0;
26                matrix = new ArrayList<int[][]>();
27        }
28       
29        @Override
30        public String info() {
31                // TODO Auto-generated method stub
32                return null;
33        }
34
35        @Override
36        public double getDistance(int pos1, int pos2) {
37                // TODO Auto-generated method stub
38               
39                return matrix.get(currentSequence)[pos1][pos2];
40        }
41       
42        public double getDistance(int sequence, int pos1, int pos2) {
43                return  matrix.get(sequence)[pos1][pos2];
44               
45               
46        }
47
48        @Override
49        public double getGapPenalty() {
50                // TODO Auto-generated method stub
51                return 0;
52        }
53
54        @Override
55        public void generate(List<IUserSession> sessions) {
56               
57                for(Iterator it = sessions.iterator(); it.hasNext();) {
58                        IUserSession session = (IUserSession) it.next();
59                        matrix.add(new int[sessions.size()][sessions.size()]);
60               
61                       
62                        for (int i=0; i < session.size(); i++) {
63                                for (int j=0; j < session.size(); j++) {
64                                        //TODO Check if ITaskInstance is of type IEventTaskInstance
65                                        IEventTaskInstance eti1 = (IEventTaskInstance) session.get(i);
66                                        IEventTaskInstance eti2 = (IEventTaskInstance) session.get(j);
67                                        IGUIElement first = (IGUIElement) eti1.getEvent().getTarget();
68                                        IGUIElement second =(IGUIElement) eti2.getEvent().getTarget();
69                                        matrix.get(currentSequence)[i][j] = AlignmentHelpers.distanceBetween(first, second);
70                                }
71                        }                       
72                }
73        }
74}
Note: See TracBrowser for help on using the repository browser.