You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2007/05/16 01:15:52 UTC
svn commit: r538376 -
/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java
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: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org