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

📄 traversesubcontentcachetransform.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            public void flush() throws IOException {                out.flush();            }            public int onStart() throws TemplateModelException, IOException {                //templateContext.put("buf", new StringBuffer());                List nodeTrail = null;                Map node = null;                GenericValue subContentDataResourceView = null;                List globalNodeTrail = (List)templateRoot.get("globalNodeTrail");                String trailCsv = ContentWorker.nodeTrailToCsv(globalNodeTrail);                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, onStart, trailCsv(1):" + trailCsv , module);                if (globalNodeTrail.size() > 0) {                    int sz = globalNodeTrail.size() ;                    nodeTrail = new ArrayList();                    //nodeTrail = passedGlobalNodeTrail.subList(sz - 1, sz);                    node = (Map)globalNodeTrail.get(sz - 1);                    //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, onStart, node(1):" + node , module);                    Boolean checkedObj = (Boolean)node.get("checked");                    Map whenMap = (Map)templateRoot.get("whenMap");                    //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, whenMap(2):" + whenMap , module);                    if (checkedObj == null || !checkedObj.booleanValue()) {                        ContentWorker.checkConditions(delegator, node, null, whenMap);                    }                    subContentDataResourceView = (GenericValue)node.get("value");                } else {                    throw new IOException("Empty node trail entries");                }                Boolean isReturnBeforePickBool = (Boolean)node.get("isReturnBeforePick");                if (isReturnBeforePickBool != null && isReturnBeforePickBool.booleanValue())                    return TransformControl.SKIP_BODY;                GenericValue content = null;                ContentWorker.selectKids(node, traverseContext);                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, onStart, node(2):" + node , module);                nodeTrail.add(node);                traverseContext.put("nodeTrail", nodeTrail);                Boolean isPickBool = (Boolean)node.get("isPick");                Boolean isFollowBool = (Boolean)node.get("isFollow");                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, onStart, isPickBool(1):" + isPickBool + " isFollowBool:" + isFollowBool, module);                boolean isPick = true;                if ((isPickBool == null || !isPickBool.booleanValue())                   && (isFollowBool != null && isFollowBool.booleanValue())) {                    isPick = ContentWorker.traverseSubContent(traverseContext);                    //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, onStart, isPick(2):" + isPick, module);                }                if (isPick) {                    populateContext(traverseContext, templateRoot);                    FreeMarkerWorker.saveContextValues(templateRoot, saveKeyNames, savedValues);                    return TransformControl.EVALUATE_BODY;                } else {                    return TransformControl.SKIP_BODY;                }            }            public int afterBody() throws TemplateModelException, IOException {                FreeMarkerWorker.reloadValues(templateRoot, savedValues, env);                List globalNodeTrail = (List)templateRoot.get("globalNodeTrail");    //if (Debug.infoOn()) Debug.logInfo("populateContext, globalNodeTrail(2a):" + FreeMarkerWorker.nodeTrailToCsv(globalNodeTrail), "");                List nodeTrail = (List)traverseContext.get("nodeTrail");                //List savedGlobalNodeTrail = (List)savedValues.get("globalNodeTrail");                //templateRoot.put("globalNodeTrail", savedGlobalNodeTrail);                boolean inProgress = ContentWorker.traverseSubContent(traverseContext);                int sz = nodeTrail.size();                if (inProgress) {                    populateContext(traverseContext, templateRoot);                    FreeMarkerWorker.saveContextValues(templateRoot, saveKeyNames, savedValues);                    //globalNodeTrail = (List)templateRoot.get("globalNodeTrail");                    //globalNodeTrail.addAll(nodeTrail);                    return TransformControl.REPEAT_EVALUATION;                } else                    return TransformControl.END_EVALUATION;            }            public void close() throws IOException {                FreeMarkerWorker.reloadValues(templateRoot, savedValuesUp, env);                String wrappedContent = buf.toString();                out.write(wrappedContent);                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContent, wrappedContent:" + wrappedContent, module);            }            public void populateContext(Map traverseContext, Map templateContext) {                List nodeTrail = (List)traverseContext.get("nodeTrail");    //if (Debug.infoOn()) Debug.logInfo("populateContext, nodeTrail csv(a):" + FreeMarkerWorker.nodeTrailToCsv((List)nodeTrail), "");                int sz = nodeTrail.size();                Map node = (Map)nodeTrail.get(sz - 1);                GenericValue content = (GenericValue)node.get("value");                String contentId = (String)node.get("contentId");                String subContentId = (String)node.get("subContentId");                String contentAssocTypeId = (String)node.get("contentAssocTypeId");                envWrap("contentAssocTypeId", contentAssocTypeId);                envWrap("contentId", contentId);                envWrap("content", content);                String mapKey = (String)node.get("mapKey");                envWrap("mapKey", mapKey);                envWrap("subContentDataResourceView", null);                List globalNodeTrail = (List)templateContext.get("globalNodeTrail");                String contentIdEnd = null;                String contentIdStart = null;                if (globalNodeTrail != null) {                    Map ndEnd = (Map)globalNodeTrail.get(globalNodeTrail.size() - 1);                    contentIdEnd = (String)ndEnd.get("contentId");                    Map ndStart = (Map)nodeTrail.get(0);                    contentIdStart = (String)ndStart.get("contentId");                } else {                    globalNodeTrail = new ArrayList();                }                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, populateContext, contentIdEnd(1):" + contentIdEnd + " contentIdStart:" + contentIdStart + " equals:" + (contentIdStart.equals(contentIdEnd)), module);                boolean bIdEnd = UtilValidate.isNotEmpty(contentIdEnd);                boolean bIdStart = UtilValidate.isNotEmpty(contentIdStart);                boolean bEquals = contentIdStart.equals(contentIdEnd);                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, populateContext, contentIdEnd(1):" + bIdEnd + " contentIdStart:" + bIdStart + " equals:" + bEquals, module);    //if (Debug.infoOn()) Debug.logInfo("populateContext, globalNodeTrail(1a):" + FreeMarkerWorker.nodeTrailToCsv(globalNodeTrail), "");                if (bIdEnd && bIdStart && bEquals) {                    List subList = nodeTrail.subList(1, sz);                    globalNodeTrail.addAll(subList);                } else {                    globalNodeTrail.addAll(nodeTrail);                }    //if (Debug.infoOn()) Debug.logInfo("populateContext, globalNodeTrail(1b):" + FreeMarkerWorker.nodeTrailToCsv(globalNodeTrail), "");                int indentSz = globalNodeTrail.size();                envWrap("indent", new Integer(indentSz));                String trailCsv = ContentWorker.nodeTrailToCsv(globalNodeTrail);                //if (Debug.infoOn()) Debug.logInfo("in TraverseSubContentCache, populateCtx, trailCsv(2):" + trailCsv , module);                envWrap("nodeTrailCsv", trailCsv);                envWrap("globalNodeTrail", globalNodeTrail);                return;            }            public void envWrap(String varName, Object obj) {                templateRoot.put(varName, obj);                env.setVariable(varName, FreeMarkerWorker.autoWrap(obj, env));            }        };    }}

⌨️ 快捷键说明

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