⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataevents.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
字号:
package org.ofbiz.content.data;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.List;import java.util.Locale;import java.util.Map;import javax.servlet.ServletContext;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.GeneralException;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.entity.GenericDelegator;import org.ofbiz.entity.GenericEntityException;import org.ofbiz.entity.GenericPK;import org.ofbiz.entity.GenericValue;import org.ofbiz.service.GenericServiceException;import org.ofbiz.service.LocalDispatcher;/** * DataEvents Class * * @author     <a href="mailto:byersa@automationgroups.com">Al Byers</a> * @version    $Rev: 6995 $ * @since      3.0 * *  */public class DataEvents {    public static final String module = DataEvents.class.getName();    public static final String err_resource = "ContentErrorUiLabel";    public static String uploadImage(HttpServletRequest request, HttpServletResponse response) {        return DataResourceWorker.uploadAndStoreImage(request, "dataResourceId", "imageData");    }    /** Streams ImageDataResource data to the output. */    public static String serveImage(HttpServletRequest request, HttpServletResponse response) {        HttpSession session = request.getSession();        ServletContext application = session.getServletContext();        GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");        Map parameters = UtilHttp.getParameterMap(request);                Debug.log("Img UserAgent - " + request.getHeader("User-Agent"), module);        String dataResourceId = (String) parameters.get("imgId");        if (UtilValidate.isEmpty(dataResourceId)) {            String errorMsg = "Error getting image record from db: " + " dataResourceId is empty";            Debug.logError(errorMsg, module);            request.setAttribute("_ERROR_MESSAGE_", errorMsg);            return "error";        }        try {            GenericValue dataResource = delegator.findByPrimaryKeyCache("DataResource", UtilMisc.toMap("dataResourceId", dataResourceId));            if (!"Y".equals(dataResource.getString("isPublic"))) {                // now require login...                GenericValue userLogin = (GenericValue) session.getAttribute("userLogin");                if (userLogin == null) {                    String errorMsg = "You must be logged in to download the Data Resource with ID [" + dataResourceId + "]";                    Debug.logError(errorMsg, module);                    request.setAttribute("_ERROR_MESSAGE_", errorMsg);                    return "error";                }                                // make sure the logged in user can download this content; otherwise is a pretty big security hole for DataResource records...                // TODO: should we restrict the roleTypeId?                List contentAndRoleList = delegator.findByAnd("ContentAndRole",                         UtilMisc.toMap("partyId", userLogin.get("partyId"), "dataResourceId", dataResourceId));                if (contentAndRoleList.size() == 0) {                    String errorMsg = "You do not have permission to download the Data Resource with ID [" + dataResourceId + "], ie you are not associated with it.";                    Debug.logError(errorMsg, module);                    request.setAttribute("_ERROR_MESSAGE_", errorMsg);                    return "error";                }            }                        String mimeType = DataResourceWorker.getMimeType(dataResource);            //if (Debug.infoOn()) Debug.logInfo("in serveImage, imageType:" + imageType, module);            // hack for IE and mime types            String userAgent = request.getHeader("User-Agent");            if (userAgent.indexOf("MSIE") > -1) {                Debug.log("Found MSIE changing mime type from - " + mimeType, module);                mimeType = "application/octet-stream";            }            if (mimeType != null) {                response.setContentType(mimeType);            }            OutputStream os = response.getOutputStream();            DataResourceWorker.streamDataResource(os, delegator, dataResourceId, "", application.getInitParameter("webSiteId"), UtilHttp.getLocale(request), application.getRealPath("/"));            os.flush();        } catch (GenericEntityException e) {            String errMsg = "Error downloading digital product content: " + e.toString();            Debug.logError(e, errMsg, module);            request.setAttribute("_ERROR_MESSAGE_", errMsg);            return "error";        } catch (GeneralException e) {            String errMsg = "Error downloading digital product content: " + e.toString();            Debug.logError(e, errMsg, module);            request.setAttribute("_ERROR_MESSAGE_", errMsg);            return "error";        } catch (IOException e) {            String errMsg = "Error downloading digital product content: " + e.toString();            Debug.logError(e, errMsg, module);            request.setAttribute("_ERROR_MESSAGE_", errMsg);            return "error";        }        return "success";    }    /** Dual create and edit event.      *  Needed to make permission criteria available to services.      */    public static String persistDataResource(HttpServletRequest request, HttpServletResponse response) {        Map result = null;        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");        GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");        GenericValue userLogin = (GenericValue) request.getSession().getAttribute("userLogin");        Map paramMap = UtilHttp.getParameterMap(request);        String dataResourceId = (String)paramMap.get("dataResourceId");        GenericValue dataResource = delegator.makeValue("DataResource", null);        dataResource.setPKFields(paramMap);        dataResource.setNonPKFields(paramMap);        Map serviceInMap = new HashMap(dataResource);         serviceInMap.put("userLogin", userLogin);        String mode = (String)paramMap.get("mode");        Locale locale = UtilHttp.getLocale(request);        if (mode != null && mode.equals("UPDATE")) {            try {                result = dispatcher.runSync("updateDataResource", serviceInMap);            } catch (GenericServiceException e) {                String errMsg = UtilProperties.getMessage(DataEvents.err_resource, "dataEvents.error_call_update_service", locale);                String errorMsg = "Error calling the updateDataResource service." + e.toString();                Debug.logError(e, errorMsg, module);                request.setAttribute("_ERROR_MESSAGE_", errMsg + e.toString());                return "error";            }        } else {            mode = "CREATE";            try {                result = dispatcher.runSync("createDataResource", serviceInMap);            } catch (GenericServiceException e) {                String errMsg = UtilProperties.getMessage(DataEvents.err_resource, "dataEvents.error_call_create_service", locale);                                                                                    String errorMsg = "Error calling the createDataResource service." + e.toString();                Debug.logError(e, errorMsg, module);                request.setAttribute("_ERROR_MESSAGE_", errMsg + e.toString());                return "error";            }            dataResourceId = (String)result.get("dataResourceId");            dataResource.set("dataResourceId", dataResourceId);        }                   // Save the primary key so that it can be used in a "quick pick" list later        GenericPK pk = dataResource.getPrimaryKey();        HttpSession session = request.getSession();        //ContentManagementWorker.mruAdd(session, pk);        String returnStr = "success";        if (mode.equals("CREATE") ) {            // Set up return message to guide selection of follow on view            request.setAttribute("dataResourceId", result.get("dataResourceId") );            String dataResourceTypeId = (String)serviceInMap.get("dataResourceTypeId");            if (dataResourceTypeId != null) {                 if (dataResourceTypeId.equals("ELECTRONIC_TEXT")                     || dataResourceTypeId.equals("IMAGE_OBJECT") ) {                    returnStr = dataResourceTypeId;                 }            }        }        return returnStr;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -