Project

General

Profile

« Previous | Next » 

Revision a1439def

Added by Andreas Müller over 8 years ago

Cleanup description generics (related to #5357)

View differences:

cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/DescriptionServiceImpl.java
146 146
    }
147 147

  
148 148

  
149

  
150
    /* (non-Javadoc)
151
     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy)
152
     */
153 149
    @Override
154 150
    @Transactional(readOnly = false)
155 151
    public void updateTitleCache(Class<? extends DescriptionBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<DescriptionBase> cacheStrategy, IProgressMonitor monitor) {
......
179 175
    }
180 176

  
181 177
    @Override
182
    public Pager<DescriptionElementBase> pageDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType,
183
            Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
178
    public <T extends DescriptionElementBase> Pager<T> pageDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType,
179
            Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
184 180

  
185
        List<DescriptionElementBase> results = listDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
186
        return new DefaultPagerImpl<DescriptionElementBase>(pageNumber, results.size(), pageSize, results);
181
        List<T> results = listDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
182
        return new DefaultPagerImpl<T>(pageNumber, results.size(), pageSize, results);
187 183
    }
188 184

  
189
    /* (non-Javadoc)
190
     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
191
     */
192 185
    @Override
193 186
    @Deprecated
194
    public Pager<DescriptionElementBase> getDescriptionElements(DescriptionBase description,
195
            Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
187
    public <T extends DescriptionElementBase> Pager<T> getDescriptionElements(DescriptionBase description,
188
            Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
196 189
        return pageDescriptionElements(description, null, features, type, pageSize, pageNumber, propertyPaths);
197 190
    }
198 191

  
192

  
193

  
199 194
    @Override
200
    public List<DescriptionElementBase> listDescriptionElements(DescriptionBase description, Class<? extends DescriptionBase> descriptionType,
201
            Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
195
    public <T extends DescriptionElementBase> List<T> listDescriptionElements(DescriptionBase description,
196
            Class<? extends DescriptionBase> descriptionType, Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber,
197
            List<String> propertyPaths) {
202 198

  
203 199
        Integer numberOfResults = dao.countDescriptionElements(description, descriptionType, features, type);
204
        List<DescriptionElementBase> results = new ArrayList<DescriptionElementBase>();
200
        List<T> results = new ArrayList<T>();
205 201
        if(AbstractPagerImpl.hasResultsInRange(numberOfResults.longValue(), pageNumber, pageSize)) {
206 202
            results = dao.getDescriptionElements(description, descriptionType, features, type, pageSize, pageNumber, propertyPaths);
207 203
        }
208 204
        return results;
205

  
209 206
    }
210 207

  
211
    /* (non-Javadoc)
212
     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#listDescriptionElements(eu.etaxonomy.cdm.model.description.DescriptionBase, java.util.Set, java.lang.Class, java.lang.Integer, java.lang.Integer, java.util.List)
213
     */
208

  
214 209
    @Override
215 210
    @Deprecated
216
    public List<DescriptionElementBase> listDescriptionElements(DescriptionBase description,
217
            Set<Feature> features, Class<? extends DescriptionElementBase> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
211
    public <T extends DescriptionElementBase> List<T> listDescriptionElements(DescriptionBase description,
212
            Set<Feature> features, Class<T> type, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
218 213

  
219 214
        return listDescriptionElements(description, null, features, type, pageSize, pageNumber, propertyPaths);
220 215
    }
......
825 820
    }
826 821

  
827 822

  
823

  
828 824
}

Also available in: Unified diff