Project

General

Profile

« Previous | Next » 

Revision 52594f55

Added by Katja Luther almost 6 years ago

add uuidAndTitleCache method to workingSetDao and Service class

View differences:

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