(no commit message)
authorm.doering <m.doering@localhost>
Wed, 28 Nov 2007 16:14:40 +0000 (16:14 +0000)
committerm.doering <m.doering@localhost>
Wed, 28 Nov 2007 16:14:40 +0000 (16:14 +0000)
21 files changed:
.gitattributes
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/agent/Address.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/agent/InstitutionalMembership.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/Annotation.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/CdmBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/DefinedTermBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/Marker.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/RelationshipTermBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/Representation.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/common/TermBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/location/NamedArea.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/model/name/TypeDesignationBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/persistence/dao/TermVocabularyDaoHibernateImpl.java
cdmlibrary/src/main/resources/terms/ConceptRelationshipType.csv
cdmlibrary/src/main/resources/terms/HybridRelationshipType.csv
cdmlibrary/src/main/resources/terms/NameRelationshipType.csv
cdmlibrary/src/main/resources/terms/NomenclaturalStatusType.csv
cdmlibrary/src/main/resources/terms/README.TXT [new file with mode: 0644]
cdmlibrary/src/main/resources/terms/Rank.csv
cdmlibrary/src/main/resources/terms/SynonymRelationshipType.csv
cdmlibrary/src/main/resources/terms/TypeDesignationStatus.csv

index 0c87bffcb61a911f58bfeaba260ecf8c0159dd5a..619c97c86ff15b17cce00b079d0e35b6274161de 100644 (file)
@@ -256,6 +256,7 @@ cdmlibrary/src/main/resources/terms/ConceptRelationshipType.csv -text
 cdmlibrary/src/main/resources/terms/HybridRelationshipType.csv -text
 cdmlibrary/src/main/resources/terms/NameRelationshipType.csv -text
 cdmlibrary/src/main/resources/terms/NomenclaturalStatusType.csv -text
+cdmlibrary/src/main/resources/terms/README.TXT -text
 cdmlibrary/src/main/resources/terms/Rank.csv -text
 cdmlibrary/src/main/resources/terms/SynonymRelationshipType.csv -text
 cdmlibrary/src/main/resources/terms/TypeDesignationStatus.csv -text
