Java Packages for Dummies
Java Packages for Dummies
- Subject: Java Packages for Dummies
- From: Owen McKerrow <email@hidden>
- Date: Wed, 5 Dec 2007 10:09:20 +1100
Hi All,
As part of preparing to move to Eclipse we are going back and
updating our projects so they are using packages ( this is the bit
where I run and hide in shame as I have to admit we never used them
before ) and EOGenerator if they weren't already. Anyways.....
We're having some issues, lots of issues so I think we've done
something dumb. The first issue is that
addbjectToBothSidesOfRelationship is now causing a StackOverflow
error as it keeps calling itself. In the example below its for the
AuditLog class. First up is the old code, then the new code ( thanks
to EOGenerator ) and then the error message (I haven't included all
of the stack trace as its the same thing over and over again ).
So as a newbie to packages I can't see any rules that we're breaking
( although we probably are ). Any advise/suggestions/fixes would be
most appreciated.
---Old----
import com.webobjects.foundation.*;
import com.webobjects.eocontrol.*;
import java.math.BigDecimal;
import java.util.*;
/**
Log trail of each time a page is accessed/viewed on the website.
*/
public class AccessLog extends OMGenericRecord {
public AccessLog() {
super();
}
public Person person() {
return (Person)storedValueForKey("person");
}
public void setPerson(Person value) {
takeStoredValueForKey(value, "person");
}
----New-----
package edu.uow.ris.framework.eo;
import edu.uow.ris.framework.*;
import edu.uow.emlab.omframework.*;
import com.webobjects.eoaccess.*;
import com.webobjects.eocontrol.*;
import com.webobjects.foundation.*;
import java.math.BigDecimal;
import java.util.*;
import org.apache.log4j.Logger;
public abstract class _AccessLog extends OMGenericRecord {
private static Logger log = Logger.getLogger( _AccessLog.class );
public _AccessLog() {
super();
}
public void setPerson(edu.uow.ris.framework.eo.Person aValue) {
if( aValue == null ) {
edu.uow.ris.framework.eo.Person object = person();
if( object != null )
removeObjectFromBothSidesOfRelationshipWithKey
( object, "person" );
} else
addObjectToBothSidesOfRelationshipWithKey( aValue,
"person" );
}
Error: com.webobjects.foundation.NSForwardException
[java.lang.StackOverflowError] null
InvocationTargetException.java 54 <init> java.lang.reflect
GeneratedMethodAccessor8.java NA invoke sun.reflect
DelegatingMethodAccessorImpl.java 25 invoke sun.reflect
Method.java 585 invoke java.lang.reflect
NSKeyValueCoding.java 688 setMethodValue com.webobjects.foundation
NSKeyValueCoding.java 1175 setValueInObject com.webobjects.foundation
EOCustomObject.java 1601 takeValueForKey com.webobjects.eocontrol
EOCustomObject.java 1078 addObjectToBothSidesOfRelationshipWithKey
com.webobjects.eocontrol
_AccessLog.java 83 setPerson edu.uow.ris.framework.eo
GeneratedMethodAccessor8.java NA invoke sun.reflect
DelegatingMethodAccessorImpl.java 25 invoke sun.reflect
Method.java 585 invoke java.lang.reflect
NSKeyValueCoding.java 688 setMethodValue com.webobjects.foundation
NSKeyValueCoding.java 1175 setValueInObject com.webobjects.foundation
EOCustomObject.java 1601 takeValueForKey com.webobjects.eocontrol
EOCustomObject.java 1078 addObjectToBothSidesOfRelationshipWithKey
com.webobjects.eocontrol
_AccessLog.java 83 setPerson edu.uow.ris.framework.eo
GeneratedMethodAccessor8.java NA invoke sun.reflect
DelegatingMethodAccessorImpl.java 25 invoke sun.reflect
Method.java 585 invoke java.lang.reflect
NSKeyValueCoding.java 688 setMethodValue com.webobjects.foundation
NSKeyValueCoding.java 1175 setValueInObject com.webobjects.foundation
EOCustomObject.java 1601 takeValueForKey com.webobjects.eocontrol
EOCustomObject.java 1078 addObjectToBothSidesOfRelationshipWithKey
com.webobjects.eocontrol
_AccessLog.java 83 setPerson edu.uow.ris.framework.eo
Owen McKerrow
WebMaster, emlab
Ph : +61 02 4221 5517
http://emlab.uow.edu.au
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
People who prefer typing to pointing then seem to prefer acronyms to
save typing :-)
-Denis Stanton, On people using Command Line Interfaces
_______________________________________________
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