From 5faae16d851568e8f4b2033020d1a18d7f533269 Mon Sep 17 00:00:00 2001 From: Daniel Silva Date: Mon, 29 Jan 2018 16:18:04 -0600 Subject: [PATCH] Fix TreeTransformer and ContentletTransformer TreeTransformer: Use conversion utils instead of a class for Oracle. TransformerLocator: create only TreeTransformer ContentletTransformer: Use conversion utils to avoid classCastException in oracle --- .../business/ContentletAPITest.java | 6 ++++- .../util/transform/TransformerLocator.java | 2 +- .../transform/OracleTreeTransformer.java | 25 ------------------- .../beans/transform/TreeTransformer.java | 3 ++- .../transform/ContentletTransformer.java | 2 +- 5 files changed, 9 insertions(+), 29 deletions(-) delete mode 100644 dotCMS/src/main/java/com/dotmarketing/beans/transform/OracleTreeTransformer.java diff --git a/dotCMS/src/integration-test/java/com/dotmarketing/portlets/contentlet/business/ContentletAPITest.java b/dotCMS/src/integration-test/java/com/dotmarketing/portlets/contentlet/business/ContentletAPITest.java index eb700c989e3d..8f11e673fe2f 100644 --- a/dotCMS/src/integration-test/java/com/dotmarketing/portlets/contentlet/business/ContentletAPITest.java +++ b/dotCMS/src/integration-test/java/com/dotmarketing/portlets/contentlet/business/ContentletAPITest.java @@ -2047,7 +2047,11 @@ public void testPubExpDatesFromIdentifier() throws Exception { c1.setDateProperty(fieldExpDate.getVelocityVarName(), d2); c1.setLanguageId(deflang); c1=APILocator.getContentletAPI().checkin(c1, user, false); - APILocator.getContentletAPI().isInodeIndexed(c1.getInode()); + boolean isC1Indexed = APILocator.getContentletAPI().isInodeIndexed(c1.getInode()); + + Logger.info(this, "IsC1Indexed: " + isC1Indexed); + Identifier idenFromCache = APILocator.getIdentifierAPI().loadFromCache(c1.getIdentifier()); + Logger.info(this, "IdentifierFromCache:" + idenFromCache); Identifier ident=APILocator.getIdentifierAPI().find(c1); assertNotNull(ident.getSysPublishDate()); diff --git a/dotCMS/src/main/java/com/dotcms/util/transform/TransformerLocator.java b/dotCMS/src/main/java/com/dotcms/util/transform/TransformerLocator.java index 2cada6d81c6d..2fcfdf2200f2 100644 --- a/dotCMS/src/main/java/com/dotcms/util/transform/TransformerLocator.java +++ b/dotCMS/src/main/java/com/dotcms/util/transform/TransformerLocator.java @@ -161,6 +161,6 @@ public static IdentifierTransformer createIdentifierTransformer( public static TreeTransformer createTreeTransformer( List> initList) { - return DbConnectionFactory.isOracle()?new OracleTreeTransformer(initList):new TreeTransformer(initList); + return new TreeTransformer(initList); } } diff --git a/dotCMS/src/main/java/com/dotmarketing/beans/transform/OracleTreeTransformer.java b/dotCMS/src/main/java/com/dotmarketing/beans/transform/OracleTreeTransformer.java deleted file mode 100644 index 0891eeb98375..000000000000 --- a/dotCMS/src/main/java/com/dotmarketing/beans/transform/OracleTreeTransformer.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.dotmarketing.beans.transform; - -import com.dotmarketing.beans.Tree; - -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; - -public class OracleTreeTransformer extends TreeTransformer { - - public OracleTreeTransformer(List> list) { - super(list); - } - - @Override - Tree toTree(Map map) { - Tree tree=new Tree(); - tree.setParent((String)map.getOrDefault("parent", null)); - tree.setChild((String)map.getOrDefault("child", null)); - tree.setRelationType((String)map.getOrDefault("relation_type", null)); - tree.setTreeOrder(((BigDecimal)map.getOrDefault("tree_order", 0)).intValue()); - - return tree; - } -} diff --git a/dotCMS/src/main/java/com/dotmarketing/beans/transform/TreeTransformer.java b/dotCMS/src/main/java/com/dotmarketing/beans/transform/TreeTransformer.java index a4b286ad5900..d591024663a0 100644 --- a/dotCMS/src/main/java/com/dotmarketing/beans/transform/TreeTransformer.java +++ b/dotCMS/src/main/java/com/dotmarketing/beans/transform/TreeTransformer.java @@ -1,5 +1,6 @@ package com.dotmarketing.beans.transform; +import com.dotcms.util.ConversionUtils; import com.dotcms.util.transform.DBTransformer; import com.dotmarketing.beans.Tree; @@ -35,7 +36,7 @@ Tree toTree (Map map){ tree.setParent((String)map.getOrDefault("parent", null)); tree.setChild((String)map.getOrDefault("child", null)); tree.setRelationType((String)map.getOrDefault("relation_type", null)); - tree.setTreeOrder((Integer)map.getOrDefault("tree_order", 0)); + tree.setTreeOrder(ConversionUtils.toInt(map.getOrDefault("tree_order", 0), 0)); return tree; } diff --git a/dotCMS/src/main/java/com/dotmarketing/portlets/contentlet/transform/ContentletTransformer.java b/dotCMS/src/main/java/com/dotmarketing/portlets/contentlet/transform/ContentletTransformer.java index 30b9b648c3b3..135a22f289e6 100644 --- a/dotCMS/src/main/java/com/dotmarketing/portlets/contentlet/transform/ContentletTransformer.java +++ b/dotCMS/src/main/java/com/dotmarketing/portlets/contentlet/transform/ContentletTransformer.java @@ -50,7 +50,7 @@ private static Contentlet transform(final Map map) { disabledWysiwyg.add(map.get("disabled_wysiwyg")); contentlet.setDisabledWysiwyg(disabledWysiwyg); contentlet.setIdentifier((String) map.get("identifier")); - contentlet.setLanguageId((Long) map.get("language_id")); + contentlet.setLanguageId(ConversionUtils.toLong(map.get("language_id"), 0L)); String key; List ignoredFields = new ArrayList<>();