From: <ms...@us...> - 2008-08-06 19:46:59
|
Revision: 8131 http://wonder.svn.sourceforge.net/wonder/?rev=8131&view=rev Author: mschrag Date: 2008-08-06 19:46:56 +0000 (Wed, 06 Aug 2008) Log Message: ----------- don't NPE if the insert doesn't return an object ... warn for now, though I think MAYBE this should be a security error Modified Paths: -------------- trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java Modified: trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java =================================================================== --- trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java 2008-08-06 14:13:01 UTC (rev 8130) +++ trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java 2008-08-06 19:46:56 UTC (rev 8131) @@ -133,7 +133,12 @@ while (insertNodesEnum.hasMoreElements()) { ERXRestRequestNode insertNode = (ERXRestRequestNode) insertNodesEnum.nextElement(); EOEnterpriseObject eo = entityDelegate.insertObjectFromDocument(entity, insertNode, parentEntity, parentObject, parentKey, context); - eos.addObject(eo); + if (eo != null) { + eos.addObject(eo); + } + else { + ERXRestRequestHandler.log.warn("Skipping inserted entry. This should possibly throw a SecurityException?"); + } } insertResult = new ERXRestKey(context, entity, "inserted", eos); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ms...@us...> - 2008-10-27 20:31:10
|
Revision: 8489 http://wonder.svn.sourceforge.net/wonder/?rev=8489&view=rev Author: mschrag Date: 2008-10-27 20:29:22 +0000 (Mon, 27 Oct 2008) Log Message: ----------- support for subclasses in arrays Modified Paths: -------------- trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java Modified: trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java =================================================================== --- trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java 2008-10-24 16:43:38 UTC (rev 8488) +++ trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java 2008-10-27 20:29:22 UTC (rev 8489) @@ -3,6 +3,7 @@ import java.util.Enumeration; import com.webobjects.eoaccess.EOEntity; +import com.webobjects.eoaccess.EOModelGroup; import com.webobjects.eocontrol.EOEnterpriseObject; import com.webobjects.foundation.NSArray; import com.webobjects.foundation.NSMutableArray; @@ -74,7 +75,12 @@ Enumeration childrenNodesEnum = restRequest.rootNode().children().objectEnumerator(); while (childrenNodesEnum.hasMoreElements()) { ERXRestRequestNode node = (ERXRestRequestNode) childrenNodesEnum.nextElement(); - EOEnterpriseObject eo = entityDelegate.processObjectFromDocument(entity, node, context); + // Re-parse the entity, based on the current node. this allows subclasses to be held in collections, ie + // <Superclass> + // <superclass> + // <subclass> + EOEntity arrayEntity = EOModelGroup.defaultGroup().entityNamed(context.delegate().entityNameForAlias(node.name())); + EOEnterpriseObject eo = entityDelegate.processObjectFromDocument(arrayEntity, node, context); if (eo != null) { eos.addObject(eo); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <df...@us...> - 2008-11-26 16:50:02
|
Revision: 8672 http://wonder.svn.sourceforge.net/wonder/?rev=8672&view=rev Author: dfrolov Date: 2008-11-26 16:49:58 +0000 (Wed, 26 Nov 2008) Log Message: ----------- getting entityDelegateClass by entityDelegateClassName only if entityDelegateClassName is not null (previous logic could try with null in case of _guessDelegateNames = false) Modified Paths: -------------- trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java Modified: trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java =================================================================== --- trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java 2008-11-26 05:07:14 UTC (rev 8671) +++ trunk/Wonder/Frameworks/EOF/ERRest/Sources/er/rest/ERXDefaultRestDelegate.java 2008-11-26 16:49:58 UTC (rev 8672) @@ -242,10 +242,12 @@ IERXRestEntityDelegate entityDelegate = (IERXRestEntityDelegate) _entityDelegates.objectForKey(entity.name()); if (entityDelegate == null) { String entityDelegateClassName = ERXProperties.stringForKey("ERXRest." + entity.name() + ".delegate"); - Class<IERXRestEntityDelegate> entityDelegateClass; - if (entityDelegateClassName == null && _guessDelegateNames) { - entityDelegateClassName = entity.name() + "RestEntityDelegate"; - entityDelegateClass = _NSUtilities.classWithName(entityDelegateClassName); + Class<IERXRestEntityDelegate> entityDelegateClass = null; + if (entityDelegateClassName == null) { + if (_guessDelegateNames) { + entityDelegateClassName = entity.name() + "RestEntityDelegate"; + entityDelegateClass = _NSUtilities.classWithName(entityDelegateClassName); + } } else { entityDelegateClass = _NSUtilities.classWithName(entityDelegateClassName); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |