From: <chi...@us...> - 2010-10-14 22:32:55
|
Revision: 11559 http://wonder.svn.sourceforge.net/wonder/?rev=11559&view=rev Author: chillatgvc Date: 2010-10-14 22:32:48 +0000 (Thu, 14 Oct 2010) Log Message: ----------- WONDER-581 PATCH: Use ERXDatabaseContextMulticastingDelegate.addDefaultDelegate to avoid removing existing delegate + add new property to enable: com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active Modified Paths: -------------- trunk/Wonder/Frameworks/Core/ERExtensions/Resources/Properties trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/eoaccess/ERXEntityDependencyOrderingDelegate.java trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/ERXExtensions.java Modified: trunk/Wonder/Frameworks/Core/ERExtensions/Resources/Properties =================================================================== --- trunk/Wonder/Frameworks/Core/ERExtensions/Resources/Properties 2010-10-14 22:12:20 UTC (rev 11558) +++ trunk/Wonder/Frameworks/Core/ERExtensions/Resources/Properties 2010-10-14 22:32:48 UTC (rev 11559) @@ -279,6 +279,9 @@ ## but only if it is activated or remote syncing is on # er.extensions.ERXDatabaseContext.activate = true +# Set to true to have this delegate order the operations (e.g. or MS SQL Server) +com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active = false + ######################################################################### # ERXDatabaseContextDelegate ######################################################################### Modified: trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/eoaccess/ERXEntityDependencyOrderingDelegate.java =================================================================== --- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/eoaccess/ERXEntityDependencyOrderingDelegate.java 2010-10-14 22:12:20 UTC (rev 11558) +++ trunk/Wonder/Frameworks/Core/ERExtensions/Sources/com/webobjects/eoaccess/ERXEntityDependencyOrderingDelegate.java 2010-10-14 22:32:48 UTC (rev 11559) @@ -25,6 +25,7 @@ */ public class ERXEntityDependencyOrderingDelegate { + public static final String ERXEntityDependencyOrderingDelegateActiveKey = "com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active"; protected NSComparator adaptorOpComparator; private static Logger logger = Logger.getLogger(ERXEntityDependencyOrderingDelegate.class); Modified: trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/ERXExtensions.java =================================================================== --- trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/ERXExtensions.java 2010-10-14 22:12:20 UTC (rev 11558) +++ trunk/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/ERXExtensions.java 2010-10-14 22:32:48 UTC (rev 11559) @@ -32,6 +32,7 @@ import com.webobjects.eoaccess.EORelationship; import com.webobjects.eoaccess.EOSQLExpression; import com.webobjects.eoaccess.EOUtilities; +import com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate; import com.webobjects.eoaccess.ERXModel; import com.webobjects.eoaccess.EOQualifierSQLGeneration.Support; import com.webobjects.eocontrol.EOEditingContext; @@ -59,6 +60,7 @@ import er.extensions.eof.ERXConstant; import er.extensions.eof.ERXDatabaseContext; import er.extensions.eof.ERXDatabaseContextDelegate; +import er.extensions.eof.ERXDatabaseContextMulticastingDelegate; import er.extensions.eof.ERXEC; import er.extensions.eof.ERXEOAccessUtilities; import er.extensions.eof.ERXEntityClassDescription; @@ -211,7 +213,12 @@ } ERXExtensions.configureAdaptorContextRapidTurnAround(this); ERXJDBCAdaptor.registerJDBCAdaptor(); - EODatabaseContext.setDefaultDelegate(ERXDatabaseContextDelegate.defaultDelegate()); + + if (ERXValueUtilities.booleanValue(System.getProperty(ERXEntityDependencyOrderingDelegate.ERXEntityDependencyOrderingDelegateActiveKey))) { + ERXDatabaseContextMulticastingDelegate.addDefaultDelegate(new ERXEntityDependencyOrderingDelegate()); + } + ERXDatabaseContextMulticastingDelegate.addDefaultDelegate(ERXDatabaseContextDelegate.defaultDelegate()); + ERXAdaptorChannelDelegate.setupDelegate(); NSNotificationCenter.defaultCenter().addObserver(this, new NSSelector("sharedEditingContextWasInitialized", ERXConstant.NotificationClassArray), EOSharedEditingContext.DefaultSharedEditingContextWasInitializedNotification, null); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |