Added setter/getter for TaxonNamePropertyPath
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / MediaServiceImpl.java
1 // $Id$
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.cdm.api.service;
12
13 import java.net.URI;
14 import java.util.ArrayList;
15 import java.util.List;
16 import java.util.Map;
17 import java.util.Set;
18
19 import org.springframework.beans.factory.annotation.Autowired;
20 import org.springframework.stereotype.Service;
21 import org.springframework.transaction.annotation.Transactional;
22
23 import eu.etaxonomy.cdm.api.service.pager.Pager;
24 import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
25 import eu.etaxonomy.cdm.model.description.MediaKey;
26 import eu.etaxonomy.cdm.model.location.NamedArea;
27 import eu.etaxonomy.cdm.model.media.Media;
28 import eu.etaxonomy.cdm.model.media.Rights;
29 import eu.etaxonomy.cdm.model.taxon.Taxon;
30 import eu.etaxonomy.cdm.persistence.dao.media.IMediaDao;
31
32 @Service
33 @Transactional(readOnly=true)
34 public class MediaServiceImpl extends IdentifiableServiceBase<Media,IMediaDao> implements IMediaService {
35
36 @Autowired
37 protected void setDao(IMediaDao dao) {
38 this.dao = dao;
39 }
40
41 public Pager<MediaKey> getMediaKeys(Set<Taxon> taxonomicScope, Set<NamedArea> geoScopes, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
42 Integer numberOfResults = dao.countMediaKeys(taxonomicScope, geoScopes);
43
44 List<MediaKey> results = new ArrayList<MediaKey>();
45 if(numberOfResults > 0) { // no point checking again
46 results = dao.getMediaKeys(taxonomicScope, geoScopes, pageSize, pageNumber, propertyPaths);
47 }
48
49 return new DefaultPagerImpl<MediaKey>(pageNumber, numberOfResults, pageSize, results);
50 }
51
52 public Pager<Rights> getRights(Media t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
53 Integer numberOfResults = dao.countRights(t);
54
55 List<Rights> results = new ArrayList<Rights>();
56 if(numberOfResults > 0) { // no point checking again
57 results = dao.getRights(t, pageSize, pageNumber,propertyPaths);
58 }
59
60 return new DefaultPagerImpl<Rights>(pageNumber, numberOfResults, pageSize, results);
61 }
62
63 public void generateTitleCache() {
64 // TODO Auto-generated method stub
65
66 }
67
68 public Map<String,String> getImageMetaData(URI uri, Integer timeOut){
69
70 Map <String,String> results ;
71 results = dao.getMediaMetaData(uri, timeOut);
72 return results;
73 }
74 }