File path: /ArgoUML-0.34-src/argouml/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableFeaturesListModel.java | File path: /ArgoUML-0.34-src/argouml/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLAssociationRoleBaseComboBoxModel.java | |||
Method name: void setTarget(Object)
|
Method name: void removeOtherModelEventListeners(Object)
|
|||
Number of AST nodes: 3 | Number of AST nodes: 2 | |||
1 | protected void setTarget(Object target) { | 1 | @Override | |
2 | assert (getTarget() == null); | 2 | protected void removeOtherModelEventListeners(Object oldTarget) { | |
3 | assert (Model.getFacade().isAElement(target)); | 3 | super.removeOtherModelEventListeners(oldTarget); | |
4 | 4 | for (Object classifier : others) { | ||
5 | 5 | Model.getPump().removeModelEventListener(this, | ||
6 | setListTarget(target); | 6 | classifier, "feature"); | |
7 | 7 | } | ||
8 | Collection bases = Model.getFacade().getBases(getTarget()); | 8 | others.clear(); | |
9 | Iterator it = bases.iterator(); | 9 | } | |
10 | while (it.hasNext()) { | |||
11 | Object base = it.next(); | |||
12 | Model.getPump().addModelEventListener( | |||
13 | this, | |||
14 | base, | |||
15 | "feature"); | |||
16 | } | |||
17 | // make sure we know it when a classifier is added as a base | |||
18 | Model.getPump().addModelEventListener( | |||
19 | this, | |||
20 | getTarget(), | |||
21 | "base"); | |||
22 | removeAllElements(); | |||
23 | setBuildingModel(true); | |||
24 | buildModelList(); | |||
25 | setBuildingModel(false); | |||
26 | if (getSize() > 0) { | |||
27 | fireIntervalAdded(this, 0, getSize() - 1); | |||
28 | } | |||
29 | } | |||
See real code fragment | See real code fragment |
Number of mapped statements | 4 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 0.0 |
Similarity Score | 0.667 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6 | while (it.hasNext()) |
| 2 | for (Object classifier : others) | ||||||||||||||||
7 | Object base = it.next(); |
| | |||||||||||||||||
8 | Model.getPump().addModelEventListener(this, base, "feature"); |
| 3 | Model.getPump().removeModelEventListener(this, classifier, "feature"); |
Row | Violation |
---|---|
1 | Expression Model.getPump().removeModelEventListener(this,classifier,"feature") cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression Model.getPump().addModelEventListener(this,base,"feature") is a void method call, and thus it cannot be parameterized |
3 | Expression Model.getPump().removeModelEventListener(this,classifier,"feature") is a void method call, and thus it cannot be parameterized |