You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2013/05/14 20:09:32 UTC

svn commit: r1482508 - in /ofbiz/trunk/framework: service/dtd/services.xsd service/src/org/ofbiz/service/ModelParam.java service/src/org/ofbiz/service/ModelServiceReader.java webapp/src/org/ofbiz/webapp/event/ServiceEventHandler.java

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