X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/3276f8e999deed06f894b7a1367b2da2cd109870..38d07becf34d8fb1d3c5790847bc6e5cb9ffc275:/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java?ds=sidebyside diff --git a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java index 13a0264f66..b6c87d605b 100644 --- a/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java +++ b/cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/jaxb/JaxbExport.java @@ -12,24 +12,29 @@ package eu.etaxonomy.cdm.io.jaxb; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.springframework.transaction.TransactionStatus; +import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper; import eu.etaxonomy.cdm.io.common.CdmExportBase; -import eu.etaxonomy.cdm.io.common.CdmIoBase; import eu.etaxonomy.cdm.io.common.ICdmExport; -import eu.etaxonomy.cdm.io.common.ICdmIO; import eu.etaxonomy.cdm.io.common.IExportConfigurator; import eu.etaxonomy.cdm.io.common.IImportConfigurator; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.common.DefinedTermBase; +import eu.etaxonomy.cdm.model.common.User; +import eu.etaxonomy.cdm.model.description.FeatureNode; +import eu.etaxonomy.cdm.model.description.FeatureTree; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.cdm.model.reference.ReferenceBase; import eu.etaxonomy.cdm.model.taxon.TaxonBase; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.cdm.model.taxon.TaxonomicTree; /** * @author a.babadshanjan @@ -65,10 +70,10 @@ public class JaxbExport extends CdmExportBase users = getUserService().list(null, UserRows, 0, null, null); + + + for (User user: users){ + dataSet.addUser( (User)HibernateProxyHelper.deproxy(user)); + } + + } if (jaxbExpConfig.isDoTermVocabularies() == true) { if (termVocabularyRows == 0) { termVocabularyRows = MAX_ROWS; } logger.info("# TermVocabulary"); - dataSet.setTermVocabularies(getTermService().getAllTermVocabularies(MAX_ROWS, 0));; + dataSet.setTermVocabularies((List)getVocabularyService().list(null,termVocabularyRows, 0, null, null)); } + + // if (jaxbExpConfig.isDoLanguageData() == true) { // if (languageDataRows == 0) { languageDataRows = MAX_ROWS; } // logger.info("# Representation, Language String"); // dataSet.setLanguageData(getTermService().getAllRepresentations(MAX_ROWS, 0)); -// dataSet.addLanguageData(getTermService().getAllLanguageStrings(MAX_ROWS, 0)); + //TODO!!! + dataSet.setLanguageStrings(getTermService().getAllLanguageStrings(MAX_ROWS, 0)); // } if (jaxbExpConfig.isDoTerms() == true) { if (definedTermBaseRows == 0) { definedTermBaseRows = getTermService().count(DefinedTermBase.class); } logger.info("# DefinedTermBase: " + definedTermBaseRows); - dataSet.setTerms(getTermService().getAllDefinedTerms(definedTermBaseRows, 0)); + dataSet.setTerms(getTermService().list(null,definedTermBaseRows, 0,null,null)); } - + if (jaxbExpConfig.isDoAuthors() == true) { if (agentRows == 0) { agentRows = getAgentService().count(AgentBase.class); } logger.info("# Agents: " + agentRows); //logger.info(" # Team: " + appCtr.getAgentService().count(Team.class)); - dataSet.setAgents(getAgentService().getAllAgents(agentRows, 0)); + dataSet.setAgents(getAgentService().list(null,agentRows, 0,null,null)); } + + if (jaxbExpConfig.getDoReferences() != IImportConfigurator.DO_REFERENCES.NONE) { if (referenceBaseRows == 0) { referenceBaseRows = getReferenceService().count(ReferenceBase.class); } logger.info("# ReferenceBase: " + referenceBaseRows); - dataSet.setReferences(getReferenceService().getAllReferences(referenceBaseRows, 0)); + dataSet.setReferences(getReferenceService().list(null,referenceBaseRows, 0,null,null)); + } + + if (jaxbExpConfig.isDoHomotypicalGroups() == true) { + if (homotypicalGroupRows == 0) { homotypicalGroupRows = MAX_ROWS; } + logger.info("# Homotypical Groups"); + dataSet.setHomotypicalGroups(getNameService().getAllHomotypicalGroups(homotypicalGroupRows, 0)); } if (jaxbExpConfig.isDoTaxonNames() == true) { if (taxonNameBaseRows == 0) { taxonNameBaseRows = getNameService().count(TaxonNameBase.class); } logger.info("# TaxonNameBase: " + taxonNameBaseRows); //logger.info(" # Taxon: " + getNameService().count(BotanicalName.class)); - dataSet.setTaxonomicNames(getNameService().getAllNames(taxonNameBaseRows, 0)); + dataSet.setTaxonomicNames(getNameService().list(null,taxonNameBaseRows, 0,null,null)); } - if (jaxbExpConfig.isDoHomotypicalGroups() == true) { - if (homotypicalGroupRows == 0) { homotypicalGroupRows = MAX_ROWS; } - logger.info("# Homotypical Groups"); - dataSet.setHomotypicalGroups(getNameService().getAllHomotypicalGroups(homotypicalGroupRows, 0)); - } + if (jaxbExpConfig.isDoTaxa() == true) { if (taxonBaseRows == 0) { taxonBaseRows = getTaxonService().count(TaxonBase.class); } logger.info("# TaxonBase: " + taxonBaseRows); // dataSet.setTaxa(new ArrayList()); // dataSet.setSynonyms(new ArrayList()); - List tb = getTaxonService().getAllTaxonBases(taxonBaseRows, 0); + List tb = getTaxonService().list(null,taxonBaseRows, 0,null,null); for (TaxonBase taxonBase : tb) { - dataSet.addTaxonBase(taxonBase); + dataSet.addTaxonBase((TaxonBase)HibernateProxyHelper.deproxy(taxonBase)); } } @@ -198,22 +232,29 @@ public class JaxbExport extends CdmExportBase relationSet = new HashSet(relationList); // dataSet.setRelationships(relationSet); // } - + if (jaxbExpConfig.isDoOccurrence() == true) { + if (occurrencesRows == 0) { occurrencesRows = getOccurrenceService().count(SpecimenOrObservationBase.class); } + logger.info("# SpecimenOrObservationBase: " + occurrencesRows); + List occurrenceList = getOccurrenceService().list(null,occurrencesRows, 0,null,null); + /*List noProxyList = new ArrayList(); + for (SpecimenOrObservationBase specimen : occurrenceList){ + specimen = (SpecimenOrObservationBase)HibernateProxyHelper.deproxy(specimen); + noProxyList.add(specimen); + }*/ + dataSet.setOccurrences(occurrenceList); + } + if (jaxbExpConfig.isDoTypeDesignations() == true) { logger.info("# TypeDesignations"); dataSet.addTypeDesignations(getNameService().getAllTypeDesignations(MAX_ROWS, 0)); } - if (jaxbExpConfig.isDoOccurrence() == true) { - if (occurrencesRows == 0) { occurrencesRows = getOccurrenceService().count(SpecimenOrObservationBase.class); } - logger.info("# SpecimenOrObservationBase: " + occurrencesRows); - dataSet.setOccurrences(getOccurrenceService().getAllSpecimenOrObservationBases(occurrencesRows, 0)); - } + if (jaxbExpConfig.isDoMedia() == true) { if (mediaRows == 0) { mediaRows = MAX_ROWS; } logger.info("# Media"); - dataSet.setMedia(getMediaService().getAllMedia(mediaRows, 0)); + dataSet.setMedia(getMediaService().list(null,mediaRows, 0,null,null)); // dataSet.addMedia(getMediaService().getAllMediaRepresentations(mediaRows, 0)); // dataSet.addMedia(getMediaService().getAllMediaRepresentationParts(mediaRows, 0)); } @@ -221,8 +262,42 @@ public class JaxbExport extends CdmExportBase featureTrees = new ArrayList(); + featureTrees= getFeatureTreeService().list(null,featureDataRows, 0, null, null); + List taxTreesdeproxy = new ArrayList(); + for (FeatureTree featureTree : featureTrees){ + HibernateProxyHelper.deproxy(featureTree); + taxTreesdeproxy.add(featureTree); + } + + dataSet.setFeatureTrees(getFeatureTreeService().list(null,null,null,null,null)); + } + if (jaxbExpConfig.isDoTaxonomicTreeData() == true) { + if (taxonomicTreeDataRows == 0) { taxonomicTreeDataRows = MAX_ROWS; } + logger.info("# Taxonomic Tree"); + + + List taxTrees = new ArrayList(); + taxTrees= getTaxonTreeService().list(null,taxonomicTreeDataRows, 0, null, null); + + List taxTreesdeproxy = new ArrayList(); + for (TaxonomicTree taxTree : taxTrees){ + HibernateProxyHelper.deproxy(taxTree); + taxTreesdeproxy.add(taxTree); + } + List taxNodes = new ArrayList(); + taxNodes= getTaxonTreeService().getAllNodes(); + List taxNodesdeproxy = new ArrayList(); + for (TaxonNode taxNode : taxNodes){ + HibernateProxyHelper.deproxy(taxNode); + taxNodesdeproxy.add(taxNode); + } + + dataSet.setTaxonNodes(taxNodesdeproxy); + dataSet.setTaxonomicTrees(taxTreesdeproxy ); } + //TODO: FIXME!!!!! + dataSet.setLanguageStrings(null); }