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

📄 coreevents.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * $Id: CoreEvents.java 5462 2005-08-05 18:35:48Z jonesde $ * * Copyright (c) 2001-2003 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */package org.ofbiz.webapp.event;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.sql.Timestamp;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.Locale;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.ofbiz.base.util.Debug;import org.ofbiz.base.util.UtilHttp;import org.ofbiz.base.util.UtilProperties;import org.ofbiz.base.util.UtilValidate;import org.ofbiz.webapp.control.RequestHandler;import org.ofbiz.entity.GenericDelegator;import org.ofbiz.entity.GenericValue;import org.ofbiz.security.Security;import org.ofbiz.service.DispatchContext;import org.ofbiz.service.GenericServiceException;import org.ofbiz.service.LocalDispatcher;import org.ofbiz.service.ModelService;import org.ofbiz.service.ServiceDispatcher;import org.ofbiz.service.WebAppDispatcher;import org.ofbiz.service.calendar.RecurrenceRule;/** * CoreEvents - WebApp Events Related To Framework pieces * * @author     <a href="mailto:jaz@ofbiz.org">Andy Zeneski</a> * @version    $Rev: 5462 $ * @since      2.0 */public class CoreEvents {        public static final String module = CoreEvents.class.getName();    public static final String err_resource = "WebappUiLabels";    /**     * Return success event. Used as a place holder for events.     * @param request HttpServletRequest     * @param response HttpServletResponse     * @return Response code string     */    public static String returnSuccess(HttpServletRequest request, HttpServletResponse response) {        return "success";    }    /**     * Return error event. Used as a place holder for events.     * @param request HttpServletRequest     * @param response HttpServletResponse     * @return Response code string     */    public static String returnError(HttpServletRequest request, HttpServletResponse response) {        return "error";    }    /**     * Return null event. Used as a place holder for events.     * @param request HttpServletRequest     * @param response HttpServletResponse     * @return Response code string     */    public static String returnNull(HttpServletRequest request, HttpServletResponse response) {        return null;    }    /**     * Change delegator event. Changes the delegator for the current session     * @param request HttpServletRequest     * @param response HttpServletResponse     * @return Response code string     */    public static String changeDelegator(HttpServletRequest request, HttpServletResponse response) {        String delegatorName = request.getParameter("delegator");        Security security = (Security) request.getAttribute("security");        Locale locale = UtilHttp.getLocale(request);        if (!security.hasPermission("ENTITY_MAINT", request.getSession())) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        if (delegatorName == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.delegator_not_passed", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        GenericDelegator delegator = GenericDelegator.getGenericDelegator(delegatorName);        if (delegator == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_delegator_name_defined", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        // now change the dispatcher to use this delegator        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");        DispatchContext dctx = dispatcher.getDispatchContext();        String dispatcherName = dispatcher.getName();        if (dispatcherName == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_name_null", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        if (dctx == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_context_null", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator);        if (sd == null)            dispatcher = new WebAppDispatcher(dctx, delegator);        else            dispatcher = sd.getLocalContext(dispatcherName).getDispatcher();        request.getSession().setAttribute("delegator", delegator);        request.getSession().setAttribute("dispatcher", dispatcher);        return "success";    }    /**     * Change dispatcher event. Changes the dispatch for the current session     * @param request HttpServletRequest     * @param response HttpServletResponse     * @return Response code string     */    public static String changeDispatcher(HttpServletRequest request, HttpServletResponse response) {        String dispatcherName = request.getParameter("dispatcher");        Security security = (Security) request.getAttribute("security");        Locale locale = UtilHttp.getLocale(request);        if (!security.hasPermission("ENTITY_MAINT", request.getSession())) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.not_authorized_use_fct", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        if (dispatcherName == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.dispatcher_not_passed", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");        ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator);        if (sd == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.no_dispachter_name_registered", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        LocalDispatcher dispatcher = sd.getLocalContext(dispatcherName).getDispatcher();        request.getSession().setAttribute("dispatcher", dispatcher);        return "success";    }    /**     * Schedule a service for a specific time or recurrence     *  Request Parameters which are used for this service:     *     *  SERVICE_NAME      - Name of the service to invoke     *  SERVICE_TIME      - First time the service will occur     *  SERVICE_FREQUENCY - The type of recurrence (SECONDLY,MINUTELY,DAILY,etc)     *  SERVICE_INTERVAL  - The interval of the frequency (every 5 minutes, etc)     *     * @param request HttpServletRequest     * @param response HttpServletResponse     * @return Response code string     */    public static String scheduleService(HttpServletRequest request, HttpServletResponse response) {        GenericValue userLogin = (GenericValue) request.getSession().getAttribute("userLogin");        Security security = (Security) request.getAttribute("security");        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");        //GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");        Locale locale = UtilHttp.getLocale(request);                Map params = UtilHttp.getParameterMap(request);        // get the schedule parameters        String serviceName = (String) params.remove("SERVICE_NAME");        String poolName = (String) params.remove("POOL_NAME");        String serviceTime = (String) params.remove("SERVICE_TIME");        String serviceEndTime = (String) params.remove("SERVICE_END_TIME");        String serviceFreq = (String) params.remove("SERVICE_FREQUENCY");        String serviceIntr = (String) params.remove("SERVICE_INTERVAL");        String serviceCnt = (String) params.remove("SERVICE_COUNT");        String retryCnt = (String) params.remove("SERVICE_MAXRETRY");        // the frequency map        Map freqMap = new HashMap();        freqMap.put("SECONDLY", new Integer(1));        freqMap.put("MINUTELY", new Integer(2));        freqMap.put("HOURLY", new Integer(3));        freqMap.put("DAILY", new Integer(4));        freqMap.put("WEEKLY", new Integer(5));        freqMap.put("MONTHLY", new Integer(6));        freqMap.put("YEARLY", new Integer(7));        // some defaults        long startTime = (new Date()).getTime();        long endTime = 0;        int maxRetry = -1;        int count = 1;        int interval = 1;        int frequency = RecurrenceRule.DAILY;        StringBuffer errorBuf = new StringBuffer();        // make sure we passed a service        if (serviceName == null) {            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.must_specify_service", locale);            request.setAttribute("_ERROR_MESSAGE_", "<li>" + errMsg);            return "error";        }        // lookup the service definition to see if this service is externally available, if not require the SERVICE_INVOKE_ANY permission        ModelService modelService = null;        try {            modelService = dispatcher.getDispatchContext().getModelService(serviceName);        } catch (GenericServiceException e) {            Debug.logError(e, "Error looking up ModelService for serviceName [" + serviceName + "]", module);            String errMsg = UtilProperties.getMessage(CoreEvents.err_resource, "coreEvents.error_modelservice_for_srv_name", locale);

⌨️ 快捷键说明

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