Changeset 1154 for trunk/autoquest-core-tasktrees/src/main/java
- Timestamp:
- 04/19/13 17:02:50 (12 years ago)
- Location:
- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/manager/ComponentManager.java
r1146 r1154 23 23 24 24 /** 25 * TODO comment 25 * <p> 26 * The component manager is the central reference for the distinct submodules required for 27 * task tree generation. Such include the temporal relationship rule manager, the task equality 28 * rule manager, the default task builder, as well as the default task factory. 29 * </p> 26 30 * 27 * @version $Revision: $ $Date: 12.02.2012$28 * @author 2012, last modified by $Author: patrick$31 * @version 1.0 32 * @author pharms 29 33 */ 30 34 public class ComponentManager { 31 35 32 /** */ 36 /** 37 * <p> 38 * singleton instance of this class 39 * </p> 40 */ 33 41 private static ComponentManager instance; 34 42 35 /** */ 43 /** 44 * <p> 45 * the default temporal relationship rule manager 46 * </p> 47 */ 36 48 private TemporalRelationshipRuleManager temporalRelationshipRuleManager; 37 49 38 /** */ 50 /** 51 * <p> 52 * the default task equality rule manager 53 * </p> 54 */ 39 55 private TaskEqualityRuleManager taskEqualityRuleManager; 40 56 41 /** */ 57 /** 58 * <p> 59 * the default task builder 60 * </p> 61 */ 42 62 private ITaskBuilder taskBuilder; 43 63 44 /** */ 64 /** 65 * <p> 66 * the default task factory 67 * </p> 68 */ 45 69 private ITaskFactory taskFactory; 46 70 47 71 /** 48 * 72 * <p> 73 * returns the default temporal relationship rule manager 74 * </p> 75 * 76 * @return as described 49 77 */ 50 78 public static TemporalRelationshipRuleManager getTemporalRelationshipRuleManager() { … … 53 81 54 82 /** 55 * 83 * <p> 84 * returns the default task equality rule manager 85 * </p> 86 * 87 * @return as described 56 88 */ 57 89 public static TaskEqualityRuleManager getTaskEqualityRuleManager() { … … 60 92 61 93 /** 62 * 94 * <p> 95 * returns the default task builder 96 * </p> 97 * 98 * @return as described 63 99 */ 64 100 public static ITaskBuilder getDefaultTaskBuilder() { … … 67 103 68 104 /** 69 * 105 * <p> 106 * returns the default task factory 107 * </p> 108 * 109 * @return as described 70 110 */ 71 111 public static ITaskFactory getDefaultTaskFactory() { … … 74 114 75 115 /** 76 * 116 * <p> 117 * clears the singleton instance. Needed for test purposes to ensure statelessness between 118 * tests. 119 * </p> 77 120 */ 78 121 public static synchronized void clearInstance() { … … 81 124 82 125 /** 83 * 126 * <p> 127 * returns the singleton instance of this class 128 * </p> 129 * 130 * @return as described 84 131 */ 85 132 private static synchronized ComponentManager getInstance() { … … 92 139 93 140 /** 94 * 141 * <p> 142 * initialized the component manager with all it default components which are the temporal 143 * relationship rule manager, the task equality rule manager, the default task builder, as 144 * well as the default task factory. 145 * </p> 95 146 */ 96 147 private void init() { -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/manager/TaskTreeManager.java
r1146 r1154 29 29 30 30 /** 31 * TODO comment 31 * <p> 32 * The task tree manager is responsible for transforming one or more user sessions into a task 33 * model. It can be called by providing a collection of user sessions where the result 34 * will be a task model. Furthermore, it can be used by providing single events in their respective 35 * order including notifications about where a user session ends. The result is a task model, 36 * as well. 37 * </p> 32 38 * 33 * @version $Revision: $ $Date: $34 * @author 2011, last modified by $Author: $39 * @version 1.0 40 * @author pharms 35 41 */ 36 42 public class TaskTreeManager { 37 43 38 /** */ 44 /** 45 * <p> 46 * the internally used task builder 47 * </p> 48 */ 39 49 private ITaskBuilder taskBuilder = ComponentManager.getDefaultTaskBuilder(); 40 50 41 /** */ 51 /** 52 * <p> 53 * the internally used task factory 54 * </p> 55 */ 42 56 private ITaskFactory taskFactory = ComponentManager.getDefaultTaskFactory(); 43 57 44 /** */ 58 /** 59 * <p> 60 * if single events are provided, the user sessions collected so far 61 * </p> 62 */ 45 63 private List<IUserSession> sessions = null; 46 64 47 /** */ 65 /** 66 * <p> 67 * if single events are provided, the currently collected user session 68 * </p> 69 */ 48 70 private IUserSession currentSession = null; 49 71 50 72 /** 51 * 73 * <p> 74 * initializes the task tree manager 75 * </p> 52 76 */ 53 77 public TaskTreeManager() { … … 56 80 57 81 /** 58 * 82 * <p> 83 * creates a task model based on the provided user sessions. Yet, the user sessions are 84 * list of events. Such will be transformed in into task instances of event tasks assigned 85 * to {@link IUserSession}s. The {@link IUserSession}s will then be restructured using 86 * the temporal relationship rule manager to detect tasks and respective instances. The 87 * results of this transformation is stored in a task model which is the return value of 88 * this method. 89 * </p> 90 * 91 * @param newSessions the user sessions of which the task model shall be created 92 * 93 * @return the task model created from the user sessions 94 * 95 * @throws IllegalStateException if the task manager is already used by providing it with 96 * single events 59 97 */ 60 98 public synchronized ITaskModel createTaskModel(Collection<List<Event>> newSessions) { … … 78 116 79 117 /** 80 * 118 * <p> 119 * handles a single event that occurred in a user session. 120 * </p> 121 * 122 * @param event the event to handle 81 123 */ 82 124 public void handleNewEvent(Event event) { … … 87 129 88 130 /** 89 * 131 * <p> 132 * used to denote, that all previously added events using {@link #handleNewEvent(Event)} 133 * belong to the same session and that this session is now complete. All further events 134 * will be added to a new session which may be ended using this method, as well. 135 * </p> 90 136 */ 91 137 public void finishSession() { … … 97 143 98 144 /** 99 * 145 * <p> 146 * returns the task model, that belongs to the events in the user sessions collected so far. 147 * </p> 148 * 149 * @return the task model 100 150 */ 101 151 public synchronized ITaskModel getTaskModel() { … … 110 160 111 161 /** 112 * 162 * <p> 163 * internally asserts that there is a current session to add new events to 164 * </p> 113 165 */ 114 166 private void assertSessionSequence() { -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/GUIEventTaskComparisonRule.java
r1146 r1154 133 133 * returns lexical equality. 134 134 * </p> 135 * 136 * @param interaction1 the first interaction to compare 137 * @param interaction2 the second interaction to compare 138 * @param eventTarget the event target on which the interactions happened (used within 139 * special comparisons like mouse clicks on buttons, where the coordinates 140 * can be ignored) 135 * <p> 136 * The provided equality level can be used to restrict the quality check to the given level. 137 * This is done for optimization purposes. The returned equality level can be at most as 138 * concrete as the provided one. If the provided one is null, it is expected to be lexical 139 * equality. 140 * </p> 141 * 142 * @param interaction1 the first interaction to compare 143 * @param interaction2 the second interaction to compare 144 * @param eventTarget the event target on which the interactions happened (used within 145 * special comparisons like mouse clicks on buttons, where the coordinates 146 * can be ignored) 147 * @param equalityLevel the equality level to be checked for 141 148 * 142 149 * @return as described … … 192 199 /** 193 200 * <p> 194 * TODO: comment 195 * </p> 196 * 197 * @param interaction1 198 * @param interaction2 199 * @param eventTarget 200 * @param level 201 * @return 201 * compares two key interactions. If both are of the same type and if both have the 202 * same key, they are lexically equal. If both are only of the same type, they are 203 * semantically equal. Otherwise, they are unequal. 204 * </p> 205 * <p> 206 * The provided equality level can be used to restrict the quality check to the given level. 207 * This is done for optimization purposes. The returned equality level is as concrete as 208 * the provided one. It may be more concrete if there is no difference regarding the 209 * comparison on the levels. 210 * </p> 211 * 212 * @param interaction1 the first key interaction 213 * @param interaction2 the second key interaction 214 * @param equalityLevel the equality level to be checked for 215 * 216 * @return as described 202 217 */ 203 218 private TaskEquality compareKeyInteractions(KeyInteraction interaction1, … … 227 242 * coordinates, they are lexically equal. Otherwise, they are semantically equal. 228 243 * </p> 229 * 230 * @param interaction1 the first mouse drag and drop to compare 231 * @param interaction2 the second mouse drag and drop to compare 244 * <p> 245 * The provided equality level can be used to restrict the quality check to the given level. 246 * This is done for optimization purposes. The returned equality level is as concrete as 247 * the provided one. It may be more concrete if there is no difference regarding the 248 * comparison on the levels. 249 * </p> 250 * 251 * @param interaction1 the first mouse drag and drop to compare 252 * @param interaction2 the second mouse drag and drop to compare 253 * @param equalityLevel the equality level to be checked for 232 254 * 233 255 * @return as described … … 267 289 * lexically equal. 268 290 * </p> 269 * 270 * @param interaction1 the first mouse button interaction to compare 271 * @param interaction2 the second mouse button interaction to compare 272 * @param eventTarget the event target on which the interactions happened (used within 273 * special comparisons like mouse clicks on buttons, where the coordinates 274 * can be ignored) 291 * <p> 292 * The provided equality level can be used to restrict the quality check to the given level. 293 * This is done for optimization purposes. The returned equality level is as concrete as 294 * the provided one. It may be more concrete if there is no difference regarding the 295 * comparison on the levels. 296 * </p> 297 * 298 * @param interaction1 the first mouse button interaction to compare 299 * @param interaction2 the second mouse button interaction to compare 300 * @param eventTarget the event target on which the interactions happened (used within 301 * special comparisons like mouse clicks on buttons, where the coordinates 302 * can be ignored) 303 * @param equalityLevel the equality level to be checked for 275 304 * 276 305 * @return as described … … 334 363 * lexically equal. 335 364 * </p> 336 * 337 * @param interaction1 the first mouse button interaction to compare 338 * @param interaction2 the second mouse button interaction to compare 339 * @param eventTarget the event target on which the interactions happened (used within 340 * special comparisons like mouse clicks on buttons, where the coordinates 341 * can be ignored) 365 * <p> 366 * The provided equality level can be used to restrict the quality check to the given level. 367 * This is done for optimization purposes. The returned equality level is as concrete as 368 * the provided one. It may be more concrete if there is no difference regarding the 369 * comparison on the levels. 370 * </p> 371 * 372 * @param interaction1 the first mouse button interaction to compare 373 * @param interaction2 the second mouse button interaction to compare 374 * @param eventTarget the event target on which the interactions happened (used within 375 * special comparisons like mouse clicks on buttons, where the coordinates 376 * can be ignored) 377 * @param equalityLevel the equality level to be checked for 342 378 * 343 379 * @return as described … … 368 404 * (the equality of the event targets is checked beforehand). 369 405 * </p> 370 * 371 * @param interaction1 the first text input to compare 372 * @param interaction2 the second text input to compare 406 * <p> 407 * The provided equality level can be used to restrict the quality check to the given level. 408 * This is done for optimization purposes. The returned equality level is as concrete as 409 * the provided one. It may be more concrete if there is no difference regarding the 410 * comparison on the levels. 411 * </p> 412 * 413 * @param interaction1 the first text input to compare 414 * @param interaction2 the second text input to compare 415 * @param equalityLevel the equality level to be checked for 373 416 * 374 417 * @return as described … … 402 445 * (the equality of the event targets is checked beforehand). 403 446 * </p> 404 * 405 * @param interaction1 the first value selection to compare 406 * @param interaction2 the second value selection to compare 447 * <p> 448 * The provided equality level can be used to restrict the quality check to the given level. 449 * This is done for optimization purposes. The returned equality level is as concrete as 450 * the provided one. It may be more concrete if there is no difference regarding the 451 * comparison on the levels. 452 * </p> 453 * 454 * @param interaction1 the first value selection to compare 455 * @param interaction2 the second value selection to compare 456 * @param equalityLevel the equality level to be checked for 407 457 * 408 458 * @return as described -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/IterationComparisonRule.java
r1146 r1154 222 222 223 223 /** 224 * TODO update comment 224 * <p> 225 * compares two tasks with each other by calling the rule manager. If the rule manager returns 226 * identity, then the returned equality is set to lexically equal. The reason is, that 227 * the children of the iterations are compared and that therefore the distinct iterations 228 * can be at most lexically equal. 229 * </p> 230 * 231 * @param child1 the first task to be compared 232 * @param child2 the second task to be compared 233 * 234 * @return the determined equality being at most lexical equality. 225 235 */ 226 236 private TaskEquality getNodeEquality(ITask child1, ITask child2) { … … 243 253 /** 244 254 * <p> 245 * compares two tasks. One of them must be a selection, the other one can be any task 246 * tree task.The method returns a task equality that is not <code>NodeEquality.UNEQUAL</code>255 * compares two tasks. One of them must be a selection, the other one can be any task. 256 * The method returns a task equality that is not <code>NodeEquality.UNEQUAL</code> 247 257 * if the other task is at least semantically equal to the children of the selection. It 248 258 * returns more concrete equalities, if the equality between the other task and the children … … 250 260 * </p> 251 261 * 252 * @param task TreeNodethe first task to compare253 * @param task TreeNode2 the second task to compare262 * @param task1 the first task to compare 263 * @param task2 the second task to compare 254 264 * 255 265 * @return as described … … 292 302 /** 293 303 * <p> 294 * TODO: comment 295 * </p> 296 * 297 * @param child1 298 * @param child2 299 * @param requiredEqualityLevel 300 * @return 304 * used to to call the task equality rule manager for the comparison of the two provided 305 * children. If no required equality level is provided, than the most concrete equality is 306 * returned. Otherwise, the required equality is returned as long as the children are equal 307 * on that level. 308 * </p> 309 * 310 * @param child1 the first task to be compared 311 * @param child2 the second task to be compared 312 * @param requiredEqualityLevel the equality level to be checked for 313 * 314 * @return the determined equality 301 315 */ 302 316 private TaskEquality callRuleManager(ITask child1, -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SelectionComparisonRule.java
r1146 r1154 29 29 * equal, then the selections are syntactically equal. If all children are at least semantically 30 30 * equal, then the selections are semantically equal. If only one of the selections has children, 31 * then the selections are unequal. 31 * then the selections are unequal. The comparison is broken up, if only a specific equality is 32 * checked for and this equality is ensured. 32 33 * </p> 33 34 * … … 97 98 98 99 /** 99 * 100 * <p> 101 * compares two selections with each other checking for the provided required level of 102 * equality. If this level is ensured, the method immediately returns. The more concrete 103 * the required equality level, the more checks this method performs. 104 * </p> 105 * 106 * @param task1 the first task to be compared 107 * @param task2 the second task to be compared 108 * @param requiredEqualityLevel the equality level to be checked for 109 * 110 * @return the determined equality. 100 111 */ 101 112 private TaskEquality getEquality(ITask task1, ITask task2, TaskEquality requiredEqualityLevel) { … … 141 152 /** 142 153 * <p> 143 * TODO: comment 154 * determines the common equality level for all tasks in the first list compared to all 155 * tasks in the second list. If for one task in the first list, there is no equal task in the 156 * second list, the method return unequality. 144 157 * </p> 145 158 * 146 * @param children1 147 * @param children2 148 * @param requiredEqualityLevel 159 * @param children1 the first list to be compared 160 * @param children2 the second list to be compared 161 * 162 * @return the common task equality identified for all tasks in the first list with respect to 163 * the second list 149 164 */ 150 165 private TaskEquality getCommonEqualityLevel(List<ITask> children1, List<ITask> children2) { … … 188 203 /** 189 204 * <p> 190 * TODO: comment 191 * </p> 192 * 193 * @param children1 194 * @param children2 195 * @param requiredEqualityLevel 205 * ensures for the two given lists, that for each task in the first list there is a task 206 * in the second list being on the given level equal to the task in the first list. 207 * </p> 208 * 209 * @param children1 the first list to be compared 210 * @param children2 the second list to be compared 211 * @param requiredEqualityLevel the equality level to be checked for 212 * 213 * @return true if each task in the first list has an equal task in the second list when 214 * considering the given equality level, false else. 196 215 */ 197 216 private boolean checkEqualityLevel(List<ITask> children1, … … 227 246 /** 228 247 * <p> 229 * TODO: comment 230 * </p> 231 * 232 * @param child1 233 * @param child2 234 * @param requiredEqualityLevel 235 * @return 248 * used to to call the task equality rule manager for the comparison of the two provided 249 * children. If no required equality level is provided, than the most concrete equality is 250 * returned. Otherwise, the required equality is returned as long as the children are equal 251 * on that level. 252 * </p> 253 * 254 * @param child1 the first task to be compared 255 * @param child2 the second task to be compared 256 * @param requiredEqualityLevel the equality level to be checked for 257 * 258 * @return the determined equality 236 259 */ 237 260 private TaskEquality callRuleManager(ITask child1, -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/SequenceComparisonRule.java
r1146 r1154 93 93 94 94 /** 95 * <p> 96 * compares two sequences with each other checking for the provided required level of 97 * equality. If this level is ensured, the method immediately returns. The more concrete 98 * the required equality level, the more checks this method performs. 99 * </p> 95 100 * 101 * @param task1 the first task to be compared 102 * @param task2 the second task to be compared 103 * @param requiredEqualityLevel the equality level to be checked for 104 * 105 * @return the determined equality. 96 106 */ 97 107 private TaskEquality getEquality(ITask task1, ITask task2, TaskEquality requiredEqualityLevel) { … … 127 137 /** 128 138 * <p> 129 * TODO: comment 130 * </p> 131 * 132 * @param child1 133 * @param child2 134 * @param requiredEqualityLevel 135 * @return 139 * used to to call the task equality rule manager for the comparison of the two provided 140 * children. If no required equality level is provided, than the most concrete equality is 141 * returned. Otherwise, the required equality is returned as long as the children are equal 142 * on that level. 143 * </p> 144 * 145 * @param child1 the first task to be compared 146 * @param child2 the second task to be compared 147 * @param requiredEqualityLevel the equality level to be checked for 148 * 149 * @return the determined equality 136 150 */ 137 151 private TaskEquality callRuleManager(ITask child1, -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndIterationComparisonRule.java
r1146 r1154 93 93 94 94 /** 95 * <p> 96 * compares two tasks with each other checking for the provided required level of 97 * equality. One of the tasks must be an iteration, the other one not. If this is not the 98 * case, the method returns null. The returned equality level is at most lexical equality 99 * as the iteration can not be identical to something not being an iteration. 100 * </p> 95 101 * 102 * @param task1 the first task to be compared 103 * @param task2 the second task to be compared 104 * @param requiredEqualityLevel the equality level to be checked for 105 * 106 * @return the determined equality. 96 107 */ 97 108 private TaskEquality getEquality(ITask task1, ITask task2, TaskEquality requiredEqualityLevel) { … … 144 155 /** 145 156 * <p> 146 * TODO: comment 147 * </p> 148 * 149 * @param child1 150 * @param child2 151 * @param requiredEqualityLevel 152 * @return 157 * used to to call the task equality rule manager for the comparison of the two provided 158 * children. If no required equality level is provided, than the most concrete equality is 159 * returned. Otherwise, the required equality is returned as long as the children are equal 160 * on that level. 161 * </p> 162 * 163 * @param child1 the first task to be compared 164 * @param child2 the second task to be compared 165 * @param requiredEqualityLevel the equality level to be checked for 166 * 167 * @return the determined equality 153 168 */ 154 169 private TaskEquality callRuleManager(ITask child1, -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskAndSelectionComparisonRule.java
r1146 r1154 94 94 95 95 /** 96 * 96 * <p> 97 * compares two tasks with each other checking for the provided required level of 98 * equality. One of the tasks must be a selection, the other one not. If this is not the 99 * case, the method returns null. The returned equality level is at most lexical equality 100 * as the selection can not be identical to something not being a selection. 101 * </p> 102 * 103 * @param task1 the first task to be compared 104 * @param task2 the second task to be compared 105 * @param requiredEqualityLevel the equality level to be checked for 106 * 107 * @return the determined equality. 97 108 */ 98 109 private TaskEquality getEquality(ITask task1, ITask task2, TaskEquality requiredEqualityLevel) { … … 168 179 /** 169 180 * <p> 170 * TODO: comment 171 * </p> 172 * 173 * @param child1 174 * @param child2 175 * @param requiredEqualityLevel 176 * @return 181 * used to to call the task equality rule manager for the comparison of the two provided 182 * children. If no required equality level is provided, than the most concrete equality is 183 * returned. Otherwise, the required equality is returned as long as the children are equal 184 * on that level. 185 * </p> 186 * 187 * @param child1 the first task to be compared 188 * @param child2 the second task to be compared 189 * @param requiredEqualityLevel the equality level to be checked for 190 * 191 * @return the determined equality 177 192 */ 178 193 private TaskEquality callRuleManager(ITask child1, -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskComparator.java
r1146 r1154 24 24 /** 25 25 * <p> 26 * TODO comment 26 * this class is a very fast implementation for the {@link SymbolComparator} interface to be 27 * applied on task instances. To be efficient, it caches information about the equality of tasks. 28 * Only, if it does not know a specific equality yet, it call the task equality rule manager 29 * to compare two tasks. Otherwise, it returns the known equality. 27 30 * </p> 31 * 32 * TODO improve documentation and remove stop watch stuff. 28 33 * 29 34 * @author Patrick Harms … … 45 50 private TaskEquality minimalNodeEquality; 46 51 47 /** */ 52 /** 53 * <p> 54 * the internally used comparer for tasks. 55 * </p> 56 */ 48 57 private Comparer comparer; 49 58 50 /** */ 59 /** 60 * <p> 61 * the internally used comparer for tasks considering only lexical equality. 62 * </p> 63 */ 51 64 private Comparer lexicalComparer; 52 65 -
trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/taskequality/TaskEqualityRuleManager.java
r1146 r1154 23 23 * <p> 24 24 * The task equality rule manager is capable of comparing tasks based on its internal list 25 * of comparison rules. The current list of rules contains the {@link TaskIdentityRule}, the 26 * {@link IterationComparisonRule}, the {@link SequenceComparisonRule}, and 27 * {@link SelectionComparisonRule}. These rules are asked for comparing the two provided tasks 28 * in the mentioned order. If a rule returns a task equality other than null, this equality is 29 * returned. Otherwise the next rule is asked. 25 * of comparison rules. These rules are asked for comparing the two provided tasks. If a rule 26 * returns a task equality other than null, this equality is returned. Otherwise the next rule 27 * is asked. 30 28 * </p> 31 29 * … … 35 33 public class TaskEqualityRuleManager { 36 34 37 /** */ 35 /** 36 * <p> 37 * the rules that can be used for comparing tasks 38 * </p> 39 */ 38 40 private List<TaskComparisonRule> mRuleIndex = null; 39 41 … … 99 101 /** 100 102 * <p> 101 * TODO: comment 102 * </p> 103 * 104 * @param child1 105 * @param child2 106 * @param equalityLevel 107 * @return 103 * this method two tasks with respect to the fiven equality level and returns true, if this 104 * level is given. 105 * </p> 106 * 107 * @param task1 the first task to be compared 108 * @param task2 the second task to be compared 109 * @param equalityLevel the level of equality to be checked for 110 * 111 * @return as described 112 * 113 * @throws IllegalStateException in the case, the {@link #init()} method was not called on the 114 * manager before a call to this method. 108 115 */ 109 116 public boolean areAtLeastEqual(ITask task1, ITask task2, TaskEquality equalityLevel) { … … 130 137 /** 131 138 * <p> 132 * TODO: comment 133 * </p> 134 * 135 * @param child1 136 * @param child2 137 * @return 139 * this method checks if the two given tasks are identical. For this, it iterates its internal 140 * comparison rules. If the first rule returns true, than this method returns true as well. 141 * If no rule returns true, this method returns false. 142 * </p> 143 * 144 * @param task1 the first task to be compared 145 * @param task2 the second task to be compared 146 * 147 * @return as described 148 * 149 * @throws IllegalStateException in the case, the {@link #init()} method was not called on the 150 * manager before a call to this method. 138 151 */ 139 152 public boolean areIdentical(ITask task1, ITask task2) { … … 153 166 /** 154 167 * <p> 155 * TODO: comment 156 * </p> 157 * 158 * @param child1 159 * @param child2 160 * @return 168 * this method checks if the two given tasks are lexically equal. For this, it iterates its 169 * internal comparison rules. If the first rule returns true, than this method returns true 170 * as well. If no rule returns true, this method returns false. 171 * </p> 172 * 173 * @param task1 the first task to be compared 174 * @param task2 the second task to be compared 175 * 176 * @return as described 177 * 178 * @throws IllegalStateException in the case, the {@link #init()} method was not called on the 179 * manager before a call to this method. 161 180 */ 162 181 public boolean areLexicallyEqual(ITask task1, ITask task2) { … … 176 195 /** 177 196 * <p> 178 * TODO: comment 179 * </p> 180 * 181 * @param child1 182 * @param child2 183 * @return 197 * this method checks if the two given tasks are syntactically equal. For this, it iterates its 198 * internal comparison rules. If the first rule returns true, than this method returns true 199 * as well. If no rule returns true, this method returns false. 200 * </p> 201 * 202 * @param task1 the first task to be compared 203 * @param task2 the second task to be compared 204 * 205 * @return as described 206 * 207 * @throws IllegalStateException in the case, the {@link #init()} method was not called on the 208 * manager before a call to this method. 184 209 */ 185 210 public boolean areSyntacticallyEqual(ITask task1, ITask task2) { … … 199 224 /** 200 225 * <p> 201 * TODO: comment 202 * </p> 203 * 204 * @param child1 205 * @param child2 206 * @return 226 * this method checks if the two given tasks are semantically equal. For this, it iterates its 227 * internal comparison rules. If the first rule returns true, than this method returns true 228 * as well. If no rule returns true, this method returns false. 229 * </p> 230 * 231 * @param task1 the first task to be compared 232 * @param task2 the second task to be compared 233 * 234 * @return as described 235 * 236 * @throws IllegalStateException in the case, the {@link #init()} method was not called on the 237 * manager before a call to this method. 207 238 */ 208 239 public boolean areSemanticallyEqual(ITask task1, ITask task2) {
Note: See TracChangeset
for help on using the changeset viewer.