TestData data = new TestData(); data.prepare(); Session s = openSession(); Transaction t = s.beginTransaction(); int count = s.createQuery( "update Mammal set bodyWeight = null" ).executeUpdate(); assertEquals( "Incorrect deletion count on joined subclass", 2, count ); count = s.createQuery( "delete Animal where bodyWeight = null" ).executeUpdate(); assertEquals( "Incorrect deletion count on joined subclass", 2, count ); t.commit(); s.close(); data.cleanup();
TestData data = new TestData(); data.prepare(); Session s = openSession(); Transaction t = s.beginTransaction(); int count = s.createQuery( "delete PettingZoo" ).executeUpdate(); assertEquals( "Incorrect discrim subclass delete count", 1, count ); count = s.createQuery( "delete Zoo" ).executeUpdate(); assertEquals( "Incorrect discrim subclass delete count", 1, count ); t.commit(); s.close(); data.cleanup();
Clone fragments detected by clone detection tool
File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/hql/BulkManipulationTest.java File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/hql/BulkManipulationTest.java
Method name: void testUpdateSetNullOnJoinedSubclass() Method name: void testDeleteOnDiscriminatorSubclass()
Number of AST nodes: 11 Number of AST nodes: 11
1
TestData data = new TestData();
1
TestData data = new TestData();
2
		data.prepare();
2
		data.prepare();
3
		Session s = openSession();
3
		Session s = openSession();
4
		Transaction t = s.beginTransaction();
4
		Transaction t = s.beginTransaction();
5
		int count = s.createQuery( "update Mammal set bodyWeight = null" ).executeUpdate();
5
		int count = s.createQuery( "delete PettingZoo" ).executeUpdate();
6
		assertEquals( "Incorrect deletion count on joined subclass", 2, count );
6
		assertEquals( "Incorrect discrim subclass delete count", 1, count );
7
		count = s.createQuery( "delete Animal where bodyWeight = null" ).executeUpdate();
7
		count = s.createQuery( "delete Zoo" ).executeUpdate();
8
		assertEquals( "Incorrect deletion count on joined subclass", 2, count );
8
		assertEquals( "Incorrect discrim subclass delete count", 1, count );
9
		t.commit();
9
		t.commit();
10
		s.close();
10
		s.close();
11
		data.cleanup();
11
		data.cleanup();
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones locationClones are declared in the same class
Number of node comparisons61
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements11
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    TestData data = new TestData();
    1
    TestData data = new TestData();
    2
    data.prepare();
    2
    data.prepare();
    3
    Session s = openSession();
    3
    Session s = openSession();
    4
    Transaction t = s.beginTransaction();
    4
    Transaction t = s.beginTransaction();
    5
    int count = s.createQuery("update Mammal set bodyWeight = null").executeUpdate();
    5
    int count = s.createQuery("update Mammal set bodyWeight = null").executeUpdate();
    5
    int count = s.createQuery("delete PettingZoo").executeUpdate();
    Differences
    Expression1Expression2Difference
    "update Mammal set bodyWeight = null""delete PettingZoo"LITERAL_VALUE_MISMATCH
    5
    int count = s.createQuery("delete PettingZoo").executeUpdate();
    6
    assertEquals("Incorrect deletion count on joined subclass", 2, count);
    6
    assertEquals("Incorrect deletion count on joined subclass", 2, count);
    6
    assertEquals("Incorrect discrim subclass delete count", 1, count);
    Differences
    Expression1Expression2Difference
    "Incorrect deletion count on joined subclass""Incorrect discrim subclass delete count"LITERAL_VALUE_MISMATCH
    21LITERAL_VALUE_MISMATCH
    6
    assertEquals("Incorrect discrim subclass delete count", 1, count);
    7
    count = s.createQuery("delete Animal where bodyWeight = null").executeUpdate();
    7
    count = s.createQuery("delete Animal where bodyWeight = null").executeUpdate();
    7
    count = s.createQuery("delete Zoo").executeUpdate();
    Differences
    Expression1Expression2Difference
    "delete Animal where bodyWeight = null""delete Zoo"LITERAL_VALUE_MISMATCH
    7
    count = s.createQuery("delete Zoo").executeUpdate();
    8
    assertEquals("Incorrect deletion count on joined subclass", 2, count);
    8
    assertEquals("Incorrect deletion count on joined subclass", 2, count);
    8
    assertEquals("Incorrect discrim subclass delete count", 1, count);
    Differences
    Expression1Expression2Difference
    "Incorrect deletion count on joined subclass""Incorrect discrim subclass delete count"LITERAL_VALUE_MISMATCH
    21LITERAL_VALUE_MISMATCH
    8
    assertEquals("Incorrect discrim subclass delete count", 1, count);
    9
    t.commit();
    9
    t.commit();
    10
    s.close();
    10
    s.close();
    11
    data.cleanup();
    11
    data.cleanup();
    Precondition Violations (0)
    Row Violation