📄 layoutevents.java
字号:
package org.ofbiz.content.layout;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Locale;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilDateTime;
import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.base.util.UtilProperties;
import org.ofbiz.base.util.UtilValidate;
import org.ofbiz.base.util.UtilHttp;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.GenericPK;
import org.ofbiz.entity.condition.EntityCondition;
import org.ofbiz.entity.condition.EntityConditionList;
import org.ofbiz.entity.condition.EntityExpr;
import org.ofbiz.entity.condition.EntityOperator;
import org.ofbiz.entity.util.ByteWrapper;
import org.ofbiz.security.Security;
import org.ofbiz.service.DispatchContext;
import org.ofbiz.service.ServiceUtil;
import org.ofbiz.service.GenericServiceException;
import org.ofbiz.service.LocalDispatcher;
import org.ofbiz.service.ModelService;
import org.ofbiz.minilang.MiniLangException;
import org.ofbiz.minilang.SimpleMapProcessor;
import org.ofbiz.content.ContentManagementWorker;
import org.apache.commons.fileupload.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* LayoutEvents Class
*
* @author <a href="mailto:byersa@automationgroups.com">Al Byers</a>
* @version $Revision: 1.10 $
* @since 3.0
*
*
*/
public class LayoutEvents {
public static final String module = LayoutEvents.class.getName();
public static String createLayoutImage(HttpServletRequest request, HttpServletResponse response) {
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) {
request.setAttribute("_ERROR_MESSAGE_", "Image data is null.");
return "error";
}
//Debug.logVerbose("in createLayoutImage, byteWrap(0):" + byteWrap, module);
String imageFileName = (String)uploadResults.get("imageFileName");
//Debug.logVerbose("in createLayoutImage(java), context:" + context, "");
List errorMessages = new ArrayList();
Locale loc = (Locale)request.getSession().getServletContext().getAttribute("locale");
if (loc == null)
loc = Locale.getDefault();
context.put("locale", loc);
try {
SimpleMapProcessor.runSimpleMapProcessor(
"org/ofbiz/content/ContentManagementMapProcessors.xml", "contentIn",
formInput, context, errorMessages, loc);
SimpleMapProcessor.runSimpleMapProcessor(
"org/ofbiz/content/ContentManagementMapProcessors.xml", "dataResourceIn",
formInput, context, errorMessages, loc);
SimpleMapProcessor.runSimpleMapProcessor(
"org/ofbiz/content/ContentManagementMapProcessors.xml", "contentAssocIn",
formInput, context, errorMessages, loc);
} 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.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) {
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) {
request.setAttribute("_ERROR_MESSAGE_", "Image data is null.");
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));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -