diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompound.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompound.java index f64598fe0..a0f7d8ce4 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompound.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompound.java @@ -1,13 +1,6 @@ package com.avaje.ebeaninternal.server.deploy; -import java.io.IOException; -import java.sql.SQLException; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - import com.avaje.ebean.bean.EntityBean; -import com.avaje.ebean.config.ScalarTypeConverter; import com.avaje.ebean.text.json.EJson; import com.avaje.ebeaninternal.server.deploy.meta.DeployBeanPropertyCompound; import com.avaje.ebeaninternal.server.el.ElPropertyChainBuilder; @@ -19,6 +12,12 @@ import com.avaje.ebeaninternal.server.type.CtCompoundProperty; import com.avaje.ebeaninternal.server.type.CtCompoundPropertyElAdapter; import com.avaje.ebeaninternal.server.type.CtCompoundType; +import java.io.IOException; +import java.sql.SQLException; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + /** * Property mapped to an Immutable Compound Value Object. *

@@ -30,12 +29,6 @@ public class BeanPropertyCompound extends BeanProperty { private final CtCompoundType compoundType; - /** - * Type Converter for scala.Option and similar type wrapping. - */ - @SuppressWarnings("rawtypes") - private final ScalarTypeConverter typeConverter; - private final BeanProperty[] scalarProperties; private final LinkedHashMap propertyMap = new LinkedHashMap(); @@ -48,12 +41,9 @@ public class BeanPropertyCompound extends BeanProperty { public BeanPropertyCompound(BeanDescriptor descriptor, DeployBeanPropertyCompound deploy) { super(descriptor, deploy); - this.compoundType = deploy.getCompoundType(); - this.typeConverter = deploy.getTypeConverter(); BeanPropertyCompoundRoot root = deploy.getFlatProperties(); - this.scalarProperties = root.getScalarProperties(); for (int i = 0; i < scalarProperties.length; i++) { @@ -139,11 +129,7 @@ public class BeanPropertyCompound extends BeanProperty { @Override public Object read(DbReadContext ctx) throws SQLException { - Object v = compoundType.read(ctx.getDataReader()); - if (typeConverter != null) { - v = typeConverter.wrapValue(v); - } - return v; + return compoundType.read(ctx.getDataReader()); } @Override diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompoundScalar.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompoundScalar.java index 6c0c7b660..d3fa6b68b 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompoundScalar.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/BeanPropertyCompoundScalar.java @@ -1,7 +1,6 @@ package com.avaje.ebeaninternal.server.deploy; import com.avaje.ebean.bean.EntityBean; -import com.avaje.ebean.config.ScalarTypeConverter; import com.avaje.ebeaninternal.server.deploy.meta.DeployBeanProperty; import com.avaje.ebeaninternal.server.type.CtCompoundProperty; @@ -15,16 +14,10 @@ public class BeanPropertyCompoundScalar extends BeanProperty { private final CtCompoundProperty ctProperty; - @SuppressWarnings("rawtypes") - private final ScalarTypeConverter typeConverter; - - public BeanPropertyCompoundScalar(BeanPropertyCompoundRoot rootProperty, DeployBeanProperty scalarDeploy, - CtCompoundProperty ctProperty, ScalarTypeConverter typeConverter) { - + public BeanPropertyCompoundScalar(BeanPropertyCompoundRoot rootProperty, DeployBeanProperty scalarDeploy, CtCompoundProperty ctProperty) { super(scalarDeploy); this.rootProperty = rootProperty; this.ctProperty = ctProperty; - this.typeConverter = typeConverter; } /** @@ -32,20 +25,13 @@ public class BeanPropertyCompoundScalar extends BeanProperty { */ @SuppressWarnings("unchecked") public Object getValueObject(Object compoundValue) { - if (typeConverter != null) { - compoundValue = typeConverter.unwrapValue(compoundValue); - } return ctProperty.getValue(compoundValue); } @SuppressWarnings("unchecked") @Override public Object getValue(EntityBean valueObject) { - Object val = valueObject; - if (typeConverter != null) { - val = typeConverter.unwrapValue(val); - } - return ctProperty.getValue(val); + return ctProperty.getValue(valueObject); } @Override @@ -59,9 +45,6 @@ public class BeanPropertyCompoundScalar extends BeanProperty { Object compoundValue = ctProperty.setValue(bean, value); if (compoundValue != null) { - if (typeConverter != null) { - compoundValue = typeConverter.wrapValue(compoundValue); - } // we are at the top level and we have a compound value // that we can set using the root property if (intercept) { diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/meta/DeployBeanPropertyCompound.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/meta/DeployBeanPropertyCompound.java index a3d1aa826..8eb91d817 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/meta/DeployBeanPropertyCompound.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/meta/DeployBeanPropertyCompound.java @@ -1,6 +1,5 @@ package com.avaje.ebeaninternal.server.deploy.meta; -import com.avaje.ebean.config.ScalarTypeConverter; import com.avaje.ebeaninternal.server.deploy.BeanPropertyCompoundRoot; import com.avaje.ebeaninternal.server.deploy.BeanPropertyCompoundScalar; import com.avaje.ebeaninternal.server.type.CtCompoundProperty; @@ -16,21 +15,17 @@ import java.util.Map.Entry; */ public class DeployBeanPropertyCompound extends DeployBeanProperty { - final CtCompoundType compoundType; + private final CtCompoundType compoundType; - final ScalarTypeConverter typeConverter; - - DeployBeanEmbedded deployEmbedded; + private DeployBeanEmbedded deployEmbedded; /** * Create the property. */ - public DeployBeanPropertyCompound(DeployBeanDescriptor desc, Class targetType, - CtCompoundType compoundType, ScalarTypeConverter typeConverter) { + public DeployBeanPropertyCompound(DeployBeanDescriptor desc, Class targetType, CtCompoundType compoundType) { super(desc, targetType, null, null); this.compoundType = compoundType; - this.typeConverter = typeConverter; } public BeanPropertyCompoundRoot getFlatProperties() { @@ -71,8 +66,7 @@ public class DeployBeanPropertyCompound extends DeployBeanProperty { deploy.setDbUpdateable(true); deploy.setDbRead(true); - BeanPropertyCompoundScalar bp = new BeanPropertyCompoundScalar(rootProperty, deploy, ctProp, typeConverter); - rootProperty.register(bp); + rootProperty.register(new BeanPropertyCompoundScalar(rootProperty, deploy, ctProp)); } rootProperty.setNonScalarProperties(ctMeta.getNonScalarProperties()); @@ -99,10 +93,6 @@ public class DeployBeanPropertyCompound extends DeployBeanProperty { return deployEmbedded; } - public ScalarTypeConverter getTypeConverter() { - return typeConverter; - } - public CtCompoundType getCompoundType() { return compoundType; } diff --git a/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java b/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java index 4c90c2714..c4961e248 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java +++ b/src/main/java/com/avaje/ebeaninternal/server/deploy/parse/DeployCreateProperties.java @@ -263,7 +263,7 @@ public class DeployCreateProperties { CtCompoundType compoundType = typeManager.getCompoundType(propertyType); if (compoundType != null) { - return new DeployBeanPropertyCompound(desc, propertyType, compoundType, null); + return new DeployBeanPropertyCompound(desc, propertyType, compoundType); } if (isTransientField(field)) { @@ -278,7 +278,7 @@ public class DeployCreateProperties { typeManager.recursiveCreateScalarDataReader(propertyType); compoundType = typeManager.getCompoundType(propertyType); if (compoundType != null) { - return new DeployBeanPropertyCompound(desc, propertyType, compoundType, null); + return new DeployBeanPropertyCompound(desc, propertyType, compoundType); } } else {