Re: Changed behavior after Wonderization
Re: Changed behavior after Wonderization
- Subject: Re: Changed behavior after Wonderization
- From: Frank Gibau <email@hidden>
- Date: Mon, 07 Nov 2011 09:25:05 +0000
- Thread-topic: Changed behavior after Wonderization
Thanks Timo, I hoped that such a control exists. Surely I have to fix
something on my EOModels, but I rather do it without that an exception
will be thrown.
Frank
Am 07.11.11 09:52 schrieb "Timo Hoepfner" unter <email@hidden>:
>Hi Frank,
>
>yes, there is a way to control that via the Property
>"er.extensions.ERXDatabaseContextDelegate.tolerantEntityPattern".
>
>See ERXDatabaseContextDelegate#databaseContextFailedToFetchObject:
>
> /**
> * This is Kelly Hawks' fix for the missing to one relationship.
> * Delegate on EODatabaseContext that gets called when a to-one fault
>cannot find its data in
> * the database. The object that is returned is a cleared fault.
> * We raise here to restore the functionality that existed prior to
>WebObjects 4.5.
> * Whenever a fault fails for a globalID (i.e. the object is NOT
>found in the database), we raise
> * an {@link com.webobjects.eoaccess.EOObjectNotAvailableException
>EOObjectNotAvailableException}. <br>
> * If you have entities you don't really care about, you can set the
>system property
> *
><code>er.extensions.ERXDatabaseContextDelegate.tolerantEntityPattern</code
>> to a regular expression
> * that will be tested against the GID entity name. If it matches,
>then only an error will be logged
> * but no exception will be thrown.
> *
> * @param context database context
> * @param object object that is firing the fault for a given to-one
>relationship
> * @param gid global id that wasn't found in the database.
> */
>
>If you look through that code there is another property to control the
>logging.
>
>Timo
>
>Am 07.11.2011 um 09:08 schrieb Frank Gibau:
>
>> Hey to all,
>> In the last months we changed our System to a Projectwonder-System.
>>All works fine (perfect) except one thing:
>> There are errormesseages we never hat like:
>>
>>
>>er.extensions.eof.ERXDatabaseContextDelegate$ObjectNotAvailableException:
>> No de.jvm.eo.personal.PuMitarbeiter found with globalID:
>><PuMitarbeiter: [id: '7436'] >
>>
>> The System is right: this number is missing. But the old Apple EO hat
>>no problems with missing relationsships, the new Wondersystem detects
>>many problems in our databases.
>> But I think: the apple EO was right, because its possible to delete an
>>Object and make no action on his relationship.
>> If I display now the relationship this should by no problem.
>>
>> My Question: is there a property I have to change to get back the old
>>apple EO-behavior.
>>
>> Thanks in advance
>> Frank
>>
>>
>>
>>er.extensions.eof.ERXDatabaseContextDelegate$ObjectNotAvailableException:
>> No de.jvm.eo.personal.PuMitarbeiter found with globalID:
>><PuMitarbeiter: [id: '7436'] >
>> at
>>er.extensions.eof.ERXDatabaseContextDelegate.databaseContextFailedToFetch
>>Object(ERXDatabaseContextDelegate.java:326)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>:39)
>> at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>mpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>>com.webobjects.foundation.NSSelector._safeInvokeMethod(NSSelector.java:12
>>2)
>> at com.webobjects.foundation._NSDelegate._perform(_NSDelegate.java:223)
>> at com.webobjects.foundation._NSDelegate.perform(_NSDelegate.java:167)
>> at
>>com.webobjects.eoaccess.EODatabaseContext._fireFault(EODatabaseContext.ja
>>va:4205)
>> at
>>com.webobjects.eoaccess.EOAccessFaultHandler.completeInitializationOfObje
>>ct(EOAccessFaultHandler.java:89)
>> at
>>com.webobjects.eocontrol.EOCustomObject.willRead(EOCustomObject.java:1172
>>)
>> at
>>com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_Generi
>>cRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:570)
>> at
>>com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.
>>java:1634)
>> at
>>de.jvm.eo.personal._PuMitarbeiter.getLastName(_PuMitarbeiter.java:557)
>> at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
>> at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>mpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>>com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NS
>>KeyValueCoding.java:636)
>> at
>>com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(N
>>SKeyValueCoding.java:1134)
>> at
>>com.webobjects.eocontrol.EOCustomObject.valueForKey(EOCustomObject.java:1
>>498)
>> at
>>com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValue
>>Coding.java:447)
>> at
>>com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation
>>.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
>> at
>>com.webobjects.eocontrol.EOCustomObject.valueForKeyPath(EOCustomObject.ja
>>va:1588)
>> at
>>com.webobjects.foundation.NSKeyValueCodingAdditions$Utility.valueForKeyPa
>>th(NSKeyValueCodingAdditions.java:149)
>> at
>>com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation
>>.valueForKeyPath(NSKeyValueCodingAdditions.java:217)
>> at
>>com.webobjects.eocontrol.EOCustomObject.valueForKeyPath(EOCustomObject.ja
>>va:1588)
>> at
>>com.webobjects.foundation.NSKeyValueCodingAdditions$Utility.valueForKeyPa
>>th(NSKeyValueCodingAdditions.java:149)
>> at
>>com.webobjects.eocontrol.EOSortOrdering$_MultipleSortValueHolder.<init>(E
>>OSortOrdering.java:437)
>> at
>>com.webobjects.eocontrol.EOSortOrdering._sortUsingKeyOrderArray(EOSortOrd
>>ering.java:208)
>> at
>>com.webobjects.eocontrol.EOSortOrdering.sortedArrayUsingKeyOrderArray(EOS
>>ortOrdering.java:249)
>> at de.jvm.eo.BusinessZeiten.sortAscendingTwo(BusinessZeiten.java:795)
>> at
>>SchulungSearchPage.sortedPersonTeilnahmen(SchulungSearchPage.java:350)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
>>:39)
>> at
>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
>>mpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>>KeyValueCodingProtectedAccessor.methodValue(KeyValueCodingProtectedAccess
>>or.java:60)
>> at
>>com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(N
>>SKeyValueCoding.java:1134)
>> at
>>com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueFor
>>Key(NSKeyValueCoding.java:1324)
>> at
>>com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736)
>> at
>>com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValue
>>Coding.java:447)
>> at
>>com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation
>>.valueForKeyPath(NSKeyValueCodingAdditions.java:216)
>> at
>>com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:180
>>4)
>> at
>>com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(
>>WOKeyValueAssociation.java:50)
>> at
>>er.extensions.components._private.ERXWOString.appendToResponse(ERXWOStrin
>>g.java:67)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WOConditional.appendToResponse(WOCondit
>>ional.java:94)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>er.extensions.components._private.ERXWORepetition.appendToResponse(ERXWOR
>>epetition.java:547)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WOConditional.appendToResponse(WOCondit
>>ional.java:94)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynam
>>icGroup.java:136)
>> at
>>com.webobjects.appserver._private.WOComponentContent.appendToResponse(WOC
>>omponentContent.java:51)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>er.ajax.AjaxUpdateContainer.appendToResponse(AjaxUpdateContainer.java:185
>>)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>er.extensions.components._private.ERXWOForm.appendChildrenToResponse(ERXW
>>OForm.java:294)
>> at
>>er.extensions.components._private.ERXWOForm.appendToResponse(ERXWOForm.ja
>>va:463)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WOConditional.appendToResponse(WOCondit
>>ional.java:94)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>er.ajax.AjaxUpdateContainer.appendToResponse(AjaxUpdateContainer.java:185
>>)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>er.ajax.AjaxUpdateContainer.appendToResponse(AjaxUpdateContainer.java:185
>>)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WOHTMLDynamicElement.appendToResponse(W
>>OHTMLDynamicElement.java:447)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynam
>>icGroup.java:136)
>> at
>>com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:11
>>22)
>> at
>>er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:
>>107)
>> at LayoutPage.appendToResponse(LayoutPage.java:92)
>> at
>>com.webobjects.appserver._private.WOComponentReference.appendToResponse(W
>>OComponentReference.java:135)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse
>>(WODynamicGroup.java:126)
>> at
>>com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynam
>>icGroup.java:136)
>> at
>>com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:11
>>22)
>> at
>>er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:
>>107)
>> at SchulungSearchPage.appendToResponse(SchulungSearchPage.java:78)
>> at
>>com.webobjects.appserver.WOSession.appendToResponse(WOSession.java:1385)
>> at
>>er.extensions.appserver.ERXSession.appendToResponse(ERXSession.java:548)
>> at
>>com.webobjects.appserver.WOApplication.appendToResponse(WOApplication.jav
>>a:1794)
>> at
>>er.extensions.appserver.ERXApplication.appendToResponse(ERXApplication.ja
>>va:1880)
>> at Application.appendToResponse(Application.java:112)
>> at
>>com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWith
>>PreparedPage(WOComponentRequestHandler.java:242)
>> at
>>com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWith
>>PreparedSession(WOComponentRequestHandler.java:298)
>> at
>>com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWith
>>PreparedApplication(WOComponentRequestHandler.java:332)
>> at
>>com.webobjects.appserver._private.WOComponentRequestHandler._handleReques
>>t(WOComponentRequestHandler.java:369)
>> at
>>com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest
>>(WOComponentRequestHandler.java:445)
>> at
>>com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java
>>:1687)
>> at
>>er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXAppl
>>ication.java:1978)
>> at
>>er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.jav
>>a:1943)
>> at
>>com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.j
>>ava:144)
>> at
>>com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:
>>226)
>> at java.lang.Thread.run(Thread.java:680)
>>
>>
>>
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>>.de
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden