(no commit message)
authorm.doering <m.doering@localhost>
Fri, 14 Dec 2007 14:09:04 +0000 (14:09 +0000)
committerm.doering <m.doering@localhost>
Fri, 14 Dec 2007 14:09:04 +0000 (14:09 +0000)
16 files changed:
.gitattributes
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/agent/Agent.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/agent/Person.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/agent/Team.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IMediaDocumented.java [new file with mode: 0644]
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IdentifiableEntity.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IdentifyableMediaEntity.java [new file with mode: 0644]
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/molecular/Sequence.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/occurrence/Collection.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/occurrence/SpecimenOrObservationBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/reference/ReferenceBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/taxon/Taxon.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/persistence/dao/common/CdmEntityDaoBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/persistence/dao/common/DefinedTermDaoImpl.java
cdmlibrary/src/test/java/eu/etaxonomy/cdm/test/function/Datasource.java
cdmlibrary/src/test/java/eu/etaxonomy/cdm/test/function/SpringControl.java

index d679be6c08b4ad95ad18bbf1e3768affbcad3e13..41033ce932eb804db6e2ba30633fc27392c564ae 100644 (file)
@@ -127,9 +127,11 @@ cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/ExtensionType.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/Figure.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IDefTerm.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IEvent.java -text
+cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IMediaDocumented.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IOriginalSource.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IReferencedEntity.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IdentifiableEntity.java -text
+cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IdentifyableMediaEntity.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/ImageFile.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/Keyword.java -text
 cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/Language.java -text
index 7df3db3bf3946f8798a371817f25aba92ac6b78b..bf8ca52718222b3d5d413d75a469e20b16a2af34 100644 (file)
@@ -1,20 +1,21 @@
 package eu.etaxonomy.cdm.model.agent;
 
+import java.util.HashSet;
+import java.util.Set;
+
 import javax.persistence.Entity;
+import javax.persistence.OneToMany;
+
+import org.hibernate.annotations.Cascade;
+import org.hibernate.annotations.CascadeType;
 
+import eu.etaxonomy.cdm.model.common.IMediaDocumented;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.IdentifyableMediaEntity;
+import eu.etaxonomy.cdm.model.common.Media;
 
 @Entity
