File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/cascade/circle/MultiPathCircleCascadeTest.java | File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/cascade/circle/MultiPathCircleCascadeTest.java | |||
Method name: void testMergePickupNode()
|
Method name: void testMergeDeliveryNode()
|
|||
Number of AST nodes: 23 | Number of AST nodes: 23 | |||
1 | Route route = getUpdatedDetachedEntity();↵ | 1 | Route route = getUpdatedDetachedEntity();↵ | |
2 | clearCounts();↵ | 2 | clearCounts();↵ | |
3 | Session s = openSession();↵ | 3 | Session s = openSession();↵ | |
4 | s.beginTransaction();↵ | 4 | s.beginTransaction();↵ | |
5 | Iterator it=route.getNodes().iterator();↵ | 5 | Iterator it=route.getNodes().iterator();↵ | |
6 | Node node = ( Node ) it.next();↵ | 6 | Node node = ( Node ) it.next();↵ | |
7 | Node pickupNode;↵ | 7 | Node deliveryNode;↵ | |
8 | if ( node.getName().equals( "pickupNodeB") ) {↵ | 8 | if ( node.getName().equals( "deliveryNodeB") ) {↵ | |
9 | pickupNode = node;↵ | 9 | deliveryNode = node;↵ | |
10 | }↵ | 10 | }↵ | |
11 | else {↵ | 11 | else {↵ | |
12 | node = ( Node ) it.next();↵ | 12 | node = ( Node ) it.next();↵ | |
13 | assertEquals( "pickupNodeB", node.getName() );↵ | 13 | assertEquals( "deliveryNodeB", node.getName() );↵ | |
14 | pickupNode = node;↵ | 14 | deliveryNode = node;↵ | |
15 | }↵ | 15 | }↵ | |
16 | pickupNode = ( Node ) s.merge( pickupNode );↵ | 16 | deliveryNode = ( Node ) s.merge( deliveryNode );↵ | |
17 | s.getTransaction().commit();↵ | 17 | s.getTransaction().commit();↵ | |
18 | s.close();↵ | 18 | s.close();↵ | |
19 | assertInsertCount( 4 );↵ | 19 | assertInsertCount( 4 );↵ | |
20 | assertUpdateCount( 0 );↵ | 20 | assertUpdateCount( 0 );↵ | |
21 | s = openSession();↵ | 21 | s = openSession();↵ | |
22 | s.beginTransaction();↵ | 22 | s.beginTransaction();↵ | |
23 | route = ( Route ) s.get( Route.class, route.getRouteID() );↵ | 23 | route = ( Route ) s.get( Route.class, route.getRouteID() );↵ | |
24 | checkResults( route, false );↵ | 24 | checkResults( route, false );↵ | |
25 | s.getTransaction().commit();↵ | 25 | s.getTransaction().commit();↵ | |
26 | s.close(); | 26 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 1 |
Number of non-refactorable cases | 0 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.2 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 181 |
Number of mapped statements | 23 |
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) | 5.9 |
Clone type | Type 2 |
ID | Statement | ID | Statement | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Route route = getUpdatedDetachedEntity(); | 1 | Route route = getUpdatedDetachedEntity(); | ||||||||||||||
2 | clearCounts(); | 2 | clearCounts(); | ||||||||||||||
3 | Session s = openSession(); | 3 | Session s = openSession(); | ||||||||||||||
4 | s.beginTransaction(); | 4 | s.beginTransaction(); | ||||||||||||||
5 | Iterator it = route.getNodes().iterator(); | 5 | Iterator it = route.getNodes().iterator(); | ||||||||||||||
6 | Node node = (Node)it.next(); | 6 | Node node = (Node)it.next(); | ||||||||||||||
7 | Node pickupNode; |
| 7 | Node deliveryNode; | |||||||||||||
8 | if (node.getName().equals("pickupNodeB")) |
| 8 | if (node.getName().equals("deliveryNodeB")) | |||||||||||||
9 | pickupNode = node; |
| 9 | deliveryNode = node; | |||||||||||||
else | else | ||||||||||||||||
10 | node = (Node)it.next(); | 10 | node = (Node)it.next(); | ||||||||||||||
11 | assertEquals("pickupNodeB", node.getName()); |
| 11 | assertEquals("deliveryNodeB", node.getName()); | |||||||||||||
12 | pickupNode = node; |
| 12 | deliveryNode = node; | |||||||||||||
13 | pickupNode = (Node)s.merge(pickupNode); |
| 13 | deliveryNode = (Node)s.merge(deliveryNode); | |||||||||||||
14 | s.getTransaction().commit(); | 14 | s.getTransaction().commit(); | ||||||||||||||
15 | s.close(); | 15 | s.close(); | ||||||||||||||
16 | assertInsertCount(4); | 16 | assertInsertCount(4); | ||||||||||||||
17 | assertUpdateCount(0); | 17 | assertUpdateCount(0); | ||||||||||||||
18 | s = openSession(); | 18 | s = openSession(); | ||||||||||||||
19 | s.beginTransaction(); | 19 | s.beginTransaction(); | ||||||||||||||
20 | route = (Route)s.get(Route.class, route.getRouteID()); | 20 | route = (Route)s.get(Route.class, route.getRouteID()); | ||||||||||||||
21 | checkResults(route, false); | 21 | checkResults(route, false); | ||||||||||||||
22 | s.getTransaction().commit(); | 22 | s.getTransaction().commit(); | ||||||||||||||
23 | s.close(); | 23 | s.close(); |
Row | Violation |
---|