| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| 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. |
| --> |
| |
| <simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd"> |
| <!-- Methods for DataResource --> |
| <simple-method method-name="createDataResource" short-description="Create a Data Resource"> |
| <make-value entity-name="DataResource" value-field="newEntity"/> |
| <set-nonpk-fields map="parameters" value-field="newEntity"/> |
| <set-pk-fields map="parameters" value-field="newEntity"/> |
| |
| <if-empty field="newEntity.dataResourceId"> |
| <sequenced-id sequence-name="DataResource" field="newEntity.dataResourceId"/> |
| </if-empty> |
| |
| <now-timestamp field="nowTimestamp"/> |
| <set field="newEntity.lastModifiedByUserLogin" from-field="userLogin.userLoginId"/> |
| <set field="newEntity.createdByUserLogin" from-field="userLogin.userLoginId"/> |
| <set field="newEntity.lastModifiedDate" from-field="nowTimestamp"/> |
| <set field="newEntity.createdDate" from-field="nowTimestamp"/> |
| |
| <if-empty field="parameters.dataTemplateTypeId"> |
| <set field="newEntity.dataTemplateTypeId" value="NONE"/> |
| </if-empty> |
| |
| <if-empty field="parameters.statusId"> |
| <!-- get the first status item --> |
| <entity-and entity-name="StatusItem" list="contentStatus"> |
| <field-map field-name="statusTypeId" value="CONTENT_STATUS"/> |
| <order-by field-name="sequenceId"/> |
| </entity-and> |
| <first-from-list list="contentStatus" entry="statusItem"/> |
| <set field="newEntity.statusId" from-field="statusItem.statusId"/> |
| </if-empty> |
| |
| <if-empty field="newEntity.mimeTypeId"> |
| <if-not-empty field="parameters.uploadedFile"> |
| <call-class-method class-name="org.apache.ofbiz.content.data.DataResourceWorker" method-name="getMimeTypeWithByteBuffer" ret-field="newEntity.mimeTypeId"> |
| <field field="parameters.uploadedFile" type="java.nio.ByteBuffer"/> |
| </call-class-method> |
| </if-not-empty> |
| </if-empty> |
| |
| <create-value value-field="newEntity"/> |
| <field-to-result field="newEntity.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="newEntity" result-name="dataResource"/> |
| </simple-method> |
| |
| <simple-method method-name="createDataResourceAndAssocToContent" short-description="Create a Data Resource and return the data resource type"> |
| <entity-one entity-name="Content" value-field="content"/> |
| <if-empty field="content"> |
| <add-error> |
| <fail-property resource="ContentErrorUiLabels" property="layoutEvents.content_empty"/> |
| </add-error> |
| <check-errors/> |
| </if-empty> |
| |
| <set-service-fields service-name="createDataResource" map="parameters" to-map="dataResourceCtx"/> |
| <call-service service-name="createDataResource" in-map-name="dataResourceCtx"> |
| <result-to-field result-name="dataResource"/> |
| </call-service> |
| |
| <if-compare field="parameters.templateDataResource" operator="equals" value="Y"> |
| <set field="contentCtx.templateDataResourceId" from-field="parameters.dataResourceId" /> |
| <else> |
| <set field="contentCtx.dataResourceId" from-field="parameters.dataResourceId" /> |
| </else> |
| </if-compare> |
| <set field="contentCtx.contentId" from-field="parameters.contentId"/> |
| <call-service service-name="updateContent" in-map-name="contentCtx"/> |
| |
| <field-to-result field="parameters.contentId" result-name="contentId"/> |
| <if-compare field="dataResource.dataResourceTypeId" operator="equals" value="ELECTRONIC_TEXT"><return response-code="${dataResource.dataResourceTypeId}"/></if-compare> |
| <if-compare field="dataResource.dataResourceTypeId" operator="equals" value="IMAGE_OBJECT"><return response-code="${dataResource.dataResourceTypeId}"/></if-compare> |
| </simple-method> |
| |
| <!-- |
| getElectronicText |
| Passed a Content GenericValue or a contentId, this service returns the text data from |
| ElectronicText in result.textData. |
| |
| Not that this service does not now do permission checking. |
| --> |
| |
| <simple-method method-name="getElectronicText" short-description="Get Electronic Text" login-required="false"> |
| <set field="userLogin" from-field="parameters.userLogin"/> |
| <set field="currentContent" from-field="parameters.content"/> |
| <log level="always" message="GETELECTRONICTEXT, currentContent:${currentContent}"/> |
| |
| <if-empty field="currentContent"> |
| <if-not-empty field="parameters.contentId"> |
| <entity-one entity-name="Content" value-field="currentContent" use-cache="true"/> |
| </if-not-empty> |
| <if-empty field="currentContent"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNeitherContentSupplied"/> |
| </add-error> |
| </if-empty> |
| </if-empty> |
| <check-errors/> |
| <if-empty field="currentContent.dataResourceId"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| </if-empty> |
| <check-errors/> |
| <field-to-result field="currentContent.dataResourceId" result-name="dataResourceId"/> |
| <entity-one entity-name="ElectronicText" value-field="eText"> |
| <field-map field-name="dataResourceId" from-field="currentContent.dataResourceId"/> |
| </entity-one> |
| <if-empty field="eText"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentElectronicTextNotFound"/> |
| </add-error> |
| </if-empty> |
| <check-errors/> |
| |
| |
| <field-to-result field="eText.textData" result-name="textData"/> |
| <log level="always" message="result:${result}"/> |
| <log level="always" message="parameters:${parameters}"/> |
| </simple-method> |
| |
| <simple-method method-name="attachUploadToDataResource" short-description="Attach an uploaded file to a data resource"> |
| <set field="isUpdate" value="false"/> |
| <property-to-field resource="content.properties" property="content.upload.always.local.file" field="forceLocal"/> |
| <if> |
| <condition> |
| <and> |
| <if-compare field="forceLocal" value="true" operator="equals"/> |
| <not> |
| <or> |
| <if-compare field="parameters.dataResourceTypeId" operator="equals" value="LOCAL_FILE"/> |
| <if-compare field="parameters.dataResourceTypeId" operator="equals" value="OFBIZ_FILE"/> |
| <if-compare field="parameters.dataResourceTypeId" operator="equals" value="CONTEXT_FILE"/> |
| <if-compare field="parameters.dataResourceTypeId" operator="equals" value="LOCAL_FILE_BIN"/> |
| <if-compare field="parameters.dataResourceTypeId" operator="equals" value="OFBIZ_FILE_BIN"/> |
| <if-compare field="parameters.dataResourceTypeId" operator="equals" value="CONTEXT_FILE_BIN"/> |
| </or> |
| </not> |
| </and> |
| </condition> |
| <then> |
| <set field="parameters.dataResourceTypeId" value="LOCAL_FILE"/> |
| </then> |
| </if> |
| |
| <if-empty field="parameters.dataResourceTypeId"> |
| <!-- create default behavior --> |
| <if> |
| <condition> |
| <not> |
| <if-empty field="parameters._uploadedFile_contentType"/> |
| </not> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <if-regexp field="parameters._uploadedFile_contentType" expr="image.*"/> |
| </condition> |
| <then> |
| <set field="parameters.dataResourceTypeId" value="IMAGE_OBJECT"/> |
| </then> |
| <else-if> |
| <condition> |
| <if-regexp field="parameters._uploadedFile_contentType" expr="video.*"/> |
| </condition> |
| <then> |
| <set field="parameters.dataResourceTypeId" value="VIDEO_OBJECT"/> |
| </then> |
| </else-if> |
| <else-if> |
| <condition> |
| <if-regexp field="parameters._uploadedFile_contentType" expr="audio.*"/> |
| </condition> |
| <then> |
| <set field="parameters.dataResourceTypeId" value="AUDIO_OBJECT"/> |
| </then> |
| </else-if> |
| <else> |
| <set field="parameters.dataResourceTypeId" value="OTHER_OBJECT"/> |
| </else> |
| </if> |
| </then> |
| <else> |
| <set field="parameters.dataResourceTypeId" value="OTHER_OBJECT"/> |
| </else> |
| </if> |
| </if-empty> |
| |
| <if> |
| <condition> |
| <or> |
| <if-compare field="parameters.dataResourceTypeId" value="LOCAL_FILE" operator="equals"/> |
| <if-compare field="parameters.dataResourceTypeId" value="LOCAL_FILE_BIN" operator="equals"/> |
| </or> |
| </condition> |
| <then> |
| <call-simple-method method-name="saveLocalFileDataResource"/> |
| <return/> |
| </then> |
| </if> |
| |
| <if> |
| <condition> |
| <or> |
| <if-compare field="parameters.dataResourceTypeId" value="OFBIZ_FILE" operator="equals"/> |
| <if-compare field="parameters.dataResourceTypeId" value="OFBIZ_FILE_BIN" operator="equals"/> |
| </or> |
| </condition> |
| <then> |
| <call-simple-method method-name="saveOfbizFileDataResource"/> |
| <return/> |
| </then> |
| </if> |
| |
| <if> |
| <condition> |
| <or> |
| <if-compare field="parameters.dataResourceTypeId" value="CONTEXT_FILE" operator="equals"/> |
| <if-compare field="parameters.dataResourceTypeId" value="CONTEXT_FILE_BIN" operator="equals"/> |
| </or> |
| </condition> |
| <then> |
| <call-simple-method method-name="saveContextFileDataResource"/> |
| <return/> |
| </then> |
| </if> |
| |
| <if-compare field="parameters.dataResourceTypeId" value="IMAGE_OBJECT" operator="equals"> |
| <entity-one entity-name="ImageDataResource" value-field="dataResObj"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-not-empty field="dataResObj"> |
| <set field="isUpdate" value="true"/> |
| </if-not-empty> |
| <call-simple-method method-name="saveImageObjectDateResource"/> |
| <return/> |
| </if-compare> |
| |
| <if-compare field="parameters.dataResourceTypeId" value="VIDEO_OBJECT" operator="equals"> |
| <entity-one entity-name="VideoDataResource" value-field="dataResObj"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-not-empty field="dataResObj"> |
| <set field="isUpdate" value="true"/> |
| </if-not-empty> |
| <call-simple-method method-name="saveVideoObjectDateResource"/> |
| <return/> |
| </if-compare> |
| |
| <if-compare field="parameters.dataResourceTypeId" value="AUDIO_OBJECT" operator="equals"> |
| <entity-one entity-name="AudioDataResource" value-field="dataResObj"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-not-empty field="dataResObj"> |
| <set field="isUpdate" value="true"/> |
| </if-not-empty> |
| <call-simple-method method-name="saveAudioObjectDateResource"/> |
| <return/> |
| </if-compare> |
| |
| <if-compare field="parameters.dataResourceTypeId" value="OTHER_OBJECT" operator="equals"> |
| <entity-one entity-name="OtherDataResource" value-field="dataResObj"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-not-empty field="dataResObj"> |
| <set field="isUpdate" value="true"/> |
| </if-not-empty> |
| <call-simple-method method-name="saveOtherObjectDateResource"/> |
| <return/> |
| </if-compare> |
| |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataTypeNotYetSupported"/> |
| </add-error> |
| <check-errors/> |
| </simple-method> |
| |
| <!-- save LOCAL_FILE data --> |
| <simple-method method-name="saveLocalFileDataResource" short-description="Attach an uploaded file to a data resource as LOCAL_FILE"> |
| <entity-one entity-name="DataResource" value-field="dataResource"/> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| <else> |
| <if-not-empty field="dataResource.objectInfo"> |
| <set field="isUpdate" value="Y"/> |
| </if-not-empty> |
| </else> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| <set field="absolute" value="true" type="Boolean"/> |
| <call-class-method method-name="getDataResourceContentUploadPath" class-name="org.apache.ofbiz.content.data.DataResourceWorker" ret-field="uploadPath"> |
| <field field="delegator" type="org.apache.ofbiz.entity.Delegator"/> |
| <field field="absolute" type="boolean"/> |
| </call-class-method> |
| <log level="info" message="[attachLocalFileToDataResource] - Found Subdir : ${uploadPath}"/> |
| |
| <set from-field="parameters._uploadedFile_contentType" field="extenLookup.mimeTypeId"/> |
| <find-by-and entity-name="FileExtension" map="extenLookup" list="extensions"/> |
| <first-from-list list="extensions" entry="extension"/> |
| |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set value="${uploadPath}/${dataResource.dataResourceId}" field="dataResource.objectInfo"/> |
| <if-not-empty field="extension"> |
| <set value="${uploadPath}/${dataResource.dataResourceId}.${extension.fileExtensionId}" field="dataResource.objectInfo"/> |
| </if-not-empty> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <set-service-fields service-name="createAnonFile" map="dataResource" to-map="fileCtx"/> |
| <set from-field="parameters.uploadedFile" field="fileCtx.binData"/> |
| <set from-field="dataResource" field="fileCtx.dataResource"/> |
| <call-service service-name="createAnonFile" in-map-name="fileCtx" include-user-login="true"/> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| |
| <!-- save OFBIZ_FILE data --> |
| <simple-method method-name="saveOfbizFileDataResource" short-description="Attach an uploaded file to a data resource as OFBIZ_FILE"> |
| <entity-one entity-name="DataResource" value-field="dataResource"/> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| <else> |
| <if-not-empty field="dataResource.objectInfo"> |
| <set field="isUpdate" value="Y"/> |
| </if-not-empty> |
| </else> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| |
| <set field="absolute" value="false" type="Boolean"/> |
| <call-class-method method-name="getDataResourceContentUploadPath" class-name="org.apache.ofbiz.content.data.DataResourceWorker" ret-field="uploadPath"> |
| <field field="delegator" type="org.apache.ofbiz.entity.Delegator"/> |
| <field field="absolute" type="boolean"/> |
| </call-class-method> |
| <log level="info" message="[attachLocalFileToDataResource] - Found Subdir : ${uploadPath}"/> |
| |
| <set from-field="parameters._uploadedFile_contentType" field="extenLookup.mimeTypeId"/> |
| <find-by-and entity-name="FileExtension" map="extenLookup" list="extensions"/> |
| <first-from-list list="extensions" entry="extension"/> |
| |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> |
| <set value="${uploadPath}/${dataResource.dataResourceId}" field="dataResource.objectInfo"/> |
| <if-not-empty field="extension"> |
| <set value="${uploadPath}/${dataResource.dataResourceId}.${extension.fileExtensionId}" field="dataResource.objectInfo"/> |
| </if-not-empty> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <set-service-fields service-name="createAnonFile" map="dataResource" to-map="fileCtx"/> |
| <set from-field="parameters.uploadedFile" field="fileCtx.binData"/> |
| <set from-field="dataResource" field="fileCtx.dataResource"/> |
| <call-service service-name="createAnonFile" in-map-name="fileCtx" include-user-login="true"/> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| |
| <!-- save OTHER_OBJECT data --> |
| <simple-method method-name="saveOtherObjectDateResource" short-description="Attach an uploaded file to a data resource as OTHER_OBJECT"> |
| <entity-one entity-name="DataResource" value-field="dataResource"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| |
| <!-- update the data resource with file data --> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <!-- fields serviceName and fileField are required to be set by calling method --> |
| <set-service-fields service-name="createOtherDataResource" map="dataResource" to-map="serviceContext"/> |
| <set from-field="parameters.uploadedFile" field="serviceContext.dataResourceContent"/> |
| |
| <if-compare field="isUpdate" value="true" operator="equals"> |
| <call-service service-name="updateOtherDataResource" in-map-name="serviceContext"/> |
| <else> |
| <call-service service-name="createOtherDataResource" in-map-name="serviceContext"/> |
| </else> |
| </if-compare> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| |
| <!-- save IMAGE_OBJECT data --> |
| <simple-method method-name="saveImageObjectDateResource" short-description="Attach an uploaded file to a data resource as IMAGE_OBJECT"> |
| <entity-one entity-name="DataResource" value-field="dataResource"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| |
| <!-- update the data resource with file data --> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <!-- fields serviceName and fileField are required to be set by calling method --> |
| <set-service-fields service-name="createImageDataResource" map="dataResource" to-map="serviceContext"/> |
| <set from-field="parameters.uploadedFile" field="serviceContext.imageData"/> |
| |
| <if-compare field="isUpdate" value="true" operator="equals"> |
| <call-service service-name="updateImageDataResource" in-map-name="serviceContext"/> |
| <else> |
| <call-service service-name="createImageDataResource" in-map-name="serviceContext"/> |
| </else> |
| </if-compare> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| |
| <!-- save VIDEO_OBJECT data --> |
| <simple-method method-name="saveVideoObjectDateResource" short-description="Attach an uploaded file to a data resource as VIDEO_OBJECT"> |
| <entity-one entity-name="DataResource" value-field="dataResource"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| |
| <!-- update the data resource with file data --> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <!-- fields serviceName and fileField are required to be set by calling method --> |
| <set-service-fields service-name="createVideoDataResource" map="dataResource" to-map="serviceContext"/> |
| <set from-field="parameters.uploadedFile" field="serviceContext.videoData"/> |
| |
| <if-compare field="isUpdate" value="true" operator="equals"> |
| <call-service service-name="updateVideoDataResource" in-map-name="serviceContext"/> |
| <else> |
| <call-service service-name="createVideoDataResource" in-map-name="serviceContext"/> |
| </else> |
| </if-compare> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| |
| <!-- save AUDIO_OBJECT data --> |
| <simple-method method-name="saveAudioObjectDateResource" short-description="Attach an uploaded file to a data resource as AUDIO_OBJECT"> |
| <entity-one entity-name="DataResource" value-field="dataResource"> |
| <field-map field-name="dataResourceId" from-field="parameters.dataResourceId"/> |
| </entity-one> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| |
| <!-- update the data resource with file data --> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <!-- fields serviceName and fileField are required to be set by calling method --> |
| <set-service-fields service-name="createAudioDataResource" map="dataResource" to-map="serviceContext"/> |
| <set from-field="parameters.uploadedFile" field="serviceContext.audioData"/> |
| |
| <if-compare field="isUpdate" value="true" operator="equals"> |
| <call-service service-name="updateAudioDataResource" in-map-name="serviceContext"/> |
| <else> |
| <call-service service-name="createAudioDataResource" in-map-name="serviceContext"/> |
| </else> |
| </if-compare> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| |
| <!-- save CONTEXT_FILE data --> |
| <simple-method method-name="saveContextFileDataResource" short-description="Attach an uploaded file to a data resource as CONTEXT_FILE"> |
| <entity-one entity-name="DataResource" value-field="dataResource"/> |
| <if-empty field="dataResource"> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentDataResourceNotFound"/> |
| </add-error> |
| <else> |
| <if-not-empty field="dataResource.objectInfo"> |
| <set field="isUpdate" value="Y"/> |
| </if-not-empty> |
| </else> |
| </if-empty> |
| <if> |
| <condition> |
| <if-empty field="parameters._uploadedFile_fileName"/> |
| </condition> |
| <then> |
| <if> |
| <condition> |
| <or> |
| <if-empty field="isUpdate"/> |
| <if-compare field="isUpdate" value="Y" operator="not-equals"/> |
| </or> |
| </condition> |
| <then> |
| <add-error> |
| <fail-property resource="ContentUiLabels" property="ContentNoUploadedContentFound"/> |
| </add-error> |
| </then> |
| <else> |
| <!-- if not upload is found on an update; its okay, don't do anything just return --> |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| <return/> |
| </else> |
| </if> |
| |
| </then> |
| </if> |
| <check-errors/> |
| |
| <set field="uploadPath" from-field="parameters.rootDir"/> |
| <log level="info" message="[attachLocalFileToDataResource] - Found Subdir : ${uploadPath}"/> |
| <if-empty field="uploadPath"> |
| <add-error> |
| <fail-property resource="ContentErrorUiLabels" property="uploadContentAndImage.noRootDirProvided"/> |
| </add-error> |
| <check-errors/> |
| </if-empty> |
| <log level="info" message="[attachLocalFileToDataResource] - Found Subdir : ${uploadPath}"/> |
| |
| <set from-field="parameters._uploadedFile_contentType" field="extenLookup.mimeTypeId"/> |
| <find-by-and entity-name="FileExtension" map="extenLookup" list="extensions"/> |
| <first-from-list list="extensions" entry="extension"/> |
| |
| <set from-field="parameters._uploadedFile_fileName" field="dataResource.dataResourceName"/> |
| <set from-field="parameters._uploadedFile_contentType" field="dataResource.mimeTypeId"/> |
| <set value="${uploadPath}/${dataResource.dataResourceId}" field="dataResource.objectInfo"/> |
| <if-not-empty field="extension"> |
| <set value="${uploadPath}/${dataResource.dataResourceId}.${extension.fileExtensionId}" field="dataResource.objectInfo"/> |
| </if-not-empty> |
| <set from-field="parameters.dataResourceTypeId" field="dataResource.dataResourceTypeId"/> |
| <store-value value-field="dataResource"/> |
| |
| <set-service-fields service-name="createAnonFile" map="dataResource" to-map="fileCtx"/> |
| <set from-field="parameters.uploadedFile" field="fileCtx.binData"/> |
| <set from-field="dataResource" field="fileCtx.dataResource"/> |
| <call-service service-name="createAnonFile" in-map-name="fileCtx" include-user-login="true"/> |
| |
| <field-to-result field="dataResource.dataResourceId" result-name="dataResourceId"/> |
| <field-to-result field="dataResource.mimeTypeId" result-name="mimeTypeId"/> |
| </simple-method> |
| </simple-methods> |