This is an automated email from the ASF dual-hosted git repository.
nmalin pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git The following commit(s) were added to refs/heads/trunk by this push: new 27aa238 Improved: Convert createTextAndUploadedContent service from mini-lang to groovy DSL (OFBIZ-11368) 27aa238 is described below commit 27aa23833ce1bf4bff541426938eb6680b1722f2 Author: Nicolas Malin <[hidden email]> AuthorDate: Fri Mar 6 14:58:15 2020 +0100 Improved: Convert createTextAndUploadedContent service from mini-lang to groovy DSL (OFBIZ-11368) Thanks to Rohit Hukkeri for providing the patch --- .../groovyScripts/content/ContentServices.groovy | 41 ++++++++++++++++++++++ .../content/minilang/content/ContentServices.xml | 22 ------------ .../content/servicedef/services_content.xml | 4 +-- 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/applications/content/groovyScripts/content/ContentServices.groovy b/applications/content/groovyScripts/content/ContentServices.groovy new file mode 100644 index 0000000..1ad1374 --- /dev/null +++ b/applications/content/groovyScripts/content/ContentServices.groovy @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.ofbiz.service.ModelService + +def createTextAndUploadedContent(){ + Map result = success() + + Map serviceResult = run service: 'createContent', with: parameters + parameters.parentContentId = serviceResult.contentId + + if (parameters.uploadedFile) { + logInfo('Uploaded file found; processing sub-content') + Map uploadContext = dispatcher.getDispatchContext() + .makeValidContext('createContentFromUploadedFile', ModelService.IN_PARAM, parameters) + uploadContext.ownerContentId = parameters.parentContentId + uploadContext.contentIdFrom = parameters.parentContentId + uploadContext.contentAssocTypeId = 'SUB_CONTENT' + uploadContext.contentPurposeTypeId = 'SECTION' + run service: 'createContentFromUploadedFile', with: uploadContext + } + + result.contentId = parameters.parentContentId + return result +} \ No newline at end of file diff --git a/applications/content/minilang/content/ContentServices.xml b/applications/content/minilang/content/ContentServices.xml index 4adf1bb..ad08f90 100644 --- a/applications/content/minilang/content/ContentServices.xml +++ b/applications/content/minilang/content/ContentServices.xml @@ -183,28 +183,6 @@ <call-service service-name="createContentPurpose" in-map-name="parameters"/> </simple-method> - <!-- combined text + uploaded file service --> - <simple-method method-name="createTextAndUploadedContent" short-description="Creates Text and Optionally Uploaded (sub) Content records"> - <set-service-fields service-name="createTextContent" map="parameters" to-map="textContext"/> - <call-service service-name="createTextContent" in-map-name="textContext"> - <result-to-field result-name="contentId" field="parameters.parentContentId"/> - </call-service> - - <log level="info" message="${parameters}"/> - - <if-not-empty field="parameters.uploadedFile"> - <log level="info" message="Uploaded file found; processing sub-content"/> - <set-service-fields service-name="createContentFromUploadedFile" map="parameters" to-map="uploadContext"/> - <set field="uploadContext.ownerContentId" from-field="parameters.parentContentId"/> - <set field="uploadContext.contentIdFrom" from-field="parameters.parentContentId"/> - <set field="uploadContext.contentAssocTypeId" value="SUB_CONTENT"/> - <set field="uploadContext.contentPurposeTypeId" value="SECTION"/> - <call-service service-name="createContentFromUploadedFile" in-map-name="uploadContext"/> - </if-not-empty> - - <field-to-result field="parameters.parentContentId" result-name="contentId"/> - </simple-method> - <!-- Util --> <simple-method method-name="findAssocContent" short-description="Find associated content"> <set from-field="parameters.contentId" field="queryMap.contentId"/> diff --git a/applications/content/servicedef/services_content.xml b/applications/content/servicedef/services_content.xml index ea0d701..87be490 100644 --- a/applications/content/servicedef/services_content.xml +++ b/applications/content/servicedef/services_content.xml @@ -46,8 +46,8 @@ <override name="description" allow-html="safe"/> </service> - <service name="createTextAndUploadedContent" engine="simple" auth="true" - location="component://content/minilang/content/ContentServices.xml" invoke="createTextAndUploadedContent"> + <service name="createTextAndUploadedContent" engine="groovy" auth="true" + location="component://content/groovyScripts/content/ContentServices.groovy" invoke="createTextAndUploadedContent"> <description>Creates text content and optional uploaded sub-content</description> <implements service="createTextContent"/> <implements service="uploadFileInterface" optional="true"/> |
Free forum by Nabble | Edit this page |