public void testImmutableParentEntityWithUpdate() { Contract c = new Contract("gavin", "phone"); ContractVariation cv1 = new ContractVariation(1, c); cv1.setText("expensive"); ContractVariation cv2 = new ContractVariation(2, c); cv2.setText("more expensive"); Session s = openSession(); Transaction t = s.beginTransaction(); s.persist(c); t.commit(); s.close(); s = openSession(); t = s.beginTransaction(); c.setCustomerName("foo bar"); s.update( c ); t.commit(); s.close(); s = openSession(); t = s.beginTransaction(); c = (Contract) s.createCriteria(Contract.class).uniqueResult(); assertEquals( c.getCustomerName(), "gavin" ); assertEquals( c.getVariations().size(), 2 ); Iterator it = c.getVariations().iterator(); cv1 = (ContractVariation) it.next(); assertEquals( cv1.getText(), "expensive" ); cv2 = (ContractVariation) it.next(); assertEquals( cv2.getText(), "more expensive" ); s.delete(c); assertEquals( s.createCriteria(Contract.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) ); assertEquals( s.createCriteria(ContractVariation.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) ); t.commit(); s.close();
public void testImmutableParentEntityWithMerge() { Contract c = new Contract("gavin", "phone"); ContractVariation cv1 = new ContractVariation(1, c); cv1.setText("expensive"); ContractVariation cv2 = new ContractVariation(2, c); cv2.setText("more expensive"); Session s = openSession(); Transaction t = s.beginTransaction(); s.persist(c); t.commit(); s.close(); s = openSession(); t = s.beginTransaction(); c.setCustomerName("foo bar"); s.merge( c ); t.commit(); s.close(); s = openSession(); t = s.beginTransaction(); c = (Contract) s.createCriteria(Contract.class).uniqueResult(); assertEquals( c.getCustomerName(), "gavin" ); assertEquals( c.getVariations().size(), 2 ); Iterator it = c.getVariations().iterator(); cv1 = (ContractVariation) it.next(); assertEquals( cv1.getText(), "expensive" ); cv2 = (ContractVariation) it.next(); assertEquals( cv2.getText(), "more expensive" ); s.delete(c); assertEquals( s.createCriteria(Contract.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) ); assertEquals( s.createCriteria(ContractVariation.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) ); t.commit(); s.close();
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/immutable/ImmutableTest.java File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/immutable/ImmutableTest.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
public void testImmutableParentEntityWithUpdate() {
1
public void testImmutableParentEntityWithMerge() {
2
		Contract c = new Contract("gavin", "phone");
2
		Contract c = new Contract("gavin", "phone");
3
		ContractVariation cv1 = new ContractVariation(1, c);
3
		ContractVariation cv1 = new ContractVariation(1, c);
4
		cv1.setText("expensive");
4
		cv1.setText("expensive");
5
		ContractVariation cv2 = new ContractVariation(2, c);
5
		ContractVariation cv2 = new ContractVariation(2, c);
6
		cv2.setText("more expensive");
6
		cv2.setText("more expensive");
7
		Session s = openSession();
7
		Session s = openSession();
8
		Transaction t = s.beginTransaction();
8
		Transaction t = s.beginTransaction();
9
		s.persist(c);
9
		s.persist(c);
10
		t.commit();
10
		t.commit();
11
		s.close();
11
		s.close();
12
		s = openSession();
12
		s = openSession();
13
		t = s.beginTransaction();
13
		t = s.beginTransaction();
14
		c.setCustomerName("foo bar");
14
		c.setCustomerName("foo bar");
15
		s.update( c );
15
		s.merge( c );
16
		t.commit();
16
		t.commit();
17
		s.close();
17
		s.close();
18
		s = openSession();
18
		s = openSession();
19
		t = s.beginTransaction();
19
		t = s.beginTransaction();
20
		c = (Contract) s.createCriteria(Contract.class).uniqueResult();
20
		c = (Contract) s.createCriteria(Contract.class).uniqueResult();
21
		assertEquals( c.getCustomerName(), "gavin" );
21
		assertEquals( c.getCustomerName(), "gavin" );
22
		assertEquals( c.getVariations().size(), 2 );
22
		assertEquals( c.getVariations().size(), 2 );
23
		Iterator it = c.getVariations().iterator();
23
		Iterator it = c.getVariations().iterator();
24
		cv1 = (ContractVariation) it.next();
24
		cv1 = (ContractVariation) it.next();
25
		assertEquals( cv1.getText(), "expensive" );
25
		assertEquals( cv1.getText(), "expensive" );
26
		cv2 = (ContractVariation) it.next();
26
		cv2 = (ContractVariation) it.next();
27
		assertEquals( cv2.getText(), "more expensive" );
27
		assertEquals( cv2.getText(), "more expensive" );
28
		s.delete(c);
28
		s.delete(c);
29
		assertEquals( s.createCriteria(Contract.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) );
29
		assertEquals( s.createCriteria(Contract.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) );
30
		assertEquals( s.createCriteria(ContractVariation.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) );
30
		assertEquals( s.createCriteria(ContractVariation.class).setProjection( Projections.rowCount() ).uniqueResult(), new Integer(0) );
31
		t.commit();
31
		t.commit();
32
		s.close();
32
		s.close();
33
	
33
	
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0