1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.juddi.query;
19
20 import java.util.List;
21
22 import javax.persistence.EntityManager;
23
24 import org.apache.juddi.query.util.DynamicQuery;
25 import org.apache.juddi.query.util.FindQualifiers;
26 import org.uddi.api_v3.CategoryBag;
27
28
29
30
31
32
33
34
35
36
37
38
39 public class FindServiceByCategoryQuery {
40
41 private static final String ENTITY_NAME_CHILD = "ServiceCategoryBag";
42
43 private static final FindEntityByCategoryQuery findQuery;
44
45 static {
46 findQuery = new FindEntityByCategoryQuery(BusinessServiceQuery.ENTITY_NAME,
47 BusinessServiceQuery.ENTITY_ALIAS,
48 BusinessServiceQuery.KEY_NAME,
49 BusinessServiceQuery.ENTITY_FIELD,
50 ENTITY_NAME_CHILD,
51 BusinessServiceQuery.SIGNATURE_PRESENT);
52 }
53
54 public static List<Object> select(EntityManager em, FindQualifiers fq, CategoryBag categoryBag, String parentKey, List<Object> keysIn) {
55 if (parentKey != null && parentKey.length() > 0) {
56 DynamicQuery.Parameter param = new DynamicQuery.Parameter(BusinessServiceQuery.ENTITY_ALIAS + "."
57 + BusinessServiceQuery.KEY_NAME_PARENT, parentKey, DynamicQuery.PREDICATE_EQUALS);
58 return findQuery.select(em, fq, categoryBag, keysIn, param);
59 }
60 else
61 return findQuery.select(em, fq, categoryBag, keysIn);
62 }
63 }