File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/subclassfilter/DiscrimSubclassFilterTest.java | File path: /hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/subclassfilter/UnionSubclassFilterTest.java | |||
Method name: void testFiltersWithSubclass()
|
Method name: void testFiltersWithUnionSubclass()
|
|||
Number of AST nodes: 41 | Number of AST nodes: 39 | |||
1 | Session s = openSession();↵ | 1 | Session s = openSession();↵ | |
2 | s.enableFilter( "region" ).setParameter( "userRegion", "US" );↵ | 2 | s.enableFilter( "region" ).setParameter( "userRegion", "US" );↵ | |
3 | Transaction t = s.beginTransaction();↵ | 3 | Transaction t = s.beginTransaction();↵ | |
4 | prepareTestData( s );↵ | 4 | prepareTestData( s );↵ | |
5 | s.clear();↵ | 5 | s.clear();↵ | |
6 | List results;↵ | 6 | List results;↵ | |
7 | Iterator itr;↵ | 7 | Iterator itr;↵ | |
8 | results = s.createQuery( "from Person" ).list();↵ | 8 | results = s.createQuery( "from Person" ).list();↵ | |
9 | assertEquals( "Incorrect qry result count", 4, results.size() );↵ | 9 | assertEquals( "Incorrect qry result count", 4, results.size() );↵ | |
10 | s.clear();↵ | 10 | s.clear();↵ | |
11 | results = s.createQuery( "from Employee" ).list();↵ | 11 | results = s.createQuery( "from Employee" ).list();↵ | |
12 | assertEquals( "Incorrect qry result count", 2, results.size() );↵ | 12 | assertEquals( "Incorrect qry result count", 2, results.size() );↵ | |
13 | s.clear();↵ | 13 | s.clear();↵ | |
14 | results = new ArrayList( new HashSet( s.createQuery( "from Person as p left join fetch p.minions" ).list() ) );↵ | 14 | results = new ArrayList( new HashSet( s.createQuery( "from Person as p left join fetch p.minions" ).list() ) );↵ | |
15 | assertEquals( "Incorrect qry result count", 4, results.size() );↵ | 15 | assertEquals( "Incorrect qry result count", 4, results.size() );↵ | |
16 | itr = results.iterator();↵ | 16 | itr = results.iterator();↵ | |
17 | while ( itr.hasNext() ) {↵ | 17 | while ( itr.hasNext() ) {↵ | |
18 | // find john↵ | 18 | // find john↵ | |
19 | final Person p = ( Person ) itr.next();↵ | 19 | final Person p = ( Person ) itr.next();↵ | |
20 | if ( p.getName().equals( "John Doe" ) ) {↵ | 20 | if ( p.getName().equals( "John Doe" ) ) {↵ | |
21 | Employee john = ( Employee ) p;↵ | 21 | Employee john = ( Employee ) p;↵ | |
22 | assertEquals( "Incorrect fecthed minions count", 1, john.getMinions().size() );↵ | 22 | assertEquals( "Incorrect fecthed minions count", 1, john.getMinions().size() );↵ | |
23 | break;↵ | 23 | break;↵ | |
24 | }↵ | 24 | }↵ | |
25 | }↵ | 25 | }↵ | |
26 | s.clear();↵ | 26 | s.clear();↵ | |
27 | results = new ArrayList( new HashSet( s.createQuery( "from Employee as p left join fetch p.minions" ).list() ) );↵ | 27 | results = new ArrayList( new HashSet( s.createQuery( "from Employee as p left join fetch p.minions" ).list() ) );↵ | |
28 | assertEquals( "Incorrect qry result count", 2, results.size() );↵ | 28 | assertEquals( "Incorrect qry result count", 2, results.size() );↵ | |
29 | itr = results.iterator();↵ | 29 | itr = results.iterator();↵ | |
30 | while ( itr.hasNext() ) {↵ | 30 | while ( itr.hasNext() ) {↵ | |
31 | // find john↵ | 31 | // find john↵ | |
32 | final Person p = ( Person ) itr.next();↵ | 32 | final Person p = ( Person ) itr.next();↵ | |
33 | if ( p.getName().equals( "John Doe" ) ) {↵ | 33 | if ( p.getName().equals( "John Doe" ) ) {↵ | |
34 | Employee john = ( Employee ) p;↵ | 34 | Employee john = ( Employee ) p;↵ | |
35 | assertEquals( "Incorrect fecthed minions count", 1, john.getMinions().size() );↵ | 35 | assertEquals( "Incorrect fecthed minions count", 1, john.getMinions().size() );↵ | |
36 | break;↵ | 36 | break;↵ | |
37 | }↵ | 37 | }↵ | |
38 | }↵ | 38 | }↵ | |
39 | t.commit();↵ | 39 | t.commit();↵ | |
40 | s.close();↵ | 40 | s.close();↵ | |
41 | s = openSession();↵ | 41 | s = openSession();↵ | |
42 | t = s.beginTransaction();↵ | 42 | t = s.beginTransaction();↵ | |
43 | s.createQuery( "delete Customer where contactOwner is not null" ).executeUpdate();↵ | 43 | s.↵ | |
44 | s.createQuery( "delete Employee where manager is not null" ).executeUpdate();↵ | |||
45 | s.createQuery( "delete Person" ).executeUpdate();↵ | 44 | delete( "from Person" );↵ | |
46 | t.commit();↵ | 45 | t.commit();↵ | |
47 | s.close(); | 46 |
| |
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.6 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 274 |
Number of mapped statements | 38 |
Number of unmapped statements in the first code fragment | 3 |
Number of unmapped statements in the second code fragment | 1 |
Time elapsed for statement mapping (ms) | 14.1 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |
---|---|---|---|---|
1 | Session s = openSession(); | 1 | Session s = openSession(); | |
2 | s.enableFilter("region").setParameter("userRegion", "US"); | 2 | s.enableFilter("region").setParameter("userRegion", "US"); | |
3 | Transaction t = s.beginTransaction(); | 3 | Transaction t = s.beginTransaction(); | |
4 | prepareTestData(s); | 4 | prepareTestData(s); | |
5 | s.clear(); | 5 | s.clear(); | |
6 | List results; | 6 | List results; | |
7 | Iterator itr; | 7 | Iterator itr; | |
8 | results = s.createQuery("from Person").list(); | 8 | results = s.createQuery("from Person").list(); | |
9 | assertEquals("Incorrect qry result count", 4, results.size()); | 9 | assertEquals("Incorrect qry result count", 4, results.size()); | |
10 | s.clear(); | 10 | s.clear(); | |
11 | results = s.createQuery("from Employee").list(); | 11 | results = s.createQuery("from Employee").list(); | |
12 | assertEquals("Incorrect qry result count", 2, results.size()); | 12 | assertEquals("Incorrect qry result count", 2, results.size()); | |
13 | s.clear(); | 13 | s.clear(); | |
14 | results = new ArrayList(new HashSet(s.createQuery("from Person as p left join fetch p.minions").list())); | 14 | results = new ArrayList(new HashSet(s.createQuery("from Person as p left join fetch p.minions").list())); | |
15 | assertEquals("Incorrect qry result count", 4, results.size()); | 15 | assertEquals("Incorrect qry result count", 4, results.size()); | |
16 | itr = results.iterator(); | 16 | itr = results.iterator(); | |
17 | while (itr.hasNext()) | 17 | while (itr.hasNext()) | |
18 | final Person p = (Person)itr.next(); | 18 | final Person p = (Person)itr.next(); | |
19 | if (p.getName().equals("John Doe")) | 19 | if (p.getName().equals("John Doe")) | |
20 | Employee john = (Employee)p; | 20 | Employee john = (Employee)p; | |
21 | assertEquals("Incorrect fecthed minions count", 1, john.getMinions().size()); | 21 | assertEquals("Incorrect fecthed minions count", 1, john.getMinions().size()); | |
22 | break; | 22 | break; | |
23 | s.clear(); | 23 | s.clear(); | |
24 | results = new ArrayList(new HashSet(s.createQuery("from Employee as p left join fetch p.minions").list())); | 24 | results = new ArrayList(new HashSet(s.createQuery("from Employee as p left join fetch p.minions").list())); | |
25 | assertEquals("Incorrect qry result count", 2, results.size()); | 25 | assertEquals("Incorrect qry result count", 2, results.size()); | |
26 | itr = results.iterator(); | 26 | itr = results.iterator(); | |
27 | while (itr.hasNext()) | 27 | while (itr.hasNext()) | |
28 | final Person p = (Person)itr.next(); | 28 | final Person p = (Person)itr.next(); | |
29 | if (p.getName().equals("John Doe")) | 29 | if (p.getName().equals("John Doe")) | |
30 | Employee john = (Employee)p; | 30 | Employee john = (Employee)p; | |
31 | assertEquals("Incorrect fecthed minions count", 1, john.getMinions().size()); | 31 | assertEquals("Incorrect fecthed minions count", 1, john.getMinions().size()); | |
32 | break; | 32 | break; | |
33 | t.commit(); | 33 | t.commit(); | |
34 | s.close(); | 34 | s.close(); | |
35 | s = openSession(); | 35 | s = openSession(); | |
36 | t = s.beginTransaction(); | 36 | t = s.beginTransaction(); | |
| 37 | s.delete("from Person"); | ||
37 | s.createQuery("delete Customer where contactOwner is not null").executeUpdate(); | | ||
38 | s.createQuery("delete Employee where manager is not null").executeUpdate(); | | ||
39 | s.createQuery("delete Person").executeUpdate(); | | ||
40 | t.commit(); | 38 | t.commit(); | |
41 | s.close(); | 39 | s.close(); |
Row | Violation |
---|