1
22
23 package com.liferay.portlet.tags.service.persistence;
24
25 import com.liferay.portal.SystemException;
26 import com.liferay.portal.kernel.dao.orm.QueryPos;
27 import com.liferay.portal.kernel.dao.orm.QueryUtil;
28 import com.liferay.portal.kernel.dao.orm.SQLQuery;
29 import com.liferay.portal.kernel.dao.orm.Session;
30 import com.liferay.portal.kernel.dao.orm.Type;
31 import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
32 import com.liferay.util.dao.orm.CustomSQLUtil;
33
34 import java.util.Iterator;
35 import java.util.List;
36
37
43 public class TagsPropertyKeyFinderImpl
44 extends BasePersistenceImpl implements TagsPropertyKeyFinder {
45
46 public static String COUNT_BY_GROUP_ID =
47 TagsPropertyKeyFinder.class.getName() + ".countByGroupId";
48
49 public static String FIND_BY_GROUP_ID =
50 TagsPropertyKeyFinder.class.getName() + ".findByGroupId";
51
52 public int countByGroupId(long groupId) throws SystemException {
53 Session session = null;
54
55 try {
56 session = openSession();
57
58 String sql = CustomSQLUtil.get(COUNT_BY_GROUP_ID);
59
60 SQLQuery q = session.createSQLQuery(sql);
61
62 q.addScalar(COUNT_COLUMN_NAME, Type.LONG);
63
64 QueryPos qPos = QueryPos.getInstance(q);
65
66 qPos.add(groupId);
67
68 Iterator<Long> itr = q.list().iterator();
69
70 if (itr.hasNext()) {
71 Long count = itr.next();
72
73 if (count != null) {
74 return count.intValue();
75 }
76 }
77
78 return 0;
79 }
80 catch (Exception e) {
81 throw new SystemException(e);
82 }
83 finally {
84 closeSession(session);
85 }
86 }
87
88 public String[] findByGroupId(long groupId) throws SystemException {
89 return findByGroupId(groupId, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
90 }
91
92 public String[] findByGroupId(long groupId, int start, int end)
93 throws SystemException {
94
95 Session session = null;
96
97 try {
98 session = openSession();
99
100 String sql = CustomSQLUtil.get(FIND_BY_GROUP_ID);
101
102 SQLQuery q = session.createSQLQuery(sql);
103
104 q.addScalar("propertyKey", Type.STRING);
105
106 QueryPos qPos = QueryPos.getInstance(q);
107
108 qPos.add(groupId);
109
110 List<String> list = (List<String>)QueryUtil.list(
111 q, getDialect(), start, end);
112
113 return list.toArray(new String[list.size()]);
114 }
115 catch (Exception e) {
116 throw new SystemException(e);
117 }
118 finally {
119 closeSession(session);
120 }
121 }
122
123 }