implement publish flag for TaxonBase and SpecimenOrObservationBase #1780 (testdata...
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 26 Jun 2013 13:12:58 +0000 (13:12 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 26 Jun 2013 13:12:58 +0000 (13:12 +0000)
cdmlib-ext/src/test/resources/dbscripts/001-cdm.h2.sql
cdmlib-ext/src/test/resources/eu/etaxonomy/cdm/ext/dataset.dtd
cdmlib-io/src/test/resources/dbscripts/001-cdm.h2.sql
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/occurrence/SpecimenOrObservationBase.java
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonBase.java
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/database/update/v31_33/SchemaUpdater_31_33.java
cdmlib-persistence/src/test/resources/dbscripts/001-cdm.h2.sql
cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/dataset.dtd
cdmlib-services/src/test/resources/dbscripts/001-cdm.h2.sql

index de4acfe0a371f47e27f7bce2e0ec64eeb21637d3..76eeb5f195ca352a12430c490ba4c68f5751242e 100644 (file)
@@ -3208,6 +3208,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN NOT NULL,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     ACCESSIONNUMBER VARCHAR(255),
     BARCODE VARCHAR(255),
@@ -3244,6 +3245,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE_AUD(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
@@ -3549,6 +3551,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN NOT NULL,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN NOT NULL,
     EXCLUDED BOOLEAN,
     TAXONSTATUSUNKNOWN BOOLEAN,
@@ -3579,6 +3582,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE_AUD(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
index 8bd842c7d37d863a64be7a5094bd257abd190637..373cd44b556ae015031c7d3532157d5017737f2d 100644 (file)
     TITLECACHE CDATA #IMPLIED
     BARCODE CDATA #IMPLIED
     GENBANKACCESSIONNUMBER CDATA #IMPLIED
-    GENBANKURI  CDATA #IMPLIED 
+    GENBANKURI CDATA #IMPLIED 
     CITATIONMICROREFERENCE CDATA #IMPLIED
     DATESEQUENCED CDATA #IMPLIED
     LENGTH CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
     BARCODE CDATA #IMPLIED
     GENBANKACCESSIONNUMBER CDATA #IMPLIED
-    GENBANKURI  CDATA #IMPLIED 
+    GENBANKURI CDATA #IMPLIED 
     CITATIONMICROREFERENCE CDATA #IMPLIED
     DATESEQUENCED CDATA #IMPLIED
     LENGTH CDATA #IMPLIED
     LSID CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     INDIVIDUALCOUNT CDATA #IMPLIED
     ACCESSIONNUMBER CDATA #IMPLIED
     CATALOGNUMBER CDATA #IMPLIED
     LSID CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     INDIVIDUALCOUNT CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
     DOUBTFUL CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     TAXONOMICCHILDRENCOUNT CDATA #IMPLIED
     TAXONSTATUSUNKNOWN CDATA #IMPLIED
     UNPLACED CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
     DOUBTFUL CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     TAXONSTATUSUNKNOWN CDATA #IMPLIED
     UNPLACED CDATA #IMPLIED
     EXCLUDED CDATA #IMPLIED
index de4acfe0a371f47e27f7bce2e0ec64eeb21637d3..76eeb5f195ca352a12430c490ba4c68f5751242e 100644 (file)
@@ -3208,6 +3208,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN NOT NULL,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     ACCESSIONNUMBER VARCHAR(255),
     BARCODE VARCHAR(255),
@@ -3244,6 +3245,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE_AUD(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
@@ -3549,6 +3551,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN NOT NULL,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN NOT NULL,
     EXCLUDED BOOLEAN,
     TAXONSTATUSUNKNOWN BOOLEAN,
@@ -3579,6 +3582,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE_AUD(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
index dd6a13a6ed8b94b731940c1fe0898f0ac1bfdf7c..792c03fe5fa00eefd2a0faa6eed505bec57e6d8f 100644 (file)
@@ -27,6 +27,7 @@ import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlIDREF;
@@ -68,6 +69,7 @@ import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "SpecimenOrObservationBase", propOrder = {
        "sex",
+       "publish",
     "individualCount",
     "lifeStage",
     "definition",
@@ -137,6 +139,29 @@ public abstract class SpecimenOrObservationBase<S extends IIdentifiableEntityCac
     @Cascade({CascadeType.SAVE_UPDATE, CascadeType.DELETE})
     @NotNull
        protected Set<DerivationEvent> derivationEvents = new HashSet<DerivationEvent>();
+    
+    @XmlAttribute(name = "publish")
+    private boolean publish = true;
+
+       /**
+        * Returns the boolean value indicating if this specimen or observation should be withheld 
+        * (<code>publish=false</code>) or not (<code>publish=true</code>) during any publication
+        * process to the general public.
+        * This publish flag implementation is preliminary and may be replaced by a more general 
+        * implementation of READ rights in future.<BR>
+        * The default value is <code>true</code>.
+        */
+       public boolean isPublish() {
+               return publish;
+       }
+
+       /**
+        * @see #isPublish()
+        * @param publish
+        */
+       public void setPublish(boolean publish) {
+               this.publish = publish;
+       }
 
        /**
         * Constructor
index 8094a160d36ceefed9fb66e67b0776aef64be971..321a8b8fdf7b169ff372e4258d2087f2862c50b7 100644 (file)
@@ -64,6 +64,7 @@ import eu.etaxonomy.cdm.validation.annotation.TaxonNameCannotBeAcceptedAndSynony
     "name",
     "sec",
     "doubtful",
+    "publish",
     "appendedPhrase",
     "useNameCache"
 })
@@ -93,6 +94,9 @@ public abstract class TaxonBase<S extends IIdentifiableEntityCacheStrategy> exte
     //The assignment to the Taxon or to the Synonym class is not definitive
     @XmlAttribute(name = "isDoubtful")
     private boolean doubtful;
+    
+    @XmlAttribute(name = "publish")
+    private boolean publish = true;
 
     @XmlElement(name = "Name", required = true)
     @XmlIDREF
@@ -229,6 +233,22 @@ public abstract class TaxonBase<S extends IIdentifiableEntityCacheStrategy> exte
     public void setDoubtful(boolean doubtful){
         this.doubtful = doubtful;
     }
+    
+
+       /**
+        * Returns the boolean value indicating if this taxon should be withheld (<code>publish=false</code>) or not 
+        * (<code>publish=true</code>) during any publication process to the general public.
+        * This publish flag implementation is preliminary and may be replaced by a more general 
+        * implementation of READ rights in future.<BR>
+        * The default value is <code>true</code>.
+        */
+       public boolean isPublish() {
+               return publish;
+       }
+
+       public void setPublish(boolean publish) {
+               this.publish = publish;
+       }
 
     /**
      * Returns the {@link eu.etaxonomy.cdm.model.reference.Reference reference} of <i>this</i> (abstract) taxon.
@@ -308,4 +328,5 @@ public abstract class TaxonBase<S extends IIdentifiableEntityCacheStrategy> exte
 
     }
 
+
 }
\ No newline at end of file
index f491050e3e6d1a6694ea30c3ee86fc07e9aad08b..370ba3f0903de5ef6e8d5a925baed266d449f8bd 100644 (file)
@@ -160,6 +160,21 @@ public class SchemaUpdater_31_33 extends SchemaUpdaterBase {
                step = ColumnRemover.NewInstance(stepName, tableName, oldColumnName, INCLUDE_AUDIT);
                stepList.add(step);
                
+               //add publish flag to taxon
+               stepName = "Add publish flag column to taxon base";
+               tableName = "TaxonBase";
+               columnName = "publish";
+               step = ColumnAdder.NewBooleanInstance(stepName, tableName, columnName, INCLUDE_AUDIT, true);
+               stepList.add(step);
+               
+               //add publish flag to specimen
+               stepName = "Add publish flag column to SpecimenOrObservationBase";
+               tableName = "SpecimenOrObservationBase";
+               columnName = "publish";
+               step = ColumnAdder.NewBooleanInstance(stepName, tableName, columnName, INCLUDE_AUDIT, true);
+               stepList.add(step);
+               
+               
                return stepList;
        }
 
index de4acfe0a371f47e27f7bce2e0ec64eeb21637d3..76eeb5f195ca352a12430c490ba4c68f5751242e 100644 (file)
@@ -3208,6 +3208,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN NOT NULL,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     ACCESSIONNUMBER VARCHAR(255),
     BARCODE VARCHAR(255),
@@ -3244,6 +3245,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE_AUD(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
@@ -3549,6 +3551,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN NOT NULL,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN NOT NULL,
     EXCLUDED BOOLEAN,
     TAXONSTATUSUNKNOWN BOOLEAN,
@@ -3579,6 +3582,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE_AUD(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
index 241953afe14de5484ad1ff15fdc53aa61b38bf0a..373cd44b556ae015031c7d3532157d5017737f2d 100644 (file)
     LSID CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     INDIVIDUALCOUNT CDATA #IMPLIED
     ACCESSIONNUMBER CDATA #IMPLIED
     CATALOGNUMBER CDATA #IMPLIED
     LSID CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     INDIVIDUALCOUNT CDATA #IMPLIED
     CREATEDBY_ID CDATA #IMPLIED
     UPDATEDBY_ID CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
     DOUBTFUL CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     TAXONOMICCHILDRENCOUNT CDATA #IMPLIED
     TAXONSTATUSUNKNOWN CDATA #IMPLIED
     UNPLACED CDATA #IMPLIED
     PROTECTEDTITLECACHE CDATA #IMPLIED
     TITLECACHE CDATA #IMPLIED
     DOUBTFUL CDATA #IMPLIED
+    PUBLISHED CDATA #IMPLIED
     TAXONSTATUSUNKNOWN CDATA #IMPLIED
     UNPLACED CDATA #IMPLIED
     EXCLUDED CDATA #IMPLIED
index de4acfe0a371f47e27f7bce2e0ec64eeb21637d3..76eeb5f195ca352a12430c490ba4c68f5751242e 100644 (file)
@@ -3208,6 +3208,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN NOT NULL,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     ACCESSIONNUMBER VARCHAR(255),
     BARCODE VARCHAR(255),
@@ -3244,6 +3245,7 @@ CREATE CACHED TABLE PUBLIC.SPECIMENOROBSERVATIONBASE_AUD(
     LSID_REVISION VARCHAR(255),
     PROTECTEDTITLECACHE BOOLEAN,
     TITLECACHE VARCHAR(255),
+    PUBLISH BOOLEAN,
     INDIVIDUALCOUNT INTEGER,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,
@@ -3549,6 +3551,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN NOT NULL,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN NOT NULL,
     EXCLUDED BOOLEAN,
     TAXONSTATUSUNKNOWN BOOLEAN,
@@ -3579,6 +3582,7 @@ CREATE CACHED TABLE PUBLIC.TAXONBASE_AUD(
     TITLECACHE VARCHAR(255),
     APPENDEDPHRASE VARCHAR(255),
     DOUBTFUL BOOLEAN,
+    PUBLISH BOOLEAN,
     USENAMECACHE BOOLEAN,
     CREATEDBY_ID INTEGER,
     UPDATEDBY_ID INTEGER,