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
--- /dev/null
+package eu.etaxonomy.cdm.odfprint;
+
+public interface IOdfEntityCollector {
+
+
+}
--- /dev/null
+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();
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.cdm.odfprint;
+
+public class OdfFactory {
+
+}
--- /dev/null
+package eu.etaxonomy.cdm.odfprint;
+
+import java.util.UUID;
+
+public class OdfLocalEntityCollector implements IOdfEntityCollector {
+
+
+
+}
--- /dev/null
+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();
+ }
+ // }
+
+ }
+
+}
--- /dev/null
+package eu.etaxonomy.cdm.odfprint;
+
+
+public class OdfRemoteEntityCollector implements IOdfEntityCollector{
+
+
+}