From d21d7629d297fdd4548e304dd44b3aa679ddf610 Mon Sep 17 00:00:00 2001 From: tosmers Date: Mon, 26 Mar 2018 16:08:41 +0000 Subject: [PATCH] [TRUNK][FEATURE] - adds conversions for PhaseDefinitions, LifecycleDefinitions, Lifecycles and Phases - modifies previous conversions to print additional empty line in cmd tool output git-svn-id: https://svn.libreccm.org/ccm/trunk@5359 8810af33-2d31-482b-a856-94f89814c4df --- .../arsdigita/cms/lifecycle/Lifecycle.java | 28 ++++- .../cms/lifecycle/LifecycleDefinition.java | 30 +++++ .../com/arsdigita/cms/lifecycle/Phase.java | 29 +++++ .../cms/lifecycle/PhaseDefinition.java | 31 +++++ .../portation/conversion/CmsConverter.java | 8 ++ .../lifecycle/LifecycleConversion.java | 98 ++++++++++++++++ .../LifecycleDefinitionConversion.java | 110 ++++++++++++++++++ .../conversion/lifecycle/PhaseConversion.java | 108 +++++++++++++++++ .../lifecycle/PhaseDefinitionConversion.java | 73 ++++++++++++ .../modules/lifecycle/PhaseDefinition.java | 15 ++- .../portation/cmd/ExportCliTool.java | 3 +- .../arsdigita/portation/cmd/ExportLogger.java | 4 + .../portation/cmd/RootConverter.java | 11 +- .../categorization/CategoryConversion.java | 6 +- .../core/categorization/DomainConversion.java | 51 ++++---- .../core/core/ResourceTypeConversion.java | 2 + .../core/security/GroupConversion.java | 2 + .../core/security/PermissionConversion.java | 2 + .../core/security/RoleConversion.java | 2 + .../core/security/UserConversion.java | 4 +- .../core/web/CcmApplicationConversion.java | 4 +- .../workflow/AssignableTaskConversion.java | 2 + .../core/workflow/TaskCommentConversion.java | 2 + .../core/workflow/WorkflowConversion.java | 2 + .../modules/core/categorization/Domain.java | 16 +-- 25 files changed, 593 insertions(+), 50 deletions(-) create mode 100644 ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleConversion.java create mode 100644 ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleDefinitionConversion.java create mode 100644 ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseConversion.java create mode 100644 ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseDefinitionConversion.java diff --git a/ccm-cms/src/com/arsdigita/cms/lifecycle/Lifecycle.java b/ccm-cms/src/com/arsdigita/cms/lifecycle/Lifecycle.java index 6970a7ede..8856bad64 100755 --- a/ccm-cms/src/com/arsdigita/cms/lifecycle/Lifecycle.java +++ b/ccm-cms/src/com/arsdigita/cms/lifecycle/Lifecycle.java @@ -19,6 +19,7 @@ package com.arsdigita.cms.lifecycle; import com.arsdigita.domain.DataObjectNotFoundException; +import com.arsdigita.domain.DomainCollection; import com.arsdigita.kernel.ACSObject; import com.arsdigita.persistence.DataAssociation; import com.arsdigita.persistence.DataAssociationCursor; @@ -33,7 +34,9 @@ import com.arsdigita.persistence.SessionManager; import org.apache.log4j.Logger; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** @@ -653,6 +656,29 @@ public class Lifecycle extends ACSObject { this.setEndDate(finalEndDate); } - + /** + * Retrieves all objects of this type stored in the database. Very + * necessary for exporting all entities of the current work environment. + * + * @return List of all objects + */ + public static List getAllObjects() { + List objectList = new ArrayList<>(); + + final Session session = SessionManager.getSession(); + DomainCollection collection = new DomainCollection(session.retrieve( + Lifecycle.BASE_DATA_OBJECT_TYPE)); + + while (collection.next()) { + Lifecycle object = (Lifecycle) collection + .getDomainObject(); + if (object != null) { + objectList.add(object); + } + } + + collection.close(); + return objectList; + } } diff --git a/ccm-cms/src/com/arsdigita/cms/lifecycle/LifecycleDefinition.java b/ccm-cms/src/com/arsdigita/cms/lifecycle/LifecycleDefinition.java index 670b01acd..2aefd6e25 100755 --- a/ccm-cms/src/com/arsdigita/cms/lifecycle/LifecycleDefinition.java +++ b/ccm-cms/src/com/arsdigita/cms/lifecycle/LifecycleDefinition.java @@ -19,15 +19,20 @@ package com.arsdigita.cms.lifecycle; import com.arsdigita.domain.DataObjectNotFoundException; +import com.arsdigita.domain.DomainCollection; import com.arsdigita.kernel.ACSObject; import com.arsdigita.persistence.DataAssociation; import com.arsdigita.persistence.DataAssociationCursor; import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.OID; +import com.arsdigita.persistence.Session; +import com.arsdigita.persistence.SessionManager; import org.apache.log4j.Logger; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * Definition for a publication lifecycle. Associated with each cycle @@ -260,4 +265,29 @@ public class LifecycleDefinition extends ACSObject { public Lifecycle createFullLifecycle(String listenerClassName) { return createFullLifecycle(null, listenerClassName); } + + /** + * Retrieves all objects of this type stored in the database. Very + * necessary for exporting all entities of the current work environment. + * + * @return List of all objects + */ + public static List getAllObjects() { + List objectList = new ArrayList<>(); + + final Session session = SessionManager.getSession(); + DomainCollection collection = new DomainCollection(session.retrieve( + LifecycleDefinition.BASE_DATA_OBJECT_TYPE)); + + while (collection.next()) { + LifecycleDefinition object = (LifecycleDefinition) collection + .getDomainObject(); + if (object != null) { + objectList.add(object); + } + } + + collection.close(); + return objectList; + } } diff --git a/ccm-cms/src/com/arsdigita/cms/lifecycle/Phase.java b/ccm-cms/src/com/arsdigita/cms/lifecycle/Phase.java index 20da8e32b..e53b67950 100755 --- a/ccm-cms/src/com/arsdigita/cms/lifecycle/Phase.java +++ b/ccm-cms/src/com/arsdigita/cms/lifecycle/Phase.java @@ -19,6 +19,7 @@ package com.arsdigita.cms.lifecycle; import com.arsdigita.domain.DataObjectNotFoundException; +import com.arsdigita.domain.DomainCollection; import com.arsdigita.kernel.ACSObject; import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.DataQuery; @@ -29,7 +30,9 @@ import com.arsdigita.persistence.SessionManager; import org.apache.log4j.Logger; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * This class represents a phase in Publication Lifecycle for a Content Item. @@ -453,4 +456,30 @@ public class Phase extends ACSObject { set(HAS_ENDED, Boolean.TRUE); } + + /** + * Retrieves all objects of this type stored in the database. Very + * necessary for exporting all entities of the current work environment. + * + * @return List of all objects + */ + public static List getAllObjects() { + List objectList = new ArrayList<>(); + + final Session session = SessionManager.getSession(); + DomainCollection collection = new DomainCollection(session.retrieve( + Phase.BASE_DATA_OBJECT_TYPE)); + + while (collection.next()) { + Phase object = (Phase) collection + .getDomainObject(); + if (object != null) { + objectList.add(object); + } + } + + collection.close(); + return objectList; + } + } diff --git a/ccm-cms/src/com/arsdigita/cms/lifecycle/PhaseDefinition.java b/ccm-cms/src/com/arsdigita/cms/lifecycle/PhaseDefinition.java index 2b41aa692..3f2c99ae3 100755 --- a/ccm-cms/src/com/arsdigita/cms/lifecycle/PhaseDefinition.java +++ b/ccm-cms/src/com/arsdigita/cms/lifecycle/PhaseDefinition.java @@ -18,12 +18,18 @@ */ package com.arsdigita.cms.lifecycle; +import com.arsdigita.categorization.Category; import com.arsdigita.domain.DataObjectNotFoundException; +import com.arsdigita.domain.DomainCollection; import com.arsdigita.kernel.ACSObject; import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.OID; +import com.arsdigita.persistence.Session; +import com.arsdigita.persistence.SessionManager; import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; /** @@ -242,4 +248,29 @@ public class PhaseDefinition extends ACSObject { setAssociation(LIFECYCLE_DEFINITION, lifecycleDefinition); } + /** + * Retrieves all objects of this type stored in the database. Very + * necessary for exporting all entities of the current work environment. + * + * @return List of all objects + */ + public static List getAllObjects() { + List objectList = new ArrayList<>(); + + final Session session = SessionManager.getSession(); + DomainCollection collection = new DomainCollection(session.retrieve( + PhaseDefinition.BASE_DATA_OBJECT_TYPE)); + + while (collection.next()) { + PhaseDefinition object = (PhaseDefinition) collection + .getDomainObject(); + if (object != null) { + objectList.add(object); + } + } + + collection.close(); + return objectList; + } + } diff --git a/ccm-cms/src/com/arsdigita/cms/portation/conversion/CmsConverter.java b/ccm-cms/src/com/arsdigita/cms/portation/conversion/CmsConverter.java index 2a36b27d8..a61a5a132 100644 --- a/ccm-cms/src/com/arsdigita/cms/portation/conversion/CmsConverter.java +++ b/ccm-cms/src/com/arsdigita/cms/portation/conversion/CmsConverter.java @@ -18,6 +18,10 @@ */ package com.arsdigita.cms.portation.conversion; +import com.arsdigita.cms.portation.conversion.lifecycle.LifecycleConversion; +import com.arsdigita.cms.portation.conversion.lifecycle.LifecycleDefinitionConversion; +import com.arsdigita.cms.portation.conversion.lifecycle.PhaseConversion; +import com.arsdigita.cms.portation.conversion.lifecycle.PhaseDefinitionConversion; import com.arsdigita.portation.AbstractConverter; /** @@ -47,6 +51,10 @@ public class CmsConverter extends AbstractConverter { */ @Override public void startConversions() { + PhaseDefinitionConversion.getInstance().convertAll(); + LifecycleDefinitionConversion.getInstance().convertAll(); + LifecycleConversion.getInstance().convertAll(); + PhaseConversion.getInstance().convertAll(); } } diff --git a/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleConversion.java b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleConversion.java new file mode 100644 index 000000000..30bfdafce --- /dev/null +++ b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleConversion.java @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2015 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package com.arsdigita.cms.portation.conversion.lifecycle; + +import com.arsdigita.cms.portation.conversion.NgCmsCollection; +import com.arsdigita.cms.portation.modules.lifecycle.Lifecycle; +import com.arsdigita.cms.portation.modules.lifecycle.LifecycleDefinition; +import com.arsdigita.portation.AbstractConversion; +import com.arsdigita.portation.cmd.ExportLogger; + +import java.util.List; + +/** + * @author trunkLifecycles = com + .arsdigita.cms.lifecycle.Lifecycle.getAllObjects(); + + ExportLogger.converting("lifecycles"); + createLifecyclesAndSetAssociations(trunkLifecycles); + + ExportLogger.newLine(); + } + + /** + * Creates the equivalent ng-class of the {@code Lifecycle} and restores + * the associations to other classes. + * + * @param trunkLifecycles List of all {@link com.arsdigita.cms.lifecycle.Lifecycle}s + * from this old trunk-system. + */ + private void createLifecyclesAndSetAssociations(final List trunkLifecycles) { + int processed = 0; + + for (com.arsdigita.cms.lifecycle.Lifecycle trunkLifecycle : + trunkLifecycles) { + // create lifecycle + Lifecycle lifecycle = new Lifecycle(trunkLifecycle); + + // set lifecycle definition + long lifecycleDefinitionId = trunkLifecycle + .getLifecycleDefinition() + .getID() + .longValue(); + lifecycle.setLifecycleDefinition(NgCmsCollection + .lifecycleDefinitions + .get(lifecycleDefinitionId)); + + processed++; + } + + ExportLogger.created("lifecycles", processed); + } + + /** + * Getter for the instance of the singleton. + * + * @return instance of this singleton + */ + public static LifecycleConversion getInstance() { + return instance; + } +} diff --git a/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleDefinitionConversion.java b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleDefinitionConversion.java new file mode 100644 index 000000000..b85d7a92e --- /dev/null +++ b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/LifecycleDefinitionConversion.java @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2015 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package com.arsdigita.cms.portation.conversion.lifecycle; + +import com.arsdigita.cms.lifecycle.PhaseDefinitionCollection; +import com.arsdigita.cms.portation.conversion.NgCmsCollection; +import com.arsdigita.cms.portation.modules.lifecycle.LifecycleDefinition; +import com.arsdigita.cms.portation.modules.lifecycle.PhaseDefinition; +import com.arsdigita.portation.AbstractConversion; +import com.arsdigita.portation.cmd.ExportLogger; + +import java.util.List; + +/** + * @author + trunkLifecycleDefinitions = com.arsdigita.cms.lifecycle + .LifecycleDefinition.getAllObjects(); + + ExportLogger.converting("lifecycle definitions"); + createLifecycleDefinitionsAndSetAssociations(trunkLifecycleDefinitions); + + ExportLogger.newLine(); + } + + /** + * Creates the equivalent ng-class of the {@code LifecycleDefinition} and + * restores the associations to other classes. + * + * @param trunkLifecycleDefinitions List of all + * {@link com.arsdigita.cms.lifecycle.LifecycleDefinition}s from this old + * trunk-system. + */ + private void createLifecycleDefinitionsAndSetAssociations(final List trunkLifecycleDefinitions) { + int processed = 0; + + for (com.arsdigita.cms.lifecycle.LifecycleDefinition + trunkLifecycleDefinition : trunkLifecycleDefinitions) { + // create lifecycle definition + LifecycleDefinition lifecycleDefinition = new LifecycleDefinition + (trunkLifecycleDefinition); + + // set phase definitions + PhaseDefinitionCollection phaseDefinitionCollection = + trunkLifecycleDefinition.getPhaseDefinitions(); + + while (phaseDefinitionCollection.next()) { + long phaseDefinitionId = phaseDefinitionCollection + .getPhaseDefinition() + .getID() + .longValue(); + + PhaseDefinition phaseDefinition = NgCmsCollection + .phaseDefinitions + .get(phaseDefinitionId); + + lifecycleDefinition.addPhaseDefinition(phaseDefinition); + } + + processed++; + } + + ExportLogger.created("lifecycle definitions", processed); + } + + /** + * Getter for the instance of the singleton. + * + * @return instance of this singleton + */ + public static LifecycleDefinitionConversion getInstance() { + return instance; + } +} diff --git a/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseConversion.java b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseConversion.java new file mode 100644 index 000000000..ac62dfa2e --- /dev/null +++ b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseConversion.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2015 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package com.arsdigita.cms.portation.conversion.lifecycle; + +import com.arsdigita.cms.portation.conversion.NgCmsCollection; +import com.arsdigita.cms.portation.modules.lifecycle.Lifecycle; +import com.arsdigita.cms.portation.modules.lifecycle.Phase; +import com.arsdigita.cms.portation.modules.lifecycle.PhaseDefinition; +import com.arsdigita.portation.AbstractConversion; +import com.arsdigita.portation.cmd.ExportLogger; + +import java.util.List; + +/** + * @author trunkPhases = com.arsdigita + .cms.lifecycle.Phase.getAllObjects(); + + ExportLogger.converting("phases"); + createPhasesAndSetAssociations(trunkPhases); + + ExportLogger.newLine(); + } + + /** + * Creates the equivalent ng-class of the {@code Phase} and restores + * the associations to other classes. + * + * @param trunkPhases List of all {@link com.arsdigita.cms.lifecycle.Phase}s + * from this old trunk-system. + */ + private void createPhasesAndSetAssociations(final List trunkPhases) { + int processed = 0; + + for (com.arsdigita.cms.lifecycle.Phase trunkPhase : trunkPhases) { + // create phase + Phase phase = new Phase(trunkPhase); + + // set phase definition + long phaseDefinitionId = trunkPhase + .getPhaseDefinition() + .getID() + .longValue(); + phase.setPhaseDefinition(NgCmsCollection + .phaseDefinitions + .get(phaseDefinitionId)); + + // set lifecycle and opposed association + long lifecycleId = trunkPhase + .getLifecycle() + .getID() + .longValue(); + Lifecycle lifecycle = NgCmsCollection + .lifecycles + .get(lifecycleId); + phase.setLifecycle(lifecycle); + lifecycle.addPhase(phase); + + processed++; + } + + ExportLogger.created("phases", processed); + } + + /** + * Getter for the instance of the singleton. + * + * @return instance of this singleton + */ + public static PhaseConversion getInstance() { + return instance; + } +} diff --git a/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseDefinitionConversion.java b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseDefinitionConversion.java new file mode 100644 index 000000000..9e7f4b8f6 --- /dev/null +++ b/ccm-cms/src/com/arsdigita/cms/portation/conversion/lifecycle/PhaseDefinitionConversion.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2015 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package com.arsdigita.cms.portation.conversion.lifecycle; + + +import com.arsdigita.cms.portation.modules.lifecycle.PhaseDefinition; +import com.arsdigita.portation.AbstractConversion; +import com.arsdigita.portation.cmd.ExportLogger; + +import java.util.List; + +/** + * @author trunkPhaseDefinitions + = com.arsdigita.cms.lifecycle.PhaseDefinition.getAllObjects(); + + ExportLogger.converting("phase definitions"); + int processed = 0; + for (com.arsdigita.cms.lifecycle.PhaseDefinition + trunkPhaseDefinition : trunkPhaseDefinitions) { + // create phase definitions + new PhaseDefinition(trunkPhaseDefinition); + + processed++; + } + ExportLogger.created("phase definitions", processed); + + ExportLogger.newLine(); + } + + /** + * Getter for the instance of the singleton. + * + * @return instance of this singleton + */ + public static PhaseDefinitionConversion getInstance() { + return instance; + } +} diff --git a/ccm-cms/src/com/arsdigita/cms/portation/modules/lifecycle/PhaseDefinition.java b/ccm-cms/src/com/arsdigita/cms/portation/modules/lifecycle/PhaseDefinition.java index c6069351b..3b3862b94 100644 --- a/ccm-cms/src/com/arsdigita/cms/portation/modules/lifecycle/PhaseDefinition.java +++ b/ccm-cms/src/com/arsdigita/cms/portation/modules/lifecycle/PhaseDefinition.java @@ -43,13 +43,16 @@ public class PhaseDefinition implements Portable { this.label = new LocalizedString(); this.description = new LocalizedString(); final Locale locale = Locale.getDefault(); - this.label.addValue(locale, trunkPhaseDefinition.getLabel()); - this.description - .addValue(locale, trunkPhaseDefinition.getDescription()); + this.label.addValue(locale, + trunkPhaseDefinition.getLabel()); + this.description.addValue(locale, + trunkPhaseDefinition.getDescription()); - this.defaultDelay = trunkPhaseDefinition.getDefaultDelay().longValue(); - this.defaultDuration = trunkPhaseDefinition.getDefaultDuration() - .longValue(); + this.defaultDelay = trunkPhaseDefinition + .getDefaultDelay().longValue(); + final Integer delay = trunkPhaseDefinition.getDefaultDuration(); + if (delay != null) + this.defaultDuration = delay.longValue(); this.defaultListener = trunkPhaseDefinition.getDefaultListener(); diff --git a/ccm-core/src/com/arsdigita/portation/cmd/ExportCliTool.java b/ccm-core/src/com/arsdigita/portation/cmd/ExportCliTool.java index 45f8e0627..8abfccaf1 100644 --- a/ccm-core/src/com/arsdigita/portation/cmd/ExportCliTool.java +++ b/ccm-core/src/com/arsdigita/portation/cmd/ExportCliTool.java @@ -65,7 +65,7 @@ public class ExportCliTool extends Program { */ @Override protected void doRun(CommandLine cmdLine) { - final String[] args = cmdLine.getArgs(); + String[] args = cmdLine.getArgs(); if (args.length < 1) { printUsage(); @@ -142,6 +142,7 @@ public class ExportCliTool extends Program { System.out.print("\n"); } catch (Exception ex) { System.err.printf("ERROR while exporting: %s\n", ex); + ex.printStackTrace(); } } diff --git a/ccm-core/src/com/arsdigita/portation/cmd/ExportLogger.java b/ccm-core/src/com/arsdigita/portation/cmd/ExportLogger.java index a456fe4a3..5c803e53f 100644 --- a/ccm-core/src/com/arsdigita/portation/cmd/ExportLogger.java +++ b/ccm-core/src/com/arsdigita/portation/cmd/ExportLogger.java @@ -61,6 +61,10 @@ public class ExportLogger { "\t\tSorted %s in %d runs.", className, runs)); } + public static void newLine() { + System.out.println(); + } + public static void exporting(final String className) { diff --git a/ccm-core/src/com/arsdigita/portation/cmd/RootConverter.java b/ccm-core/src/com/arsdigita/portation/cmd/RootConverter.java index 50df93ef2..ed152ae96 100644 --- a/ccm-core/src/com/arsdigita/portation/cmd/RootConverter.java +++ b/ccm-core/src/com/arsdigita/portation/cmd/RootConverter.java @@ -38,17 +38,16 @@ public class RootConverter { @SuppressWarnings("unchecked") public static void rootConversionExecution() throws Exception { // Core conversions - CoreConverter.getInstance().startConversions(); + //CoreConverter.getInstance().startConversions(); - // Lnd-Terms conversions - /*Class cls = Class - .forName("com.arsdigita.london.terms.portation" + - ".conversion.LdnTermsConverter"); + // Cms conversions + Class cls = Class.forName("com.arsdigita.cms.portation.conversion" + + ".CmsConverter"); if (cls != null) { Method startConversionToNg = cls .getDeclaredMethod("startConversions"); startConversionToNg.invoke(cls.newInstance()); - }*/ + } // ... } diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/CategoryConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/CategoryConversion.java index 2168137b9..7e358fc0e 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/CategoryConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/CategoryConversion.java @@ -59,11 +59,13 @@ public class CategoryConversion extends AbstractConversion { .arsdigita.categorization.Category.getAllObjectCategories(); ExportLogger.converting("categories and categorizations"); - createCategoryAndCategorizations(trunkCategories); + createCategoriesAndSetAssociations(trunkCategories); setRingAssociations(trunkCategories); ExportLogger.sorting("categories"); sortCategoryMap(); + + ExportLogger.newLine(); } /** @@ -74,7 +76,7 @@ public class CategoryConversion extends AbstractConversion { * {@link com.arsdigita.categorization.Category}s * from this old trunk-system. */ - private void createCategoryAndCategorizations( + private void createCategoriesAndSetAssociations( List trunkCategories) { int processedCategories = 0, processedCategorizations = 0; diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/DomainConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/DomainConversion.java index 7bc2bde70..933e103b4 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/DomainConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/categorization/DomainConversion.java @@ -62,6 +62,8 @@ public class DomainConversion extends AbstractConversion { ExportLogger.converting("doamins and domain ownerships"); createDomainsAndSetAssociations(trunkDomains); + + ExportLogger.newLine(); } /** @@ -76,35 +78,36 @@ public class DomainConversion extends AbstractConversion { while(trunkDomains.next()) { DataObject trunkDomain = trunkDomains.getDataObject(); - - // create domains - Domain domain = new Domain(trunkDomain); + if (trunkDomain != null) { + // create domains + Domain domain = new Domain(trunkDomain); - com.arsdigita.categorization.Category trunkModel = - (com.arsdigita.categorization.Category) DomainObjectFactory - .newInstance((DataObject) trunkDomain - .get("model")); - if (trunkModel != null) { - // set root (category) association - Category root = NgCoreCollection - .categories - .get(trunkModel.getID().longValue()); - domain.setRoot(root); + com.arsdigita.categorization.Category trunkModel = + (com.arsdigita.categorization.Category) DomainObjectFactory + .newInstance((DataObject) trunkDomain + .get("model")); + if (trunkModel != null) { + // set root (category) association + Category root = NgCoreCollection + .categories + .get(trunkModel.getID().longValue()); + domain.setRoot(root); - // create domain ownerships - DataCollection useContexts = SessionManager - .getSession() - .retrieve("com.arsdigita." + - "categorization.UseContext"); - useContexts.addEqualsFilter( - "rootCategory.id", trunkModel.getID()); + // create domain ownerships + DataCollection useContexts = SessionManager + .getSession() + .retrieve("com.arsdigita." + + "categorization.UseContext"); + useContexts.addEqualsFilter( + "rootCategory.id", trunkModel.getID()); - processedDomainOwnerships += createDomainOwnerships( - domain, (DomainCollection) useContexts); + processedDomainOwnerships += createDomainOwnerships( + domain, new DomainCollection(useContexts)); + } + + processedDomains++; } - - processedDomains++; } ExportLogger.created("domains", processedDomains); ExportLogger.created("domain ownerships", processedDomainOwnerships); diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/core/ResourceTypeConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/core/ResourceTypeConversion.java index 374173315..47f8f2c5a 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/core/ResourceTypeConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/core/ResourceTypeConversion.java @@ -60,6 +60,8 @@ public class ResourceTypeConversion extends AbstractConversion { processed++; } ExportLogger.created("resource types", processed); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java index 64fdf068c..41e1381de 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/security/GroupConversion.java @@ -58,6 +58,8 @@ public class GroupConversion extends AbstractConversion { ExportLogger.converting("groups and group memberships"); createGroupsAndSetAssociations(trunkGroups); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java index fa337f71e..a8fe0fd50 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/security/PermissionConversion.java @@ -83,6 +83,8 @@ public class PermissionConversion extends AbstractConversion { System.exit(-1); } } + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/security/RoleConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/security/RoleConversion.java index e139dc987..845b50bc1 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/security/RoleConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/security/RoleConversion.java @@ -58,6 +58,8 @@ public class RoleConversion extends AbstractConversion{ ExportLogger.converting("roles and role memberships"); createRolesAndSetAssociations(trunkRoles); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/security/UserConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/security/UserConversion.java index 2f7738249..34bf2f537 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/security/UserConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/security/UserConversion.java @@ -51,13 +51,15 @@ public class UserConversion extends AbstractConversion { .User.getAllObjectUsers(); ExportLogger.converting("users"); - // create users int processed = 0; for (com.arsdigita.kernel.User trunkUser : trunkUsers) { + // create users new User(trunkUser); processed++; } ExportLogger.created("users", processed); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/web/CcmApplicationConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/web/CcmApplicationConversion.java index 39bd4e44b..7dc89f673 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/web/CcmApplicationConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/web/CcmApplicationConversion.java @@ -63,7 +63,9 @@ public class CcmApplicationConversion extends AbstractConversion { ExportLogger.sorting("ccm applications"); sortCcmApplications(); - } + + ExportLogger.newLine(); + } /** * Creates the equivalent ng-class of the {@code Application} and restores diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/AssignableTaskConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/AssignableTaskConversion.java index 35f58518a..abe465064 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/AssignableTaskConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/AssignableTaskConversion.java @@ -69,6 +69,8 @@ public class AssignableTaskConversion extends AbstractConversion { ExportLogger.sorting("assignable tasks"); sortAssignableTaskMap(); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/TaskCommentConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/TaskCommentConversion.java index 19505a0d7..aa25f7a45 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/TaskCommentConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/TaskCommentConversion.java @@ -56,6 +56,8 @@ public class TaskCommentConversion extends AbstractConversion { ExportLogger.converting("task comments"); createTaskCommentsAndSetAssociations(trunkTaskComments); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/WorkflowConversion.java b/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/WorkflowConversion.java index 032e9598b..c07fd2101 100644 --- a/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/WorkflowConversion.java +++ b/ccm-core/src/com/arsdigita/portation/conversion/core/workflow/WorkflowConversion.java @@ -62,6 +62,8 @@ public class WorkflowConversion extends AbstractConversion { ExportLogger.sorting("workflows"); sortWorkflowMap(); + + ExportLogger.newLine(); } /** diff --git a/ccm-core/src/com/arsdigita/portation/modules/core/categorization/Domain.java b/ccm-core/src/com/arsdigita/portation/modules/core/categorization/Domain.java index c9a8132c4..d2ef260b2 100644 --- a/ccm-core/src/com/arsdigita/portation/modules/core/categorization/Domain.java +++ b/ccm-core/src/com/arsdigita/portation/modules/core/categorization/Domain.java @@ -66,19 +66,19 @@ public class Domain extends CcmObject implements Portable { public Domain(DataObject trunkDomain) { - super(trunkDomain.get("key").toString() + "_DName"); + super((String) trunkDomain.get("key") + "_DName"); - this.domainKey = trunkDomain.get("key").toString(); - this.uri = trunkDomain.get("url").toString(); + this.domainKey = (String) trunkDomain.get("key"); + this.uri = (String) trunkDomain.get("url"); this.title = new LocalizedString(); - this.title.addValue(Locale.getDefault(), - trunkDomain.get("title").toString()); + this.title.addValue(Locale.getDefault(), (String) trunkDomain + .get("title")); this.description = new LocalizedString(); - this.description.addValue(Locale.getDefault(), - trunkDomain.get("description").toString()); + this.description.addValue(Locale.getDefault(), (String) trunkDomain + .get("description")); - this.version = trunkDomain.get("version").toString(); + this.version = (String) trunkDomain.get("version"); this.released = (Date) trunkDomain.get("released"); //this.root