moving UuidAndTitleCache from model to persistence. #4799
authorAndreas M��ller <a.mueller@bgbm.org>
Tue, 26 May 2015 11:40:27 +0000 (11:40 +0000)
committerAndreas M��ller <a.mueller@bgbm.org>
Tue, 26 May 2015 11:40:27 +0000 (11:40 +0000)
48 files changed:
.gitattributes
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/abcd206/in/Abcd206Import.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/specimen/excel/in/SpecimenSythesysExcelImport.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/taxonx2013/TaxonXExtractor.java
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/taxonx2013/TaxonXTreatmentExtractor.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/agent/IAgentDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/common/IIdentifiableDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/description/IWorkingSetDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/agent/AgentDaoImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/common/IdentifiableDaoBase.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/description/WorkingSetDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/molecular/AmplificationDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/molecular/PrimerDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/name/TaxonNameDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/occurrence/OccurrenceDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/reference/ReferenceDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImpl.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/molecular/IAmplificationDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/molecular/IPrimerDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/name/ITaxonNameDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/occurrence/IOccurrenceDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/reference/IReferenceDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/taxon/ITaxonDao.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dto/UuidAndTitleCache.java [moved from cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/UuidAndTitleCache.java with 94% similarity]
cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImplTest.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/AgentServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ClassificationServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IAgentService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IClassificationService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IIdentifiableEntityService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/INameService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IOccurrenceService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IReferenceService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IWorkingSetService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IdentifiableServiceBase.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/NameServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/OccurrenceServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ReferenceServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/WorkingSetService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/molecular/AmplificationServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/molecular/IAmplificationService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/molecular/IPrimerService.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/molecular/PrimerServiceImpl.java
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonServiceSearchTest.java
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/molecular/PrimerServiceTest.java
cdmlib-services/src/test/java/eu/etaxonomy/cdm/test/function/TestAgentService.java

index e63593dc39e50b1cb8fcd76ed7f2e4112c0c7d22..835f6a677570a03ad0c215a5a1aa6c7b77db4673 100644 (file)
@@ -805,7 +805,6 @@ cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/TermType.java -text
 cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/TermVocabulary.java -text
 cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/TimePeriod.java -text
 cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/User.java -text
-cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/UuidAndTitleCache.java -text
 cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/VersionableEntity.java -text
 cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/VocabularyEnum.java -text
 cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/WrongTermTypeException.java -text
@@ -1513,6 +1512,7 @@ cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/validation/IEn
 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/validation/IEntityValidationDao.java -text
 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dto/ITermRepresentation_L10n.java -text
 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dto/TermDto.java -text
+cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dto/UuidAndTitleCache.java -text
 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/fetch/CdmFetch.java -text
 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGenerator.java -text
 cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/hibernate/CdmDataChangeEvent.java -text
index a052f3de2ec5945dbd74fbd20a100aa6a0159066..b04ea766fb754125ea10b9f8bf056ff4af7879e4 100644 (file)
@@ -54,7 +54,6 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.OriginalSourceBase;
 import eu.etaxonomy.cdm.model.common.OriginalSourceType;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.description.Feature;
@@ -90,6 +89,7 @@ import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
 
