File path: /hibernate-distribution-3.3.2.GA/project/cache-jbosscache2/src/main/java/org/hibernate/cache/jbc2/timestamp/TimestampsRegionImpl.java | File path: /hibernate-distribution-3.3.2.GA/project/cache-jbosscache2/src/main/java/org/hibernate/cache/jbc2/timestamp/TimestampsRegionImpl.java | |||
Method name: void nodeModified(NodeModifiedEvent)
|
Method name: void nodeRemoved(NodeRemovedEvent)
|
|||
Number of AST nodes: 7 | Number of AST nodes: 9 | |||
1 | if (event.isPre())↵ | 1 | if (event.isPre())↵ | |
2 | return;↵ | 2 | return;↵ | |
3 | Fqn fqn = event.getFqn();↵ | 3 | Fqn fqn = event.getFqn();↵ | |
4 | Fqn regFqn = getRegionFqn();↵ | 4 | Fqn regFqn = getRegionFqn();↵ | |
5 | if (fqn.size() == regFqn.size() + 1 && fqn.isChildOf(regFqn)) {↵ | 5 | if (fqn.size() == regFqn.size() + 1 && fqn.isChildOf(regFqn)) {↵ | |
6 | Object key = fqn.get(regFqn.size());↵ | 6 | Object key = fqn.get(regFqn.size());↵ | |
7 | localCache.put(key, event.getData().get(ITEM)↵ | 7 | localCache.remove(key);↵ | |
8 | }↵ | |||
9 | else if (fqn.equals(regFqn)) {↵ | |||
8 | );↵ | 10 | localCache.clear();↵ | |
9 | } | 11 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.4 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 26 |
Number of mapped statements | 7 |
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) | 1.2 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | if (event.isPre()) |
| 1 | if (event.isPre()) | |||||||||||||||||
2 | return; |
| 2 | return; | |||||||||||||||||
3 | Fqn fqn = event.getFqn(); |
| 3 | Fqn fqn = event.getFqn(); | |||||||||||||||||
4 | Fqn regFqn = getRegionFqn(); | 4 | Fqn regFqn = getRegionFqn(); | ||||||||||||||||||
5 | if (fqn.size() == regFqn.size() + 1 && fqn.isChildOf(regFqn)) | 5 | if (fqn.size() == regFqn.size() + 1 && fqn.isChildOf(regFqn)) | ||||||||||||||||||
6 | Object key = fqn.get(regFqn.size()); | 6 | Object key = fqn.get(regFqn.size()); | ||||||||||||||||||
7 | localCache.put(key, event.getData().get(ITEM)); |
| 7 | localCache.remove(key); |
Row | Violation |
---|---|
1 | Type org.jboss.cache.notifications.event.NodeModifiedEvent of variable event does not match with type org.jboss.cache.notifications.event.NodeRemovedEvent of variable event |
2 | Conditional return; |
3 | Type org.jboss.cache.notifications.event.NodeModifiedEvent of variable event does not match with type org.jboss.cache.notifications.event.NodeRemovedEvent of variable event |
4 | Expression localCache.put(key,event.getData().get(ITEM)) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression localCache.remove(key) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression localCache.put(key,event.getData().get(ITEM)) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Expression localCache.remove(key) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
8 | Clone fragment #1 returns variables , while Clone fragment #2 returns variables fqn, regFqn |