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.portlet.tags.model.TagsProperty;
33 import com.liferay.portlet.tags.model.impl.TagsPropertyImpl;
34 import com.liferay.util.dao.orm.CustomSQLUtil;
35
36 import java.util.ArrayList;
37 import java.util.Iterator;
38 import java.util.List;
39
40
45 public class TagsPropertyFinderImpl
46 extends BasePersistenceImpl implements TagsPropertyFinder {
47
48 public static String COUNT_BY_C_K =
49 TagsPropertyFinder.class.getName() + ".countByC_K";
50
51 public static String FIND_BY_C_K =
52 TagsPropertyFinder.class.getName() + ".findByC_K";
53
54 public int countByC_K(long companyId, String key) throws SystemException {
55 Session session = null;
56
57 try {
58 session = openSession();
59
60 String sql = CustomSQLUtil.get(COUNT_BY_C_K);
61
62 SQLQuery q = session.createSQLQuery(sql);
63
64 q.addScalar(COUNT_COLUMN_NAME, Type.LONG);
65
66 QueryPos qPos = QueryPos.getInstance(q);
67
68 qPos.add(companyId);
69 qPos.add(key);
70
71 Iterator<Long> itr = q.list().iterator();
72
73 if (itr.hasNext()) {
74 Long count = itr.next();
75
76 if (count != null) {
77 return count.intValue();
78 }
79 }
80
81 return 0;
82 }
83 catch (Exception e) {
84 throw new SystemException(e);
85 }
86 finally {
87 closeSession(session);
88 }
89 }
90
91 public List<TagsProperty> findByC_K(long companyId, String key)
92 throws SystemException {
93
94 return findByC_K(companyId, key, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
95 }
96
97 public List<TagsProperty> findByC_K(
98 long companyId, String key, int start, int end)
99 throws SystemException {
100
101 Session session = null;
102
103 try {
104 session = openSession();
105
106 String sql = CustomSQLUtil.get(FIND_BY_C_K);
107
108 SQLQuery q = session.createSQLQuery(sql);
109
110 q.addScalar("propertyValue", Type.STRING);
111
112 QueryPos qPos = QueryPos.getInstance(q);
113
114 qPos.add(companyId);
115 qPos.add(key);
116
117 List<TagsProperty> properties = new ArrayList<TagsProperty>();
118
119 Iterator<String> itr = (Iterator<String>)QueryUtil.iterate(
120 q, getDialect(), start, end);
121
122 while (itr.hasNext()) {
123 String value = itr.next();
124
125 TagsProperty property = new TagsPropertyImpl();
126
127 property.setKey(key);
128 property.setValue(value);
129
130 properties.add(property);
131 }
132
133 return properties;
134 }
135 catch (Exception e) {
136 throw new SystemException(e);
137 }
138 finally {
139 closeSession(session);
140 }
141 }
142
143 }