@@ -1307,7 +1307,7 @@ public class Abcd206Import extends SpecimenImportBase<Abcd206ImportConfigurator,
     private boolean sourceNotLinkedToElement(DerivedUnit derivedUnitBase2, Reference<?> b, String d) {
         Set<IdentifiableSource> linkedSources = derivedUnitBase2.getSources();
         for (IdentifiableSource is:linkedSources){
-            Reference a = is.getCitation();
+            Reference<?> a = is.getCitation();
             String c = is.getCitationMicroReference();
 
             boolean refMatch=false;
@@ -1354,8 +1354,8 @@ public class Abcd206Import extends SpecimenImportBase<Abcd206ImportConfigurator,
     private boolean sourceNotLinkedToElement(SpecimenOrObservationBase<?> specimen, OriginalSourceBase<?> source) {
         Set<IdentifiableSource> linkedSources = specimen.getSources();
         for (IdentifiableSource is:linkedSources){
-            Reference a = is.getCitation();
-            Reference b = source.getCitation();
+            Reference<?> a = is.getCitation();
+            Reference<?> b = source.getCitation();
             String c = is.getCitationMicroReference();
             String d = source.getCitationMicroReference();
 
@@ -1404,7 +1404,7 @@ public class Abcd206Import extends SpecimenImportBase<Abcd206ImportConfigurator,
     private boolean sourceNotLinkedToElement(IndividualsAssociation indAssociation, Reference<?> a, String d) {
         Set<DescriptionElementSource> linkedSources = indAssociation.getSources();
         for (DescriptionElementSource is:linkedSources){
-            Reference b = is.getCitation();
+            Reference<?> b = is.getCitation();
             String c = is.getCitationMicroReference();
 
             boolean refMatch=false;
@@ -1450,7 +1450,7 @@ public class Abcd206Import extends SpecimenImportBase<Abcd206ImportConfigurator,
     private boolean sourceNotLinkedToElement(TaxonDescription taxonDescription, Reference<?> a, String d) {
         Set<IdentifiableSource> linkedSources = taxonDescription.getSources();
         for (IdentifiableSource is:linkedSources){
-            Reference b = is.getCitation();
+            Reference<?> b = is.getCitation();
             String c = is.getCitationMicroReference();
 
             boolean refMatch=false;
@@ -1495,8 +1495,8 @@ public class Abcd206Import extends SpecimenImportBase<Abcd206ImportConfigurator,
     private boolean sourceNotLinkedToElement(IndividualsAssociation indAssociation, OriginalSourceBase<?> source) {
         Set<DescriptionElementSource> linkedSources = indAssociation.getSources();
         for (DescriptionElementSource is:linkedSources){
-            Reference a = is.getCitation();
-            Reference b = source.getCitation();
+            Reference<?> a = is.getCitation();
+            Reference<?> b = source.getCitation();
             String c = is.getCitationMicroReference();
             String d = source.getCitationMicroReference();
 
@@ -1542,8 +1542,8 @@ public class Abcd206Import extends SpecimenImportBase<Abcd206ImportConfigurator,
     private boolean sourceNotLinkedToElement(TaxonDescription taxonDescription, OriginalSourceBase<?> sour) {
         Set<IdentifiableSource> linkedSources = taxonDescription.getSources();
         for (IdentifiableSource is:linkedSources){
-            Reference a = is.getCitation();
-            Reference b = sour.getCitation();
+            Reference<?> a = is.getCitation();
+            Reference<?> b = sour.getCitation();
             String c = is.getCitationMicroReference();
             String d = sour.getCitationMicroReference();
 
index cfe15a789a98ac2155a0ebe6e1acd17dcdfe5d72..aaacfb0b6432823f3b3817ac1f6e01d6f076a8d1 100644 (file)
@@ -24,7 +24,6 @@ import java.util.UUID;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
-import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.TransactionStatus;
 
@@ -43,7 +42,6 @@ import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.OriginalSourceType;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
@@ -64,22 +62,19 @@ import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
 import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser;
 
 /**
  * @author p.kelbert
  * @created 29.10.2008
- * @version 1.0
- */
-/**
- * @author pkelbert
  * @date 13 mars 2013
  *
  */
 @Component
 public class SpecimenSythesysExcelImport  extends CdmImportBase<SpecimenSynthesysExcelImportConfigurator, SpecimenSynthesysExcelImportState>
-implements ICdmIO<SpecimenSynthesysExcelImportState> {
+        implements ICdmIO<SpecimenSynthesysExcelImportState> {
 
     private static final Logger logger = Logger.getLogger(SpecimenSythesysExcelImport.class);
 
@@ -844,19 +839,11 @@ implements ICdmIO<SpecimenSynthesysExcelImportState> {
         getTaxonService().saveOrUpdate(taxon);
     }
 
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IoStateBase)
-     */
     @Override
     protected boolean isIgnore(SpecimenSynthesysExcelImportState state) {
         return false;
     }
 
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.io.specimen.SpecimenIoBase#doInvoke(eu.etaxonomy.cdm.io.specimen.abcd206.SpecimenImportState)
-     */
     @Override
     protected void doInvoke(SpecimenSynthesysExcelImportState state) {
         boolean success = true;
@@ -1103,16 +1090,9 @@ implements ICdmIO<SpecimenSynthesysExcelImportState> {
     }
 
 
-
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IoStateBase)
-     */
     @Override
     protected boolean doCheck(SpecimenSynthesysExcelImportState state) {
         logger.warn("Validation not yet implemented for " + getClass().getSimpleName());
         return true;
     }
-
-
 }
index ac0ab239a2075df629e0deb836f28966d6302d01..085553303394c9c0ac2e9d96a073cad3c9e9ab6e 100644 (file)
@@ -50,7 +50,6 @@ import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.description.TextData;
@@ -73,6 +72,7 @@ import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
 import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
 
index 7275187c35f101e0aebcdbf0f7b1301b14b82f52..469fc97adadd4d4d179a7a418618ca90f449c00f 100644 (file)
@@ -43,7 +43,6 @@ import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.LSID;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.OriginalSourceType;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.FeatureNode;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
@@ -70,12 +69,12 @@ import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
 import eu.etaxonomy.cdm.strategy.parser.INonViralNameParser;
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImplRegExBase;
-import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
 
 /**
  * @author pkelbert
@@ -111,10 +110,10 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
     private MyName currentMyName;
 
     private Reference<?> sourceUrlRef;
-    
+
     private String followingText;  //text element immediately following a tax:name in tax:nomenclature TODO move do state
     private String usedFollowingTextPrefix; //the part of the following text which has been used during taxon name creation
-    
+
     private final TaxonXAddSources sourceHandler = new TaxonXAddSources();
 
     /**
@@ -176,7 +175,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
        private Taxon handleSingleNode(Reference<?> refMods, URI sourceName,
                        List<TaxonNameBase> namesToSave, Node child, Taxon acceptedTaxon) {
                Taxon defaultTaxon =null;
-        
+
                String nodeName = child.getNodeName();
                if (nodeName.equalsIgnoreCase("tax:nomenclature")){
                    NodeList nomenclatureChildren = child.getChildNodes();
@@ -653,7 +652,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         sourceHandler.addAndSaveSource(refMods, derivedUnitBase);
 
         TaxonDescription taxonDescription = importer.getTaxonDescription(acceptedTaxon, false, true);
-        
+
         Feature feature=null;
         feature = makeFeature(derivedUnitBase);
         if(!StringUtils.isEmpty(descr)) {
@@ -868,7 +867,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         derivedUnitBase = derivedUnitFacade.innerDerivedUnit();
 
         sourceHandler.addAndSaveSource(refMods, derivedUnitBase);
-        
+
         //TODO this may not always be correct, ask user
         TaxonNameBase<?,?> typifiableName = acceptedTaxon != null ?  acceptedTaxon.getName() : null;
         myspecimenOrObservation = extractSpecimenOrObservation(event,derivedUnitBase,SpecimenOrObservationType.DerivedUnit, typifiableName);
@@ -878,7 +877,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         sourceHandler.addAndSaveSource(refMods, derivedUnitBase);
 
         TaxonDescription taxonDescription = importer.getTaxonDescription(acceptedTaxon, false, true);
-        
+
         Feature feature = makeFeature(derivedUnitBase);
         featuresMap.put(feature.getTitleCache(),feature);
         if(!StringUtils.isEmpty(descr)) {
@@ -895,7 +894,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
 
 
     /**
-     * @param currentName 
+     * @param currentName
      * @param materials: the XML node group
      * @param acceptedTaxon: the current accepted Taxon
      * @param refMods: the current reference extracted from the MODS
@@ -1315,7 +1314,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                     }else{
                        logger.warn("node not handled yet: " + insideNodes.item(j).getNodeName());
                     }
-                
+
                 }
                 if (!StringUtils.isBlank(StringUtils.join(blabla," "))) {
                     fullDescription.add(StringUtils.join(blabla," "));
@@ -1379,14 +1378,14 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
      */
     private void setParticularDescription(String descr, Taxon acceptedTaxon, Taxon defaultTaxon, Reference<?> refMods, Feature currentFeature) {
         logger.info("setParticularDescription " + currentFeature.getTitleCache()+", \n blabla : "+descr);
-        
+
         //remove redundant feature title
         String featureStr = currentFeature.getTitleCache();
         if (!descr.isEmpty() && descr.toLowerCase().startsWith(featureStr.toLowerCase())){
                descr = descr.replaceAll("(?i)" + featureStr + "\\.\\s*", "");
-        }      
+        }
+
 
-        
         acceptedTaxon = CdmBase.deproxy(acceptedTaxon, Taxon.class);
         featuresMap.put(currentFeature.getTitleCache(),currentFeature);
 
@@ -1548,12 +1547,12 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
 
             }
         }
-       
+
         for(MyName name:names){
                TaxonNameBase nameToBeFilled = name.getTaxonNameBase();
             Synonym synonym = name.getSyno();
             addFollowingTextToName(nameToBeFilled, followingText);
-            
+
             /* INonViralNameParser parser = NonViralNameParserImpl.NewInstance();
             nameToBeFilled = parser.parseFullName(name.getName(), nomenclaturalCode, name.getRank());
             if (nameToBeFilled.hasProblem() &&
@@ -1590,7 +1589,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
     private boolean addFollowingTextToName(TaxonNameBase nameToBeFilled, String followingText) {
        if (nameToBeFilled != null && StringUtils.isNotBlank(followingText)){
                if (! followingText.matches("\\d\\.?")){
-               
+
                        if (followingText.startsWith(",")){
                                followingText = followingText.substring(1).trim();
                        }
@@ -1599,7 +1598,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                return true;
        }
        return false;
-               
+
        }
 
        /**
@@ -1724,7 +1723,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                   String nomNovStatus = this.newNameStatus(currentMyName.getStatus());
                        if (nomNovStatus != null){
                                nameToBeFilled.setAppendedPhrase(nomNovStatus);
-                       }else{ 
+                       }else{
                           try {
                                NomenclaturalStatusType  statusType = nomStatusString2NomStatus(currentMyName.getStatus());
                             nameToBeFilled.addStatus(NomenclaturalStatus.NewInstance(statusType));
@@ -2047,7 +2046,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         for (int i=0;i<children.getLength();i++){
             if(children.item(i).getNodeName().equalsIgnoreCase("tax:status")){
                 String status = children.item(i).getTextContent().trim();
-                
+
                 if (!status.isEmpty()){
                        if (newNameStatus(status) != null){
                                newNameStatus = newNameStatus(status);
@@ -2067,12 +2066,12 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         boolean containsSynonyms=false;
         boolean wasSynonym = false;
         usedFollowingTextPrefix = null;  //reset
-       
+
         for (int i=0; i<children.getLength(); i++){
                Node childNode = children.item(i);
                String childName = childNode.getNodeName();
-               
-               
+
+
                //following text
                followingText = null;
                if ( i + 1 < children.getLength()){
@@ -2081,7 +2080,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                        followingText = followingTextNode.getTextContent();
                }
                }
-               
+
                //traverse nodes
             if (childName.equalsIgnoreCase("#text")) {
                 freetext = childNode.getTextContent().trim();
@@ -2097,7 +2096,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                 //System.out.println("HANDLE FIRST NAME OF THE LIST");
                 if(!containsSynonyms){
                        wasSynonym = false;
-                    
+
                        //System.out.println("I : "+i);
                     currentMyName = new MyName(false);
                     try {
@@ -2186,7 +2185,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                                 //System.out.println("SET SECUNDUM "+configState.getConfig().getSecundum());
                             }
                             importer.getTaxonService().saveOrUpdate(acceptedTaxon);
-                            
+
                             if (!sourcelinked){
                                 sourceHandler.addSource(refMods, acceptedTaxon);
                             }
@@ -2207,7 +2206,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                     try{
                         extractSynonyms(childNode, acceptedTaxon, refMods, followingText);
                         wasSynonym = true;
-                        
+
                     }catch(NullPointerException e){
                         logger.warn("null pointer exception, the accepted taxon might be null");
                     }
@@ -2219,11 +2218,11 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                 extractReferences(childNode,nametosave,acceptedTaxon,refMods);
             }else if (childName.equalsIgnoreCase("tax:bibref")){
                logger.warn(childName + " still preliminary");
-               
+
                NonViralName<?> currentName = currentMyName == null ? null : currentMyName.getTaxonNameBase();
                boolean handled = addFollowingTextToName (currentName, childNode.getTextContent() );
                if (! handled){
-                       setParticularDescription(freetext.trim(), acceptedTaxon,acceptedTaxon, refMods, getNotMarkedUpFeatureObject()); 
+                       setParticularDescription(freetext.trim(), acceptedTaxon,acceptedTaxon, refMods, getNotMarkedUpFeatureObject());
                }
             }else{
                logger.warn(childName + " not yet handled");
@@ -2236,10 +2235,10 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                                handled = addFollowingTextToName (currentName, childNode.getTextContent() );
                        }
                        if (! handled){
-                               setParticularDescription(freetext.trim(), acceptedTaxon,acceptedTaxon, refMods, getNotMarkedUpFeatureObject()); 
+                               setParticularDescription(freetext.trim(), acceptedTaxon,acceptedTaxon, refMods, getNotMarkedUpFeatureObject());
                        }
                 }
-            
+
                  freetext = "";
             }
 
@@ -2247,7 +2246,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         //importer.getClassificationService().saveOrUpdate(classification);
         return acceptedTaxon;
     }
-    
+
 
 
 
@@ -2624,7 +2623,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
 
     private TaxonNameBase<?,?> parseWithExtension(INonViralNameParser parser, String atomisedNameStr, Rank rank, String followingText, HashMap<String, String> atomisedMap) {
        Object[] nameExtensionResult = getPossibleExtension(followingText, atomisedMap, nomenclaturalCode);
-       
+
        TaxonNameBase<?,?> name = parser.parseFullName(atomisedNameStr, nomenclaturalCode, rank);
        if (nameExtensionResult != null && nameExtensionResult[0] != null){
                String ext = (String)nameExtensionResult[0];
@@ -2652,7 +2651,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                if (StringUtils.isBlank(followingText)){
                        return null;
                }
-       
+
        boolean includeAuthor = true;
        boolean includeYear = false;
                if (atomisedMap.containsKey("dwc:scientificnameauthorship")){
@@ -2676,7 +2675,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                        match = matcher.group();
                }
        }
-       
+
                return new Object[]{match, includeAuthor, includeYear};
        }
 
@@ -2915,7 +2914,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
             n=n.trim();
             String author = myname.getAuthor();
             if(n.split(" ").length>2){
-            
+
                 String n2=n.split(" ")[0]+" "+n.split(" ")[1];
                 String a= "";
                 try{
@@ -3007,7 +3006,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                    n=n.trim();
                    String author = myname.getAuthor();
                    if(n.split(" ").length>2){
-                       
+
                        String n2=n.split(" ")[0]+" "+n.split(" ")[1];
                        String a="";
                        try{
@@ -3016,7 +3015,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                        myname.setAuthor(a);
                        //System.out.println("FINDCREATESPECIES --"+n2+"--"+n+"**"+a+"##");
                        n=n2;
-       
+
                    }
                    Taxon species = myname.findOrCreateTaxon(atomisedMap.get("dwc:species"),n, Rank.SPECIES(),rank);
                    myname.setSpecies(species);
@@ -3037,10 +3036,10 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         }
 
     }
-    
+
 
     /**
-     * @param refMods 
+     * @param refMods
      * @see #createUnparsedSynonym(Rank, String, HashMap, MyName)
      * the original TaxonXImport extracted Synonyms by creating acc Taxa with partial names
      * I (AM) do not understand this but don't want to destroy code which maybe works in some cases) there
@@ -3049,13 +3048,13 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
      */
     private void createUnparsedSynonymNew(Rank rank, String newName, HashMap<String, String> atomisedMap, MyName myname, Reference<?> refMods) {
         logger.info("createSynonym");
-        
+
         NonViralName<?> nameToBeFilled = this.getNonViralNameAccNomenclature();
         //System.out.println("createsynonym");
         if(rank.equals(Rank.UNKNOWN_RANK())){
-            //TODO 
+            //TODO
                myname.setNotParsableTaxon(newName);
-               
+
                nameToBeFilled.setTitleCache(newName, true);
         }else{
                if(atomisedMap.get("dwc:genus") != null ){
@@ -3104,7 +3103,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                myname.setSynonym(true);
         }
        }
-    
+
     /**
      * @param rank
      * @param newName
@@ -3217,7 +3216,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
      */
     @SuppressWarnings("rawtypes")
     public NonViralName<?> castTaxonNameBase(TaxonNameBase tnb, NonViralName<?> nvn) {
-        
+
        //logger.info("castTaxonNameBase");
         NonViralName<?> taxonnamebase2 = nvn;
         if (nomenclaturalCode.equals(NomenclaturalCode.ICNAFP)) {
@@ -3487,7 +3486,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         public String getVarietyStr() {
             return varietyStr;
         }
-        
+
         public Integer getPublicationYear() {
                        return publicationYear;
                }
@@ -3588,7 +3587,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                     }
                 }
             }
-            
+
             tmpTaxonBase = CdmBase.deproxy(tmpTaxonBase, TaxonBase.class);
             if (author != null) {
                 if (!getIdentifier().isEmpty() && (getIdentifier().length()>2)){
@@ -3598,7 +3597,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                 }
             }
             TaxonNameBase<?,?> tnb = CdmBase.deproxy(tmpTaxonBase.getName(), TaxonNameBase.class);
-            
+
             if(!isSynonym) {
                 this.taxon=(Taxon)tmpTaxonBase;
             } else {
@@ -3607,7 +3606,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                 }
                this.syno=(Synonym)tmpTaxonBase;
             }
-            
+
             taxonNameBase = castTaxonNameBase(tnb, taxonNameBase);
 
         }
@@ -3801,7 +3800,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                        if (! compare){
                                return false;
                        }
-                       
+
                        if (nodeName.getNameCache() != null && nodeName.getNameCache().equals(newName.getNameCache())){
                                if (nodeName.getNameCache().equals(nodeName.getTitleCache())){
                                        if (newName.getNameCache().length() < newName.getTitleCache().length()){
@@ -3810,7 +3809,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                                        }
                                }
                        }
-                       
+
                        return false;
                }
 
@@ -3830,9 +3829,9 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                 //                return higherTaxon;
             }
             //add the relation to the highertaxon, except if the current rank to add IS the maxRank
-            
+
             //TODO higher Ranks
-            
+
             if(hierarchy.containsKey(Rank.FAMILY()) && !state2.getConfig().getMaxRank().equals(Rank.FAMILY())){
                 higherTaxon=saveAndGetHigherTaxon(Rank.FAMILY(),higherTaxon);
             }
@@ -4120,7 +4119,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
 
                     importer.getClassificationService().saveOrUpdate(classification);
                 }
-                
+
             }
 
             tmp = CdmBase.deproxy(tmp, Taxon.class);
@@ -4136,7 +4135,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
 
             return tmp;
         }
-        
+
         /**
          * @param tnb
          * @return
@@ -4398,7 +4397,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
         private Taxon buildGenus(String partialname, NonViralName<?> tnb) {
             Taxon tmp;
             tnb.setGenusOrUninomial(partialname);
-            
+
 
             tmp = findMatchingTaxon(tnb,refMods);
             if(tmp ==null){
@@ -4523,7 +4522,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
                     if (currentlsid !=null){
                         if (currentlsid.getLsid().equals(lsid.getLsid())){
                             try{
-                                return (Taxon) t;
+                                return t;
                             }
                             catch(Exception e){logger.warn("Exception occurred while comparing LSIDs "+e );}
                         }
@@ -4917,7 +4916,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
        if (tnb.getTitleCache() == null){
                tnb.setTitleCache(tnb.toString(), tnb.isProtectedTitleCache());
        }
-       
+
         Pager<TaxonBase> pager=importer.getTaxonService().findByTitle(TaxonBase.class, tnb.getTitleCache().split("sec.")[0].trim(), MatchMode.BEGINNING, null, null, null, null, null);
         List<TaxonBase>records = pager.getRecords();
 
@@ -5241,7 +5240,7 @@ public class TaxonXTreatmentExtractor extends TaxonXExtractor{
             if(parentDoesNotExist) {
                 Taxon tmp = findMatchingTaxon(parentNameName,ref);
                 if(tmp ==null){
-                
+
                     parent=Taxon.NewInstance(parentNameName, ref);
                     importer.getTaxonService().save(parent);
                     parent = CdmBase.deproxy(parent, Taxon.class);
index 63826d482a8c5875e22469f14732b55e94288faa..466d6931fb36f7a4de30bfa2463466cc28edcbee 100644 (file)
@@ -17,8 +17,8 @@ import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 \r
 public interface IAgentDao extends IIdentifiableDao<AgentBase> {\r
        \r
index fb76f8dc9bab130585247edbefe24f04a1ee7262..0a976c7b8d99ca4878748a0a28d7bb3ba226a4a2 100644 (file)
@@ -1,8 +1,8 @@
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -18,40 +18,40 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.Identifier;
 import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 
 public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnotatableDao<T>, ITitledDao<T>, ISearchableDao<T>{
-       
+
        /**
         * Return an object by LSID. NOTE: Because of the fact that LSIDs are supposed to
         * be globally resolvable, this method behaves in a different way to other methods
-        * 
-        * In short, it attempts to find an object of type T in the current view using the LSID passed. If the LSID passed has a 
+        *
+        * In short, it attempts to find an object of type T in the current view using the LSID passed. If the LSID passed has a
         * revision part, then this will be used in the query, but if not, then it is expected that the request is for the 'current'
-        * version of the object and the revision part will not be used as a matching criteria in the query. 
-        * 
-        * If the object does not appear in the current view (i.e. it has been deleted), then this method will search the history 
+        * version of the object and the revision part will not be used as a matching criteria in the query.
+        *
+        * If the object does not appear in the current view (i.e. it has been deleted), then this method will search the history
         * tables for a match, again using the revision if it exists, but ignoring it if not.
-        * 
+        *
         *  @param lsid a LifeScience Identifier identifying the desired object
         */
        public T find(LSID lsid);
-       
+
        /**
         * Return a count of the sources for this identifiable entity
-        * 
+        *
         * @param identifiableEntity The identifiable entity
         * @return a count of OriginalSource instances
         */
        public int countSources(T identifiableEntity);
-       
+
        /**
         * Return a List of the sources for this identifiable entity
-        * 
+        *
         * @param identifiableEntity The identifiable entity
         * @param pageSize The maximum number of sources returned (can be null for all sources)
         * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
@@ -59,19 +59,19 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
         * @return a List of OriginalSource instances
         */
        public List<IdentifiableSource> getSources(T identifiableEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths);
-       
+
        /**
         * Return a count of the rights for this identifiable entity
-        * 
+        *
         * @param identifiableEntity The identifiable entity
         * @return a count of Rights instances
         */
     public int countRights(T identifiableEntity);
-    
-    
+
+
        /**
         * Return a List of the rights for this identifiable entity
-        * 
+        *
         * @param identifiableEntity The identifiable entity
         * @param pageSize The maximum number of rights returned (can be null for all rights)
         * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based)
@@ -79,23 +79,23 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
         * @return a List of Rights instances
         */
        public List<Rights> getRights(T identifiableEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths);
-       
+
        // TODO Migrated from IOriginalSourceDao
        public List<T> findOriginalSourceByIdInSource(String idInSource, String idNamespace);
-       
+
        /**
         * Return a list of all uuids mapped to titleCache in the convenient <code>UuidAndTitleCache</code> object.
         * Retrieving this list is considered to be significantly faster than initializing the fully fledged buiseness
-        * objects. To be used in cases where you want to present large amount of data and provide details after 
-        * a selection has been made.  
-        * 
+        * objects. To be used in cases where you want to present large amount of data and provide details after
+        * a selection has been made.
+        *
         * @return a list of <code>UuidAndTitleCache</code> instances
         */
-       public List<UuidAndTitleCache<T>> getUuidAndTitleCache(); 
-       
+       public List<UuidAndTitleCache<T>> getUuidAndTitleCache();
+
         /**
         * Return a List of objects matching the given query string, optionally filtered by class, optionally with a particular MatchMode
-        * 
+        *
         * @param clazz filter by class - can be null to include all instances of type T
         * @param queryString the query string to filter by
         * @param matchmode use a particular type of matching (can be null - defaults to exact matching)
@@ -110,8 +110,8 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
         * @return a List of instances of type T matching the queryString
         */
        public List<T> findByTitle(Class<? extends T> clazz, String queryString,MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
-       
-       
+
+
 
        /**
         * TODO
@@ -127,7 +127,7 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
 
         /**
         * Return a List of objects matching the given query string, optionally filtered by class, optionally with a particular MatchMode
-        * 
+        *
         * @param clazz filter by class - can be null to include all instances of type T
         * @param queryString the query string to filter by
         * @param matchmode use a particular type of matching (can be null - defaults to exact matching)
@@ -142,10 +142,10 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
         * @return a List of instances of type T matching the queryString
         */
        public List<T> findByReferenceTitle(Class<? extends T> clazz, String queryString,MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
-       
+
        /**
         * Return a count of objects matching the given query string in the titleCache, optionally filtered by class, optionally with a particular MatchMode
-        * 
+        *
         * @param clazz filter by class - can be null to include all instances of type T
         * @param queryString the query string to filter by
         * @param matchmode use a particular type of matching (can be null - defaults to exact matching)
@@ -153,10 +153,10 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
         * @return a count of instances of type T matching the queryString
         */
        public int countByTitle(Class<? extends T> clazz, String queryString, MatchMode matchmode, List<Criterion> criteria);
-       
+
        /**
         * Return a count of objects matching the given query string in the title, optionally filtered by class, optionally with a particular MatchMode
-        * 
+        *
         * @param clazz filter by class - can be null to include all instances of type T
         * @param queryString the query string to filter by
         * @param matchmode use a particular type of matching (can be null - defaults to exact matching)
@@ -167,7 +167,7 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
 
        /**
         * Return a count of distinct titleCache Strings for a given {@link IdentifiableEntity}, optionally filtered by class, optionally with a particular MatchMode
-        * 
+        *
         * @param clazz filter by class - can be null to include all instances of type T
         * @param queryString the query string to filter by
         * @param matchmode use a particular type of matching (can be null - defaults to exact matching)
@@ -186,15 +186,15 @@ public interface IIdentifiableDao <T extends IdentifiableEntity> extends IAnnota
         * @return
         */
        public <S extends T> int countByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode);
-       
+
     /**
-     * Returns a tuple including the identifier type, the identifier string, 
+     * Returns a tuple including the identifier type, the identifier string,
      * and if includeEntity is <code>false</code> the CDM entities uuid, and titleCache,
-     * otherwise the CDM entity itself 
+     * otherwise the CDM entity itself
      * @param clazz the identifiable entity subclass, may be null
      * @param identifier the identifier as {@link String}
      * @param identifierType the identifier type, maybe null
-     * @param matchmode 
+     * @param matchmode
      * @param includeCdmEntity
      * @param pageSize
      * @param pageNumber
index 39e75c001b9b51a691b45fab947b5578faa2ba8c..77007abdaa4b0d31405ceab726f07c7d64cb2df6 100644 (file)
@@ -5,16 +5,16 @@ import java.util.Map;
 import java.util.Set;\r
 import java.util.UUID;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptiveSystemRole;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
 import eu.etaxonomy.cdm.model.description.WorkingSet;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IAnnotatableDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 \r
 public interface IWorkingSetDao extends IAnnotatableDao<WorkingSet> {\r
-    \r
+\r
        public Map<DescriptionBase,Set<DescriptionElementBase>> getDescriptionElements(WorkingSet workingSet, Set<Feature> features, Integer pageSize, Integer pageNumber, List<String> propertyPaths);\r
 \r
        public <T extends DescriptionElementBase> Map<UuidAndTitleCache, Map<UUID, Set<T>>> getTaxonFeatureDescriptionElementMap(Class<T> clazz, UUID workingSetUuid, DescriptiveSystemRole role);\r
index a66b1b8d70b61a9ab372a0ed9687ab1c71c7c4b7..a256f82d4184406387f04454157d107f874f1436 100644 (file)
@@ -28,10 +28,10 @@ import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.view.AuditEvent;\r
 import eu.etaxonomy.cdm.persistence.dao.agent.IAgentDao;\r
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 \r
 \r
 @Repository\r
index d612926164c88adb4bc07df0d587877c950f48ad..b25054b91d9be1489ac1cbc4cd61df21d1724310 100644 (file)
@@ -37,10 +37,10 @@ import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.persistence.dao.QueryParseException;
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 
@@ -48,6 +48,7 @@ import eu.etaxonomy.cdm.persistence.query.OrderHint;
 public class IdentifiableDaoBase<T extends IdentifiableEntity> extends AnnotatableDaoImpl<T> implements IIdentifiableDao<T>{
     @SuppressWarnings("unused")
     private static final Logger logger = Logger.getLogger(IdentifiableDaoBase.class);
+
     protected String defaultField = "titleCache_tokenized";
     protected Class<? extends T> indexedClasses[];
 
index b4167209c26012759a698c4e1b726a10ba958625..10ca0756cb1f1aec726e65468f1ae4ade830608e 100644 (file)
@@ -14,7 +14,6 @@ import org.hibernate.criterion.Restrictions;
 import org.springframework.beans.factory.annotation.Qualifier;\r
 import org.springframework.stereotype.Repository;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.CategoricalData;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
@@ -24,6 +23,7 @@ import eu.etaxonomy.cdm.model.description.QuantitativeData;
 import eu.etaxonomy.cdm.model.description.WorkingSet;\r
 import eu.etaxonomy.cdm.persistence.dao.description.IWorkingSetDao;\r
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.AnnotatableDaoImpl;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 \r
 @Repository\r
 @Qualifier("workingSetDaoImpl")\r
index 3be2f4df3e9b39193b8b2bb5402cac2901c4f62a..f7d78241f2abffbaace832e46ca6c3eef889c91b 100644 (file)
@@ -18,10 +18,10 @@ import org.hibernate.Query;
 import org.hibernate.Session;
 import org.springframework.stereotype.Repository;
 
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.AnnotatableDaoImpl;
 import eu.etaxonomy.cdm.persistence.dao.molecular.IAmplificationDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
@@ -48,6 +48,7 @@ public class AmplificationDaoHibernateImpl extends AnnotatableDaoImpl<Amplificat
 
         Query query = session.createQuery("select uuid, id, labelCache from Amplification");
 
+        @SuppressWarnings("unchecked")
         List<Object[]> result = query.list();
 
         for(Object[] object : result){
index 395e383b61344728417fef0c60dfa458bd4e9954..c95d543dda96118ba138aa353b49dfd8b52425b1 100644 (file)
@@ -18,10 +18,10 @@ import org.hibernate.Query;
 import org.hibernate.Session;
 import org.springframework.stereotype.Repository;
 
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Primer;
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.AnnotatableDaoImpl;
 import eu.etaxonomy.cdm.persistence.dao.molecular.IPrimerDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
@@ -48,6 +48,7 @@ public class PrimerDaoHibernateImpl extends AnnotatableDaoImpl<Primer> implement
 
         Query query = session.createQuery("select uuid, id, label from Primer");
 
+        @SuppressWarnings("unchecked")
         List<Object[]> result = query.list();
 
         for(Object[] object : result){
index 81ef6d7cbd94aa3aa3fdca59e5edbdba5761f843..6e9b835e92ef12868c9c9693d633cb882328d62c 100644 (file)
@@ -31,7 +31,6 @@ import org.springframework.stereotype.Repository;
 \r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.name.BacterialName;\r
 import eu.etaxonomy.cdm.model.name.BotanicalName;\r
 import eu.etaxonomy.cdm.model.name.CultivarPlantName;\r
@@ -54,6 +53,7 @@ import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;
 import eu.etaxonomy.cdm.persistence.dao.name.IHomotypicalGroupDao;\r
 import eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao;\r
 import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
@@ -307,9 +307,6 @@ public class TaxonNameDaoHibernateImpl extends IdentifiableDaoBase<TaxonNameBase
         }\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao#getNameRelationships(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction, eu.etaxonomy.cdm.model.name.NameRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)\r
-     */\r
     @Override\r
     public List<NameRelationship> getNameRelationships(TaxonNameBase name, NameRelationship.Direction direction,\r
             NameRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,\r
@@ -695,9 +692,6 @@ public class TaxonNameDaoHibernateImpl extends IdentifiableDaoBase<TaxonNameBase
 \r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao#getUuidAndTitleCacheOfNames()\r
-     */\r
     @Override\r
     public List<UuidAndTitleCache> getUuidAndTitleCacheOfNames() {\r
         String queryString = "SELECT uuid, id, fullTitleCache FROM TaxonNameBase";\r
index 7f7fbb1019f5e8a16e78c03ffedaeaaa4b54627b..77818bd372c63db6269ed7b23090c1757ab6d20b 100644 (file)
@@ -28,7 +28,6 @@ import org.hibernate.search.Search;
 import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.stereotype.Repository;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;\r
 import eu.etaxonomy.cdm.model.media.Media;\r
@@ -50,6 +49,7 @@ import eu.etaxonomy.cdm.persistence.dao.hibernate.taxon.TaxonDaoHibernateImpl;
 import eu.etaxonomy.cdm.persistence.dao.name.IHomotypicalGroupDao;\r
 import eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao;\r
 import eu.etaxonomy.cdm.persistence.dao.occurrence.IOccurrenceDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
index ccf04fbf413607d6b91f00d10b303d4f3a7593fd..a56de9fc4d4b189db91ed18ea9540ad47cb877f6 100644 (file)
@@ -23,7 +23,6 @@ import org.hibernate.search.Search;
 import org.springframework.beans.factory.annotation.Qualifier;\r
 import org.springframework.stereotype.Repository;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.reference.IArticle;\r
 import eu.etaxonomy.cdm.model.reference.IBookSection;\r
 import eu.etaxonomy.cdm.model.reference.IInProceedings;\r
@@ -35,6 +34,7 @@ import eu.etaxonomy.cdm.model.reference.ReferenceType;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;\r
 import eu.etaxonomy.cdm.persistence.dao.reference.IReferenceDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 import eu.etaxonomy.cdm.strategy.cache.reference.ReferenceDefaultCacheStrategy;\r
 \r
@@ -55,7 +55,7 @@ public class ReferenceDaoHibernateImpl extends IdentifiableDaoBase<Reference> im
        public void rebuildIndex() {\r
                FullTextSession fullTextSession = Search.getFullTextSession(getSession());\r
 \r
-               for(Reference reference : list(null,null)) { // re-index all agents\r
+               for(Reference<?> reference : list(null,null)) { // re-index all agents\r
                        Hibernate.initialize(reference.getAuthorship());\r
 \r
                        if(reference.getType().equals(ReferenceType.Article)) {\r
@@ -83,7 +83,8 @@ public class ReferenceDaoHibernateImpl extends IdentifiableDaoBase<Reference> im
 \r
                Query query = session.createQuery("select uuid, id, titleCache from " + type.getSimpleName());\r
 \r
-               List<Object[]> result = query.list();\r
+               @SuppressWarnings("unchecked")\r
+        List<Object[]> result = query.list();\r
 \r
                for(Object[] object : result){\r
                        list.add(new UuidAndTitleCache<Reference>(type, (UUID) object[0], (Integer)object[1], (String) object[2]));\r
@@ -152,24 +153,27 @@ public class ReferenceDaoHibernateImpl extends IdentifiableDaoBase<Reference> im
                return references;\r
        }\r
 \r
-       @Override\r
-       public List<Reference> getSubordinateReferences(\r
-                       Reference reference) {\r
+\r
+    @Override\r
+       public List<Reference> getSubordinateReferences(Reference reference) {\r
 \r
                List<Reference> references = new ArrayList();\r
-               List<Reference> subordinateReferences = new ArrayList();\r
+               List<Reference> subordinateReferences = new ArrayList<Reference>();\r
 \r
                Query query = getSession().createQuery("select r from Reference r where r.inReference = (:reference)");\r
                query.setParameter("reference", reference);\r
-               references.addAll(query.list());\r
-               for(Reference ref : references){\r
+\r
+               @SuppressWarnings("unchecked")\r
+           List<Reference<?>> list = query.list();\r
+           references.addAll(list);\r
+               for(Reference<?> ref : references){\r
                        subordinateReferences.addAll(getSubordinateReferences(ref));\r
                }\r
                references.addAll(subordinateReferences);\r
                return references;\r
        }\r
 \r
-       @Override\r
+    @Override\r
        public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<OrderHint> orderHints, List<String> propertyPaths) {\r
 \r
                /*\r
@@ -181,7 +185,6 @@ public class ReferenceDaoHibernateImpl extends IdentifiableDaoBase<Reference> im
                 */\r
 \r
                //TODO implement search in nameDescriptions\r
-               List<TaxonBase> taxonBaseList = new ArrayList<TaxonBase>();\r
                Set<Reference> referenceSet = new HashSet<Reference>();\r
                referenceSet.add(reference);\r
                if(includeSubordinateReferences){\r
@@ -235,7 +238,8 @@ public class ReferenceDaoHibernateImpl extends IdentifiableDaoBase<Reference> im
                query.setParameterList("referenceBase_5", referenceSet);\r
                query.setParameterList("referenceBase_6", referenceSet);\r
 \r
-               taxonBaseList = query.list();\r
+               @SuppressWarnings("unchecked")\r
+        List<TaxonBase> taxonBaseList = query.list();\r
 \r
                defaultBeanInitializer.initializeAll(taxonBaseList, propertyPaths);\r
 \r
index 246a6638428ee0f938e6eab9eb6b49d8ce7c069c..9d9c915dd516f1a7cc5d5bc06128e22bb665678e 100644 (file)
@@ -47,7 +47,6 @@ import eu.etaxonomy.cdm.model.common.LSID;
 import eu.etaxonomy.cdm.model.common.OriginalSourceBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.location.NamedArea;\r
 import eu.etaxonomy.cdm.model.name.NonViralName;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
@@ -69,6 +68,7 @@ import eu.etaxonomy.cdm.persistence.dao.hibernate.AlternativeSpellingSuggestionP
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase;\r
 import eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao;\r
 import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
index ab55e5c8e256ee6813dd691466d790bbb72e2465..7c547829675baf147bb8ba8a8a55ac2ba699ca9f 100644 (file)
@@ -12,9 +12,9 @@ package eu.etaxonomy.cdm.persistence.dao.molecular;
 import java.util.List;
 import java.util.UUID;
 
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
 import eu.etaxonomy.cdm.persistence.dao.common.IAnnotatableDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
index 01819d24e26f71a45197cb8a034e25af2adaa43b..583f7145b16284e365a5e9516f12d70293070021 100644 (file)
@@ -12,9 +12,9 @@ package eu.etaxonomy.cdm.persistence.dao.molecular;
 import java.util.List;
 import java.util.UUID;
 
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Primer;
 import eu.etaxonomy.cdm.persistence.dao.common.IAnnotatableDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
index b1a7c3fe7b9f56f7f1eedd750962d217d8a831c4..1ecae20dec98b930317df062d806603f0b58f639 100644 (file)
@@ -15,7 +15,6 @@ import java.util.UUID;
 import org.hibernate.criterion.Criterion;\r
 \r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;\r
 import eu.etaxonomy.cdm.model.name.NameRelationship;\r
@@ -29,6 +28,7 @@ import eu.etaxonomy.cdm.model.name.TypeDesignationStatusBase;
 import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
index 0942bff757ea5025c2add43d001650ef5036fb64..3b032377f4e7d8ad1028cc82d624cc1d364b891f 100644 (file)
@@ -12,7 +12,6 @@ import java.util.UUID;
 \r
 import org.springframework.dao.DataAccessException;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;\r
 import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
@@ -29,6 +28,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
index 6412ecabfa7171c13f8878b6d6916946bb8f3620..2e51e29623949fb8e8538a6adda271b03b74a743 100644 (file)
@@ -10,11 +10,11 @@ package eu.etaxonomy.cdm.persistence.dao.reference;
 \r
 import java.util.List;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.reference.Reference;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
 import eu.etaxonomy.cdm.persistence.dao.common.ITitledDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
 /**\r
index e7eb869a0c2603f40a8533517463720694348c7c..56516553b320f9016af6ddcde395da9b57680c21 100644 (file)
@@ -19,7 +19,6 @@ import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.location.NamedArea;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
@@ -36,6 +35,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
 import eu.etaxonomy.cdm.persistence.dao.common.ITitledDao;\r
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
similarity index 94%
rename from cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/UuidAndTitleCache.java
rename to cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dto/UuidAndTitleCache.java
index 190a8ed9f3356e7207db3fdcb1bcf68a5a238cb1..59c886b7483008dbb1b05eed12cc713ec7b91d29 100644 (file)
@@ -8,13 +8,15 @@
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
 
-package eu.etaxonomy.cdm.model.common;
+package eu.etaxonomy.cdm.persistence.dto;
 
 import java.io.Serializable;
 import java.util.UUID;
 
 import org.apache.log4j.Logger;
 
+import eu.etaxonomy.cdm.model.common.ICdmBase;
+
 /**
  * @author n.hoffmann
  * @created Aug 14, 2009
index 00b8f9a34af35da78e9171bf8f05d4d1b87c8ce8..3713fb32108afbb904a1242aac1aa2a6ee95f017 100644 (file)
@@ -42,7 +42,6 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
 import eu.etaxonomy.cdm.model.common.Marker;\r
 import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.location.NamedArea;\r
 import eu.etaxonomy.cdm.model.name.NonViralName;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
@@ -65,6 +64,7 @@ import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;
 import eu.etaxonomy.cdm.persistence.dao.reference.IReferenceDao;\r
 import eu.etaxonomy.cdm.persistence.dao.taxon.IClassificationDao;\r
 import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;\r
 import eu.etaxonomy.cdm.persistence.query.GroupByCount;\r
 import eu.etaxonomy.cdm.persistence.query.GroupByDate;\r
index 56568f677141959d0b750137ae13f9f10783794b..34255582946f8d21e07f28579ff5498b52576030 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$\r
 /**\r
 * Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \r
+*\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
@@ -29,9 +29,9 @@ import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;\r
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.dao.agent.IAgentDao;\r
 import eu.etaxonomy.cdm.persistence.dao.common.ICdmGenericDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;\r
 import eu.etaxonomy.cdm.strategy.merge.DefaultMergeStrategy;\r
 import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;\r
@@ -48,23 +48,24 @@ import eu.etaxonomy.cdm.strategy.merge.MergeMode;
 @Transactional(readOnly = true)\r
 public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDao> implements IAgentService {\r
     private static final Logger logger = Logger.getLogger(AgentServiceImpl.class);\r
-       \r
+\r
     @Autowired\r
     ICdmGenericDao genericDao;\r
 \r
-       @Autowired\r
+       @Override\r
+    @Autowired\r
        protected void setDao(IAgentDao dao) {\r
                assert dao != null;\r
                this.dao = dao;\r
        }\r
-    \r
+\r
        /**\r
         * Constructor\r
         */\r
        public AgentServiceImpl(){\r
                if (logger.isDebugEnabled()) { logger.debug("Load AgentService Bean"); }\r
        }\r
-       \r
+\r
 \r
        @Override\r
        @Transactional(readOnly = false)\r
@@ -74,7 +75,7 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
                }\r
                super.updateTitleCacheImpl(clazz, stepSize, cacheStrategy, monitor);\r
        }\r
-       \r
+\r
        @Override\r
        public List<Institution> searchInstitutionByCode(String code) {\r
                return dao.getInstitutionByCode(code);\r
@@ -83,36 +84,36 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
        @Override\r
        public Pager<InstitutionalMembership> getInstitutionalMemberships(Person person, Integer pageSize, Integer pageNumber) {\r
         Integer numberOfResults = dao.countInstitutionalMemberships(person);\r
-               \r
+\r
                List<InstitutionalMembership> results = new ArrayList<InstitutionalMembership>();\r
                if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)\r
-                       results = dao.getInstitutionalMemberships(person, pageSize, pageNumber); \r
+                       results = dao.getInstitutionalMemberships(person, pageSize, pageNumber);\r
                }\r
-               \r
+\r
                return new DefaultPagerImpl<InstitutionalMembership>(pageNumber, numberOfResults, pageSize, results);\r
        }\r
 \r
        @Override\r
        public Pager<Person> getMembers(Team team, Integer pageSize, Integer pageNumber) {\r
                Integer numberOfResults = dao.countMembers(team);\r
-                       \r
+\r
                List<Person> results = new ArrayList<Person>();\r
                if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)\r
-                       results = dao.getMembers(team, pageSize, pageNumber); \r
+                       results = dao.getMembers(team, pageSize, pageNumber);\r
                }\r
-                       \r
+\r
                return new DefaultPagerImpl<Person>(pageNumber, numberOfResults, pageSize, results);\r
        }\r
 \r
        @Override\r
        public Pager<Address> getAddresses(AgentBase agent, Integer pageSize, Integer pageNumber) {\r
                Integer numberOfResults = dao.countAddresses(agent);\r
-               \r
+\r
                List<Address> results = new ArrayList<Address>();\r
                if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)\r
-                       results = dao.getAddresses(agent, pageSize, pageNumber); \r
+                       results = dao.getAddresses(agent, pageSize, pageNumber);\r
                }\r
-                       \r
+\r
                return new DefaultPagerImpl<Address>(pageNumber, numberOfResults, pageSize, results);\r
        }\r
 \r
@@ -135,12 +136,12 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
        public List<UuidAndTitleCache<Institution>> getInstitutionUuidAndTitleCache() {\r
                return dao.getInstitutionUuidAndTitleCache();\r
        }\r
-       \r
+\r
        @Override\r
     public DeleteResult delete(AgentBase base){\r
-       \r
+\r
                DeleteResult result = this.isDeletable(base, null);\r
-       \r
+\r
        if (result.isOk()){\r
                        if (base instanceof Team){\r
                                Team baseTeam = (Team) base;\r
@@ -154,12 +155,12 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
                                }\r
                        }\r
                        saveOrUpdate(base);\r
-                       \r
+\r
                        dao.delete(base);\r
-                       \r
+\r
                }\r
-               \r
-               return result;          \r
+\r
+               return result;\r
     }\r
 \r
        @Override\r
@@ -183,7 +184,7 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
                }else{\r
                        throw new IllegalStateException("Unhandled state of team members collection");\r
                }\r
-               \r
+\r
                return result;\r
        }\r
 \r
@@ -193,7 +194,7 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
                IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(TeamOrPersonBase.class);\r
                strategy.setDefaultMergeMode(MergeMode.SECOND);\r
                strategy.setDefaultCollectionMergeMode(MergeMode.SECOND);\r
-               \r
+\r
                if (! genericDao.isMergeable(team, person, strategy)){\r
                        throw new MergeException("Person can not be transformed into team.");\r
                }\r
@@ -207,6 +208,6 @@ public class AgentServiceImpl extends IdentifiableServiceBase<AgentBase,IAgentDa
                }\r
                return team;\r
        }\r
-       \r
-       \r
+\r
+\r
 }\r
index 2cbbcd7ec8883392f07836eb641a9f7087d60877..accc1b5605bf6de7b63c9b78b633447005ae44d8 100644 (file)
@@ -32,7 +32,6 @@ import eu.etaxonomy.cdm.api.service.pager.PagerUtils;
 import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
 import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.media.Media;
@@ -50,6 +49,7 @@ import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
 import eu.etaxonomy.cdm.persistence.dao.taxon.IClassificationDao;
 import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao;
 import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonNodeDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
 import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
index 1672488fda366c97561ed8694a72c0a530f8f4dc..774ba9ce692ff9ea115ba722e43785bfc97fc5d1 100644 (file)
@@ -19,7 +19,7 @@ import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.agent.InstitutionalMembership;\r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 import eu.etaxonomy.cdm.strategy.merge.MergeException;\r
 \r
index 3f60b96628e1d4456fe03b717befb65ae9d80fd2..68e2820aeac445897f6191ea2681ac329fb5099f 100644 (file)
@@ -17,13 +17,13 @@ import java.util.UUID;
 
 import eu.etaxonomy.cdm.api.service.config.CreateHierarchyForClassificationConfigurator;
 import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 
 
index abda2fa407fd9c1c77c2a675f550115fb20a9c8c..0dd2e13da8a4195fc15d58b268ad13f6a729e60a 100644 (file)
@@ -23,9 +23,9 @@ import eu.etaxonomy.cdm.model.common.ISourceable;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
index fb84bc3148b84cfe9b53eeea6c5604d45ed32e91..2bd7f350f7810725c4e79a6efb6adc5a3803826b 100644 (file)
@@ -27,24 +27,21 @@ import eu.etaxonomy.cdm.api.service.search.DocumentSearchResult;
 import eu.etaxonomy.cdm.api.service.search.SearchResult;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
-import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
 import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;\r
 import eu.etaxonomy.cdm.model.name.NameRelationship;\r
 import eu.etaxonomy.cdm.model.name.NameRelationshipType;\r
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;\r
-import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;\r
 import eu.etaxonomy.cdm.model.name.NonViralName;\r
 import eu.etaxonomy.cdm.model.name.Rank;\r
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.name.TypeDesignationBase;\r
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 import eu.etaxonomy.cdm.strategy.cache.TaggedText;\r
@@ -58,7 +55,7 @@ public interface INameService extends IIdentifiableEntityService<TaxonNameBase>
         * If name is <code>null</code> this method has no effect.\r
         * @param name\r
         * @param config\r
-        * \r
+        *\r
         */\r
        public DeleteResult delete(TaxonNameBase name, NameDeletionConfigurator config);\r
 \r
@@ -157,18 +154,18 @@ public interface INameService extends IIdentifiableEntityService<TaxonNameBase>
         * @return\r
         */\r
        public List getNamesByName(String name, CdmBase sessionObject);\r
-       \r
+\r
        /**\r
         * Fuzzy matching for the taxon name elements. The input name is first atomised using the {@link NonViralNameParserImpl}\r
         * into its separate parts (genusOrUninomial,infraGenericEpithet,specificEpithet,infraGenericEpithet,authorshipCache).\r
         * Each field is then matched separately with the same accuracy parameter.\r
-        *  \r
+        *\r
         * @param name taxon name to fuzzy match\r
         * @param accuracy value > 0.0 and < 1.0 which determines the accuracy of the result.\r
         * @param languages list of languages to consider when matching (currently not used)\r
         * @param highlightFragments\r
-        * @param propertyPaths \r
-        * @param maxNoOfResults \r
+        * @param propertyPaths\r
+        * @param maxNoOfResults\r
         * @return\r
         * @throws CorruptIndexException\r
         * @throws IOException\r
@@ -178,22 +175,22 @@ public interface INameService extends IIdentifiableEntityService<TaxonNameBase>
             String name,\r
             float accuracy,\r
             List<Language> languages,\r
-            boolean highlightFragments, \r
+            boolean highlightFragments,\r
             List<String> propertyPaths,\r
             int maxNoOfResults) throws CorruptIndexException, IOException, ParseException;\r
-       \r
+\r
        /**\r
-        * Fuzzy matching for the taxon name elements using only the lucene index. \r
-        * \r
+        * Fuzzy matching for the taxon name elements using only the lucene index.\r
+        *\r
         * The input name is first atomised using the {@link NonViralNameParserImpl}\r
         * into its separate parts (genusOrUninomial,infraGenericEpithet,specificEpithet,infraGenericEpithet,authorshipCache).\r
         * Each field is then matched separately with the same accuracy parameter.\r
-        *  \r
+        *\r
         * @param name taxon name to fuzzy match\r
         * @param accuracy value > 0.0 and < 1.0 which determines the accuracy of the result.\r
         * @param languages list of languages to consider when matching (currently not used)\r
         * @param highlightFragments\r
-        * @param maxNoOfResults \r
+        * @param maxNoOfResults\r
         * @return\r
         * @throws CorruptIndexException\r
         * @throws IOException\r
@@ -203,18 +200,18 @@ public interface INameService extends IIdentifiableEntityService<TaxonNameBase>
             String name,\r
             float accuracy,\r
             List<Language> languages,\r
-            boolean highlightFragments, \r
+            boolean highlightFragments,\r
             int maxNoOfResults) throws CorruptIndexException, IOException, ParseException;\r
-    \r
+\r
        /**\r
-        * Fuzzy matching against the name cache using only the lucene index. \r
-        * \r
-        *  \r
+        * Fuzzy matching against the name cache using only the lucene index.\r
+        *\r
+        *\r
         * @param name taxon name to fuzzy match\r
         * @param accuracy value > 0.0 and < 1.0 which determines the accuracy of the result.\r
         * @param languages list of languages to consider when matching (currently not used)\r
         * @param highlightFragments\r
-        * @param maxNoOfResults \r
+        * @param maxNoOfResults\r
         * @return\r
         * @throws CorruptIndexException\r
         * @throws IOException\r
@@ -224,32 +221,32 @@ public interface INameService extends IIdentifiableEntityService<TaxonNameBase>
             String name,\r
             float accuracy,\r
             List<Language> languages,\r
-            boolean highlightFragments, \r
+            boolean highlightFragments,\r
             int maxNoOfResults) throws CorruptIndexException, IOException, ParseException;\r
-    \r
+\r
        /**\r
         * Exact matching for the taxon name elements using only the lucene index.\r
-        * \r
+        *\r
         * The input name is first atomised using the {@link NonViralNameParserImpl}\r
         * into its separate parts (genusOrUninomial,infraGenericEpithet,specificEpithet,infraGenericEpithet,authorshipCache).\r
         * Each field is then matched separately with the same accuracy parameter.\r
-        *  \r
+        *\r
         * @param name taxon name to fuzzy match\r
         * @param wildcard boolean flag to indicate whether a wildcard '*' should be added at the end of the query\r
         * @param languages list of languages to consider when matching (currently not used)\r
         * @param highlightFragments\r
-        * @param maxNoOfResults \r
+        * @param maxNoOfResults\r
         * @return\r
         * @throws CorruptIndexException\r
         * @throws IOException\r
         * @throws ParseException\r
         */\r
-    \r
+\r
     public List<DocumentSearchResult> findByNameExactSearch(\r
-            String name,      \r
+            String name,\r
             boolean wildcard,\r
             List<Language> languages,\r
-            boolean highlightFragments, \r
+            boolean highlightFragments,\r
             int maxNoOfResults) throws CorruptIndexException, IOException, ParseException;\r
 \r
        // TODO: Remove getNamesByName() methods. Use findNamesByTitle() instead.\r
index d78d65e22934a84404d2718db3ef5e7fe9c43578..0013ba550db5904986ef5889b4584ba79b11d276 100644 (file)
@@ -32,7 +32,6 @@ import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
 import eu.etaxonomy.cdm.model.common.ICdmBase;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.IndividualsAssociation;\r
@@ -53,6 +52,7 @@ import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
 /**\r
index a92543e516e59fa94d377d004e5b3c778dd065f3..71e528a8dab116517ad0ce2fc4800195a67f4fa2 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -13,17 +13,17 @@ package eu.etaxonomy.cdm.api.service;
 import java.util.List;
 
 import eu.etaxonomy.cdm.api.service.pager.Pager;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 
 
 public interface IReferenceService extends IIdentifiableEntityService<Reference> {
-       
+
        /**
         * Returns a Paged List of Reference instances where the default field matches the String queryString (as interpreted by the Lucene QueryParser)
-        * 
+        *
         * @param clazz filter the results by class (or pass null to return all Reference instances)
         * @param queryString
         * @param pageSize The maximum number of references returned (can be null for all matching references)
@@ -36,22 +36,23 @@ public interface IReferenceService extends IIdentifiableEntityService<Reference>
         * @return a Pager Reference instances
         * @see <a href="http://lucene.apache.org/java/2_4_0/queryparsersyntax.html">Apache Lucene - Query Parser Syntax</a>
         */
-       public Pager<Reference> search(Class<? extends Reference> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
-       
+       @Override
+    public Pager<Reference> search(Class<? extends Reference> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
+
        /**
         * Returns a map that holds uuid, titleCache pairs of all references in the current database
-        * 
-        * @return 
+        *
+        * @return
         *                      a <code>Map</code> containing uuid and titleCache of references
         */
        public List<UuidAndTitleCache<Reference>> getUuidAndTitle();
-       
+
        /**
         * TODO candidate for harmonization: rename to listForPublishing
         * @return
         */
        public List<Reference> getAllReferencesForPublishing();
-       
+
        /**
         * TODO candidate for harmonization: rename to listNomenclaturalReferences
         * @return
@@ -60,12 +61,12 @@ public interface IReferenceService extends IIdentifiableEntityService<Reference>
 
        /**
         * returns
-        * 
+        *
         * <ol>
         * <li>all taxa directly covered by this reference</li>
         * <li>all taxa covered by the according in references of this reference</li>
         * </ol>
-        * 
+        *
         * searches for taxa using the following relations:
         * <ul>
         * <li>taxon.name.nomenclaturalreference</li>
@@ -74,7 +75,7 @@ public interface IReferenceService extends IIdentifiableEntityService<Reference>
         * <li>taxon.name.descriptions.descriptionElement.sources</li>
         * <li>taxon.name.descriptions.descriptionSources</li>
         * </ul>
-        * 
+        *
         * @param reference
         * @param includeSubordinateReferences TODO
         * @param propertyPaths
index 3d1d63647eb3937d77c0d3aace09353e06d06a62..4ef6ca1ebdc2f8ffd4ca432b8622a25e444d1b55 100644 (file)
@@ -18,7 +18,6 @@ import java.util.UUID;
 
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.queryParser.ParseException;
-import org.springframework.transaction.annotation.Transactional;
 
 import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
 import eu.etaxonomy.cdm.api.service.config.IncludedTaxonConfiguration;
@@ -39,7 +38,6 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
 import eu.etaxonomy.cdm.model.common.RelationshipBase;
 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
@@ -60,6 +58,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
@@ -943,7 +942,7 @@ public interface ITaxonService extends IIdentifiableEntityService<TaxonBase>{
 
     public List<Taxon> listAcceptedTaxaFor(UUID synonymUuid, UUID classificationUuid, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
             List<String> propertyPaths);
-    
+
     public List<TaxonBase> findTaxaByName(MatchingTaxonConfigurator config);
 
 
index 2eecd5eee64fc01c8374420bb3b99fa1caf4fbb5..4f336b6a0925e186aaeabc91faa44f698bc83c45 100644 (file)
@@ -5,22 +5,22 @@ import java.util.Map;
 import java.util.Set;\r
 import java.util.UUID;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptiveSystemRole;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
 import eu.etaxonomy.cdm.model.description.WorkingSet;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 \r
 \r
 public interface IWorkingSetService extends IAnnotatableService<WorkingSet> {\r
        /**\r
         * Returns a Map of descriptions each with the descriptionelements that match the supplied features (or all description elements if no features are supplied)\r
-        * \r
+        *\r
         * @param workingSet the working set which the descriptions belong to\r
         * @param features restrict the returned description elements to those which have features in this set\r
         * @param pageSize The maximum number of descriptions returned (can be null for all descriptions that belong to the working set)\r
-        * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based, \r
+        * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based,\r
         *                   can be null, equivalent of starting at the beginning of the recordset). Descriptions are sorted by titleCache\r
         * @param propertyPaths properties to be initialized (applied to the descriptionElements)\r
         * @return\r
@@ -29,6 +29,6 @@ public interface IWorkingSetService extends IAnnotatableService<WorkingSet> {
 \r
        public <T extends DescriptionElementBase> Map<UuidAndTitleCache, Map<UUID, Set<T>>> getTaxonFeatureDescriptionElementMap(Class<T> clazz, UUID workingSetUuid, DescriptiveSystemRole role);\r
 \r
-       \r
-       \r
+\r
+\r
 }\r
index 266aebfd01cd1f32bea220047d5cad55333d0ec1..c17355c73892c6dc6785f7ec6b5aef0cd395202e 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -36,15 +36,14 @@ import eu.etaxonomy.cdm.model.common.ISourceable;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
 import eu.etaxonomy.cdm.model.common.LSID;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.media.Rights;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;
 import eu.etaxonomy.cdm.persistence.dao.hibernate.HibernateBeanInitializer;
 import eu.etaxonomy.cdm.persistence.dao.initializer.AutoPropertyInitializer;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.persistence.query.MatchMode;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 import eu.etaxonomy.cdm.persistence.query.OrderHint.SortOrder;
@@ -57,10 +56,10 @@ import eu.etaxonomy.cdm.strategy.merge.IMergable;
 import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
 import eu.etaxonomy.cdm.strategy.merge.MergeException;
 
-public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO extends IIdentifiableDao<T>> extends AnnotatableServiceBase<T,DAO> 
+public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO extends IIdentifiableDao<T>> extends AnnotatableServiceBase<T,DAO>
                                                implements IIdentifiableEntityService<T>{
 
-       
+
        protected static final int UPDATE_TITLE_CACHE_DEFAULT_STEP_SIZE = 1000;
        protected static final  Logger logger = Logger.getLogger(IdentifiableServiceBase.class);
 
@@ -68,29 +67,29 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        @Transactional(readOnly = true)
        public Pager<Rights> getRights(T t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
         Integer numberOfResults = dao.countRights(t);
-               
+
                List<Rights> results = new ArrayList<Rights>();
                if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
-                       results = dao.getRights(t, pageSize, pageNumber,propertyPaths); 
+                       results = dao.getRights(t, pageSize, pageNumber,propertyPaths);
                }
-               
+
                return new DefaultPagerImpl<Rights>(pageNumber, numberOfResults, pageSize, results);
        }
-       
+
        @Override
        @Transactional(readOnly = true)
        public Pager<IdentifiableSource> getSources(T t, Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
                 Integer numberOfResults = dao.countSources(t);
-                       
+
                 List<IdentifiableSource> results = new ArrayList<IdentifiableSource>();
                 if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
-                        results = dao.getSources(t, pageSize, pageNumber,propertyPaths); 
+                        results = dao.getSources(t, pageSize, pageNumber,propertyPaths);
                 }
-               
+
                 return new DefaultPagerImpl<IdentifiableSource>(pageNumber, numberOfResults, pageSize, results);
        }
 
-       
+
        @Transactional(readOnly = false)
        @Override
        public T replace(T x, T y) {
@@ -99,9 +98,9 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        /**
         * FIXME Candidate for harmonization
         * Given that this method is strongly typed, and generic, could we not simply expose it as
-        * List<T> findByTitle(String title) as it is somewhat less cumbersome. Admittedly, I don't 
+        * List<T> findByTitle(String title) as it is somewhat less cumbersome. Admittedly, I don't
         * understand what is going on with the configurators etc. so maybe there is a good reason for
-        * the design of this method. 
+        * the design of this method.
         * @param title
         * @return
         */
@@ -109,7 +108,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        protected List<T> findCdmObjectsByTitle(String title){
                return ((IIdentifiableDao)dao).findByTitle(title);
        }
-       
+
        @Transactional(readOnly = true)
        protected List<T> findCdmObjectsByTitle(String title, Class<T> clazz){
                return ((IIdentifiableDao)dao).findByTitleAndClass(title, clazz);
@@ -118,7 +117,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        protected List<T> findCdmObjectsByTitle(String title, CdmBase sessionObject){
                return ((IIdentifiableDao)dao).findByTitle(title, sessionObject);
        }
-       
+
        /*
         * TODO - Migrated from CommonServiceBase
         *  (non-Javadoc)
@@ -135,56 +134,56 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                }
                return result;
        }
-       
+
        @Transactional(readOnly = true)
        @Override
        public List<UuidAndTitleCache<T>> getUuidAndTitleCache() {
                return dao.getUuidAndTitleCache();
        }\r
-       
+
        @Transactional(readOnly = true)\r
        @Override
        public Pager<T> findByTitle(Class<? extends T> clazz, String queryString,MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {\r
                 Integer numberOfResults = dao.countByTitle(clazz, queryString, matchmode, criteria);\r
-                       \r
+\r
                 List<T> results = new ArrayList<T>();\r
                 if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)\r
-                               results = dao.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); \r
+                               results = dao.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);\r
                 }\r
-                       \r
+\r
                  return new DefaultPagerImpl<T>(pageNumber, numberOfResults, pageSize, results);\r
        }
-       
+
        @Transactional(readOnly = true)
        @Override
        public Pager<T> findByTitle(IIdentifiableEntityServiceConfigurator<T> config){
                return findByTitle(config.getClazz(), config.getTitleSearchStringSqlized(), config.getMatchMode(), config.getCriteria(), config.getPageSize(), config.getPageNumber(), config.getOrderHints(), config.getPropertyPaths());
        }
-       
+
        @Transactional(readOnly = true)
        @Override
        public List<T> listByTitle(Class<? extends T> clazz, String queryString,MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
                 Integer numberOfResults = dao.countByTitle(clazz, queryString, matchmode, criteria);
-                       
+
                 List<T> results = new ArrayList<T>();
                 if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
-                               results = dao.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); 
+                               results = dao.findByTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
                 }
                 return results;
        }
-       
+
        @Transactional(readOnly = true)
        @Override
        public Pager<T> findTitleCache(Class<? extends T> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, MatchMode matchMode){
                long numberOfResults = dao.countTitleCache(clazz, queryString, matchMode);
-                       
+
                 List<T> results = new ArrayList<T>();
                 if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
                                results = dao.findTitleCache(clazz, queryString, pageSize, pageNumber, orderHints, matchMode);
                 }
                 int r = 0;
                 r += numberOfResults;
-                       
+
                  return new DefaultPagerImpl<T>(pageNumber, r , pageSize, results);
        }
 
@@ -192,40 +191,40 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        @Override
        public List<T> listByReferenceTitle(Class<? extends T> clazz, String queryString,MatchMode matchmode, List<Criterion> criteria, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
                 Integer numberOfResults = dao.countByReferenceTitle(clazz, queryString, matchmode, criteria);
-                       
+
                 List<T> results = new ArrayList<T>();
                 if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
-                               results = dao.findByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths); 
+                               results = dao.findByReferenceTitle(clazz, queryString, matchmode, criteria, pageSize, pageNumber, orderHints, propertyPaths);
                 }
                 return results;
        }
-       
+
        @Transactional(readOnly = true)
        @Override
        public T find(LSID lsid) {
                return dao.find(lsid);
        }
-       
+
        @Transactional(readOnly = true)
        @Override
        public Pager<T> search(Class<? extends T> clazz, String queryString, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {
         Integer numberOfResults = dao.count(clazz,queryString);
-               
+
                List<T> results = new ArrayList<T>();
                if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
-                       results = dao.search(clazz,queryString, pageSize, pageNumber, orderHints, propertyPaths); 
+                       results = dao.search(clazz,queryString, pageSize, pageNumber, orderHints, propertyPaths);
                }
-               
+
                return new DefaultPagerImpl<T>(pageNumber, numberOfResults, pageSize, results);
        }
-       
+
        @Override
        @Transactional(readOnly = false)
        public void updateTitleCache() {
                updateTitleCache(null, null, null, null);
        }
-       
-       @Transactional(readOnly = false)  //TODO check transactional behaviour, e.g. what happens with the session if count is very large 
+
+       @Transactional(readOnly = false)  //TODO check transactional behaviour, e.g. what happens with the session if count is very large
        protected <S extends T > void updateTitleCacheImpl(Class<S> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<T> cacheStrategy, IProgressMonitor monitor) {
                if (stepSize == null){
                        stepSize = UPDATE_TITLE_CACHE_DEFAULT_STEP_SIZE;
@@ -233,7 +232,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                if (monitor == null){
                        monitor = DefaultProgressMonitor.NewInstance();
                }
-               
+
                int count = dao.count(clazz);
                monitor.beginTask("update titles", count);
                int worked = 0;
@@ -241,12 +240,12 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                        // not sure if such strict ordering is necessary here, but for safety reasons I do it
                        ArrayList<OrderHint> orderHints = new ArrayList<OrderHint>();
                        orderHints.add( new OrderHint("id", OrderHint.SortOrder.ASCENDING));
-                       
-                       
+
+
                        Map<Class<? extends CdmBase>, AutoPropertyInitializer<CdmBase>> oldAutoInit = switchOfAutoinitializer();
                        List<S> list = this.list(clazz, stepSize, i, orderHints, null);
                        switchOnOldAutoInitializer(oldAutoInit);
-                       
+
                        List<T> entitiesToUpdate = new ArrayList<T>();
                        for (T entity : list){
                                HibernateProxyHelper.deproxy(entity, clazz);
@@ -285,9 +284,9 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
 
        /**
         * Removes all auto initializers from the bean initializer
-        * 
+        *
         * @see #switchOnOldAutoInitializer(Map)
-        * @return 
+        * @return
         */
        protected Map<Class<? extends CdmBase>, AutoPropertyInitializer<CdmBase>> switchOfAutoinitializer() {
                HibernateBeanInitializer initializer = (HibernateBeanInitializer)this.appContext.getBean("defaultBeanInitializer");
@@ -310,9 +309,9 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        private void updateTitleCacheForSingleEntity(
                        IIdentifiableEntityCacheStrategy<T> cacheStrategy,
                        List<T> entitiesToUpdate, T entity) {
-               
+
                assert (entity.isProtectedTitleCache() == false );
-               
+
                //exclude recursive inreferences
                if (entity.isInstanceOf(Reference.class)){
                        Reference<?> ref = CdmBase.deproxy(entity, Reference.class);
@@ -320,31 +319,31 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                                return;
                        }
                }
-               
-               
+
+
                //define the correct cache strategy
                IIdentifiableEntityCacheStrategy entityCacheStrategy = cacheStrategy;
                if (entityCacheStrategy == null){
                        entityCacheStrategy = entity.getCacheStrategy();
-                       //FIXME find out why the wrong cache strategy is loaded here, see #1876 
+                       //FIXME find out why the wrong cache strategy is loaded here, see #1876
                        if (entity instanceof Reference){
                                entityCacheStrategy = ReferenceFactory.newReference(((Reference<?>)entity).getType()).getCacheStrategy();
                        }
                }
                entity.setCacheStrategy(entityCacheStrategy);
-               
-               
+
+
                //old titleCache
                entity.setProtectedTitleCache(true);
                String oldTitleCache = entity.getTitleCache();
                entity.setTitleCache(oldTitleCache, false);   //before we had entity.setProtectedTitleCache(false) but this deleted the titleCache itself
-               
+
                //NonViralNames and Reference have more caches //TODO handle in NameService
                String oldNameCache = null;
                String oldFullTitleCache = null;
                String oldAbbrevTitleCache = null;
                if (entity instanceof NonViralName ){
-                       
+
                        try{
                                NonViralName<?> nvn = (NonViralName) entity;
                                if (!nvn.isProtectedNameCache()){
@@ -360,7 +359,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                        }catch(ClassCastException e){
                                System.out.println("entity: " + entity.getTitleCache());
                        }
-                       
+
                }else if (entity instanceof Reference){
                        Reference<?> ref = (Reference<?>) entity;
                        if (!ref.isProtectedAbbrevTitleCache()){
@@ -384,7 +383,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                        newTitleCache = entityCacheStrategy.getTitleCache(nvn);
                        //System.out.println("titleCache: " +entity.getTitleCache());
                }
-               
+
                if ( oldTitleCache == null   || oldTitleCache != null && ! oldTitleCache.equals(newTitleCache) ){
                        entity.setTitleCache(null, false);
                        String newCache = entity.getTitleCache();
@@ -420,11 +419,11 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                                entitiesToUpdate.add(entity);
                        }
                }
-               
-               
+
+
        }
-       
-       
+
+
 
        /**
         * Needs override if not only the title cache should be set to null to
@@ -433,23 +432,23 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
        protected void setOtherCachesNull(T entity) {
                return;
        }
-       
 
-       
+
+
        private class DeduplicateState{
                String lastTitleCache;
                Integer pageSize = 50;
                int nPages = 3;
                int startPage = 0;
                boolean isCompleted = false;
-               int result; 
+               int result;
        }
-       
+
        @Override
        @Transactional(readOnly = false)
        public int deduplicate(Class<? extends T> clazz, IMatchStrategy matchStrategy, IMergeStrategy mergeStrategy) {
                DeduplicateState dedupState = new DeduplicateState();
-               
+
                if (clazz == null){
                        logger.warn("Deduplication clazz must not be null!");
                        return 0;
@@ -463,16 +462,16 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                        matchStrategy = DefaultMatchStrategy.NewInstance(matchableClass);
                }
                List<T> nextGroup = new ArrayList<T>();
-               
+
                int result = 0;
 //             double countTotal = count(clazz);
-//             
-//             Number countPagesN = Math.ceil(countTotal/dedupState.pageSize.doubleValue()) ; 
+//
+//             Number countPagesN = Math.ceil(countTotal/dedupState.pageSize.doubleValue()) ;
 //             int countPages = countPagesN.intValue();
-//             
-               
+//
+
                List<OrderHint> orderHints = Arrays.asList(new OrderHint[]{new OrderHint("titleCache", SortOrder.ASCENDING)});
-               
+
                while (! dedupState.isCompleted){
                        //get x page sizes
                        List<T> objectList = getPages(clazz, dedupState, orderHints);
@@ -483,7 +482,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                        int finishedPages = nUnEqualPages / dedupState.pageSize;
                        dedupState.startPage = finishedPages;
                }
-                               
+
                result += handleLastGroup(nextGroup, matchStrategy, mergeStrategy);
                return result;
        }
@@ -501,7 +500,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                                dedupState.result += handleLastGroup(nextGroup, matchStrategy, mergeStrategy);
                                nextGroup = new ArrayList<T>();
                                nextGroup.add(object);
-                               nUnEqual++;     
+                               nUnEqual++;
                        }
                        dedupState.lastTitleCache = currentTitleCache;
                }
@@ -535,7 +534,7 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                                }
                                T firstObject = group.get(i);
                                T secondObject = group.get(j);
-                               
+
                                try {
                                        if (matchStrategy.invoke((IMatchable)firstObject, (IMatchable)secondObject)){
                                                commonService.merge((IMergable)firstObject, (IMergable)secondObject, mergeStrategy);
@@ -552,44 +551,44 @@ public abstract class IdentifiableServiceBase<T extends IdentifiableEntity,DAO e
                        }
                }
                return result;
-       }       
-       
+       }
+
        @Transactional(readOnly = true)
        @Override
        public Integer countByTitle(Class<? extends T> clazz, String queryString,MatchMode matchmode, List<Criterion> criteria){
                 Integer numberOfResults = dao.countByTitle(clazz, queryString, matchmode, criteria);
-                
+
                 return numberOfResults;
        }
-        
+
        @Transactional(readOnly = true)
        @Override
        public Integer countByTitle(IIdentifiableEntityServiceConfigurator<T> config){
                return countByTitle(config.getClazz(), config.getTitleSearchStringSqlized(),
                                config.getMatchMode(), config.getCriteria());
-               
+
        }
 
        @Override
        @Transactional(readOnly = true)
        public <S extends T> Pager<FindByIdentifierDTO<S>> findByIdentifier(
-                       Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, 
+                       Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode,
                        boolean includeEntity, Integer pageSize,
                        Integer pageNumber,     List<String> propertyPaths) {
-               
+
                Integer numberOfResults = dao.countByIdentifier(clazz, identifier, identifierType, matchmode);
         List<Object[]> daoResults = new ArrayList<Object[]>();
         if(numberOfResults > 0) { // no point checking again
                daoResults = dao.findByIdentifier(clazz, identifier, identifierType,
                                matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
         }
-        
+
         List<FindByIdentifierDTO<S>> result = new ArrayList<FindByIdentifierDTO<S>>();
         for (Object[] daoObj : daoResults){
                if (includeEntity){
                        result.add(new FindByIdentifierDTO<S>((DefinedTerm)daoObj[0], (String)daoObj[1], (S)daoObj[2]));
                }else{
-                       result.add(new FindByIdentifierDTO<S>((DefinedTerm)daoObj[0], (String)daoObj[1], (UUID)daoObj[2], (String)daoObj[3]));  
+                       result.add(new FindByIdentifierDTO<S>((DefinedTerm)daoObj[0], (String)daoObj[1], (UUID)daoObj[2], (String)daoObj[3]));
                }
         }
                return new DefaultPagerImpl<FindByIdentifierDTO<S>>(pageNumber, numberOfResults, pageSize, result);
index e31101a6d0b922fa8dcc95cbf9137af56c1c4a59..d202a8aee8466ab287882d36c0bb340d352ca93a 100644 (file)
@@ -56,7 +56,6 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementSource;\r
 import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
@@ -80,6 +79,7 @@ import eu.etaxonomy.cdm.persistence.dao.name.IHomotypicalGroupDao;
 import eu.etaxonomy.cdm.persistence.dao.name.INomenclaturalStatusDao;\r
 import eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao;\r
 import eu.etaxonomy.cdm.persistence.dao.name.ITypeDesignationDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 import eu.etaxonomy.cdm.strategy.cache.TaggedText;\r
@@ -126,10 +126,10 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
     public DeleteResult delete(TaxonNameBase name){\r
         NameDeletionConfigurator config = new NameDeletionConfigurator();\r
         DeleteResult result = delete(name, config);\r
-       \r
-      \r
+\r
+\r
         return result;\r
-        \r
+\r
     }\r
 \r
     /* (non-Javadoc)\r
@@ -138,12 +138,12 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
     @Override\r
     public DeleteResult delete(TaxonNameBase name, NameDeletionConfigurator config) {\r
        DeleteResult result = new DeleteResult();\r
-       \r
+\r
        if (name == null){\r
                result.setAbort();\r
             return result;\r
         }\r
-       \r
+\r
        try{\r
                result = this.isDeletable(name, config);\r
         }catch(Exception e){\r
@@ -154,13 +154,13 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
         if (result.isOk()){\r
         //remove references to this name\r
                removeNameRelationshipsByDeleteConfig(name, config);\r
-            \r
+\r
            //remove name from homotypical group\r
             HomotypicalGroup homotypicalGroup = name.getHomotypicalGroup();\r
             if (homotypicalGroup != null){\r
                 homotypicalGroup.removeTypifiedName(name, false);\r
             }\r
-            \r
+\r
              //all type designation relationships are removed as they belong to the name\r
                deleteTypeDesignation(name, null);\r
        //              //type designations\r
@@ -168,20 +168,20 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
        //                      String message = "Name can't be deleted as it has types. Remove types prior to deletion.";\r
        //                      throw new ReferrencedObjectUndeletableException(message);\r
        //              }\r
-       \r
-              \r
+\r
+\r
                try{\r
                UUID nameUuid = dao.delete(name);\r
-               \r
+\r
                }catch(Exception e){\r
                        result.addException(e);\r
                        result.setError();\r
                }\r
                return result;\r
-        } \r
-               \r
-        \r
-        \r
+        }\r
+\r
+\r
+\r
         return result;\r
     }\r
 \r
@@ -837,7 +837,7 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
         List<TaggedText> taggedName = taxonNameBase.getTaggedName();\r
         return taggedName;\r
     }\r
-    \r
+\r
     @Override\r
     public DeleteResult isDeletable(TaxonNameBase name, DeleteConfiguratorBase config){\r
        DeleteResult result = new DeleteResult();\r
@@ -850,10 +850,10 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
                 result.setError();\r
                 return result;\r
        }\r
-       \r
+\r
        if (!name.getNameRelations().isEmpty() && !nameConfig.isRemoveAllNameRelationships()){\r
                HomotypicalGroup homotypicalGroup = HibernateProxyHelper.deproxy(name.getHomotypicalGroup(), HomotypicalGroup.class);\r
-               \r
+\r
                if (!nameConfig.isIgnoreIsBasionymFor() && homotypicalGroup.getBasionyms().contains(name)){\r
                                result.addException(new Exception( "Name can't be deleted as it is a basionym."));\r
                                result.setAbort();\r
@@ -921,7 +921,7 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
 \r
         //TODO inline references\r
 \r
-        \r
+\r
         if (!nameConfig.isIgnoreIsReplacedSynonymFor() && name.isReplacedSynonym()){\r
             String message = "Name can't be deleted as it is a replaced synonym.";\r
             result.addException(new Exception(message));\r
@@ -933,14 +933,14 @@ public class NameServiceImpl extends IdentifiableServiceBase<TaxonNameBase,ITaxo
             result.setAbort();\r
         }\r
        return result;\r
-       \r
+\r
     }\r
 \r
     @Override\r
     public List<HashMap<String,String>> getNameRecords(){\r
-       \r
+\r
                return dao.getNameRecords();\r
-       \r
+\r
     }\r
 \r
 }\r
index 16049ba9681c5e67e06af159c30631cfd4963822..423c4acaf7650a6db14e690f4087c8613a2b3a9e 100644 (file)
@@ -74,7 +74,6 @@ import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.ICdmBase;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.CategoricalData;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
@@ -108,6 +107,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.persistence.dao.common.IDefinedTermDao;\r
 import eu.etaxonomy.cdm.persistence.dao.initializer.AbstractBeanInitializer;\r
 import eu.etaxonomy.cdm.persistence.dao.occurrence.IOccurrenceDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;\r
 \r
index fc922fb0a6b4cda48ef9f33f83f136ba464128a0..b4e679c64489fbd6c74f95fc4284cd3f1b0d7ca7 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$\r
 /**\r
 * Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
 * http://www.e-taxonomy.eu\r
-* \r
+*\r
 * The contents of this file are subject to the Mozilla Public License Version 1.1\r
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
 package eu.etaxonomy.cdm.api.service;\r
 \r
 import java.util.List;\r
-import java.util.Set;\r
-import java.util.UUID;\r
 \r
 import org.apache.log4j.Logger;\r
-import org.hibernate.ObjectDeletedException;\r
 import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.stereotype.Service;\r
-import org.springframework.transaction.annotation.Propagation;\r
 import org.springframework.transaction.annotation.Transactional;\r
 \r
-import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;\r
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;\r
-import eu.etaxonomy.cdm.model.common.CdmBase;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
-import eu.etaxonomy.cdm.model.description.PolytomousKey;\r
-import eu.etaxonomy.cdm.model.name.NonViralName;\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.reference.Reference;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 import eu.etaxonomy.cdm.persistence.dao.common.ICdmGenericDao;\r
 import eu.etaxonomy.cdm.persistence.dao.reference.IReferenceDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;\r
 \r
 \r
 @Service\r
 @Transactional(readOnly = true)\r
 public class ReferenceServiceImpl extends IdentifiableServiceBase<Reference,IReferenceDao> implements IReferenceService {\r
-       \r
+\r
        static Logger logger = Logger.getLogger(ReferenceServiceImpl.class);\r
-         \r
+\r
        @Autowired\r
 private ICdmGenericDao genericDao;\r
        /**\r
@@ -50,9 +41,6 @@ private ICdmGenericDao genericDao;
                if (logger.isDebugEnabled()) { logger.debug("Load ReferenceService Bean"); }\r
        }\r
 \r
-       /* (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy)\r
-        */\r
        @Override\r
        @Transactional(readOnly = false)\r
     public void updateTitleCache(Class<? extends Reference> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<Reference> cacheStrategy, IProgressMonitor monitor) {\r
@@ -61,7 +49,7 @@ private ICdmGenericDao genericDao;
                }\r
                super.updateTitleCacheImpl(clazz, stepSize, cacheStrategy, monitor);\r
        }\r
-       \r
+\r
 \r
     @Override\r
     protected void setOtherCachesNull(Reference ref) {\r
@@ -71,42 +59,46 @@ private ICdmGenericDao genericDao;
     }\r
 \r
 \r
-       @Autowired\r
+       @Override\r
+    @Autowired\r
        protected void setDao(IReferenceDao dao) {\r
                this.dao = dao;\r
        }\r
 \r
-       public List<UuidAndTitleCache<Reference>> getUuidAndTitle() {\r
-               \r
+       @Override\r
+    public List<UuidAndTitleCache<Reference>> getUuidAndTitle() {\r
+\r
                return dao.getUuidAndTitle();\r
        }\r
-       \r
-       public List<Reference> getAllReferencesForPublishing(){\r
+\r
+       @Override\r
+    public List<Reference> getAllReferencesForPublishing(){\r
                return dao.getAllNotNomenclaturalReferencesForPublishing();\r
        }\r
 \r
-       public List<Reference> getAllNomenclaturalReferences() {\r
-               \r
+       @Override\r
+    public List<Reference> getAllNomenclaturalReferences() {\r
+\r
                return dao.getAllNomenclaturalReferences();\r
        }\r
 \r
        @Override\r
        public List<TaxonBase> listCoveredTaxa(Reference reference, boolean includeSubordinateReferences, List<String> propertyPaths) {\r
-               \r
+\r
                List<TaxonBase> taxonList = dao.listCoveredTaxa(reference, includeSubordinateReferences, null, propertyPaths);\r
-               \r
+\r
                return taxonList;\r
        }\r
-       \r
+\r
        @Override\r
        public DeleteResult delete(Reference reference) {\r
                //check whether the reference is used somewhere\r
                DeleteResult result = isDeletable(reference, null);\r
-               \r
+\r
                if (result.isOk()){\r
                        dao.delete(reference);\r
                }\r
-               \r
+\r
                return result;\r
        }\r
 }\r
index 75566cc5a3be1cc00daeb00d0e0fdaae2d2ef646..fcfa3d26de5ca8619d53576400365c8c46e203bd 100644 (file)
@@ -76,7 +76,6 @@ import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;
 import eu.etaxonomy.cdm.model.common.OriginalSourceType;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase;\r
 import eu.etaxonomy.cdm.model.common.RelationshipBase.Direction;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
@@ -123,6 +122,7 @@ import eu.etaxonomy.cdm.persistence.dao.name.ITaxonNameDao;
 import eu.etaxonomy.cdm.persistence.dao.occurrence.IOccurrenceDao;\r
 import eu.etaxonomy.cdm.persistence.dao.taxon.IClassificationDao;\r
 import eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.fetch.CdmFetch;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
@@ -232,12 +232,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return taxonRelTypeVocabulary;\r
     }\r
 \r
-\r
-\r
-    /*\r
-     * (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymWithAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym)\r
-     */\r
     @Override\r
     @Transactional(readOnly = false)\r
     public void swapSynonymAndAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon){\r
@@ -256,10 +250,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
     }\r
 \r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeSynonymToAcceptedTaxon(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)\r
-     */\r
-\r
     @Override\r
     @Transactional(readOnly = false)\r
     public Taxon changeSynonymToAcceptedTaxon(Synonym synonym, Taxon acceptedTaxon, boolean deleteSynonym, boolean copyCitationInfo, Reference citation, String microCitation) throws HomotypicalGroupChangeException{\r
@@ -332,10 +322,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return fromTaxon;\r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#changeHomotypicalGroupOfSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.name.HomotypicalGroup, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)\r
-     */\r
     @Transactional(readOnly = false)\r
     @Override\r
     public void changeHomotypicalGroupOfSynonym(Synonym synonym, HomotypicalGroup newHomotypicalGroup, Taxon targetTaxon,\r
@@ -396,10 +382,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
 \r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.IIdentifiableEntityService#updateTitleCache(java.lang.Integer, eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy)\r
-     */\r
     @Override\r
     @Transactional(readOnly = false)\r
     public void updateTitleCache(Class<? extends TaxonBase> clazz, Integer stepSize, IIdentifiableEntityCacheStrategy<TaxonBase> cacheStrategy, IProgressMonitor monitor) {\r
@@ -598,9 +580,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return taxa;\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)\r
-     */\r
     @Override\r
     public Pager<SynonymRelationship> getSynonyms(Taxon taxon, SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {\r
         Integer numberOfResults = dao.countSynonyms(taxon, type);\r
@@ -613,9 +592,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return new DefaultPagerImpl<SynonymRelationship>(pageNumber, numberOfResults, pageSize, results);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getSynonyms(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)\r
-     */\r
     @Override\r
     public Pager<SynonymRelationship> getSynonyms(Synonym synonym,     SynonymRelationshipType type, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {\r
         Integer numberOfResults = dao.countSynonyms(synonym, type);\r
@@ -628,9 +604,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return new DefaultPagerImpl<SynonymRelationship>(pageNumber, numberOfResults, pageSize, results);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)\r
-     */\r
     @Override\r
     public List<List<Synonym>> getSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths){\r
          List<List<Synonym>> result = new ArrayList<List<Synonym>>();\r
@@ -649,18 +622,12 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
 \r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHomotypicSynonymsByHomotypicGroup(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)\r
-     */\r
     @Override\r
     public List<Synonym> getHomotypicSynonymsByHomotypicGroup(Taxon taxon, List<String> propertyPaths){\r
         Taxon t = (Taxon)dao.load(taxon.getUuid(), propertyPaths);\r
         return t.getHomotypicSynonymsByHomotypicGroup();\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getHeterotypicSynonymyGroups(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List)\r
-     */\r
     @Override\r
     public List<List<Synonym>> getHeterotypicSynonymyGroups(Taxon taxon, List<String> propertyPaths){\r
         Taxon t = (Taxon)dao.load(taxon.getUuid(), propertyPaths);\r
@@ -692,9 +659,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return results;\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNames(eu.etaxonomy.cdm.api.service.config.ITaxonServiceConfigurator)\r
-     */\r
     @Override\r
     public Pager<IdentifiableEntity> findTaxaAndNames(IFindTaxaAndNamesConfigurator configurator) {\r
 \r
@@ -783,9 +747,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return dao.getUuidAndTitleCache();\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getAllMedia(eu.etaxonomy.cdm.model.taxon.Taxon, int, int, int, java.lang.String[])\r
-     */\r
     @Override\r
     public List<MediaRepresentation> getAllMedia(Taxon taxon, int size, int height, int widthOrDuration, String[] mimeTypes){\r
         List<MediaRepresentation> medRep = new ArrayList<MediaRepresentation>();\r
@@ -805,18 +766,11 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return medRep;\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listTaxonDescriptionMedia(eu.etaxonomy.cdm.model.taxon.Taxon, boolean)\r
-     */\r
     @Override\r
     public List<Media> listTaxonDescriptionMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships, boolean limitToGalleries, List<String> propertyPath){\r
         return listMedia(taxon, includeRelationships, limitToGalleries, true, false, false, propertyPath);\r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listMedia(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.Set, boolean, java.util.List)\r
-     */\r
     @Override\r
     public List<Media> listMedia(Taxon taxon, Set<TaxonRelationshipEdge> includeRelationships,\r
             Boolean limitToGalleries, Boolean includeTaxonDescriptions, Boolean includeOccurrences,\r
@@ -951,45 +905,26 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return taxonMedia;\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaByID(java.util.Set)\r
-     */\r
     @Override\r
     public List<TaxonBase> findTaxaByID(Set<Integer> listOfIDs) {\r
         return this.dao.listByIds(listOfIDs, null, null, null, null);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxonByUuid(UUID uuid, List<String> propertyPaths)\r
-     */\r
     @Override\r
     public TaxonBase findTaxonByUuid(UUID uuid, List<String> propertyPaths){\r
         return this.dao.findByUuid(uuid, null ,propertyPaths);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#countAllRelationships()\r
-     */\r
     @Override\r
     public int countAllRelationships() {\r
         return this.dao.countAllRelationships();\r
     }\r
 \r
-\r
-\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNames(java.util.List)\r
-     */\r
     @Override\r
     public List<TaxonNameBase> findIdenticalTaxonNames(List<String> propertyPath) {\r
         return this.dao.findIdenticalTaxonNames(propertyPath);\r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator)\r
-     */\r
     @Override\r
     public DeleteResult deleteTaxon(Taxon taxon, TaxonDeletionConfigurator config, Classification classification)  {\r
 \r
@@ -1301,11 +1236,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return result;\r
     }\r
 \r
-\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)\r
-     */\r
     @Transactional(readOnly = false)\r
     @Override\r
     public DeleteResult deleteSynonym(Synonym synonym, SynonymDeletionConfigurator config) {\r
@@ -1313,10 +1243,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
 \r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, boolean)\r
-     */\r
     @Transactional(readOnly = false)\r
     @Override\r
     public DeleteResult deleteSynonym(Synonym synonym, Taxon taxon, SynonymDeletionConfigurator config) {\r
@@ -1391,44 +1317,27 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
 \r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findIdenticalTaxonNameIds(java.util.List)\r
-     */\r
     @Override\r
     public List<TaxonNameBase> findIdenticalTaxonNameIds(List<String> propertyPath) {\r
 \r
         return this.dao.findIdenticalNamesNew(propertyPath);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getPhylumName(eu.etaxonomy.cdm.model.name.TaxonNameBase)\r
-     */\r
     @Override\r
     public String getPhylumName(TaxonNameBase name){\r
         return this.dao.getPhylumName(name);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon)\r
-     */\r
     @Override\r
     public long deleteSynonymRelationships(Synonym syn, Taxon taxon) {\r
         return dao.deleteSynonymRelationships(syn, taxon);\r
     }\r
 \r
-/* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym)\r
-     */\r
     @Override\r
     public long deleteSynonymRelationships(Synonym syn) {\r
         return dao.deleteSynonymRelationships(syn, null);\r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#listSynonymRelationships(eu.etaxonomy.cdm.model.taxon.TaxonBase, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List, eu.etaxonomy.cdm.model.common.RelationshipBase.Direction)\r
-     */\r
     @Override\r
     public List<SynonymRelationship> listSynonymRelationships(\r
             TaxonBase taxonBase, SynonymRelationshipType type, Integer pageSize, Integer pageNumber,\r
@@ -1442,9 +1351,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return results;\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingTaxon(java.lang.String)\r
-     */\r
     @Override\r
     public Taxon findBestMatchingTaxon(String taxonName) {\r
         MatchingTaxonConfigurator config = MatchingTaxonConfigurator.NewInstance();\r
@@ -1452,8 +1358,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return findBestMatchingTaxon(config);\r
     }\r
 \r
-\r
-\r
     @Override\r
     public Taxon findBestMatchingTaxon(MatchingTaxonConfigurator config) {\r
 \r
@@ -1562,9 +1466,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return configSecUuid.equals(taxonSecUuid);\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findBestMatchingSynonym(java.lang.String)\r
-     */\r
     @Override\r
     public Synonym findBestMatchingSynonym(String taxonName) {\r
         List<TaxonBase> synonymList = dao.findByNameTitleCache(false, true, taxonName, null, MatchMode.EXACT, null, 0, null, null);\r
@@ -1581,10 +1482,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return null;\r
     }\r
 \r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#moveSynonymToAnotherTaxon(eu.etaxonomy.cdm.model.taxon.SynonymRelationship, eu.etaxonomy.cdm.model.taxon.Taxon, boolean, eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType, eu.etaxonomy.cdm.model.reference.Reference, java.lang.String, boolean)\r
-     */\r
     @Override\r
     public SynonymRelationship moveSynonymToAnotherTaxon(SynonymRelationship oldSynonymRelation, Taxon newTaxon, boolean moveHomotypicGroup,\r
             SynonymRelationshipType newSynonymRelationshipType, Reference reference, String referenceDetail, boolean keepReference) throws HomotypicalGroupChangeException {\r
@@ -1664,25 +1561,16 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return result;\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheTaxon()\r
-     */\r
     @Override\r
     public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheTaxon() {\r
         return dao.getUuidAndTitleCacheTaxon();\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#getUuidAndTitleCacheSynonym()\r
-     */\r
     @Override\r
     public List<UuidAndTitleCache<TaxonBase>> getUuidAndTitleCacheSynonym() {\r
         return dao.getUuidAndTitleCacheSynonym();\r
     }\r
 \r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)\r
-     */\r
     @Override\r
     public Pager<SearchResult<TaxonBase>> findByFullText(\r
             Class<? extends TaxonBase> clazz, String queryString,\r
@@ -1845,12 +1733,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return luceneSearch;\r
     }\r
 \r
-\r
-\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findTaxaAndNamesByFullText(java.util.EnumSet, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.Set, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.Map)\r
-     */\r
     @Override\r
     public Pager<SearchResult<TaxonBase>> findTaxaAndNamesByFullText(\r
             EnumSet<TaxaAndNamesSearchMode> searchModes, String queryString, Classification classification,\r
@@ -2200,11 +2082,6 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
         return luceneSearch;\r
     }\r
 \r
-\r
-\r
-    /* (non-Javadoc)\r
-     * @see eu.etaxonomy.cdm.api.service.ITaxonService#findByDescriptionElementFullText(java.lang.Class, java.lang.String, eu.etaxonomy.cdm.model.taxon.Classification, java.util.List, java.util.List, boolean, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)\r
-     */\r
     @Override\r
     public Pager<SearchResult<TaxonBase>> findByDescriptionElementFullText(\r
             Class<? extends DescriptionElementBase> clazz, String queryString,\r
@@ -3070,6 +2947,7 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
                 return synonymRelationship.getSynonym();\r
 \r
     }\r
+\r
     @Override\r
     public DeleteResult isDeletable(TaxonBase taxonBase, DeleteConfiguratorBase config){\r
         DeleteResult result = new DeleteResult();\r
@@ -3098,6 +2976,7 @@ public class TaxonServiceImpl extends IdentifiableServiceBase<TaxonBase,ITaxonDa
 \r
         return result;\r
     }\r
+\r
     private DeleteResult isDeletableForTaxon(Set<CdmBase> references, TaxonDeletionConfigurator config){\r
         String message = null;\r
         DeleteResult result = new DeleteResult();\r
index 9523f4c32075e7ac3d446462bc7e63e4e8578328..dfd9f68f7b390e0560625319a171ec3d26dfee49 100644 (file)
@@ -9,13 +9,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;\r
 import org.springframework.transaction.annotation.Transactional;\r
 \r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptiveSystemRole;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
 import eu.etaxonomy.cdm.model.description.WorkingSet;\r
 import eu.etaxonomy.cdm.persistence.dao.description.IWorkingSetDao;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 \r
 @Service\r
 @Transactional(readOnly = false)\r
index a908f07b0b672d54507ab635d2c5e6d83b657608..dda885ca25daedd8420e87b572c61a8f30cea2ac 100644 (file)
@@ -17,9 +17,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import eu.etaxonomy.cdm.api.service.AnnotatableServiceBase;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
 import eu.etaxonomy.cdm.persistence.dao.molecular.IAmplificationDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
index 4aed5c8cac1ef3898e63b336fde58bd026b03b69..b4c43c5483f64c381b4a3c6f37b698f55e94e6c6 100644 (file)
@@ -13,8 +13,8 @@ import java.util.List;
 import java.util.UUID;
 
 import eu.etaxonomy.cdm.api.service.IAnnotatableService;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
@@ -29,5 +29,4 @@ public interface IAmplificationService extends IAnnotatableService<Amplification
      * @return a list of {@link UuidAndTitleCache}
      */
     public List<UuidAndTitleCache<Amplification>> getAmplificationUuidAndLabelCache();
-
 }
index 6c215f2004c0c2b0d0589ee2e219f1bb9938ffb0..db5fa73dfeb13bbc19aab0460d428f0803bb27b8 100644 (file)
@@ -13,8 +13,8 @@ import java.util.List;
 import java.util.UUID;
 
 import eu.etaxonomy.cdm.api.service.IAnnotatableService;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
@@ -29,5 +29,4 @@ public interface IPrimerService extends IAnnotatableService<Primer>{
      * @return a list of {@link UuidAndTitleCache}
      */
     public List<UuidAndTitleCache<Primer>> getPrimerUuidAndTitleCache();
-
 }
index e454dc2e9ab3bcb71811d9b24142efba174b283d..792e8361cfef50146d9619dd00cb05606365c612 100644 (file)
@@ -18,9 +18,9 @@ import org.springframework.transaction.annotation.Transactional;
 
 import eu.etaxonomy.cdm.api.service.AnnotatableServiceBase;
 import eu.etaxonomy.cdm.api.service.PreferenceServiceImpl;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Primer;
 import eu.etaxonomy.cdm.persistence.dao.molecular.IPrimerDao;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * @author pplitzner
@@ -30,22 +30,17 @@ import eu.etaxonomy.cdm.persistence.dao.molecular.IPrimerDao;
 @Service
 @Transactional(readOnly = true)
 public class PrimerServiceImpl extends AnnotatableServiceBase<Primer, IPrimerDao> implements IPrimerService{
+    @SuppressWarnings("unused")
     private static final Logger logger = Logger.getLogger(PreferenceServiceImpl.class);
 
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.IPrimerService#getPrimerUuidAndTitleCache()
-     */
     @Override
     public List<UuidAndTitleCache<Primer>> getPrimerUuidAndTitleCache() {
         return dao.getPrimerUuidAndTitleCache();
     }
 
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.cdm.api.service.ServiceBase#setDao(eu.etaxonomy.cdm.persistence.dao.common.ICdmEntityDao)
-     */
     @Override
     @Autowired
     protected void setDao(IPrimerDao dao) {
         this.dao = dao;
     }
-}
+}
\ No newline at end of file
index 0c1183f61688112e38ce6bc23c400a11c6a3af6e..59d55964973d57098fc11b87e024d4d0df2daf7a 100644 (file)
@@ -50,7 +50,6 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.description.CategoricalData;\r
 import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
@@ -78,6 +77,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;\r
index ff089f77786a453e6b3dbe339781cbdb08a24484..035473a24aa6294388ef3b9b0236d79a8abf50da 100644 (file)
@@ -19,8 +19,8 @@ import org.apache.log4j.Logger;
 import org.junit.Test;
 import org.unitils.spring.annotation.SpringBeanByType;
 
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
 import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
 
 /**
index 4c7b86f90d29d1cc3ef0e5b94a3ac31b2ed2a482..e2252a89b781f3e80ed06de8747f26de49a225b7 100644 (file)
@@ -23,8 +23,7 @@ import eu.etaxonomy.cdm.database.CdmDataSource;
 import eu.etaxonomy.cdm.database.DbSchemaValidation;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
-import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
-import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
 
 /**
  * <h2>NOTE</h2>