Revision 52594f55
Added by Katja Luther almost 6 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/description/IWorkingSetDao.java | ||
---|---|---|
18 | 18 |
public Map<DescriptionBase,Set<DescriptionElementBase>> getDescriptionElements(WorkingSet workingSet, Set<Feature> features, Integer pageSize, Integer pageNumber, List<String> propertyPaths); |
19 | 19 |
|
20 | 20 |
public <T extends DescriptionElementBase> Map<UuidAndTitleCache, Map<UUID, Set<T>>> getTaxonFeatureDescriptionElementMap(Class<T> clazz, UUID workingSetUuid, DescriptiveSystemRole role); |
21 |
|
|
22 |
/** |
|
23 |
* @param limitOfInitialElements |
|
24 |
* @param pattern |
|
25 |
* @return |
|
26 |
*/ |
|
27 |
public List<UuidAndTitleCache<WorkingSet>> getWorkingSetUuidAndTitleCache(Integer limitOfInitialElements, |
|
28 |
String pattern); |
|
21 | 29 |
} |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/description/WorkingSetDao.java | ||
---|---|---|
1 | 1 |
package eu.etaxonomy.cdm.persistence.dao.hibernate.description; |
2 | 2 |
|
3 |
import java.util.ArrayList; |
|
3 | 4 |
import java.util.HashMap; |
4 | 5 |
import java.util.HashSet; |
5 | 6 |
import java.util.List; |
... | ... | |
10 | 11 |
import org.apache.log4j.Logger; |
11 | 12 |
import org.hibernate.Criteria; |
12 | 13 |
import org.hibernate.Query; |
14 |
import org.hibernate.Session; |
|
13 | 15 |
import org.hibernate.criterion.Restrictions; |
14 | 16 |
import org.springframework.beans.factory.annotation.Qualifier; |
15 | 17 |
import org.springframework.stereotype.Repository; |
... | ... | |
153 | 155 |
throw new RuntimeException(e); |
154 | 156 |
} |
155 | 157 |
} |
158 |
|
|
159 |
/** |
|
160 |
* {@inheritDoc} |
|
161 |
*/ |
|
162 |
@Override |
|
163 |
public List<UuidAndTitleCache<WorkingSet>> getWorkingSetUuidAndTitleCache(Integer limitOfInitialElements, |
|
164 |
String pattern) { |
|
165 |
Session session = getSession(); |
|
166 |
|
|
167 |
String queryString = "SELECT uuid, id, label FROM WorkingSet "; |
|
168 |
|
|
169 |
if ( pattern != null){ |
|
170 |
queryString += " WHERE "; |
|
171 |
queryString += " label LIKE :pattern"; |
|
172 |
|
|
173 |
} |
|
174 |
|
|
175 |
Query query; |
|
176 |
query = session.createQuery(queryString); |
|
177 |
|
|
178 |
|
|
179 |
if (limitOfInitialElements != null){ |
|
180 |
query.setMaxResults(limitOfInitialElements); |
|
181 |
} |
|
182 |
if (pattern != null){ |
|
183 |
pattern = pattern.replace("*", "%"); |
|
184 |
pattern = pattern.replace("?", "_"); |
|
185 |
pattern = pattern + "%"; |
|
186 |
query.setParameter("pattern", pattern); |
|
187 |
} |
|
188 |
|
|
189 |
@SuppressWarnings("unchecked") |
|
190 |
List<Object[]> result = query.list(); |
|
191 |
List<UuidAndTitleCache<WorkingSet>> list = new ArrayList<>(); |
|
192 |
for(Object[] object : result){ |
|
193 |
list.add(new UuidAndTitleCache<WorkingSet>(WorkingSet.class, (UUID) object[0],(Integer)object[1], (String)object[2])); |
|
194 |
} |
|
195 |
|
|
196 |
return list; |
|
197 |
} |
|
156 | 198 |
} |
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/molecular/PrimerDaoHibernateImpl.java | ||
---|---|---|
83 | 83 |
|
84 | 84 |
if ( pattern != null){ |
85 | 85 |
queryString += " WHERE "; |
86 |
queryString += " titleCache LIKE :pattern";
|
|
86 |
queryString += " label LIKE :pattern";
|
|
87 | 87 |
|
88 | 88 |
} |
89 | 89 |
|
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IWorkingSetService.java | ||
---|---|---|
29 | 29 |
|
30 | 30 |
public <T extends DescriptionElementBase> Map<UuidAndTitleCache, Map<UUID, Set<T>>> getTaxonFeatureDescriptionElementMap(Class<T> clazz, UUID workingSetUuid, DescriptiveSystemRole role); |
31 | 31 |
|
32 |
/** |
|
33 |
* @param limitOfInitialElements |
|
34 |
* @param pattern |
|
35 |
* @return |
|
36 |
*/ |
|
37 |
List<UuidAndTitleCache<WorkingSet>> getWorkingSetUuidAndTitleCache(Integer limitOfInitialElements, String pattern); |
|
38 |
|
|
32 | 39 |
|
33 | 40 |
|
34 | 41 |
} |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/WorkingSetService.java | ||
---|---|---|
39 | 39 |
Class<T> clazz, UUID workingSetUuid, DescriptiveSystemRole role) { |
40 | 40 |
return dao.getTaxonFeatureDescriptionElementMap(clazz, workingSetUuid, role); |
41 | 41 |
} |
42 |
|
|
43 |
@Override |
|
44 |
public List<UuidAndTitleCache<WorkingSet>> getWorkingSetUuidAndTitleCache(Integer limitOfInitialElements, String pattern) { |
|
45 |
return dao.getWorkingSetUuidAndTitleCache( limitOfInitialElements, pattern); |
|
46 |
} |
|
42 | 47 |
} |
Also available in: Unified diff
add uuidAndTitleCache method to workingSetDao and Service class