Author: doogie Date: Tue May 14 18:09:31 2013 New Revision: 1482508 URL: http://svn.apache.org/r1482508 Log: FEATURE: When calling services from an incoming http requests, allow for a different request and session attribute name to be specified.
Modified: ofbiz/trunk/framework/service/dtd/services.xsd ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelParam.java ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelServiceReader.java ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/ServiceEventHandler.java Modified: ofbiz/trunk/framework/service/dtd/services.xsd URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/dtd/services.xsd?rev=1482508&r1=1482507&r2=1482508&view=diff ============================================================================== --- ofbiz/trunk/framework/service/dtd/services.xsd (original) +++ ofbiz/trunk/framework/service/dtd/services.xsd Tue May 14 18:09:31 2013 @@ -401,6 +401,8 @@ under the License. <xs:attribute name="form-label" type="xs:string"/> <xs:attribute name="entity-name" type="xs:string"/> <xs:attribute name="field-name" type="xs:string"/> + <xs:attribute name="request-attribute-name" type="xs:string"/> + <xs:attribute name="session-attribute-name" type="xs:string"/> <xs:attribute name="string-map-prefix" type="xs:string"/> <xs:attribute name="string-list-suffix" type="xs:string"/> <xs:attribute name="form-display" default="true"> Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelParam.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelParam.java?rev=1482508&r1=1482507&r2=1482508&view=diff ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelParam.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelParam.java Tue May 14 18:09:31 2013 @@ -61,6 +61,12 @@ public class ModelParam implements Seria /** The entity field name */ public String fieldName; + /** Request attribute to look for if not defined as a parameter */ + public String requestAttributeName; + + /** Session attribute to look for if not defined as a parameter */ + public String sessionAttributeName; + /** Parameter prefix for creating an attribute Map */ public String stringMapPrefix; @@ -97,6 +103,8 @@ public class ModelParam implements Seria this.formLabel = param.formLabel; this.entityName = param.entityName; this.fieldName = param.fieldName; + this.requestAttributeName = param.requestAttributeName; + this.sessionAttributeName = param.sessionAttributeName; this.stringMapPrefix = param.stringMapPrefix; this.stringListSuffix = param.stringListSuffix; this.validators = param.validators; Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelServiceReader.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelServiceReader.java?rev=1482508&r1=1482507&r2=1482508&view=diff ============================================================================== --- ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelServiceReader.java (original) +++ ofbiz/trunk/framework/service/src/org/ofbiz/service/ModelServiceReader.java Tue May 14 18:09:31 2013 @@ -504,6 +504,8 @@ public class ModelServiceReader implemen param.mode = UtilXml.checkEmpty(attribute.getAttribute("mode")).intern(); param.entityName = UtilXml.checkEmpty(attribute.getAttribute("entity-name")).intern(); param.fieldName = UtilXml.checkEmpty(attribute.getAttribute("field-name")).intern(); + param.requestAttributeName = UtilXml.checkEmpty(attribute.getAttribute("request-attribute-name")).intern(); + param.sessionAttributeName = UtilXml.checkEmpty(attribute.getAttribute("session-attribute-name")).intern(); param.stringMapPrefix = UtilXml.checkEmpty(attribute.getAttribute("string-map-prefix")).intern(); param.stringListSuffix = UtilXml.checkEmpty(attribute.getAttribute("string-list-suffix")).intern(); param.formLabel = attribute.hasAttribute("form-label")?attribute.getAttribute("form-label").intern():null; Modified: ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/ServiceEventHandler.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/ServiceEventHandler.java?rev=1482508&r1=1482507&r2=1482508&view=diff ============================================================================== --- ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/ServiceEventHandler.java (original) +++ ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/event/ServiceEventHandler.java Tue May 14 18:09:31 2013 @@ -257,7 +257,7 @@ public class ServiceEventHandler impleme // next check attributes; do this before parameters so that attribute which can be changed by code can override parameters which can't if (UtilValidate.isEmpty(value)) { - Object tempVal = request.getAttribute(name); + Object tempVal = request.getAttribute(UtilValidate.isEmpty(modelParam.requestAttributeName) ? name : modelParam.requestAttributeName); if (tempVal != null) { value = tempVal; } @@ -283,7 +283,7 @@ public class ServiceEventHandler impleme // then session if (UtilValidate.isEmpty(value)) { - Object tempVal = request.getSession().getAttribute(name); + Object tempVal = request.getSession().getAttribute(UtilValidate.isEmpty(modelParam.sessionAttributeName) ? name : modelParam.sessionAttributeName); if (tempVal != null) { value = tempVal; }