Hi Chuck!
Thank you for the quick response! .
I made sure that Responsable primary Key is the Vehicule foreign Key and i
have validated the model.
Here is the stack trace
Jun 26 20:17:15 TicketManagmentServer[54345] WARN
er.extensions.eof.ERXModelGroup - Clearing previous class descriptions
Jun 26 20:17:15 TicketManagmentServer[54345] WARN
er.extensions.eof.ERXModelGroup - The EOModel 'erprototypes' has an empty
connection dictionary.
Jun 26 20:17:15 TicketManagmentServer[54345] WARN
er.extensions.eof.ERXModelGroup - The EOModel 'erprototypes' has an empty
connection dictionary.
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - Using JDBCPlugIn
'com.webobjects.jdbcadaptor.PostgresqlPlugIn' for JDBCAdaptor@2019733318
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - Using JDBCPlugIn
'com.webobjects.jdbcadaptor.PostgresqlPlugIn' for JDBCAdaptor@1901677475
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - connecting with
dictionary: {plugin = "Postgresql"; username = "postgres"; driver =
"org.postgresql.Driver"; password = "<password deleted for log>"; URL =
"jdbc:postgresql://localhost/TicketManagment"; }
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - fetching JDBC
Info with JDBCContext@1433183189
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - connecting with
dictionary: {plugin = "Postgresql"; username = "postgres"; driver =
"org.postgresql.Driver"; password = "<password deleted for log>"; URL =
"jdbc:postgresql://localhost/TicketManagment"; }
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - === Begin
Internal Transaction
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog -
evaluateExpression: <com.webobjects.jdbcadaptor.PostgresqlExpression:
"SELECT t0.annee, t0.couleur, t0.immatriculation, t0.marque, t0.modele,
t0.numero_serie, t0.responsable_id, t0.statut_id, t0.sujet_id, t0.type FROM
Vehicule t0 WHERE t0.immatriculation like ?::text ESCAPE '|' ORDER BY
t0.immatriculation ASC" withBindings: 1:"667PTS"(immatriculation)>
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - 1 row(s)
processed
Jun 26 20:17:16 TicketManagmentServer[54345] DEBUG NSLog - === Commit
Internal Transaction
Jun 26 20:17:16 TicketManagmentServer[54345] WARN NSLog -
<com.opsoft.tms.app.DirectAction>: Exception in performActionNamed() on the
action "HandleNewCreatedTicket" with the message:
java.lang.NullPointerException
Jun 26 20:17:16 TicketManagmentServer[54345] ERROR
er.directtoweb.ERD2WDirectAction - Error with action
HandleNewCreatedTicket:java.lang.NullPointerException,
formValues:{createTicket = (""); imageData.mimetype =
("application/octet-stream"); imageData = (<class
com.webobjects.appserver._private.WOInputStreamData (offset=0, length=768,
data=[60]'<', [63]'?', [120]'x', [109]'m', [108]'l', [32]' ', [118]'v',
[101]'e', [114]'r', [115]'s', [105]'i', [111]'o', [110]'n', [61]'=',
[34]'"', [49]'1', [46]'.', [48]'0', [34]'"', [32]' ', [101]'e', [110]'n',
[99]'c', [111]'o', [100]'d', [105]'i', [110]'n', [103]'g', [61]'=',
[34]'"'...)>); imageData.filename = ("ticket.plist"); }
NullPointerException
at
com.webobjects.eoaccess.EODatabaseContext._objectFaultWithSnapshotRelationshipEditingContext(EODatabaseContext.java:2356)
... skipped 1 stack elements
at
com.webobjects.eoaccess.EOAccessDeferredFaultHandler.createFaultForDeferredFault(EOAccessDeferredFaultHandler.java:49)
at
com.webobjects.eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java:1279)
at
er.extensions.eof.ERXGenericRecord.willReadRelationship(ERXGenericRecord.java:409)
at
com.webobjects.eocontrol._EOMutableKnownKeyDictionary$Initializer$_LazyGenericRecordBinding.valueInObject(_EOMutableKnownKeyDictionary.java:614)
at
er.extensions.eof.ERXGenericRecord$TouchingBinding.valueInObject(ERXGenericRecord.java:205)
at
com.webobjects.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:1634)
at com.opsoft.tms._Vehicule.responsable(_Vehicule.java:93)
at com.opsoft.tms.Vehicule.responsable(Vehicule.java:11)
at
com.opsoft.tms.app.DirectAction.getDictionaryFromVehicule(DirectAction.java:400)
at
com.opsoft.tms.app.DirectAction.vehiculesFromImmatriculation(DirectAction.java:380)
at
com.opsoft.tms.app.DirectAction.HandleNewCreatedTicketAction(DirectAction.java:183)
... skipped 4 stack elements
at
com.webobjects.appserver.WODirectAction.performActionNamed(WODirectAction.java:144)
at
er.extensions.appserver.ERXDirectAction.performActionNamed(ERXDirectAction.java:401)
at
er.directtoweb.ERD2WDirectAction.performActionNamed(ERD2WDirectAction.java:449)
... skipped 9 stack elements
On Sun, Jun 26, 2011 at 8:12 PM, Chuck Hill <[email protected]>wrote:
> Hi Fred,
>
>
> On Jun 26, 2011, at 5:01 PM, Fred Opims wrote:
>
> > Hi!
> > I have some problem to a to-one relationship.
> > I have an Entity with 3 properties ( color, brand, model) and one
> relationship Responsable,
> >
> > When i make a fetch, i'm able to access to all propeties, but i can't
> access to relation responsable.
> > Here is the code
> >
> > String imm = vehicule.immatriculation(); //Access OK
> > String marque = vehicule.marque(); //Access OK
> > String modele = vehicule.modele(); //Access OK
> >
> > When i do
> > Responsable resp = vehicule.responsable(); i have a
> _objectFaultWithSnapshotRelationshipEditingContext exception.
>
> That sounds like you have a problem with data consistency in your database.
> Turn on SQL logging (launch with -DEOAdaptorDebugEnabled=true).
>
> Or your model is wrong. Can you post the entire exception message and
> stack trace?
>
> You should very, very rarely need to use willRead and willReadRelationship
> for anything. You should not be using it here.
>
>
> Chuck
>
>
>
> >
> > In the WebObject Entreprise Objects Programming Guide, it is written that
> the fault is fired when the relationship's data is needed.
> >
> > But when i do the following, i still have the same
> _objectFaultWithSnapshotRelationshipEditingContext exception.
> >
> > String name= vehicule.responsable().name();
> > String firstname= vehicule.responsable().firstname();
> >
> > It is also written to call willRead() before accessing to the
> relationship's data.
> >
> > So i did:
> > vehicule.willRead();
> > String name= vehicule.responsable().name();
> > String firstname= vehicule.responsable().firstname();
> >
> > But it doesn't work. Same exception
> >
> > After that, in Vehicule.java i did the following as suggested in the doc:
> >
> > public class Vehicule extends _Vehicule {
> > @SuppressWarnings("unused")
> > private static Logger log = Logger.getLogger(Vehicule.class);
> >
> > public com.package.Responsable responsable() {
> > willRead();
> > return super.responsable();
> > }
> >
> > public static boolean usesDeferredFaultCreation() {
> >
> > return true;
> >
> > }
> > }
> >
> > I made sure the my model is valid and that data in the database are well
> set.
> >
> > Can you tell me please if i'm using willRead the right way? How can i
> access to this relationship?
> >
> > Thank you very much!
> >
> > Fred
> > _______________________________________________
> > Do not post admin requests to the list. They will be ignored.
> > Webobjects-dev mailing list ([email protected])
> > Help/Unsubscribe/Update your Subscription:
> >
> http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> >
> > This email sent to [email protected]
>
> --
> Chuck Hill Senior Consultant / VP Development
>
> Come to WOWODC this July for unparalleled WO learning opportunities and
> real peer to peer problem solving! Network, socialize, and enjoy a great
> cosmopolitan city. See you there! http://www.wocommunity.org/wowodc11/
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]