📄 layoutevents.java
字号:
package org.ofbiz.content.layout;import java.sql.Timestamp;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Locale;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.ofbiz.base.util.Debug;import org.ofbiz.base.util.UtilDateTime;import org.ofbiz.base.util.UtilHttp;import org.ofbiz.base.util.UtilMisc;import org.ofbiz.base.util.UtilProperties;import org.ofbiz.base.util.UtilValidate;import org.ofbiz.content.ContentManagementWorker;import org.ofbiz.entity.GenericDelegator;import org.ofbiz.entity.GenericEntityException;import org.ofbiz.entity.GenericPK;import org.ofbiz.entity.GenericValue;import org.ofbiz.entity.util.ByteWrapper;import org.ofbiz.minilang.MiniLangException;import org.ofbiz.minilang.SimpleMapProcessor;import org.ofbiz.service.GenericServiceException;import org.ofbiz.service.LocalDispatcher;import org.ofbiz.service.ModelService;/** * LayoutEvents Class * * @author <a href="mailto:byersa@automationgroups.com">Al Byers</a> * @version $Rev: 5462 $ * @since 3.0 * * */public class LayoutEvents { public static final String module = LayoutEvents.class.getName(); public static final String err_resource = "ContentErrorUiLabel"; public static String createLayoutImage(HttpServletRequest request, HttpServletResponse response) { Locale locale = UtilHttp.getLocale(request); try { GenericDelegator delegator = (GenericDelegator)request.getAttribute("delegator"); LocalDispatcher dispatcher = (LocalDispatcher)request.getAttribute("dispatcher"); HttpSession session = request.getSession(); Map uploadResults = LayoutWorker.uploadImageAndParameters(request, "imageData"); //Debug.logVerbose("in createLayoutImage(java), uploadResults:" + uploadResults, ""); Map formInput = (Map)uploadResults.get("formInput"); Map context = new HashMap(); ByteWrapper byteWrap = (ByteWrapper)uploadResults.get("imageData"); if (byteWrap == null) { String errMsg = UtilProperties.getMessage(LayoutEvents.err_resource, "layoutEvents.image_data_null", locale); request.setAttribute("_ERROR_MESSAGE_", errMsg); return "error"; } //Debug.logVerbose("in createLayoutImage, byteWrap(0):" + byteWrap, module); String imageFileName = (String)uploadResults.get("imageFileName"); //Debug.logVerbose("in createLayoutImage(java), context:" + context, ""); String imageFileNameExt = null; if (UtilValidate.isNotEmpty(imageFileName)) { int pos = imageFileName.lastIndexOf("."); if (pos >= 0) imageFileNameExt = imageFileName.substring(pos + 1); } String mimeTypeId = "image/" + imageFileNameExt; List errorMessages = new ArrayList(); if (locale == null) locale = Locale.getDefault(); context.put("locale", locale); try { SimpleMapProcessor.runSimpleMapProcessor( "org/ofbiz/content/ContentManagementMapProcessors.xml", "contentIn", formInput, context, errorMessages, locale); SimpleMapProcessor.runSimpleMapProcessor( "org/ofbiz/content/ContentManagementMapProcessors.xml", "dataResourceIn", formInput, context, errorMessages, locale); SimpleMapProcessor.runSimpleMapProcessor( "org/ofbiz/content/ContentManagementMapProcessors.xml", "contentAssocIn", formInput, context, errorMessages, locale); } catch(MiniLangException e) { request.setAttribute("_ERROR_MESSAGE_", e.getMessage()); return "error"; } context.put("dataResourceName", context.get("contentName")); context.put("userLogin", session.getAttribute("userLogin")); context.put("dataResourceTypeId", "IMAGE_OBJECT"); context.put("contentAssocTypeId", "SUB_CONTENT"); context.put("contentTypeId", "DOCUMENT"); context.put("contentIdTo", formInput.get("contentIdTo")); context.put("textData", formInput.get("textData")); String contentPurposeTypeId = (String)formInput.get("contentPurposeTypeId"); if (UtilValidate.isNotEmpty(contentPurposeTypeId)){ context.put("contentPurposeList", UtilMisc.toList(contentPurposeTypeId)); } Map result = dispatcher.runSync("persistContentAndAssoc", context); //Debug.logVerbose("in createLayoutImage, result:" + result, module); String dataResourceId = (String)result.get("dataResourceId"); String activeContentId = (String)result.get("contentId"); if (UtilValidate.isNotEmpty(activeContentId)) { Map context2 = new HashMap(); context2.put("activeContentId", activeContentId); //context2.put("dataResourceId", dataResourceId); context2.put("contentAssocTypeId", result.get("contentAssocTypeId")); context2.put("fromDate", result.get("fromDate")); request.setAttribute("contentId", result.get("contentId")); request.setAttribute("drDataResourceId", dataResourceId); request.setAttribute("currentEntityName", "SubContentDataResourceId"); context2.put("contentIdTo", formInput.get("contentIdTo")); context2.put("mapKey", formInput.get("mapKey")); //Debug.logVerbose("in createLayoutImage, context2:" + context2, module); Map result2 = dispatcher.runSync("deactivateAssocs", context2); } GenericValue dataResource = delegator.findByPrimaryKey("DataResource", UtilMisc.toMap("dataResourceId", dataResourceId)); //Debug.logVerbose("in createLayoutImage, dataResource:" + dataResource, module); // Use objectInfo field to store the name of the file, since there is no // place in ImageDataResource for it. if (dataResource != null) { dataResource.set("objectInfo", imageFileName); dataResource.set("mimeTypeId", mimeTypeId); dataResource.store(); } // See if this needs to be a create or an update procedure GenericValue imageDataResource = delegator.findByPrimaryKey("ImageDataResource", UtilMisc.toMap("dataResourceId", dataResourceId)); //Debug.logVerbose("in createLayoutImage, imageDataResource(0):" + imageDataResource, module); if (imageDataResource == null) { imageDataResource = delegator.makeValue("ImageDataResource", UtilMisc.toMap("dataResourceId", dataResourceId)); imageDataResource.set("imageData", byteWrap.getBytes()); imageDataResource.create(); } else { imageDataResource.set("imageData", byteWrap.getBytes()); imageDataResource.store(); } } catch (GenericEntityException e3) { request.setAttribute("_ERROR_MESSAGE_", e3.getMessage()); return "error"; } catch( GenericServiceException e) { request.setAttribute("_ERROR_MESSAGE_", e.getMessage()); return "error"; } return "success"; } public static String updateLayoutImage(HttpServletRequest request, HttpServletResponse response) { Locale locale = UtilHttp.getLocale(request); try { GenericDelegator delegator = (GenericDelegator)request.getAttribute("delegator"); LocalDispatcher dispatcher = (LocalDispatcher)request.getAttribute("dispatcher"); HttpSession session = request.getSession(); Map uploadResults = LayoutWorker.uploadImageAndParameters(request, "imageData"); Map context = (Map)uploadResults.get("formInput"); ByteWrapper byteWrap = (ByteWrapper)uploadResults.get("imageData"); if (byteWrap == null) { String errMsg = UtilProperties.getMessage(LayoutEvents.err_resource, "layoutEvents.image_data_null", locale); request.setAttribute("_ERROR_MESSAGE_", errMsg); return "error"; } String imageFileName = (String)uploadResults.get("imageFileName"); Debug.logVerbose("in createLayoutImage(java), context:" + context, ""); context.put("userLogin", session.getAttribute("userLogin")); context.put("dataResourceTypeId", "IMAGE_OBJECT"); context.put("contentAssocTypeId", "SUB_CONTENT"); context.put("contentTypeId", "DOCUMENT"); context.put("mimeType", context.get("drMimeType")); context.put("drMimeType", null); context.put("objectInfo", context.get("drobjectInfo")); context.put("drObjectInfo", null); context.put("drDataResourceTypeId", null); String dataResourceId = (String)context.get("drDataResourceId"); Debug.logVerbose("in createLayoutImage(java), dataResourceId:" + dataResourceId, ""); GenericValue dataResource = delegator.findByPrimaryKey("DataResource", UtilMisc.toMap("dataResourceId", dataResourceId)); Debug.logVerbose("in createLayoutImage(java), dataResource:" + dataResource, ""); // Use objectInfo field to store the name of the file, since there is no // place in ImageDataResource for it. Debug.logVerbose("in createLayoutImage(java), imageFileName:" + imageFileName, ""); if (dataResource != null) { //dataResource.set("objectInfo", imageFileName); dataResource.setNonPKFields(context); dataResource.store(); } // See if this needs to be a create or an update procedure GenericValue imageDataResource = delegator.findByPrimaryKey("ImageDataResource", UtilMisc.toMap("dataResourceId", dataResourceId)); if (imageDataResource == null) { imageDataResource = delegator.makeValue("ImageDataResource", UtilMisc.toMap("dataResourceId", dataResourceId)); imageDataResource.set("imageData", byteWrap.getBytes()); imageDataResource.create(); } else { imageDataResource.set("imageData", byteWrap.getBytes());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -