Author: mbo
Date: Sun Apr 17 14:18:36 2005
New Revision: 161696
URL: http://svn.apache.org/viewcvs?view=rev&rev=161696
Log:
JDOModel change: The JDOField implementation now looks up the java field and
the java type in the JavaModel during default calculation, if these values are
not explicitly set on the JDOField.
Modified:
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/enhancer/meta/model/EnhancerMetaDataJDOModelImpl.java
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/java/runtime/RegisterClassListener.java
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/jdo/JDOFieldImplDynamic.java
Modified:
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/enhancer/meta/model/EnhancerMetaDataJDOModelImpl.java
URL:
http://svn.apache.org/viewcvs/incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/enhancer/meta/model/EnhancerMetaDataJDOModelImpl.java?view=diff&r1=161695&r2=161696
==============================================================================
---
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/enhancer/meta/model/EnhancerMetaDataJDOModelImpl.java
(original)
+++
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/enhancer/meta/model/EnhancerMetaDataJDOModelImpl.java
Sun Apr 17 14:18:36 2005
@@ -298,10 +298,6 @@
affirm(field != null,
"cannot create JDO field: "
+ classPath + "." + fieldName);
- affirm(field.getPersistenceModifier()
- == PersistenceModifier.UNSPECIFIED,
- "unknown, specified JDO field: "
- + classPath + "." + fieldName);
}
field.setJavaField(javaField);
affirm(fieldType == field.getType());
Modified:
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/java/runtime/RegisterClassListener.java
URL:
http://svn.apache.org/viewcvs/incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/java/runtime/RegisterClassListener.java?view=diff&r1=161695&r2=161696
==============================================================================
---
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/java/runtime/RegisterClassListener.java
(original)
+++
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/java/runtime/RegisterClassListener.java
Sun Apr 17 14:18:36 2005
@@ -165,19 +165,6 @@
RuntimeJavaType declaringClass)
throws ModelException
{
- // Set the persistence-modifier. A field mentioned in the runtime
- // metadata is a managed field. It is TRANSACTIONAL only if the
- // XML metadata explictily defines it as TRANSACTIONAL.
- // Check whether the persistence-modifier is already set which might
- // happen in the case the XML was read before).
- // If yes, leave the value as it is.
- // If no, set it to PERSISTENT. The persistence-modifier will be
- // overwritten by any value explictly defined in the XML.
- if (jdoField.getPersistenceModifier() ==
- PersistenceModifier.UNSPECIFIED) {
- jdoField.setPersistenceModifier(PersistenceModifier.PERSISTENT);
- }
-
// handle JavaField
JavaField javaField = declaringClass.createJavaField(jdoField,
javaModelFactory.getJavaType(fieldType));
Modified:
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/jdo/JDOFieldImplDynamic.java
URL:
http://svn.apache.org/viewcvs/incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/jdo/JDOFieldImplDynamic.java?view=diff&r1=161695&r2=161696
==============================================================================
---
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/jdo/JDOFieldImplDynamic.java
(original)
+++
incubator/jdo/trunk/ri11/src/java/org/apache/jdo/impl/model/jdo/JDOFieldImplDynamic.java
Sun Apr 17 14:18:36 2005
@@ -252,9 +252,16 @@
* @return the corresponding Java field representation
*/
public JavaField getJavaField() {
- return javaField;
+ if (javaField != null) {
+ // return java field, if explicitly set by the setter
+ return javaField;
+ }
+
+ // not set => calculate
+ JavaType javaType = getDeclaringClass().getJavaType();
+ return javaType.getJavaField(getName());
}
-
+
/**
* Sets the corresponding Java field representation for this JDOField.
* @param javaField the corresponding Java field representation
@@ -464,7 +471,8 @@
* @return JavaType representation of the type of this field.
*/
public JavaType getType() {
- return (javaField == null) ? null : javaField.getType();
+ JavaField field = getJavaField();
+ return (field == null) ? null : field.getType();
}
/**