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

📄 callservice.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        } else {            inMap = (Map) inMapAcsr.get(methodContext);            if (inMap == null) {                inMap = new HashMap();                inMapAcsr.put(methodContext, inMap);            }        }        // before invoking the service, clear messages        if (methodContext.getMethodType() == MethodContext.EVENT) {            methodContext.removeEnv(simpleMethod.getEventErrorMessageName());            methodContext.removeEnv(simpleMethod.getEventEventMessageName());            methodContext.removeEnv(simpleMethod.getEventResponseCodeName());        } else if (methodContext.getMethodType() == MethodContext.SERVICE) {            methodContext.removeEnv(simpleMethod.getServiceErrorMessageName());            methodContext.removeEnv(simpleMethod.getServiceSuccessMessageName());            methodContext.removeEnv(simpleMethod.getServiceResponseMessageName());        }        // invoke the service        Map result = null;        // add UserLogin to context if expected        if (includeUserLogin) {            GenericValue userLogin = methodContext.getUserLogin();            if (userLogin != null) {                inMap.put("userLogin", userLogin);            }        }                // always add Locale to context unless null        Locale locale = methodContext.getLocale();        if (locale != null) {            inMap.put("locale", locale);        }                try {            result = methodContext.getDispatcher().runSync(serviceName, inMap);        } catch (GenericServiceException e) {            Debug.logError(e, module);            String errMsg = "ERROR: Could not complete the " + simpleMethod.getShortDescription() + " process [problem invoking the [" + serviceName + "] service with the map named [" + inMapAcsr + "] containing [" + inMap + "]: " + e.getMessage() + "]";            if (methodContext.getMethodType() == MethodContext.EVENT) {                methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errMsg);                methodContext.putEnv(simpleMethod.getEventResponseCodeName(), errorCode);            } else if (methodContext.getMethodType() == MethodContext.SERVICE) {                methodContext.putEnv(simpleMethod.getServiceErrorMessageName(), errMsg);                methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), errorCode);            }            return false;        }        if (resultsToMap.size() > 0) {            Iterator iter = resultsToMap.iterator();            while (iter.hasNext()) {                String mapName = (String) iter.next();                methodContext.putEnv(mapName, new HashMap(result));            }        }        if (resultToField.size() > 0) {            Iterator iter = resultToField.iterator();            while (iter.hasNext()) {                ResultToFieldDef rtfDef = (ResultToFieldDef) iter.next();                if (!rtfDef.mapAcsr.isEmpty()) {                    Map tempMap = (Map) rtfDef.mapAcsr.get(methodContext);                    if (tempMap == null) {                        tempMap = new HashMap();                        rtfDef.mapAcsr.put(methodContext, tempMap);                    }                    rtfDef.fieldAcsr.put(tempMap, result.get(rtfDef.resultName), methodContext);                } else {                    rtfDef.fieldAcsr.put(methodContext, result.get(rtfDef.resultName));                }            }        }        // only run this if it is in an EVENT context        if (methodContext.getMethodType() == MethodContext.EVENT) {            if (resultToRequest.size() > 0) {                Iterator iter = resultToRequest.entrySet().iterator();                while (iter.hasNext()) {                    Map.Entry entry = (Map.Entry) iter.next();                    FlexibleServletAccessor requestAcsr = (FlexibleServletAccessor) entry.getKey();                    ContextAccessor resultAcsr = (ContextAccessor) entry.getValue();                    requestAcsr.put(methodContext.getRequest(), resultAcsr.get(result, methodContext), methodContext.getEnvMap());                }            }            if (resultToSession.size() > 0) {                Iterator iter = resultToSession.entrySet().iterator();                while (iter.hasNext()) {                    Map.Entry entry = (Map.Entry) iter.next();                    FlexibleServletAccessor sessionAcsr = (FlexibleServletAccessor) entry.getKey();                    ContextAccessor resultAcsr = (ContextAccessor) entry.getValue();                    sessionAcsr.put(methodContext.getRequest().getSession(), resultAcsr.get(result, methodContext), methodContext.getEnvMap());                }            }        }        // only run this if it is in an SERVICE context        if (methodContext.getMethodType() == MethodContext.SERVICE) {            if (resultToResult.size() > 0) {                Iterator iter = resultToResult.entrySet().iterator();                while (iter.hasNext()) {                    Map.Entry entry = (Map.Entry) iter.next();                    ContextAccessor targetResultAcsr = (ContextAccessor) entry.getKey();                    ContextAccessor resultAcsr = (ContextAccessor) entry.getValue();                    targetResultAcsr.put(methodContext.getResults(), resultAcsr.get(result, methodContext), methodContext);                }            }        }        String errorPrefixStr = errorPrefix.getMessage(methodContext.getLoader(), methodContext);        String errorSuffixStr = errorSuffix.getMessage(methodContext.getLoader(), methodContext);        String successPrefixStr = successPrefix.getMessage(methodContext.getLoader(), methodContext);        String successSuffixStr = successSuffix.getMessage(methodContext.getLoader(), methodContext);        String messagePrefixStr = messagePrefix.getMessage(methodContext.getLoader(), methodContext);        String messageSuffixStr = messageSuffix.getMessage(methodContext.getLoader(), methodContext);        String errorMessage = ServiceUtil.makeErrorMessage(result, messagePrefixStr, messageSuffixStr, errorPrefixStr, errorSuffixStr);        if (UtilValidate.isNotEmpty(errorMessage)) {            errorMessage += " calling service " + serviceName + " in " + simpleMethod.getMethodName();            if (methodContext.getMethodType() == MethodContext.EVENT) {                methodContext.putEnv(simpleMethod.getEventErrorMessageName(), errorMessage);            } else if (methodContext.getMethodType() == MethodContext.SERVICE) {                methodContext.putEnv(simpleMethod.getServiceErrorMessageName(), errorMessage);            }        }        String successMessage = ServiceUtil.makeSuccessMessage(result, messagePrefixStr, messageSuffixStr, successPrefixStr, successSuffixStr);        if (UtilValidate.isNotEmpty(successMessage)) {            if (methodContext.getMethodType() == MethodContext.EVENT) {                methodContext.putEnv(simpleMethod.getEventEventMessageName(), successMessage);            } else if (methodContext.getMethodType() == MethodContext.SERVICE) {                methodContext.putEnv(simpleMethod.getServiceSuccessMessageName(), successMessage);            }        }        String defaultMessageStr = defaultMessage.getMessage(methodContext.getLoader(), methodContext);        if (UtilValidate.isEmpty(errorMessage) && UtilValidate.isEmpty(successMessage) && UtilValidate.isNotEmpty(defaultMessageStr)) {            if (methodContext.getMethodType() == MethodContext.EVENT) {                methodContext.putEnv(simpleMethod.getEventEventMessageName(), defaultMessageStr);            } else if (methodContext.getMethodType() == MethodContext.SERVICE) {                methodContext.putEnv(simpleMethod.getServiceSuccessMessageName(), defaultMessageStr);            }        }        // handle the result        String responseCode = result.containsKey(ModelService.RESPONSE_MESSAGE) ? (String) result.get(ModelService.RESPONSE_MESSAGE) : successCode;        if (methodContext.getMethodType() == MethodContext.EVENT) {            methodContext.putEnv(simpleMethod.getEventResponseCodeName(), responseCode);        } else if (methodContext.getMethodType() == MethodContext.SERVICE) {            methodContext.putEnv(simpleMethod.getServiceResponseMessageName(), responseCode);        }        if (errorCode.equals(responseCode) && breakOnError) {            return false;        } else {            return true;        }    }    public String rawString() {        // TODO: something more than the empty tag        return "<call-service/>";    }    public String expandedString(MethodContext methodContext) {        // TODO: something more than a stub/dummy        return this.rawString();    }    public static class ResultToFieldDef {        public String resultName;        public ContextAccessor mapAcsr;        public ContextAccessor fieldAcsr;    }}

⌨️ 快捷键说明

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