\r
import eu.etaxonomy.cdm.api.service.pager.Pager;\r
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;\r
+import eu.etaxonomy.cdm.model.agent.Address;\r
import eu.etaxonomy.cdm.model.agent.AgentBase;\r
import eu.etaxonomy.cdm.model.agent.Institution;\r
import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
return new DefaultPagerImpl<Person>(pageNumber, numberOfResults, pageSize, results);\r
}\r
\r
+ public Pager<Address> getAddresses(AgentBase agent, Integer pageSize, Integer pageNumber) {\r
+ Integer numberOfResults = dao.countAddresses(agent);\r
+ \r
+ List<Address> results = new ArrayList<Address>();\r
+ if(numberOfResults > 0) { // no point checking again\r
+ results = dao.getAddresses(agent, pageSize, pageNumber); \r
+ }\r
+ \r
+ return new DefaultPagerImpl<Address>(pageNumber, numberOfResults, pageSize, results);\r
+ }\r
+\r
\r
}\r
\r
import eu.etaxonomy.cdm.api.service.pager.Pager;\r
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;\r
-import eu.etaxonomy.cdm.model.common.Annotation;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.cdm.model.common.VersionableEntity;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
\r
return new DefaultPagerImpl<TextData>(pageNumber, numberOfResults, pageSize, results);\r
}\r
+\r
+ public FeatureTree getFeatureTreeByUuid(UUID uuid) {\r
+ return featureTreeDao.findByUuid(uuid);\r
+ }\r
+\r
+ public DescriptionElementBase getDescriptionElementByUuid(UUID uuid) {\r
+ return descriptionElementDao.findByUuid(uuid);\r
+ }\r
}\r
import java.util.UUID;\r
\r
import eu.etaxonomy.cdm.api.service.pager.Pager;\r
+import eu.etaxonomy.cdm.model.agent.Address;\r
import eu.etaxonomy.cdm.model.agent.AgentBase;\r
import eu.etaxonomy.cdm.model.agent.Institution;\r
import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
* @return a Pager containing Person instances\r
*/\r
public Pager<Person> getMembers(Team team, Integer pageSize, Integer pageNumber);\r
+ \r
+ /**\r
+ * Return a paged list of the addresses of an agent\r
+ * \r
+ * @param agent the agent\r
+ * @param pageSize The maximum number of addresses returned (can be null for all members)\r
+ * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)\r
+ * @return a Pager containing Address instances\r
+ */\r
+ public Pager<Address> getAddresses(AgentBase agent, Integer pageSize, Integer pageNumber);\r
}\r
* @param uuid\r
* @return\r
*/\r
+ // FIXME candidate for harmonization? findByUuid\r
public DescriptionBase getDescriptionBaseByUuid(UUID uuid);\r
\r
/**\r
* @param description\r
* @return\r
*/\r
+ // FIXME candidate for harmonization? save\r
public UUID saveDescription(DescriptionBase description);\r
\r
/**\r
public Map<UUID, FeatureTree> saveFeatureTreeAll(Collection<FeatureTree> trees);\r
public Map<UUID, FeatureNode> saveFeatureNodeAll(Collection<FeatureNode> nodes);\r
\r
+ /**\r
+ * Gets a FeatureTree instance matching the supplied uuid\r
+ * \r
+ * @param uuid the uuid of the FeatureTree of interest\r
+ * @return a FeatureTree, or null if the FeatureTree does not exist\r
+ */\r
+ public FeatureTree getFeatureTreeByUuid(UUID uuid);\r
+ \r
public List<FeatureTree> getFeatureTreesAll();\r
public List<FeatureNode> getFeatureNodesAll();\r
\r
//public TermVocabulary<Feature> getFeatureVocabulary();\r
public TermVocabulary<Feature> getFeatureVocabulary(UUID uuid);\r
\r
+ /**\r
+ * Gets a DescriptionElementBase instance matching the supplied uuid\r
+ * \r
+ * @param uuid the uuid of the DescriptionElement of interest\r
+ * @return a DescriptionElement, or null if the DescriptionElement does not exist\r
+ */\r
+ public DescriptionElementBase getDescriptionElementByUuid(UUID uuid);\r
+ \r
/**\r
* List the descriptions of type <TYPE>, filtered using the following parameters\r
* \r
/** */\r
public abstract List<Collection> searchCollectionByCode(String code);\r
\r
+ public abstract UUID saveCollection(Collection collection);\r
+ \r
/**\r
* Returns a List of Media that are associated with a given occurence\r
* \r
import java.util.Set;
import java.util.UUID;
+import eu.etaxonomy.cdm.api.service.pager.Pager;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.common.VersionableEntity;
import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
+import eu.etaxonomy.cdm.model.location.NamedAreaType;
+import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
public interface ITermService extends IService<DefinedTermBase> {
public abstract Set<TermVocabulary> listVocabularies(Class termClass);
+ public abstract UUID saveTermVocabulary(TermVocabulary termVocabulary);
/**
* FIXME candidate for harmonization?
public Language getLanguageByIso(String iso639);
public NamedArea getAreaByTdwgAbbreviation(String tdwgAbbreviation);
-
+
+ /**
+ * Returns a paged list of Media that represent a given DefinedTerm instance
+ *
+ * @param definedTerm the definedTerm represented by these media
+ * @param pageSize The maximum number of media returned (can be null for all related media)
+ * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
+ * @return a Pager of media instances
+ */
+ public Pager<Media> getMedia(DefinedTermBase definedTerm, Integer pageSize, Integer pageNumber);
+
+ /**
+ * Returns a paged list of NamedArea instances (optionally filtered by type or level)
+ *
+ * @param level restrict the result set to named areas of a certain level (can be null)
+ * @param type restrict the result set to named areas of a certain type (can be null)
+ * @param pageSize The maximum number of namedAreas returned (can be null for all named areas)
+ * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
+ * @return a Pager of named areas
+ */
+ public Pager<NamedArea> list(NamedAreaLevel level, NamedAreaType type, Integer pageSize, Integer pageNumber);
+
+ /**
+ * Return a paged list of terms which are specializations of a given definedTerm
+ *
+ * @param definedTerm The term which is a generalization of the terms returned
+ * @param pageSize The maximum number of terms returned (can be null for all specializations)
+ * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
+ * @return a Pager of DefinedTerms
+ */
+ public <T extends DefinedTermBase> Pager<T> getGeneralizationOf(T definedTerm, Integer pageSize, Integer pageNumber);
+
+ /**
+ * Return a paged list of distinct terms which include the terms supplied
+ *
+ * @param definedTerms the set of terms which are part of the terms of interest
+ * @param pageSize The maximum number of terms returned (can be null for all terms)
+ * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
+ * @return a Pager of DefinedTerms
+ */
+ public <T extends DefinedTermBase> Pager<T> getPartOf(Set<T> definedTerms, Integer pageSize, Integer pageNumber);
+
+ /**
+ * Return a paged list of terms which are part of the terms supplied
+ *
+ * @param definedTerms the set of terms which include the terms of interest
+ * @param pageSize The maximum number of terms returned (can be null for all terms)
+ * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
+ * @return a Pager of DefinedTerms
+ */
+ public <T extends DefinedTermBase> Pager<T> getIncludes(Set<T> definedTerms, Integer pageSize, Integer pageNumber);
}
\r
return new DefaultPagerImpl<Media>(pageNumber, numberOfResults, pageSize, results);\r
}\r
+\r
+ public UUID saveCollection(eu.etaxonomy.cdm.model.occurrence.Collection collection) {\r
+ return collectionDao.save(collection);\r
+ }\r
\r
}\r
package eu.etaxonomy.cdm.api.service;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import sun.print.resources.serviceui;
+import eu.etaxonomy.cdm.api.service.pager.Pager;
+import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
import eu.etaxonomy.cdm.model.common.DefinedTermBase;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.Representation;
import eu.etaxonomy.cdm.model.common.TermVocabulary;
import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
+import eu.etaxonomy.cdm.model.location.NamedAreaType;
import eu.etaxonomy.cdm.model.location.TdwgArea;
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;
import eu.etaxonomy.cdm.persistence.dao.common.ILanguageStringBaseDao;
import eu.etaxonomy.cdm.persistence.dao.common.ILanguageStringDao;
saveTermVocabulariesAll(Collection<TermVocabulary<DefinedTermBase>> termVocabularies) {
return vocabularyDao.saveAll(termVocabularies);
}
+
+ public UUID saveTermVocabulary(TermVocabulary termVocabulary) {
+ return vocabularyDao.save(termVocabulary);
+ }
// @Transactional(readOnly = false)
// public Map<UUID, Representation> saveRepresentationsAll(Collection<Representation> representations){
//(see also FIXMEs in TdwgArea)
return TdwgArea.getAreaByTdwgAbbreviation(tdwgAbbreviation);
}
+
+ public <T extends DefinedTermBase> Pager<T> getGeneralizationOf(T definedTerm, Integer pageSize, Integer pageNumber) {
+ Integer numberOfResults = dao.countGeneralizationOf(definedTerm);
+
+ List<T> results = new ArrayList<T>();
+ if(numberOfResults > 0) { // no point checking again
+ results = dao.getGeneralizationOf(definedTerm, pageSize, pageNumber);
+ }
+
+ return new DefaultPagerImpl<T>(pageNumber, numberOfResults, pageSize, results);
+ }
+
+ public <T extends DefinedTermBase> Pager<T> getIncludes(Set<T> definedTerms, Integer pageSize, Integer pageNumber) {
+ Integer numberOfResults = dao.countIncludes(definedTerms);
+
+ List<T> results = new ArrayList<T>();
+ if(numberOfResults > 0) { // no point checking again
+ results = dao.getIncludes(definedTerms, pageSize, pageNumber);
+ }
+
+ return new DefaultPagerImpl<T>(pageNumber, numberOfResults, pageSize, results);
+ }
+
+ public Pager<Media> getMedia(DefinedTermBase definedTerm, Integer pageSize, Integer pageNumber) {
+ Integer numberOfResults = dao.countMedia(definedTerm);
+
+ List<Media> results = new ArrayList<Media>();
+ if(numberOfResults > 0) { // no point checking again
+ results = dao.getMedia(definedTerm, pageSize, pageNumber);
+ }
+
+ return new DefaultPagerImpl<Media>(pageNumber, numberOfResults, pageSize, results);
+ }
+
+ public <T extends DefinedTermBase> Pager<T> getPartOf(Set<T> definedTerms,Integer pageSize, Integer pageNumber) {
+ Integer numberOfResults = dao.countPartOf(definedTerms);
+
+ List<T> results = new ArrayList<T>();
+ if(numberOfResults > 0) { // no point checking again
+ results = dao.getPartOf(definedTerms, pageSize, pageNumber);
+ }
+
+ return new DefaultPagerImpl<T>(pageNumber, numberOfResults, pageSize, results);
+ }
+
+ public Pager<NamedArea> list(NamedAreaLevel level, NamedAreaType type, Integer pageSize, Integer pageNumber) {
+ Integer numberOfResults = dao.count(level, type);
+
+ List<NamedArea> results = new ArrayList<NamedArea>();
+ if(numberOfResults > 0) { // no point checking again
+ results = dao.list(level, type, pageSize, pageNumber);
+ }
+
+ return new DefaultPagerImpl<NamedArea>(pageNumber, numberOfResults, pageSize, results);
+ }
package eu.etaxonomy.cdm.api.service;\r
\r
import java.util.List;\r
+import java.util.UUID;\r
\r
import org.hibernate.NonUniqueResultException;\r
import org.springframework.beans.factory.annotation.Autowired;\r
group.setName(newName);\r
groupDao.update(group);\r
}\r
+ \r
+ public UUID save(User user) {\r
+ return userDao.save(user);\r
+ }\r
\r
}\r
* Test method for {@link eu.etaxonomy.cdm.api.service.NameServiceImpl#getRankVocabulary()}.\r
*/\r
@Test\r
- //@Ignore\r
public void testGetRankVocabulary() {\r
OrderedTermVocabulary<Rank> rankVocabulary = service.getRankVocabulary();\r
assertNotNull(rankVocabulary);\r
/**\r
* Test method for {@link eu.etaxonomy.cdm.api.service.NameServiceImpl#getTypeDesignationVocabulary()}.\r
*/\r
- //@Ignore\r
@Test\r
public void testGetTypeDesignationVocabulary() {\r
OrderedTermVocabulary<TypeDesignationStatus> typeDesignationVocabulary = \r
if (list.get(i) instanceof NonViralName) {\r
nameCache = ((NonViralName<?>)list.get(i)).getNameCache();\r
} else if (list.get(i) instanceof TaxonBase) {\r
- TaxonNameBase<?,?> taxonNameBase= ((TaxonBase)list.get(i)).getName();\r
- nameCache = ((NonViralName<?>)taxonNameBase).getNameCache();\r
+ TaxonNameBase taxonNameBase= ((TaxonBase)list.get(i)).getName();\r
+ nameCache = ((NonViralName)taxonNameBase).getNameCache();\r
} else {}\r
logger.debug(list.get(i).getClass() + "(" + i +")" + \r
": Name Cache = " + nameCache + ", Title Cache = " + list.get(i).getTitleCache());\r