bug 346535 - fixed isVirtual calc and removed converter construction for virtual attributes
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java
index 8c8a09f..cc53451 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmConverterTests.java
@@ -89,10 +89,10 @@
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
EclipseLinkCustomConverter virtualConverter = (EclipseLinkCustomConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkCustomConverter javaConverter = ((EclipseLinkCustomConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setConverterClass("bar");
- assertEquals("bar", virtualConverter.getConverterClass());
+
+ assertNull(virtualConverter);
assertEquals("bar", javaConverter.getConverterClass());
//set metadata-complete, test virtual mapping
@@ -156,10 +156,10 @@
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
EclipseLinkCustomConverter virtualConverter = (EclipseLinkCustomConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkCustomConverter javaConverter = ((EclipseLinkCustomConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setName("bar");
- assertEquals("bar", virtualConverter.getName());
+
+ assertNull(virtualConverter);
assertEquals("bar", javaConverter.getName());
//set metadata-complete, test virtual mapping
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java
index 2189d0c..e969d6e 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmObjectTypeConverterTests.java
@@ -56,27 +56,8 @@
}
});
}
-
- private ICompilationUnit createTestEntityWithConvertAndObjectTypeConverterConversionValue() throws Exception {
- return this.createTestType(new DefaultAnnotationWriter() {
- @Override
- public Iterator<String> imports() {
- return new ArrayIterator<String>(JPA.ENTITY, EclipseLink.CONVERT, EclipseLink.OBJECT_TYPE_CONVERTER, EclipseLink.CONVERSION_VALUE);
- }
- @Override
- public void appendTypeAnnotationTo(StringBuilder sb) {
- sb.append("@Entity");
- }
-
- @Override
- public void appendIdFieldAnnotationTo(StringBuilder sb) {
- sb.append("@Convert(\"foo\")").append(CR);
- sb.append(" @ObjectTypeConverter(name=\"foo\", defaultObjectValue=\"bar\", conversionValues = @ConversionValue(dataValue=\"f\", objectValue=\"female\"))");
- }
- });
- }
-
+
public EclipseLinkOrmObjectTypeConverterTests(String name) {
super(name);
}
@@ -114,16 +95,17 @@
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setDataType("bar");
- assertEquals("bar", ormConverter.getDataType());
+
+ assertNull(ormConverter);
assertEquals("bar", javaConverter.getDataType());
//set metadata-complete, test virtual mapping
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getDataType());
}
@@ -175,23 +157,22 @@
assertEquals(null, ormConverter.getObjectType());
assertEquals(null, converterResource.getObjectType());
-
//remove the specified persistent attribute, test virtual mapping
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setObjectType("bar");
- assertEquals("bar", ormConverter.getObjectType());
+
+ assertNull(ormConverter);
assertEquals("bar", javaConverter.getObjectType());
//set metadata-complete, test virtual mapping
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getObjectType());
}
@@ -245,24 +226,21 @@
//remove the specified persistent attribute, test virtual mapping
-
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
EclipseLinkObjectTypeConverter virtualConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setName("bar");
- assertEquals("bar", virtualConverter.getName());
+
+ assertNull(virtualConverter);
assertEquals("bar", javaConverter.getName());
-
//set metadata-complete, test virtual mapping
-
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getName());
}
@@ -317,20 +295,20 @@
//remove the specified persistent attribute, test virtual mapping
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkObjectTypeConverter javaConverter = ((EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setDefaultObjectValue("bar");
- assertEquals("bar", ormConverter.getDefaultObjectValue());
+
+ assertNull(ormConverter);
assertEquals("bar", javaConverter.getDefaultObjectValue());
//set metadata-complete, test virtual mapping
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getDefaultObjectValue());
}
@@ -453,24 +431,19 @@
assertEquals(1, javaConverter.conversionValuesSize());
//remove orm attribute mapping, verify virtual mapping has conversion values from java
-
ormPersistentAttribute.convertToVirtual();
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkObjectTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
- assertEquals(1, ormConverter.conversionValuesSize());
- contextConversionValues = ormConverter.conversionValues();
- contextConversionValue = contextConversionValues.next();
- assertEquals("baz", contextConversionValue.getDataValue());
- assertEquals(0, converterResource.getConversionValues().size());
+ assertNull(ormConverter);
assertEquals(1, javaConverter.conversionValuesSize());
//set metadata-complete to true, verify virtual mapping ignores the conversion values from java
-
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
}
@@ -553,17 +526,4 @@
assertEquals(0, ormConverter.conversionValuesSize());
assertEquals(0, converterResource.getConversionValues().size());
}
-
- public void testInitializeConversionValues() throws Exception {
- createTestEntityWithConvertAndObjectTypeConverterConversionValue();
- OrmPersistentType ormPersistentType = getEntityMappings().addPersistentType(MappingKeys.ENTITY_TYPE_MAPPING_KEY, FULLY_QUALIFIED_TYPE_NAME);
- OrmReadOnlyPersistentAttribute ormPersistentAttribute = ormPersistentType.getAttributeNamed("id");
- BasicMapping ormBasicMapping = (BasicMapping) ormPersistentAttribute.getMapping();
- EclipseLinkConvert eclipseLinkConvert = (EclipseLinkConvert) ormBasicMapping.getConverter();
- EclipseLinkObjectTypeConverter converter = (EclipseLinkObjectTypeConverter) eclipseLinkConvert.getConverter();
-
- assertEquals(1, converter.conversionValuesSize());
- assertEquals("f", converter.conversionValues().next().getDataValue());
- assertEquals("female", converter.conversionValues().next().getObjectValue());
- }
}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java
index f6a3cfc..1ab2217 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmStructConverterTests.java
@@ -82,24 +82,23 @@
converterResource.setConverter(null);
assertEquals(null, ormConverter.getConverterClass());
assertEquals(null, converterResource.getConverter());
-
//remove the specified persistent attribute, test virtual mapping
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkStructConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkStructConverter javaConverter = ((EclipseLinkStructConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setConverterClass("bar");
- assertEquals("bar", ormConverter.getConverterClass());
+
+ assertNull(ormConverter);
assertEquals("bar", javaConverter.getConverterClass());
//set metadata-complete, test virtual mapping
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getConverterClass());
}
@@ -151,26 +150,22 @@
assertEquals(null, ormConverter.getName());
assertEquals(null, converterResource.getName());
-
//remove the specified persistent attribute, test virtual mapping
-
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
EclipseLinkStructConverter virtualConverter = (EclipseLinkStructConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkStructConverter javaConverter = ((EclipseLinkStructConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setName("bar");
- assertEquals("bar", virtualConverter.getName());
+
+ assertNull(virtualConverter);
assertEquals("bar", javaConverter.getName());
-
//set metadata-complete, test virtual mapping
-
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.virtualAttributes().next();
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getName());
}
diff --git a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java
index e08e36a..934ecdd 100644
--- a/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java
+++ b/jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests/src/org/eclipse/jpt/jpa/eclipselink/core/tests/internal/context/orm/EclipseLinkOrmTypeConverterTests.java
@@ -82,24 +82,23 @@
converterResource.setDataType(null);
assertEquals(null, ormConverter.getDataType());
assertEquals(null, converterResource.getDataType());
-
//remove the specified persistent attribute, test virtual mapping
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkTypeConverter javaConverter = ((EclipseLinkTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setDataType("bar");
- assertEquals("bar", ormConverter.getDataType());
+
+ assertNull(ormConverter);
assertEquals("bar", javaConverter.getDataType());
//set metadata-complete, test virtual mapping
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getDataType());
}
@@ -151,23 +150,22 @@
assertEquals(null, ormConverter.getObjectType());
assertEquals(null, converterResource.getObjectType());
-
//remove the specified persistent attribute, test virtual mapping
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
ormConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkTypeConverter javaConverter = ((EclipseLinkTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setObjectType("bar");
- assertEquals("bar", ormConverter.getObjectType());
+
+ assertNull(ormConverter);
assertEquals("bar", javaConverter.getObjectType());
//set metadata-complete, test virtual mapping
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getObjectType());
}
@@ -219,25 +217,22 @@
assertEquals(null, ormConverter.getName());
assertEquals(null, converterResource.getName());
-
//remove the specified persistent attribute, test virtual mapping
ormPersistentAttribute.convertToVirtual();
-
OrmReadOnlyPersistentAttribute ormPersistentAttribute2 = ormPersistentType.getAttributeNamed("id");
BasicMapping virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
EclipseLinkTypeConverter virtualConverter = (EclipseLinkTypeConverter) ((EclipseLinkConvert) virtualBasicMapping.getConverter()).getConverter();
-
EclipseLinkTypeConverter javaConverter = ((EclipseLinkTypeConverter) ((EclipseLinkConvert) javaBasicMapping.getConverter()).getConverter());
javaConverter.setName("bar");
- assertEquals("bar", virtualConverter.getName());
+
+ assertNull(virtualConverter);
assertEquals("bar", javaConverter.getName());
-
//set metadata-complete, test virtual mapping
-
ormPersistentType.getMapping().setSpecifiedMetadataComplete(Boolean.TRUE);
ormPersistentAttribute2 = ormPersistentType.virtualAttributes().next();
virtualBasicMapping = (BasicMapping) ormPersistentAttribute2.getMapping();
+
assertNull(virtualBasicMapping.getConverter().getType());
assertEquals("bar", javaConverter.getName());
}