Author: arminw Date: Tue May 15 16:15:51 2007 New Revision: 538376 URL: http://svn.apache.org/viewvc?view=rev&rev=538376 Log: add support for new cascade type, optimize source
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java URL: http://svn.apache.org/viewvc/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java?view=diff&rev=538376&r1=538375&r2=538376 ============================================================================== --- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java (original) +++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java Tue May 15 16:15:51 2007 @@ -44,6 +44,7 @@ public static final int CASCADE_NONE = 17; public static final int CASCADE_LINK = 19; public static final int CASCADE_OBJECT = 23; + public static final int CASCADE_CREATE = 27; private Class m_ClassOfItems = null; private ClassDescriptor m_ClassDescriptorOfItems; @@ -109,8 +110,7 @@ if (fkFieldDescriptors == null) { List fkFields = getForeignKeyFields(); - FieldDescriptor pkFields[] = targetCld.getPkFields(); - + // get FieldDescriptor for each index from Class-descriptor // In a many-to-many relationship Fk-Fields vector will be null. if (fkFields != null) @@ -120,6 +120,7 @@ //exchange interface class descriptor with first concrete class targetCld = targetCld.getRepository().findFirstConcreteClass(targetCld); } + FieldDescriptor pkFields[] = targetCld.getPkFields(); List ret = new ArrayList(); for (int i = 0; i < fkFields.size(); i++) @@ -533,6 +534,10 @@ { return CASCADE_OBJECT; } + else if(cascade.equalsIgnoreCase(RepositoryTags.CASCADE_CREATE_STR)) + { + return CASCADE_CREATE; + } else if(cascade.equalsIgnoreCase("true")) { return CASCADE_OBJECT; @@ -600,9 +605,22 @@ case CASCADE_OBJECT: result = RepositoryTags.CASCADE_OBJECT_STR; break; + case CASCADE_CREATE: + result = RepositoryTags.CASCADE_CREATE_STR; + break; } return result; } + + public boolean isCascadingStoreNone(){return getCascadingStore() == CASCADE_NONE;} + public boolean isCascadingStoreLink(){return getCascadingStore() == CASCADE_LINK;} + public boolean isCascadingStoreCreate(){return getCascadingStore() == CASCADE_CREATE;} + public boolean isCascadingStoreObject(){return getCascadingStore() == CASCADE_OBJECT;} + + public boolean isCascadingDeleteNone(){return getCascadingDelete() == CASCADE_NONE;} + public boolean isCascadingDeleteLink(){return getCascadingDelete() == CASCADE_LINK;} + public boolean isCascadingDeleteObject(){return getCascadingDelete() == CASCADE_OBJECT;} + public int getProxyPrefetchingLimit() { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]