index 60be5f45cfdc674a971f795aa648d644a2a0b39f..dc0d6cc643b0ee224b6167f6a1fd62a652953637 100644 (file)
@@ -47,6 +47,9 @@ public class Address extends VersionableEntity {
                return contact;
        }
        protected void setContact(Contact newContact) {
+               // Hibernate bidirectional cascade hack: 
+               // http://opensource.atlassian.com/projects/hibernate/browse/HHH-1054
+               if(this.contact == newContact) return;
                if (contact != null) { 
                        contact.addresses.remove(this);
                }
index 71c84cf863a117a7c15112e0aaca4ebfa70c044a..36cfebd3d8a57ab14ebfd2126529d0ecffe68f26 100644 (file)
@@ -52,6 +52,9 @@ public class InstitutionalMembership extends VersionableEntity {
                return person;
        }
        public void setPerson(Person newPerson) {
+               // Hibernate bidirectional cascade hack: 
+               // http://opensource.atlassian.com/projects/hibernate/browse/HHH-1054
+               if(this.person == newPerson) return;
                if (person != null) { 
                        person.institutionalMemberships.remove(this);
                }
index 4393bbaad3b5566e3d77cff371a963ff4a06d71e..0f348e10d70901d962240bd1fe5d6c917cd7314b 100644 (file)
@@ -37,6 +37,9 @@ public class Annotation extends LanguageString {
                return annotatedObj;
        }
        protected void setAnnotatedObj(AnnotatableEntity newAnnotatedObj) {
+               // Hibernate bidirectional cascade hack: 
+               // http://opensource.atlassian.com/projects/hibernate/browse/HHH-1054
+               if(this.annotatedObj == newAnnotatedObj) return;
                if (annotatedObj != null) { 
                        annotatedObj.annotations.remove(this);
                }
index ab9d0809c0cf38926b3fb5a19558a295c1be04f0..ccb5f72a94df09a12a984c741c52fb16f52a543e 100644 (file)
@@ -127,4 +127,10 @@ public abstract class CdmBase implements Serializable{
                }
                return false;
        }
+       
+       @Override
+       public String toString() {
+               return this.getClass().getSimpleName()+"#"+this.getUuid();
+       }
+       
 }
index 3f2e037d07bc3014dbcedc5991070650397cc996..743b31a8e212271d203d890ff13c2d5e1e4d510d 100644 (file)
@@ -115,6 +115,9 @@ public abstract class DefinedTermBase extends TermBase{
                return this.vocabulary;
        }
        public void setVocabulary(TermVocabulary newVocabulary) {
+               // Hibernate bidirectional cascade hack: 
+               // http://opensource.atlassian.com/projects/hibernate/browse/HHH-1054
+               if(this.vocabulary == newVocabulary) return;
                if (this.vocabulary != null) { 
                        this.vocabulary.terms.remove(this);
                }
index 7cbfec7144937b60a231a27d26b73cd03283279e..b4b400671eedd4bf17a6969f4c4b032985604194 100644 (file)
@@ -37,6 +37,9 @@ public class Marker extends VersionableEntity {
                return markedObj;
        }
        protected void setMarkedObj(AnnotatableEntity newMarkedObject) {
+               // Hibernate bidirectional cascade hack: 
+               // http://opensource.atlassian.com/projects/hibernate/browse/HHH-1054
+               if(this.markedObj == newMarkedObject) return;
                if (markedObj != null) { 
                        markedObj.markers.remove(this);
                }
index 5aa4e020de6e9609fb16b45642ec5daa646794f1..c2174abcec2d0b864a60cfd4799a40067a88009d 100644 (file)
@@ -59,11 +59,15 @@ public abstract class RelationshipTermBase extends OrderedTermBase {
                        Set<Representation> inverseRepresentations) {
                this.inverseRepresentations = inverseRepresentations;
        }
-       public void addRepresentation(Representation representation) {
-               this.inverseRepresentations.add(representation);
+       public void addInverseRepresentation(Representation inverseRepresentation) {
+               this.inverseRepresentations.add(inverseRepresentation);
        }
-       public void removeRepresentation(Representation representation) {
-               this.inverseRepresentations.remove(representation);
+       public void removeInverseRepresentation(Representation inverseRepresentation) {
+               this.inverseRepresentations.remove(inverseRepresentation);
+       }
+       public void addRepresentation(Representation representation, Representation inverseRepresentation) {
+               this.addRepresentation(representation);
+               this.addInverseRepresentation(inverseRepresentation);
        }
        
        @Transient
index b53290aff0080e6947021a1ba5db28034e317921..d9bf9c1d500f756689b72b25c165bb781255b540 100644 (file)
@@ -58,5 +58,14 @@ public class Representation extends LanguageString {
        protected void setDescription(String text) {
                super.setText(text);
        }
-               
+       
+       public String toString(){
+               // we dont need the language returned too, do we? 
+               return getLabel();
+//             if(getLanguage()==null || getLanguage().getLabel()==null){
+//                     return getLabel();
+//             }else{
+//                     return getLabel()+"("+ getLanguage().getLabel()+")";
+//             }
+       }
 }
\ No newline at end of file
index 128fda805400acfae129f40e961d718722e0d94a..a7f10f75832a3a58395b0baaed6441bff4997270 100644 (file)
@@ -49,7 +49,7 @@ public abstract class TermBase extends VersionableEntity {
        @Transient
        public Representation getRepresentation(Language lang) {
                for (Representation repr : representations){
-                       if (repr.getLanguage() == lang){
+                       if (repr.getLanguage().equals(lang)){
                                return repr;
                        }
                }
@@ -64,31 +64,30 @@ public abstract class TermBase extends VersionableEntity {
                this.uri = uri;
        }
 
-       public String toString() {
-               String result="DT<"+uri+">:";
-               for (Representation r : representations){
-                       result += r.getLabel()+"("+r.getLanguage().getTermLabel()+")";
-               }
-               return result;
-       }
-
        @Transient
-       public String getTermLabel() {
-               return this.getRepresentation(Language.DEFAULT()).getLabel();
+       public String getLabel() {
+               if(getLabel(Language.DEFAULT())!=null){
+                       return this.getRepresentation(Language.DEFAULT()).getLabel();
+               }else{
+                       for (Representation r : representations){
+                               return r.getLabel();
+                       }                       
+               }
+               return super.getUuid();
        }
 
        @Transient
-       public String getTermLabel(Language lang) {
+       public String getLabel(Language lang) {
                return this.getRepresentation(lang).getLabel();
        }
 
        @Transient
-       public String getTermText() {
+       public String getDescription() {
                return this.getRepresentation(Language.DEFAULT()).getLabel();
        }
 
        @Transient
-       public String getTermText(Language lang) {
+       public String getDescription(Language lang) {
                return this.getRepresentation(lang).getLabel();
        }
 
@@ -103,4 +102,13 @@ public abstract class TermBase extends VersionableEntity {
                return false;
        }
 
+       @Override
+       public String toString() {
+               String result="DT<"+uri+">:";
+               for (Representation r : representations){
+                       result += r.toString();
+               }
+               return result;
+       }
+
 }
index 5eb001b304ad5ddfe99fd4fba6e859be4dabe0c9..fdd2615c0fda977438f3add52176e0995e96b096 100644 (file)
@@ -30,8 +30,6 @@ import javax.persistence.*;
 @Entity
 public class NamedArea extends OrderedTermBase {
        static Logger logger = Logger.getLogger(NamedArea.class);
-       //description of this area
-       private String description;
        //description of time valid context of this area. e.g. year range
        private TimePeriod validPeriod;
        //Binary shape definition for user's defined area as polygon
@@ -66,13 +64,6 @@ public class NamedArea extends OrderedTermBase {
                this.level = level;
        }
 
-       public String getDescription(){
-               return this.description;
-       }
-       public void setDescription(String description){
-               this.description = description;
-       }
-
        public TimePeriod getValidPeriod(){
                return this.validPeriod;
        }
index c9c3e585181c4dc4e04d30a31d1d78938ce61506..89d015541be960dc556489e0a6e6de45d8d12944 100644 (file)
@@ -34,6 +34,9 @@ public abstract class TypeDesignationBase extends ReferencedEntityBase {
        }
 
        public void setTypifiedName(TaxonNameBase newTypifiedName) {
+               // Hibernate bidirectional cascade hack: 
+               // http://opensource.atlassian.com/projects/hibernate/browse/HHH-1054
+               if(this.typifiedName == newTypifiedName) return;
                if (typifiedName != null) { 
                        typifiedName.typeDesignations.remove(this);
                }
index 5c7925531261447834145ca35dc67a27d654b1c2..c635a261b4e83e43752782c907b7380aa1a06e1d 100644 (file)
@@ -50,7 +50,6 @@ public class TermVocabularyDaoHibernateImpl extends DaoBase<TermVocabulary> impl
                                                term.setVocabulary(voc);
                                                term.addRepresentation(new Representation(nextLine[1].trim(), nextLine[1].trim(), Language.DEFAULT()));
                                                logger.debug("Created term: "+term.toString());
-                                               //this.saveCdmObj(term);
                                        }
                                } catch (IOException e) {
                                        // TODO Auto-generated catch block
index 39346d735b7d4682569e97b6cd2bae45b67fd235..c2fbee30cf7f4fa85f68df7ed9f5f7060edd4e8a 100644 (file)
@@ -1,4 +1,3 @@
-UUID   Term    Inverseterm     Symetric        Transitive
        Taxonomically Included in       Taxonomically Includes          *
        Misapplied Name for     Has Misapplied Name             
        Invalid Designation for Has Invalid Designation         
index d1b303c0ccb93589f767ec33b33eab07ba7f6054..f91a38c95ffcd52004f1cab7eb8eb4d93866a9b0 100644 (file)
@@ -1,4 +1,3 @@
-Uuid   Term    Inverseterm     Symetric        Transitive
        First Parent    Child           
        Second Parent   Child           
        Female Parent   Child           
index 03dba254bf5861c431d003e878ca88326432ff96..6df217638a217abfa81e6f7f0df4411d3100d409 100644 (file)
@@ -1,4 +1,3 @@
-Uuid   Term    Inverseterm     Symetric        Transitive
        Orthographic Variant            *       *
        Later Homonym   Ealier Homonym          *
        Treated As Later Homonym        Treated As Earlier Homonym              
@@ -7,10 +6,4 @@ Uuid   Term    Inverseterm     Symetric        Transitive
        Replaced Synonym        New Name                
        Conserved Against       Rejected in Favour              
        Validated by Name       Validating Name         
-       Later Validated by Name Later Validating Name           
-
-Hybridrelationshiptype                         
-       First Parent    Child           
-       Second Parent   Child           
-       Female Parent   Child           
-       Male Parent     Child
\ No newline at end of file
+       Later Validated by Name Later Validating Name           
\ No newline at end of file
index 832321384c193dfbaab3467f506c7a9478575429..d0c80437cb09656a8ffff2cfc8f7af1e4774d22b 100644 (file)
@@ -1,4 +1,3 @@
-Uuid   Term
        Ambiguous
        Doubtful
        Confusum
diff --git a/cdmlibrary/src/main/resources/terms/README.TXT b/cdmlibrary/src/main/resources/terms/README.TXT
new file mode 100644 (file)
index 0000000..820fbce
--- /dev/null
@@ -0,0 +1,4 @@
+The format for all term files is a simple CSV file, preferrably tab separated, with the following columns for each term (=row):
+UUID   Term    InverseTerm     Symmetric       Transitive
+
+For the boolean symmetric or transetive use any non whitespace character, e.g. *
\ No newline at end of file
index a17dcb780b41d10bd7230a76b96fcbbfee3ec184..27cdcf18a72bb63e9a7f053e01e299a2cd4f8df6 100644 (file)
@@ -1,4 +1,3 @@
-Uuid   Term
        Empire
        Domain
        Super Kingdom
index a4a609561520f005fc92677a4b04a33711974445..76e7754935462f926c5c5f88b8ab16ed41d64d35 100644 (file)
@@ -1,4 +1,3 @@
-UUID   Term
        Synonym of
        Pro Parte Synonym of
        Partial Synonym of
index de7260e9b88c5ae8867f0e5219884da1d3342421..28b3aa6da424bd90a2b4481e34cd5c566b00fd92 100644 (file)
@@ -1,4 +1,3 @@
-UUID   Term
        Holotype
        Lectotype
        Neotype