• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ExistsInRelationshipQualifier
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ExistsInRelationshipQualifier


  • Subject: Re: ExistsInRelationshipQualifier
  • From: "Daniele Corti" <email@hidden>
  • Date: Wed, 5 Dec 2007 17:54:15 +0100

Hi Pierre, 

this is what I'm going to do:

first: what I need to do. I need to obtain the rows of GWS_STOCK table (entity name GWSStock) that have a configuration (instance of GWSConfiguration) passed by argument at the method, and that have no one related valid GWSLicense 

my model is:

(the objects I'm fetching) GWSStock
  GWSStock --->> licenses -->> GWSLicense
  GWSStock --> configuration --> GWSConfiguration

GWSLicense ha a field isvalid as Integer (don't blame me I did it before I discover EOPrototype...)

 
the piece of code is:

        EOKeyValueQualifier keyValueQualifier;

    NSMutableArray mutableArray;

    

    mutableArray = new NSMutableArray();

    keyValueQualifier = new EOKeyValueQualifier( "configuration", EOQualifier.QualifierOperatorEqual, configuration);

    mutableArray.addObject(keyValueQualifier);

    

    keyValueQualifier = new EOKeyValueQualifier( "isvalid", EOQualifier.QualifierOperatorEqual, new Integer(1));

    

    ExistsInRelationshipQualifier existsInRelationshipQualifier = new ExistsInRelationshipQualifier("licenses", keyValueQualifier);

    

    EONotQualifier not = new EONotQualifier(existsInRelationshipQualifier);

    

    mutableArray.addObject(not);

    

    EOFetchSpecification fetchSpecification = new EOFetchSpecification(GWSStock. ENTITY_NAME, new EOAndQualifier(mutableArray), null);

    fetchSpecification.setRefreshesRefetchedObjects(true);

    NSArray array = ec.objectsWithFetchSpecification(fetchSpecification); 


the StackTrace Error is:

dic 05 17:23:07 GWSupportV2[55338] ( ERXNSLogLog4jBridge.java:44) DEBUG NSLog  - Using JDBCPlugIn 'com.webobjects.jdbcadaptor.FrontbasePlugIn' for JDBCAdaptor@12892567

dic 05 17:23:07 GWSupportV2[55338] (ERXNSLogLog4jBridge.java:41) WARN  NSLog  - <com.webobjects.appserver._private.WOComponentRequestHandler >: Exception occurred while handling request:

java.lang.NullPointerException

[2007-12-05 17:23:07 CET] <WorkerThread3> java.lang.NullPointerException

at com.webobjects.eoaccess.EOSQLExpression._aliasForRelationshipPath( EOSQLExpression.java:324)

at com.webobjects.eoaccess.EOSQLExpression._aliasForRelatedAttributeRelationshipPath( EOSQLExpression.java:259)

at com.houdah.webobjects.eoaccess.qualifiers.ExistsInRelationshipQualifierSupport.sqlStringForSQLExpression (ExistsInRelationshipQualifierSupport.java:100)

at com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._sqlStringForSQLExpression( EOQualifierSQLGeneration.java:151)

at com.webobjects.eoaccess.EOSQLExpression.sqlStringForNegatedQualifier( EOSQLExpression.java:1637)

at com.webobjects.eoaccess.EOQualifierSQLGeneration$_NotQualifierSupport.sqlStringForSQLExpression (EOQualifierSQLGeneration.java:569)

at com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._sqlStringForSQLExpression( EOQualifierSQLGeneration.java:151)

at com.webobjects.eoaccess.EOSQLExpression.sqlStringForArrayOfQualifiers( EOSQLExpression.java:1562)

at com.webobjects.eoaccess.EOSQLExpression.sqlStringForConjoinedQualifiers( EOSQLExpression.java:1597)

at com.webobjects.eoaccess.EOQualifierSQLGeneration$_AndQualifierSupport.sqlStringForSQLExpression (EOQualifierSQLGeneration.java:512)

at com.webobjects.eoaccess.EOQualifierSQLGeneration$Support._sqlStringForSQLExpression( EOQualifierSQLGeneration.java:151)

at com.webobjects.eoaccess.EOSQLExpression.prepareSelectExpressionWithAttributes( EOSQLExpression.java:1024)

at com.webobjects.jdbcadaptor.JDBCExpression.prepareSelectExpressionWithAttributes( JDBCExpression.java:273)

at com.webobjects.eoaccess.EOSQLExpressionFactory.selectStatementForAttributes( EOSQLExpressionFactory.java:226)

at com.webobjects.jdbcadaptor.JDBCChannel.selectAttributes( JDBCChannel.java:178)

at com.webobjects.eoaccess.EODatabaseChannel._selectWithFetchSpecificationEditingContext( EODatabaseChannel.java:878)

at com.webobjects.eoaccess.EODatabaseChannel.selectObjectsWithFetchSpecification( EODatabaseChannel.java:215)

at com.webobjects.eoaccess.EODatabaseContext._objectsWithFetchSpecificationEditingContext( EODatabaseContext.java:3205)

at com.webobjects.eoaccess.EODatabaseContext.objectsWithFetchSpecification( EODatabaseContext.java:3346)

at com.webobjects.eocontrol.EOObjectStoreCoordinator.objectsWithFetchSpecification( EOObjectStoreCoordinator.java:539)

at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification( EOEditingContext.java:4114)

at er.extensions.ERXEC.objectsWithFetchSpecification( ERXEC.java:1075)

at com.webobjects.eocontrol.EOEditingContext.objectsWithFetchSpecification( EOEditingContext.java:4500)

at supportv2.gestweb.model.GWSStock.stocksAvviableForConfiguration( GWSStock.java:133)

at supportv2.gestweb.model.GWSStock.stocksAvviableForLicense( GWSStock.java:107)

at supportv2.gestweb.component.manage.GWSManageLicense.stocksAvviable( GWSManageLicense.java:161)

at sun.reflect.NativeMethodAccessorImpl.invoke0( Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java :324)

at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue( NSKeyValueCoding.java:684)

at com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject( NSKeyValueCoding.java:1160)

at com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey( NSKeyValueCoding.java:1268)

at com.webobjects.appserver.WOComponent.valueForKey( WOComponent.java:1539)

at com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey( NSKeyValueCoding.java:498)

at com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath( NSKeyValueCodingAdditions.java:212)

at com.webobjects.appserver.WOComponent.valueForKeyPath( WOComponent.java:1600)

at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent( WOKeyValueAssociation.java:46)

at com.webobjects.appserver._private.WOPopUpButton.appendChildrenToResponse( WOPopUpButton.java:181)

at com.webobjects.appserver._private.WOHTMLDynamicElement.appendToResponse( WOHTMLDynamicElement.java:424)

at er.extensions.ERXPatcher$DynamicElementsPatches$PopUpButton.appendToResponse( ERXPatcher.java:366)

at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse( WODynamicGroup.java:121)

at er.ajax.AjaxUpdateContainer.appendToResponse( AjaxUpdateContainer.java:152)

at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse( WODynamicGroup.java:121)

at er.extensions.ERXWOConditional.appendChildrenToResponse( ERXWOConditional.java:115)

at er.extensions.ERXWOConditional.appendToResponse( ERXWOConditional.java:109)

at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse( WODynamicGroup.java:121)

at com.webobjects.appserver._private.WODynamicGroup.appendToResponse( WODynamicGroup.java:130)

at com.webobjects.appserver._private.WOComponentContent.appendToResponse( WOComponentContent.java:43)

at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse( WODynamicGroup.java:121)

at com.webobjects.appserver._private.WODynamicGroup.appendToResponse( WODynamicGroup.java:130)

at com.webobjects.appserver.WOComponent.appendToResponse( WOComponent.java:992)

at com.webobjects.appserver._private.WOComponentReference.appendToResponse( WOComponentReference.java:111)

at com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse( WODynamicGroup.java:121)

at com.webobjects.appserver._private.WODynamicGroup.appendToResponse( WODynamicGroup.java:130)

at com.webobjects.appserver.WOComponent.appendToResponse( WOComponent.java:992)

at com.webobjects.appserver.WOSession.appendToResponse( WOSession.java:1200)

at er.extensions.ERXSession.appendToResponse( ERXSession.java:529)

at com.webobjects.appserver.WOApplication.appendToResponse( WOApplication.java:1418)

at er.extensions.ERXApplication.appendToResponse( ERXApplication.java:1008)

at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage( WOComponentRequestHandler.java:230)

at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession( WOComponentRequestHandler.java:287)

at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication (WOComponentRequestHandler.java:322)

at com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest( WOComponentRequestHandler.java:358)

at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest( WOComponentRequestHandler.java:432)

at com.webobjects.appserver.WOApplication.dispatchRequest( WOApplication.java:1306)

at er.extensions.ERXApplication.dispatchRequest( ERXApplication.java:1041)

at com.webobjects.appserver._private.WOWorkerThread.runOnce( WOWorkerThread.java:173)

at com.webobjects.appserver._private.WOWorkerThread.run( WOWorkerThread.java:254)

at java.lang.Thread.run(Thread.java:552 )


dic 05 17:23:07 GWSupportV2[55338] (ERXApplication.java:843) ERROR er.extensions.ERXApplication   - Exception caught: null

Extra info: {

"CurrentPage" = "supportv2.gestweb.component.manage.GWSManageLicense";

"Bundles" = {

"Ajax" = "3.0";

"ERExtensions" = "3.0";

"JavaWebObjects" = "5.3.3";

"JavaXML" = "5.3";

"ERJars" = "3.0";

"ERJavaMail" = "3.0";

"JavaEOAccess" = "5.3.2";

"JavaJDBCAdaptor" = "5.3.2";

"HoudahEOAccess" = "";

"FrontBasePlugIn" = "";

"JavaWOExtensions" = "3.0";

"GWSupportV2" = "";

"HoudahFoundation" = "";

"JavaEOControl" = "5.3.2";

"QualifierAdditions" = "";

"WOOgnl" = "3.0";

"HoudahEOControl" = "";

"JavaFoundation" = "5.3.3";

"Validity" = "3.0";

"ERPrototypes" = "3.0";

};

"uri" = "/cgi-bin/WebObjects/GWSupportV2.woa/wo/BqhchvXtY9bKEJMhiBwqJ0/8.0.43.3.69.7.23";

"CurrentComponent" = "supportv2.gestweb.component.manage.GWSManageLicense";

"PreviousPageList" = (

"supportv2.gestweb.component.Main",

"supportv2.gestweb.component.GWSActions",

"supportv2.gestweb.component.search.GWSSearchOrder",

"supportv2.gestweb.component.manage.GWSInsertOrder"

);

}


Some other info: I'm working with WO 5.3 on tiger, with Java 1.4.2.

2007/12/5, Pierre Bernard <email@hidden>:
Hi!

 
Could you please send me the relevant bit of your source as well as a complete stack trace using the newest version of the code (so line numbers match up)?

 
Chances are there are still bugs in the qualifiers. I have used them on a couple projects. So did other people. Don't know how many though. E.g. Chuck has found bugs and suggested fixes. The version committed with Houdah Frameworks includes all fixes I am aware of.

 
Yet in all likeliness not all possible setups have been tested or thought of. Qualifier SQL generation is a very complex subject.

 
Best,
Pierre Bernard
Houdah Software s.à r.l.

 

 
On Dec 5, 2007, at 5:26 PM, Daniele Corti wrote:

Hi,

 
Same error of David, and I've just up-to-date the houdah frameworks with the  svn checkout http://houdah- webobjects-frameworks.googlecode.com/svn/trunk/ houdah-webobjects-frameworks-read-only  Command.

 
Can it be a source error?

2007/12/5, Pierre Bernard < email@hidden>:
The latest version is at : http://code.google.com/p/houdah-webobjects-frameworks/

Pierre


On Dec 5, 2007, at 2:58 AM, Chuck Hill wrote:

> That looks familiar.  Pierre and I fixed a bug in this a while
> back.  Are you using the current ( i.e. up to date) ones from Houdah
> frameworks?
>
> Chuck
>
>
> On Dec 4, 2007, at 5:51 PM, David Holt wrote:
>
>> Hello All,
>>
>> I am finally getting the chance to use the QualifierAdditions from
>> Pierre Bernard (thanks Pierre!). I am using the following code that
>> generates a NullPointerException. Can anyone see what I have done
>> wrong?
>>
>> I am trying to show all Artifacts that have not been specified as
>> "favourites".
>>
>>
>>
>> public EOFetchSpecification getPubliclyDisplayed() {
>>
>>              EOQualifier q1 = new EOKeyValueQualifier( "userName",
>> EOQualifier.QualifierOperatorEqual, applicationUser.userName());
>>              ExistsInRelationshipQualifier q2 = new
>> ExistsInRelationshipQualifier("applicationUsers", q1);
>>              // the inverse
>>              EONotQualifier notq2 = new EONotQualifier(q2);
>>
>>              // EOQualifier q3 = new EOAndQualifier( new NSArray( new Object[]
>> { q1, notq2 } ) );
>>              EOFetchSpecification fs = new EOFetchSpecification( "Artifact",
>> notq2, null );
>>
>>              return fs;
>>      }
>>
>>
>> Stack trace:
>>
>> java.lang.NullPointerException
>> File
>> Line#
>> Method
>> Package
>>
>>
>> EOSQLExpression.java
>> 324
>> _aliasForRelationshipPath
>> com.webobjects.eoaccess
>> EOSQLExpression.java
>> 259
>> _aliasForRelatedAttributeRelationshipPath
>> com.webobjects.eoaccess
>> ExistsInRelationshipQualifierSupport.java
>> 99
>> sqlStringForSQLExpression
>> com.houdah.webobjects.eoaccess.qualifiers
>> EOQualifierSQLGeneration.java
>> 151
>> _sqlStringForSQLExpression
>> com.webobjects.eoaccess
>> EOSQLExpression.java
>> 1024
>> prepareSelectExpressionWithAttributes
>> com.webobjects.eoaccess
>> JDBCExpression.java
>> 273
>> prepareSelectExpressionWithAttributes
>> com.webobjects.jdbcadaptor
>> EOSQLExpressionFactory.java
>> 226
>> selectStatementForAttributes
>> com.webobjects.eoaccess
>> ERXSQLHelper.java
>> 461
>> sqlExpressionForFetchSpecification
>> er.extensions
>> ERXSQLHelper.java
>> 513
>> rowCountForFetchSpecification
>> er.extensions
>> ERXEOAccessUtilities.java
>> 284
>> rowCountForFetchSpecification
>> er.extensions
>> ERXBatchingDisplayGroup.java
>> 189
>> rowCount
>> er.extensions
>> ERXBatchingDisplayGroup.java
>> 216
>> refetch
>> er.extensions
>> ERXBatchingDisplayGroup.java
>> 276
>> fetch
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ( email@hidden
>
> --
>
> Practical WebObjects - for developers who want to increase their
> overall knowledge of WebObjects or who are trying to solve specific
> problems.
> http://www.global-village.net/products/practical_webobjects
>
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ( email@hidden

- - -
Houdah Software s. à r. l.
http://www.houdah.com

HoudahGeo: One-stop photo geocoding
HoudahSpot: Powerful Spotlight frontend




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (



--
Daniele Corti
AIM: S0CR4TE5
Messenger: email@hidden

--
Computers are like air conditioners -- they stop working properly if you open
WINDOWS

--
What about the four lusers of the apocalypse? I nominate:
"advertising", "can't log in", "power switch" and "what backup?"
--Alistair Young

- - -
Houdah Software s. à r. l.
http://www.houdah.com

 
HoudahGeo: One-stop photo geocoding
HoudahSpot: Powerful Spotlight frontend

 

 





--
Daniele Corti
AIM: S0CR4TE5
Messenger: email@hidden

--
Computers are like air conditioners -- they stop working properly if you open
WINDOWS

--
What about the four lusers of the apocalypse? I nominate:
"advertising", "can't log in", "power switch" and "what backup?"
--Alistair Young
 _______________________________________________
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

  • Follow-Ups:
    • Re: ExistsInRelationshipQualifier
      • From: Pierre Bernard <email@hidden>
References: 
 >ExistsInRelationshipQualifier (From: David Holt <email@hidden>)
 >Re: ExistsInRelationshipQualifier (From: Chuck Hill <email@hidden>)
 >Re: ExistsInRelationshipQualifier (From: Pierre Bernard <email@hidden>)
 >Re: ExistsInRelationshipQualifier (From: "Daniele Corti" <email@hidden>)
 >Re: ExistsInRelationshipQualifier (From: Pierre Bernard <email@hidden>)

  • Prev by Date: Re: ExistsInRelationshipQualifier
  • Next by Date: Re: class loader launch problem with Wonder
  • Previous by thread: Re: ExistsInRelationshipQualifier
  • Next by thread: Re: ExistsInRelationshipQualifier
  • Index(es):
    • Date
    • Thread