created a structure for the odf print publishing
authors.buers <s.buers@localhost>
Wed, 7 Aug 2013 09:47:20 +0000 (09:47 +0000)
committers.buers <s.buers@localhost>
Wed, 7 Aug 2013 09:47:20 +0000 (09:47 +0000)
.gitattributes
cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/IOdfEntityCollector.java [new file with mode: 0644]
cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfConfigurator.java [new file with mode: 0644]
cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfFactory.java [new file with mode: 0644]
cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfLocalEntityCollector.java [new file with mode: 0644]
cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfPublisher.java [new file with mode: 0644]
cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfRemoteEntityCollector.java [new file with mode: 0644]

index 253134dc28c214a67f087e2fa902006c4632e616..e6ca4eed569b2d69ab163a8486798a2e92454ecc 100644 (file)
@@ -1610,6 +1610,12 @@ cdmlib-persistence/src/test/resources/log4j.properties -text
 cdmlib-persistence/src/test/resources/unitils.properties -text
 cdmlib-print/build.properties -text
 cdmlib-print/pom.xml -text
+cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/IOdfEntityCollector.java -text
+cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfConfigurator.java -text
+cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfFactory.java -text
+cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfLocalEntityCollector.java -text
+cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfPublisher.java -text
+cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfRemoteEntityCollector.java -text
 cdmlib-print/src/main/java/eu/etaxonomy/cdm/print/IXMLElements.java -text
 cdmlib-print/src/main/java/eu/etaxonomy/cdm/print/IXMLEntityFactory.java -text
 cdmlib-print/src/main/java/eu/etaxonomy/cdm/print/LocalXMLEntityFactory.java -text
diff --git a/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/IOdfEntityCollector.java b/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/IOdfEntityCollector.java
new file mode 100644 (file)
index 0000000..7993f5a
--- /dev/null
@@ -0,0 +1,6 @@
+package eu.etaxonomy.cdm.odfprint;
+
+public interface IOdfEntityCollector {
+
+       
+}
diff --git a/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfConfigurator.java b/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfConfigurator.java
new file mode 100644 (file)
index 0000000..fd5b54a
--- /dev/null
@@ -0,0 +1,113 @@
+package eu.etaxonomy.cdm.odfprint;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+
+public class OdfConfigurator {
+       
+       //-------- parameters----------
+
+       private boolean remote;
+       
+       
+       //TODO find out, what kind of result this parameter should produce
+       private boolean allInOne;
+       
+       private List<UUID> nodesToPublish = new ArrayList<UUID>();
+       
+       private String webserviceUrl;
+       
+       private String exportFile;
+       
+       
+       // ------- getters and setters ----------
+       
+       public String getExportFile() {
+               return exportFile;
+       }
+
+       public void setExportFile(String exportFile) {
+               this.exportFile = exportFile;
+       }
+
+       public boolean isAllInOne() {
+               return allInOne;
+       }
+       
+       public boolean isSeprateDocs(){
+               return !allInOne;
+       }
+
+       public void setAllInOne() {
+               this.allInOne = true;
+       }
+
+       public boolean setSeprateDocs(){
+               return !allInOne;
+       }
+       
+       public String getWebserviceUrl() {
+               return webserviceUrl;
+       }
+
+       public void setNodesToPublish(List<UUID> nodesToPublish) {
+               this.nodesToPublish = nodesToPublish;
+       }
+       
+       public boolean isRemote() {
+               return remote;
+       }
+
+       public void setRemote() {
+               this.remote = true;
+       }
+
+       public boolean isLocal() {
+               return !remote;
+       }
+
+
+       public void setLocal() {
+               this.remote = false;
+       }
+
+       public void setWebserviceUrl(String Url){
+               this.webserviceUrl=Url;
+               
+       }
+       
+       //--------------------------------------------------
+       
+       public void addNodesToPublish(UUID taxonNodeUUID) {
+               this.nodesToPublish.add(taxonNodeUUID);
+       }
+       
+       public static OdfConfigurator getDefaultConfigurator(){
+               //TODO
+               return new OdfConfigurator();
+       }
+       
+
+
+       public List<UUID> getNodesToPublish() {
+               // TODO Auto-generated method stub
+               return this.nodesToPublish;
+       }
+
+       public IOdfEntityCollector getEntityCollector() {
+               if (remote) {
+                       return new OdfRemoteEntityCollector();
+               }
+               else
+                       return new OdfLocalEntityCollector();
+       }
+
+       public OdfFactory newOdfFactory() {
+               return new OdfFactory();
+       }
+       
+}
diff --git a/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfFactory.java b/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfFactory.java
new file mode 100644 (file)
index 0000000..87f3f45
--- /dev/null
@@ -0,0 +1,5 @@
+package eu.etaxonomy.cdm.odfprint;
+
+public class OdfFactory {
+
+}
diff --git a/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfLocalEntityCollector.java b/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfLocalEntityCollector.java
new file mode 100644 (file)
index 0000000..00d86de
--- /dev/null
@@ -0,0 +1,9 @@
+package eu.etaxonomy.cdm.odfprint;
+
+import java.util.UUID;
+
+public class OdfLocalEntityCollector implements IOdfEntityCollector {
+
+
+
+}
diff --git a/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfPublisher.java b/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfPublisher.java
new file mode 100644 (file)
index 0000000..2a81df3
--- /dev/null
@@ -0,0 +1,59 @@
+package eu.etaxonomy.cdm.odfprint;
+
+import java.util.UUID;
+import org.odftoolkit.simple.TextDocument;
+import org.apache.log4j.Logger;
+
+public class OdfPublisher {
+
+       private static final Logger logger = Logger.getLogger(OdfPublisher.class);
+
+       private OdfConfigurator configurator;
+       private IOdfEntityCollector entityCollector;
+       private OdfFactory odfFactory;
+
+       public OdfConfigurator getConfigurator() {
+               return configurator;
+       }
+
+       public void setConfigurator(OdfConfigurator configurator) {
+               this.configurator = configurator;
+       }
+
+       public OdfPublisher(OdfConfigurator configurator) {
+               this.configurator = configurator;
+               // get tools for publishing from configurator:
+               entityCollector = configurator.getEntityCollector();
+               odfFactory = configurator.newOdfFactory();
+       }
+
+       public void publish() {
+
+               // TODO create one file for all or one file for each taxon, depending on
+               // configurator parameters.
+
+               // if (configurator.isAllInOne()) {
+               TextDocument document;
+               try {
+                       document = TextDocument.newTextDocument();
+
+                       for (UUID taxonNodeUUid : configurator.getNodesToPublish()) {
+
+                               // TODO
+                               // get taxa with collector
+                               // and create "chapters" for document with the factory
+                               // and add them to the document.
+
+                       }
+
+                       document.save("quick.odt.zip");
+
+               } catch (Exception e) {
+                       logger.info("Unable to create odf document.");
+                       e.printStackTrace();
+               }
+               // }
+
+       }
+
+}
diff --git a/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfRemoteEntityCollector.java b/cdmlib-print/src/main/java/eu/etaxonomy/cdm/odfprint/OdfRemoteEntityCollector.java
new file mode 100644 (file)
index 0000000..fa79efb
--- /dev/null
@@ -0,0 +1,7 @@
+package eu.etaxonomy.cdm.odfprint;
+
+
+public class OdfRemoteEntityCollector implements IOdfEntityCollector{
+
+       
+}