-public class Agent extends IdentifiableEntity {
-
-       public Agent() {
-               // TODO Auto-generated constructor stub
-       }
-
-       @Override
-       public String generateTitle() {
-               // TODO Auto-generated method stub
-               return null;
-       }
+public abstract class Agent extends IdentifyableMediaEntity{
+       
 
 }
index 95fee494c4401b564d92618c96f2af378203ab7f..ff8ff3310730d81bdcf70c138d2b119901ec7486 100644 (file)
@@ -29,12 +29,8 @@ import javax.persistence.*;
  */
 @Entity
 public class Person extends Agent {
-       public Person() {
-               super();
-               // TODO Auto-generated constructor stub
-       }
-       
        static Logger logger = Logger.getLogger(Person.class);
+
        //e.g. the title
        private String prefix;
        //All other names not included in the surname. May be just initials, all forenames in full or a combination of expanded
@@ -46,7 +42,7 @@ public class Person extends Agent {
        private String suffix;
        //The period for which this person was alive represented as a TimePeriod datatype, i.e. start - end date. Alternative
        //suggestion as a flexible String. the form birthdate - deathdate (XXXX - YYYY; XXXX - or - YYYY as appropriate) is
-       //prefered, or as simple flourished date (fl. XXXX) may be given where that is all that is known
+       //preferred, or as simple flourished date (fl. XXXX) may be given where that is all that is known
        private TimePeriod lifespan;
        protected Set<InstitutionalMembership> institutionalMemberships;
        private Contact contact;
index 12e29aaa4e4a3132f7969cb125f9e17ea3e89821..a4cd3b1aaaea0e3abc946fce76a9117bbfd87b6b 100644 (file)
@@ -50,4 +50,10 @@ public class Team extends Agent {
                this.teamMembers.remove(person);
        }
 
+       @Override
+       public String generateTitle() {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
 }
\ No newline at end of file
diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IMediaDocumented.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IMediaDocumented.java
new file mode 100644 (file)
index 0000000..e8244dd
--- /dev/null
@@ -0,0 +1,7 @@
+package eu.etaxonomy.cdm.model.common;
+
+import java.util.Set;
+
+public interface IMediaDocumented {
+       public Set<Media> getMedia();
+}
index 70012d517d50c58129b2adf76f54d5e4077e49e6..1d034ac956a8401e892b98cbeeaec5855fa00c18 100644 (file)
@@ -26,7 +26,6 @@ import javax.persistence.*;
  * @created 08-Nov-2007 13:06:27
  */
 @MappedSuperclass
-@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
 public abstract class IdentifiableEntity<T extends IdentifiableEntity> extends AnnotatableEntity<T> implements IOriginalSource {
        static Logger logger = Logger.getLogger(IdentifiableEntity.class);
 
@@ -38,10 +37,6 @@ public abstract class IdentifiableEntity<T extends IdentifiableEntity> extends A
        private Set<Extension> extensions = new HashSet();
        private Set<OriginalSource> sources = new HashSet();
 
-       public IdentifiableEntity() {
-               super();
-       }
-       
        
        public String getLsid(){
                return this.lsid;
diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IdentifyableMediaEntity.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/IdentifyableMediaEntity.java
new file mode 100644 (file)
index 0000000..e96b415
--- /dev/null
@@ -0,0 +1,35 @@
+package eu.etaxonomy.cdm.model.common;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.persistence.MappedSuperclass;
+import javax.persistence.OneToMany;
+
+import org.apache.log4j.Logger;
+import org.hibernate.annotations.Cascade;
+import org.hibernate.annotations.CascadeType;
+
+@MappedSuperclass
+public abstract class IdentifyableMediaEntity extends IdentifiableEntity implements IMediaDocumented{
+       static Logger logger = Logger.getLogger(IdentifyableMediaEntity.class);
+
+       private Set<Media> media = new HashSet();
+       
+       
+       @OneToMany
+       @Cascade({CascadeType.SAVE_UPDATE})
+       public Set<Media> getMedia() {
+               return media;
+       }
+       protected void setMedia(Set<Media> media) {
+               this.media = media;
+       }
+       public void addMedia(Media media) {
+               this.media.add(media);
+       }
+       public void removeMedia(Media media) {
+               this.media.remove(media);
+       }
+
+}
index b8c6dc9953541f4724b87514fd0e8720540171b1..70d6132b3776c76f39b12f4100ff80ecc7c45970 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.cdm.model.molecular;
 
 
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
+import eu.etaxonomy.cdm.model.common.IMediaDocumented;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.Media;
 import eu.etaxonomy.cdm.model.common.IReferencedEntity;
@@ -26,7 +27,7 @@ import javax.persistence.*;
  * @created 08-Nov-2007 13:06:51
  */
 @Entity
-public class Sequence extends IdentifiableEntity implements IReferencedEntity {
+public class Sequence extends IdentifiableEntity implements IReferencedEntity, IMediaDocumented{
        static Logger logger = Logger.getLogger(Sequence.class);
        //the sequence as a string of base pairs. 5'->3'
        private String sequence;
@@ -107,6 +108,11 @@ public class Sequence extends IdentifiableEntity implements IReferencedEntity {
        public void removeChromatogram(Media chromatogram) {
                this.chromatograms.remove(chromatogram);
        }
+       
+       @Transient
+       public Set<Media> getMedia() {
+               return getChromatograms();
+       }
 
        
        public String getSequence(){
index 888f6e400a28296910838a339851c105ef794dcc..02d7626ae1751a089d7321912e61d4b1c67ef57c 100644 (file)
@@ -11,12 +11,17 @@ package eu.etaxonomy.cdm.model.occurrence;
 
 
 import eu.etaxonomy.cdm.model.agent.Institution;
+import eu.etaxonomy.cdm.model.common.IMediaDocumented;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.IdentifyableMediaEntity;
+import eu.etaxonomy.cdm.model.common.Media;
+
 import org.apache.log4j.Logger;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
 import java.util.*;
+
 import javax.persistence.*;
 
 /**
@@ -25,7 +30,7 @@ import javax.persistence.*;
  * @created 08-Nov-2007 13:06:16
  */
 @Entity
-public class Collection extends IdentifiableEntity {
+public class Collection extends IdentifyableMediaEntity{
        static Logger logger = Logger.getLogger(Collection.class);
        private String code;
        private String codeStandard;
@@ -33,7 +38,8 @@ public class Collection extends IdentifiableEntity {
        private String townOrLocation;
        private Institution institute;
        private Collection superCollection;
-
+       
+       
        @ManyToOne
        @Cascade({CascadeType.SAVE_UPDATE})
        public Institution getInstitute(){
@@ -109,5 +115,5 @@ public class Collection extends IdentifiableEntity {
        public void setSuperCollection(Collection superCollection) {
                this.superCollection = superCollection;
        }
-
+       
 }
\ No newline at end of file
index 93eae73d780a9165d6610c64ce4883cbb9c6cbe8..b8716c280d9dedbfd4d8d6020ea116acabb6c181 100644 (file)
@@ -15,6 +15,8 @@ import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.agent.Agent;
 import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.cdm.model.common.IMediaDocumented;
+import eu.etaxonomy.cdm.model.common.IdentifyableMediaEntity;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.Media;
@@ -40,9 +42,8 @@ import javax.persistence.*;
  */
 @Entity
 @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
-public abstract class SpecimenOrObservationBase extends IdentifiableEntity {
+public abstract class SpecimenOrObservationBase extends IdentifyableMediaEntity{
        static Logger logger = Logger.getLogger(SpecimenOrObservationBase.class);
-       private Set<Media> media = new HashSet();
        private Set<SpecimenDescription> descriptions = new HashSet();
        private Set<DeterminationEvent> determinations = new HashSet();
        private Sex sex;
@@ -107,21 +108,6 @@ public abstract class SpecimenOrObservationBase extends IdentifiableEntity {
                this.lifeStage = lifeStage;
        }
        
-       @OneToMany
-       @Cascade({CascadeType.SAVE_UPDATE})
-       public Set<Media> getMedia() {
-               return media;
-       }
-       protected void setMedia(Set<Media> media) {
-               this.media = media;
-       }
-       public void addMedia(Media media) {
-               this.media.add(media);
-       }
-       public void removeMedia(Media media) {
-               this.media.remove(media);
-       }
-
        
        public String generateTitle(){
                return "";
index bd7d5029812daca9c75e125eec469e1c7de98f49..0da77b09c37c50594dc1532aa231509e9ee1f7ee 100644 (file)
@@ -12,12 +12,17 @@ package eu.etaxonomy.cdm.model.reference;
 
 import eu.etaxonomy.cdm.model.agent.Agent;
 import eu.etaxonomy.cdm.model.agent.Team;
+import eu.etaxonomy.cdm.model.common.IMediaDocumented;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.model.common.IdentifyableMediaEntity;
+import eu.etaxonomy.cdm.model.common.Media;
+
 import org.apache.log4j.Logger;
 import org.hibernate.annotations.Cascade;
 import org.hibernate.annotations.CascadeType;
 
 import java.util.*;
+
 import javax.persistence.*;
 
 /**
@@ -28,7 +33,7 @@ import javax.persistence.*;
  * @created 08-Nov-2007 13:06:47
  */
 @Entity
-public abstract class ReferenceBase extends IdentifiableEntity {
+public abstract class ReferenceBase extends IdentifyableMediaEntity{
        static Logger logger = Logger.getLogger(ReferenceBase.class);
        //URIs like DOIs, LSIDs or Handles for this reference
        private String uri;
@@ -36,7 +41,6 @@ public abstract class ReferenceBase extends IdentifiableEntity {
        //nomenclatural reference in a name this flag should be automatically set
        private boolean isNomenclaturallyRelevant;
        private Agent authorTeam;
-
        
        @ManyToOne
        @Cascade({CascadeType.SAVE_UPDATE})
@@ -51,11 +55,6 @@ public abstract class ReferenceBase extends IdentifiableEntity {
        public String getUri(){
                return this.uri;
        }
-
-       /**
-        * 
-        * @param uri    uri
-        */
        public void setUri(String uri){
                this.uri = uri;
        }
index af380d1a685f7a2829e4aa19e3c920ae15cb6158..98847d91a172a8f4c0ce52333909fe634bc1fd0c 100644 (file)
@@ -153,6 +153,14 @@ public class Taxon extends TaxonBase {
                // FIXME: need to sort synonyms according to type!!!
                return getSynonyms();
        }
+       @Transient
+       public Set<TaxonNameBase> getSynonymNames(){
+               Set<TaxonNameBase> names = new HashSet();
+               for (SynonymRelationship rel: this.getSynonymRelations()){
+                       names.add(rel.getSynoynm().getName());
+               }
+               return names;
+       }
        
        @Transient
        public void addSynonym(Synonym synonym, SynonymRelationshipType synonymType){
index 0123e0ac4ced2c3bd486cfe1e009e1bcf8e1f3dc..f948906495e054eff6ece0eced1dabdbf97f2ec1 100644 (file)
@@ -36,8 +36,6 @@ public abstract class CdmEntityDaoBase<T extends CdmBase> extends DaoBase implem
                logger.debug("Creating DAO of type [" + type.getSimpleName() + "]");\r
        }\r
        \r
-       \r
-       \r
        public String saveCdmObj(CdmBase cdmObj) throws DataAccessException  {\r
                getSession().saveOrUpdate(cdmObj);\r
                return cdmObj.getUuid();\r
index c5dd340cd0f7f99c7d5d49fc61c20cb82fa2a024..2fbd7bb9962935141a3aaf7c96c7c58c2769de48 100644 (file)
@@ -15,9 +15,6 @@ public class DefinedTermDaoImpl extends CdmEntityDaoBase<DefinedTermBase> implem
 
        public DefinedTermDaoImpl() {
                super(DefinedTermBase.class);
-               // add reference to static DefindTermBase class
-               // Spring cant inject static properties...
-               //DefinedTermBase.setDao(this);
        }
 
        public List<DefinedTermBase> findByTitle(String queryString) {
index be2c2e29fb8f825f6de0c7fa48f40739454b7fa9..44e04488ebddca479a3404097b4fec5e1a21df92 100644 (file)
@@ -11,6 +11,7 @@ import eu.etaxonomy.cdm.database.CdmDataSource;
 import eu.etaxonomy.cdm.database.DataSourceNotFoundException;\r
 import eu.etaxonomy.cdm.database.DatabaseTypeEnum;\r
 import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.name.BotanicalName;\r
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 \r
@@ -63,7 +64,7 @@ public class Datasource {
                CdmDataSource ds = CdmDataSource.save("testSqlServer", databaseTypeEnum, server, database, username, password);\r
                try {\r
                        CdmApplicationController appCtr = new CdmApplicationController(ds);\r
-                       Agent agent = new Agent();\r
+                       Person agent = new Person();\r
                        appCtr.getAgentService().saveAgent(agent);\r
                        TaxonNameBase tn = new BotanicalName(null);\r
                        appCtr.getNameService().saveTaxonName(tn);\r
@@ -82,7 +83,7 @@ public class Datasource {
                CdmDataSource ds = CdmDataSource.save("PostgreTest", databaseTypeEnum, server, database, username, password);\r
                try {\r
                        CdmApplicationController appCtr = new CdmApplicationController(ds);\r
-                       Agent agent = new Agent();\r
+                       Person agent = new Person();\r
                        appCtr.getAgentService().saveAgent(agent);\r
                        TaxonNameBase tn = new BotanicalName(null);\r
                        appCtr.getNameService().saveTaxonName(tn);\r
index 5a207680ef7324174412a7fea2162ae9396370a3..91db82f1b45b8c2023ebf570f93f486a6d814069 100644 (file)
@@ -3,15 +3,21 @@
 \r
 package eu.etaxonomy.cdm.test.function;\r
 \r
+import java.util.List;\r
+\r
 import org.apache.log4j.Logger;\r
 \r
 import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
 import eu.etaxonomy.cdm.api.service.DatabaseServiceHibernateImpl;\r
 import eu.etaxonomy.cdm.api.service.ITermService;\r
 import eu.etaxonomy.cdm.aspectj.PropertyChangeTest;\r
-import eu.etaxonomy.cdm.model.agent.Agent;\r
+import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
-import eu.etaxonomy.cdm.model.name.*;\r
+import eu.etaxonomy.cdm.model.name.BotanicalName;\r
+import eu.etaxonomy.cdm.model.name.NonViralName;\r
+import eu.etaxonomy.cdm.model.name.Rank;\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
 import eu.etaxonomy.cdm.model.reference.Journal;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.cdm.model.taxon.Synonym;\r
@@ -19,8 +25,6 @@ import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
 \r
-import java.util.*;\r
-\r
 \r
 \r
 public class SpringControl {\r
@@ -58,7 +62,7 @@ public class SpringControl {
                tn3.getUninomial();\r
                \r
                logger.info("Create new Author agent...");\r
-               Agent team= new Agent();\r
+               Person team= new Person();\r
                team.addPropertyChangeListener(listener);\r
                team.setTitleCache("AuthorAgent1");\r
                tn.setCombinationAuthorTeam(team);\r