|
Author: jleroux
Date: Fri Aug 31 09:55:34 2012 New Revision: 1379389 URL: http://svn.apache.org/viewvc?rev=1379389&view=rev Log: A patch from Nicolas Malin "change serviceName by customMethod on Content " https://issues.apache.org/jira/browse/OFBIZ-5020 When you used a content as template, the content.serviceName value used to call the context populate service before rendering. I propose to replace serviceName field by customMethodId and use customMethod pattern for more flexibility. serviceName field is renamed to oldServiceName field for backward compatibility Modified: ofbiz/trunk/applications/content/entitydef/entitymodel.xml ofbiz/trunk/applications/content/script/org/ofbiz/content/ContentManagementMapProcessors.xml ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java Modified: ofbiz/trunk/applications/content/entitydef/entitymodel.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/entitydef/entitymodel.xml?rev=1379389&r1=1379388&r2=1379389&view=diff ============================================================================== --- ofbiz/trunk/applications/content/entitydef/entitymodel.xml (original) +++ ofbiz/trunk/applications/content/entitydef/entitymodel.xml Fri Aug 31 09:55:34 2012 @@ -159,7 +159,10 @@ under the License. <field name="dataSourceId" type="id"></field> <field name="statusId" type="id"></field> <field name="privilegeEnumId" type="id"></field> - <field name="serviceName" type="long-varchar"></field> + <field name="oldServiceName" type="long-varchar" col-name="service_name"> + <description>Deprecated : use customMethod pattern instead of. Keep for backward compatibility</description> + </field> + <field name="customMethodId" type="id"></field> <field name="contentName" type="name"></field> <field name="description" type="description"></field> <field name="localeString" type="very-short"></field> @@ -187,6 +190,9 @@ under the License. <relation type="one" fk-name="CONTENT_PRIVENM" title="Privilege" rel-entity-name="Enumeration"> <key-map field-name="privilegeEnumId" rel-field-name="enumId"/> </relation> + <relation type="one" fk-name="CONTENT_CUSTMET" rel-entity-name="CustomMethod"> + <key-map field-name="customMethodId"/> + </relation> <!-- the relationship to MimeType is one-nofk so that you can still do a lookup on MimeType but a new and unexpected mime type would not cause a foreign key constraint violation, so MimeType can store the most common mime types instead of an exhaustive list of all possible mime types --> Modified: ofbiz/trunk/applications/content/script/org/ofbiz/content/ContentManagementMapProcessors.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/script/org/ofbiz/content/ContentManagementMapProcessors.xml?rev=1379389&r1=1379388&r2=1379389&view=diff ============================================================================== --- ofbiz/trunk/applications/content/script/org/ofbiz/content/ContentManagementMapProcessors.xml (original) +++ ofbiz/trunk/applications/content/script/org/ofbiz/content/ContentManagementMapProcessors.xml Fri Aug 31 09:55:34 2012 @@ -27,7 +27,8 @@ under the License. <process field="dataResourceId"><copy to-field="dataResourceId" replace="true" set-if-null="false"/></process> <process field="dataSourceId"><copy to-field="dataSourceId" replace="true" set-if-null="false"/></process> <process field="statusId"><copy to-field="statusId" replace="true" set-if-null="false"/></process> - <process field="serviceName"><copy to-field="serviceName" replace="true" set-if-null="false"/></process> + <process field="customMethodId"><copy to-field="customMethodId" replace="true" set-if-null="false"/></process> + <process field="oldServiceName"><copy to-field="oldServiceName" replace="true" set-if-null="false"/></process> <process field="contentName"><copy to-field="contentName" replace="true" set-if-null="false"/></process> <process field="description"><copy to-field="description" replace="true" set-if-null="false"/></process> <process field="localeString"><copy to-field="localeString" replace="true" set-if-null="false"/></process> @@ -112,7 +113,8 @@ under the License. <process field="dataResourceId"><copy to-field="dataResourceId" replace="true" set-if-null="false"/></process> <process field="dataSourceId"><copy to-field="dataSourceId" replace="true" set-if-null="false"/></process> <process field="statusId"><copy to-field="statusId" replace="true" set-if-null="false"/></process> - <process field="serviceName"><copy to-field="serviceName" replace="true" set-if-null="false"/></process> + <process field="customMethodId"><copy to-field="customMethodId" replace="true" set-if-null="false"/></process> + <process field="oldServiceName"><copy to-field="oldServiceName" replace="true" set-if-null="false"/></process> <process field="contentName"><copy to-field="contentName" replace="true" set-if-null="false"/></process> <process field="description"><copy to-field="description" replace="true" set-if-null="false"/></process> <process field="localeString"><copy to-field="localeString" replace="true" set-if-null="false"/></process> Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java?rev=1379389&r1=1379388&r2=1379389&view=diff ============================================================================== --- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java (original) +++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java Fri Aug 31 09:55:34 2012 @@ -177,7 +177,10 @@ public class ContentWorker implements or Map<String,Object>templateContext, Locale locale, String mimeTypeId, boolean cache, List<GenericValue> webAnalytics) throws GeneralException, IOException { // if the content has a service attached run the service - String serviceName = content.getString("serviceName"); + //search serviceName to call on associate customMethod and if empty get value from old serviceName field + String serviceName = content.getString("oldServiceName"); + GenericValue custMethod = content.getRelatedOne("CustomMethod", true); + if (custMethod != null) serviceName = custMethod.getString("customMethodName"); if (dispatcher != null && UtilValidate.isNotEmpty(serviceName)) { DispatchContext dctx = dispatcher.getDispatchContext(); ModelService service = dctx.getModelService(serviceName); |
| Free forum by Nabble | Edit this page |
