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" );
}