Author: adrianc
Date: Fri Jan 2 18:11:11 2015
New Revision: 1649086
URL: http://svn.apache.org/r1649086
Log:
Code formatting in ModelTree.java, no functional change.
Modified:
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java?rev=1649086&r1=1649085&r2=1649086&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/tree/ModelTree.java Fri
Jan 2 18:11:11 2015
@@ -63,7 +63,9 @@ import org.w3c.dom.Element;
import org.xml.sax.SAXException;
/**
- * Widget Library - Tree model class
+ * Models the <tree> element.
+ *
+ * @see <code>widget-tree.xsd</code>
*/
@SuppressWarnings("serial")
public class ModelTree extends ModelWidget {
@@ -86,7 +88,7 @@ public class ModelTree extends ModelWidg
protected FlexibleStringExpander trailNameExdr;
protected String treeLocation;
-// ===== CONSTRUCTORS =====
+ // ===== CONSTRUCTORS =====
/** Default Constructor */
public ModelTree(Element treeElement, Delegator delegator, LocalDispatcher
dispatcher) {
@@ -101,7 +103,8 @@ public class ModelTree extends ModelWidg
}
this.defaultWrapStyleExdr =
FlexibleStringExpander.getInstance(treeElement.getAttribute("default-wrap-style"));
this.expandCollapseRequestExdr =
FlexibleStringExpander.getInstance(treeElement.getAttribute("expand-collapse-request"));
- this.trailNameExdr =
FlexibleStringExpander.getInstance(UtilFormatOut.checkEmpty(treeElement.getAttribute("trail-name"),
"trail"));
+ this.trailNameExdr =
FlexibleStringExpander.getInstance(UtilFormatOut.checkEmpty(treeElement.getAttribute("trail-name"),
+ "trail"));
this.delegator = delegator;
this.dispatcher = dispatcher;
this.forceChildCheck =
!"false".equals(treeElement.getAttribute("force-child-check"));
@@ -111,36 +114,30 @@ public class ModelTree extends ModelWidg
} catch (NumberFormatException e) {
openDepth = 0;
}
-
try {
postTrailOpenDepth =
Integer.parseInt(treeElement.getAttribute("post-trail-open-depth"));
} catch (NumberFormatException e) {
postTrailOpenDepth = 999;
}
-
- for (Element nodeElementEntry: UtilXml.childElementList(treeElement,
"node")) {
+ for (Element nodeElementEntry : UtilXml.childElementList(treeElement,
"node")) {
ModelNode node = new ModelNode(nodeElementEntry, this);
String nodeName = node.getName();
nodeList.add(node);
- nodeMap.put(nodeName,node);
+ nodeMap.put(nodeName, node);
}
-
if (nodeList.size() == 0) {
throw new IllegalArgumentException("No node elements found for the
tree definition with name: " + getName());
}
}
- public void setDefaultEntityName(String name) {
- String nm = name;
- if (UtilValidate.isEmpty(nm)) {
- nm = "Content";
- }
- this.defaultEntityName = nm;
- ModelEntity modelEntity =
delegator.getModelEntity(this.defaultEntityName);
- if (modelEntity.getPksSize() == 1) {
- ModelField modelField = modelEntity.getOnlyPk();
- this.defaultPkName = modelField.getName();
- }
+ @Override
+ public void accept(ModelWidgetVisitor visitor) throws Exception {
+ visitor.visit(this);
+ }
+
+ @Override
+ public String getBoundaryCommentName() {
+ return treeLocation + "#" + getName();
}
public String getDefaultEntityName() {
@@ -151,26 +148,18 @@ public class ModelTree extends ModelWidg
return this.defaultPkName;
}
- public String getRootNodeName() {
- return rootNodeName;
- }
-
- public String getWrapStyle(Map<String, Object> context) {
- return this.defaultWrapStyleExdr.expandString(context);
- }
-
- public int getOpenDepth() {
- return openDepth;
+ public Delegator getDelegator() {
+ return this.delegator;
}
- public int getPostTrailOpenDepth() {
- return postTrailOpenDepth;
+ public LocalDispatcher getDispatcher() {
+ return this.dispatcher;
}
public String getExpandCollapseRequest(Map<String, Object> context) {
String expColReq =
this.expandCollapseRequestExdr.expandString(context);
if (UtilValidate.isEmpty(expColReq)) {
- HttpServletRequest request =
(HttpServletRequest)context.get("request");
+ HttpServletRequest request = (HttpServletRequest)
context.get("request");
String s1 = request.getRequestURI();
int pos = s1.lastIndexOf("/");
if (pos >= 0)
@@ -178,7 +167,6 @@ public class ModelTree extends ModelWidg
else
expColReq = s1;
}
-
//append also the request parameters
Map<String, Object> paramMap =
UtilGenerics.checkMap(context.get("requestParameters"));
if (UtilValidate.isNotEmpty(paramMap)) {
@@ -194,21 +182,31 @@ public class ModelTree extends ModelWidg
expColReq += queryString;
}
}
-
return expColReq;
}
- public String getTrailName(Map<String, Object> context) {
- return this.trailNameExdr.expandString(context);
+ public int getOpenDepth() {
+ return openDepth;
}
- @Override
- public String getBoundaryCommentName() {
- return treeLocation + "#" + getName();
+ public int getPostTrailOpenDepth() {
+ return postTrailOpenDepth;
}
- public void setTreeLocation(String treeLocation) {
- this.treeLocation = treeLocation;
+ public String getRenderStyle() {
+ return this.defaultRenderStyle;
+ }
+
+ public String getRootNodeName() {
+ return rootNodeName;
+ }
+
+ public String getTrailName(Map<String, Object> context) {
+ return this.trailNameExdr.expandString(context);
+ }
+
+ public String getWrapStyle(Map<String, Object> context) {
+ return this.defaultWrapStyleExdr.expandString(context);
}
/**
@@ -227,22 +225,20 @@ public class ModelTree extends ModelWidg
* use the same tree definitions for many types of tree UIs
*/
@SuppressWarnings("rawtypes")
- public void renderTreeString(StringBuffer buf, Map<String, Object>
context, TreeStringRenderer treeStringRenderer) throws GeneralException {
+ public void renderTreeString(StringBuffer buf, Map<String, Object>
context, TreeStringRenderer treeStringRenderer)
+ throws GeneralException {
Map<String, Object> parameters =
UtilGenerics.checkMap(context.get("parameters"));
-
ModelNode node = nodeMap.get(rootNodeName);
-
String trailName = trailNameExdr.expandString(context);
- String treeString = (String)context.get(trailName);
+ String treeString = (String) context.get(trailName);
if (UtilValidate.isEmpty(treeString)) {
- treeString = (String)parameters.get(trailName);
+ treeString = (String) parameters.get(trailName);
}
List<String> trail = null;
if (UtilValidate.isNotEmpty(treeString)) {
trail = StringUtil.split(treeString, "|");
if (UtilValidate.isEmpty(trail))
throw new RuntimeException("Tree 'trail' value is empty.");
-
context.put("rootEntityId", trail.get(0));
context.put(defaultPkName, trail.get(0));
} else {
@@ -261,19 +257,23 @@ public class ModelTree extends ModelWidg
}
}
- public LocalDispatcher getDispatcher() {
- return this.dispatcher;
- }
-
- public Delegator getDelegator() {
- return this.delegator;
+ public void setDefaultEntityName(String name) {
+ String nm = name;
+ if (UtilValidate.isEmpty(nm)) {
+ nm = "Content";
+ }
+ this.defaultEntityName = nm;
+ ModelEntity modelEntity =
delegator.getModelEntity(this.defaultEntityName);
+ if (modelEntity.getPksSize() == 1) {
+ ModelField modelField = modelEntity.getOnlyPk();
+ this.defaultPkName = modelField.getName();
+ }
}
- public String getRenderStyle() {
- return this.defaultRenderStyle;
+ public void setTreeLocation(String treeLocation) {
+ this.treeLocation = treeLocation;
}
-
public static class ModelNode extends ModelWidget {
private final List<ModelWidgetAction> actions;
@@ -291,7 +291,7 @@ public class ModelTree extends ModelWidg
protected FlexibleStringExpander screenNameExdr;
protected String shareScope;
protected List<ModelSubNode> subNodeList = new
ArrayList<ModelSubNode>();
- protected List<Object []> subNodeValues;
+ protected List<Object[]> subNodeValues;
protected FlexibleStringExpander wrapStyleExdr;
public ModelNode(Element nodeElement, ModelTree modelTree) {
@@ -311,7 +311,7 @@ public class ModelTree extends ModelWidg
}
Element actionElement = UtilXml.firstChildElement(nodeElement,
"entity-one");
if (actionElement != null) {
- actions.add(new ModelWidgetAction.EntityOne(this,
actionElement));
+ actions.add(new ModelWidgetAction.EntityOne(this,
actionElement));
}
actionElement = UtilXml.firstChildElement(nodeElement, "service");
if (actionElement != null) {
@@ -323,150 +323,115 @@ public class ModelTree extends ModelWidg
}
actions.trimToSize();
this.actions = Collections.unmodifiableList(actions);
-
Element screenElement = UtilXml.firstChildElement(nodeElement,
"include-screen");
if (screenElement != null) {
- this.screenNameExdr =
FlexibleStringExpander.getInstance(screenElement.getAttribute("name"));
- this.screenLocationExdr =
FlexibleStringExpander.getInstance(screenElement.getAttribute("location"));
- this.shareScope = screenElement.getAttribute("share-scope");
+ this.screenNameExdr =
FlexibleStringExpander.getInstance(screenElement.getAttribute("name"));
+ this.screenLocationExdr =
FlexibleStringExpander.getInstance(screenElement.getAttribute("location"));
+ this.shareScope = screenElement.getAttribute("share-scope");
}
-
Element labelElement = UtilXml.firstChildElement(nodeElement,
"label");
if (labelElement != null) {
this.label = new Label(labelElement);
}
-
Element linkElement = UtilXml.firstChildElement(nodeElement,
"link");
if (linkElement != null) {
this.link = new Link(linkElement);
}
-
Element imageElement = UtilXml.firstChildElement(nodeElement,
"image");
if (imageElement != null) {
this.image = new Image(imageElement);
}
-
- /* there are situations in which nothing should be displayed
- if (screenElement == null && labelElement == null && linkElement
== null) {
- throw new IllegalArgumentException("Neither 'screen' nor
'label' nor 'link' found for the node definition with name: " + this.name);
- }
- */
Element conditionElement = UtilXml.firstChildElement(nodeElement,
"condition");
if (conditionElement != null) {
this.condition = new ModelTreeCondition(modelTree,
conditionElement);
}
-
- for (Element subNodeElementEntry:
UtilXml.childElementList(nodeElement, "sub-node")) {
+ for (Element subNodeElementEntry :
UtilXml.childElementList(nodeElement, "sub-node")) {
ModelSubNode subNode = new ModelSubNode(subNodeElementEntry,
this);
subNodeList.add(subNode);
}
+ }
-
+ @Override
+ public void accept(ModelWidgetVisitor visitor) throws Exception {
+ visitor.visit(this);
}
- public void renderNodeString(Appendable writer, Map<String, Object>
context,
- TreeStringRenderer treeStringRenderer, int depth)
- throws IOException, GeneralException {
- boolean passed = true;
- if (this.condition != null) {
- if (!this.condition.eval(context)) {
- passed = false;
- }
- }
- //Debug.logInfo("in ModelMenu, name:" + this.getName(), module);
- if (passed) {
- List<String> currentNodeTrail =
UtilGenerics.toList(context.get("currentNodeTrail"));
- context.put("processChildren", Boolean.TRUE);
- // this action will usually obtain the "current" entity
- ModelTreeAction.runSubActions(this.actions, context);
- String pkName = getPkName();
- String id = null;
- if (UtilValidate.isNotEmpty(this.entryName)) {
- id = UtilGenerics.<Map<String,
String>>cast(context.get(this.entryName)).get(pkName);
- } else {
- id = (String) context.get(pkName);
- }
- currentNodeTrail.add(id);
- treeStringRenderer.renderNodeBegin(writer, context, this,
depth);
- //if (Debug.infoOn()) Debug.logInfo(" context:" +
- // context.entrySet(), module);
- try {
- String screenName = null;
- if (screenNameExdr != null)
- screenName = screenNameExdr.expandString(context);
- String screenLocation = null;
- if (screenLocationExdr != null)
- screenLocation =
screenLocationExdr.expandString(context);
- if (screenName != null && screenLocation != null) {
- ScreenStringRenderer screenStringRenderer =
treeStringRenderer.getScreenStringRenderer(context);
- ModelScreen modelScreen =
ScreenFactory.getScreenFromLocation(screenLocation, screenName);
- modelScreen.renderScreenString(writer, context,
screenStringRenderer);
- }
- if (label != null) {
- label.renderLabelString(writer, context,
treeStringRenderer);
+ public void getChildren(Map<String, Object> context) {
+ this.subNodeValues = new ArrayList<Object[]>();
+ for (ModelSubNode subNode : subNodeList) {
+ String nodeName = subNode.getNodeName(context);
+ ModelNode node = modelTree.nodeMap.get(nodeName);
+ List<ModelWidgetAction> subNodeActions = subNode.getActions();
+ //if (Debug.infoOn()) Debug.logInfo(" context.currentValue:" +
context.get("currentValue"), module);
+ ModelWidgetAction.runSubActions(subNodeActions, context);
+ // List dataFound = (List)context.get("dataFound");
+ Iterator<? extends Map<String, ? extends Object>> dataIter =
subNode.getListIterator();
+ if (dataIter instanceof EntityListIterator) {
+ EntityListIterator eli = (EntityListIterator) dataIter;
+ Map<String, Object> val = null;
+ while ((val = eli.next()) != null) {
+ Object[] arr = { node, val };
+ this.subNodeValues.add(arr);
}
- if (link != null) {
- link.renderLinkString(writer, context,
treeStringRenderer);
+ try {
+ eli.close();
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ throw new RuntimeException(e.getMessage());
}
- treeStringRenderer.renderLastElement(writer, context,
this);
- Boolean processChildren = (Boolean)
context.get("processChildren");
- //if (Debug.infoOn()) Debug.logInfo(" processChildren:" +
processChildren, module);
- if (processChildren.booleanValue()) {
- getChildren(context);
- int newDepth = depth + 1;
- for (Object[] arr: this.subNodeValues) {
- ModelNode node = (ModelNode) arr[0];
- Map<String, Object> val =
UtilGenerics.checkMap(arr[1]);
- //GenericPK pk = val.getPrimaryKey();
- //if (Debug.infoOn()) Debug.logInfo(" pk:" + pk,
- // module);
- String thisPkName = node.getPkName();
- String thisEntityId = (String) val.get(thisPkName);
- MapStack<String> newContext =
MapStack.create(context);
- newContext.push();
- String nodeEntryName = node.getEntryName();
- if (UtilValidate.isNotEmpty(nodeEntryName)) {
- newContext.put(nodeEntryName, val);
- } else {
- newContext.putAll(val);
- }
- String targetEntityId = null;
- List<String> targetNodeTrail =
UtilGenerics.checkList(context.get("targetNodeTrail"));
- if (newDepth < targetNodeTrail.size()) {
- targetEntityId = targetNodeTrail.get(newDepth);
- }
- if ((targetEntityId != null &&
targetEntityId.equals(thisEntityId)) || this.showPeers(newDepth, context)) {
- node.renderNodeString(writer, newContext,
treeStringRenderer, newDepth);
- }
- }
+ } else if (dataIter != null) {
+ while (dataIter.hasNext()) {
+ Map<String, ? extends Object> val = dataIter.next();
+ Object[] arr = { node, val };
+ this.subNodeValues.add(arr);
}
- } catch (ScreenRenderException e) {
- String errMsg = "Error rendering included label with name
["
- + getName() + "] : " + e.toString();
- Debug.logError(e, errMsg, module);
- throw new RuntimeException(errMsg);
- } catch (SAXException e) {
- String errMsg = "Error rendering included label with name
["
- + getName() + "] : " + e.toString();
- Debug.logError(e, errMsg, module);
- throw new RuntimeException(errMsg);
- } catch (ParserConfigurationException e3) {
- String errMsg = "Error rendering included label with name
["
- + getName() + "] : " + e3.toString();
- Debug.logError(e3, errMsg, module);
- throw new RuntimeException(errMsg);
- } catch (IOException e2) {
- String errMsg = "Error rendering included label with name
["
- + getName() + "] : " + e2.toString();
- Debug.logError(e2, errMsg, module);
- throw new RuntimeException(errMsg);
}
- treeStringRenderer.renderNodeEnd(writer, context, this);
- int removeIdx = currentNodeTrail.size() - 1;
- if (removeIdx >= 0) currentNodeTrail.remove(removeIdx);
}
}
+ public String getEntityName() {
+ if (UtilValidate.isNotEmpty(this.entityName)) {
+ return this.entityName;
+ } else {
+ return this.modelTree.getDefaultEntityName();
+ }
+ }
+
+ public String getEntryName() {
+ return this.entryName;
+ }
+
+ public String getExpandCollapseStyle() {
+ return expandCollapseStyle;
+ }
+
+ public ModelTree getModelTree() {
+ return this.modelTree;
+ }
+
+ public String getPkName() {
+ if (UtilValidate.isNotEmpty(this.pkName)) {
+ return this.pkName;
+ } else {
+ return this.modelTree.getDefaultPkName();
+ }
+ }
+
+ public String getRenderStyle() {
+ String rStyle = this.renderStyle;
+ if (UtilValidate.isEmpty(rStyle))
+ rStyle = modelTree.getRenderStyle();
+ return rStyle;
+ }
+
+ public String getWrapStyle(Map<String, Object> context) {
+ String val = this.wrapStyleExdr.expandString(context);
+ if (UtilValidate.isEmpty(val)) {
+ val = this.modelTree.getWrapStyle(context);
+ }
+ return val;
+ }
+
public boolean hasChildren(Map<String, Object> context) {
boolean hasChildren = false;
Long nodeCount = null;
@@ -514,7 +479,7 @@ public class ModelTree extends ModelWidg
String pkName = this.getPkName();
String id = null;
if (UtilValidate.isNotEmpty(this.entryName)) {
- id =
UtilGenerics.<Map<String,String>>cast(context.get(this.entryName)).get(pkName);
+ id = UtilGenerics.<Map<String, String>>
cast(context.get(this.entryName)).get(pkName);
} else {
id = (String) context.get(pkName);
}
@@ -536,64 +501,17 @@ public class ModelTree extends ModelWidg
nodeCount = Long.valueOf(subNodeValues.size());
}
}
-
if (nodeCount != null && nodeCount.intValue() > 0) {
hasChildren = true;
}
-
return hasChildren;
}
- public void getChildren(Map<String, Object> context) {
- this.subNodeValues = new ArrayList<Object []>();
- for (ModelSubNode subNode: subNodeList) {
- String nodeName = subNode.getNodeName(context);
- ModelNode node = modelTree.nodeMap.get(nodeName);
- List<ModelWidgetAction> subNodeActions = subNode.getActions();
- //if (Debug.infoOn()) Debug.logInfo(" context.currentValue:"
+ context.get("currentValue"), module);
- ModelWidgetAction.runSubActions(subNodeActions, context);
- // List dataFound = (List)context.get("dataFound");
- Iterator<? extends Map<String, ? extends Object>> dataIter =
subNode.getListIterator();
- if (dataIter instanceof EntityListIterator) {
- EntityListIterator eli = (EntityListIterator) dataIter;
- Map<String, Object> val = null;
- while ((val = eli.next()) != null) {
- Object [] arr = {node, val};
- this.subNodeValues.add(arr);
- }
- try {
- eli.close();
- } catch (GenericEntityException e) {
- Debug.logError(e, module);
- throw new RuntimeException(e.getMessage());
- }
- } else if (dataIter != null) {
- while (dataIter.hasNext()) {
- Map<String, ? extends Object> val = dataIter.next();
- Object [] arr = {node, val};
- this.subNodeValues.add(arr);
- }
- }
- }
- }
-
- public String getEntryName() {
- return this.entryName;
- }
-
- public String getRenderStyle() {
- String rStyle = this.renderStyle;
- if (UtilValidate.isEmpty(rStyle))
- rStyle = modelTree.getRenderStyle();
- return rStyle;
- }
-
public boolean isExpandCollapse() {
boolean isExpCollapse = false;
String rStyle = getRenderStyle();
if (rStyle != null && rStyle.equals("expand-collapse"))
isExpCollapse = true;
-
return isExpCollapse;
}
@@ -603,7 +521,6 @@ public class ModelTree extends ModelWidg
if (rStyle != null && (rStyle.equals("follow-trail") ||
rStyle.equals("show-peers") || rStyle.equals("follow-trail"))) {
isFollowTrail = true;
}
-
return isFollowTrail;
}
@@ -611,45 +528,104 @@ public class ModelTree extends ModelWidg
return getName().equals(modelTree.getRootNodeName());
}
- public boolean showPeers(int currentDepth, Map<String, Object>
context) {
- int trailSize = 0;
- List<?> trail =
UtilGenerics.checkList(context.get("targetNodeTrail"));
- int openDepth = modelTree.getOpenDepth();
- int postTrailOpenDepth = modelTree.getPostTrailOpenDepth();
- if (trail != null) trailSize = trail.size();
-
- boolean showPeers = false;
- String rStyle = getRenderStyle();
- if (rStyle == null) {
- showPeers = true;
- } else if (!isFollowTrail()) {
- showPeers = true;
- } else if ((currentDepth < trailSize) && (rStyle != null) &&
(rStyle.equals("show-peers") || rStyle.equals("expand-collapse"))) {
- showPeers = true;
- } else if (openDepth >= currentDepth) {
- showPeers = true;
- } else {
- int depthAfterTrail = currentDepth - trailSize;
- if (depthAfterTrail >= 0 && depthAfterTrail <=
postTrailOpenDepth) showPeers = true;
+ public void renderNodeString(Appendable writer, Map<String, Object>
context, TreeStringRenderer treeStringRenderer,
+ int depth) throws IOException, GeneralException {
+ boolean passed = true;
+ if (this.condition != null) {
+ if (!this.condition.eval(context)) {
+ passed = false;
+ }
}
-
- return showPeers;
- }
-
- public String getExpandCollapseStyle() {
- return expandCollapseStyle;
- }
-
- public String getWrapStyle(Map<String, Object> context) {
- String val = this.wrapStyleExdr.expandString(context);
- if (UtilValidate.isEmpty(val)) {
- val = this.modelTree.getWrapStyle(context);
+ //Debug.logInfo("in ModelMenu, name:" + this.getName(), module);
+ if (passed) {
+ List<String> currentNodeTrail =
UtilGenerics.toList(context.get("currentNodeTrail"));
+ context.put("processChildren", Boolean.TRUE);
+ // this action will usually obtain the "current" entity
+ ModelTreeAction.runSubActions(this.actions, context);
+ String pkName = getPkName();
+ String id = null;
+ if (UtilValidate.isNotEmpty(this.entryName)) {
+ id = UtilGenerics.<Map<String, String>>
cast(context.get(this.entryName)).get(pkName);
+ } else {
+ id = (String) context.get(pkName);
+ }
+ currentNodeTrail.add(id);
+ treeStringRenderer.renderNodeBegin(writer, context, this,
depth);
+ //if (Debug.infoOn()) Debug.logInfo(" context:" +
+ // context.entrySet(), module);
+ try {
+ String screenName = null;
+ if (screenNameExdr != null)
+ screenName = screenNameExdr.expandString(context);
+ String screenLocation = null;
+ if (screenLocationExdr != null)
+ screenLocation =
screenLocationExdr.expandString(context);
+ if (screenName != null && screenLocation != null) {
+ ScreenStringRenderer screenStringRenderer =
treeStringRenderer.getScreenStringRenderer(context);
+ ModelScreen modelScreen =
ScreenFactory.getScreenFromLocation(screenLocation, screenName);
+ modelScreen.renderScreenString(writer, context,
screenStringRenderer);
+ }
+ if (label != null) {
+ label.renderLabelString(writer, context,
treeStringRenderer);
+ }
+ if (link != null) {
+ link.renderLinkString(writer, context,
treeStringRenderer);
+ }
+ treeStringRenderer.renderLastElement(writer, context,
this);
+ Boolean processChildren = (Boolean)
context.get("processChildren");
+ //if (Debug.infoOn()) Debug.logInfo(" processChildren:" +
processChildren, module);
+ if (processChildren.booleanValue()) {
+ getChildren(context);
+ int newDepth = depth + 1;
+ for (Object[] arr : this.subNodeValues) {
+ ModelNode node = (ModelNode) arr[0];
+ Map<String, Object> val =
UtilGenerics.checkMap(arr[1]);
+ //GenericPK pk = val.getPrimaryKey();
+ //if (Debug.infoOn()) Debug.logInfo(" pk:" + pk,
+ // module);
+ String thisPkName = node.getPkName();
+ String thisEntityId = (String) val.get(thisPkName);
+ MapStack<String> newContext =
MapStack.create(context);
+ newContext.push();
+ String nodeEntryName = node.getEntryName();
+ if (UtilValidate.isNotEmpty(nodeEntryName)) {
+ newContext.put(nodeEntryName, val);
+ } else {
+ newContext.putAll(val);
+ }
+ String targetEntityId = null;
+ List<String> targetNodeTrail =
UtilGenerics.checkList(context.get("targetNodeTrail"));
+ if (newDepth < targetNodeTrail.size()) {
+ targetEntityId = targetNodeTrail.get(newDepth);
+ }
+ if ((targetEntityId != null &&
targetEntityId.equals(thisEntityId))
+ || this.showPeers(newDepth, context)) {
+ node.renderNodeString(writer, newContext,
treeStringRenderer, newDepth);
+ }
+ }
+ }
+ } catch (ScreenRenderException e) {
+ String errMsg = "Error rendering included label with name
[" + getName() + "] : " + e.toString();
+ Debug.logError(e, errMsg, module);
+ throw new RuntimeException(errMsg);
+ } catch (SAXException e) {
+ String errMsg = "Error rendering included label with name
[" + getName() + "] : " + e.toString();
+ Debug.logError(e, errMsg, module);
+ throw new RuntimeException(errMsg);
+ } catch (ParserConfigurationException e3) {
+ String errMsg = "Error rendering included label with name
[" + getName() + "] : " + e3.toString();
+ Debug.logError(e3, errMsg, module);
+ throw new RuntimeException(errMsg);
+ } catch (IOException e2) {
+ String errMsg = "Error rendering included label with name
[" + getName() + "] : " + e2.toString();
+ Debug.logError(e2, errMsg, module);
+ throw new RuntimeException(errMsg);
+ }
+ treeStringRenderer.renderNodeEnd(writer, context, this);
+ int removeIdx = currentNodeTrail.size() - 1;
+ if (removeIdx >= 0)
+ currentNodeTrail.remove(removeIdx);
}
- return val;
- }
-
- public ModelTree getModelTree() {
- return this.modelTree;
}
public void setEntityName(String name) {
@@ -662,122 +638,168 @@ public class ModelTree extends ModelWidg
} else {
List<String> pkFieldsName = modelEntity.getPkFieldNames();
StringBuilder sb = new StringBuilder();
- for (String pk: pkFieldsName) {
- sb.append(pk);
- sb.append("|");
+ for (String pk : pkFieldsName) {
+ sb.append(pk);
+ sb.append("|");
}
this.pkName = sb.toString();
}
}
}
- public String getEntityName() {
- if (UtilValidate.isNotEmpty(this.entityName)) {
- return this.entityName;
- } else {
- return this.modelTree.getDefaultEntityName();
- }
+ public void setPkName(String pkName) {
+ this.pkName = pkName;
}
- public String getPkName() {
- if (UtilValidate.isNotEmpty(this.pkName)) {
- return this.pkName;
+ public boolean showPeers(int currentDepth, Map<String, Object>
context) {
+ int trailSize = 0;
+ List<?> trail =
UtilGenerics.checkList(context.get("targetNodeTrail"));
+ int openDepth = modelTree.getOpenDepth();
+ int postTrailOpenDepth = modelTree.getPostTrailOpenDepth();
+ if (trail != null)
+ trailSize = trail.size();
+
+ boolean showPeers = false;
+ String rStyle = getRenderStyle();
+ if (rStyle == null) {
+ showPeers = true;
+ } else if (!isFollowTrail()) {
+ showPeers = true;
+ } else if ((currentDepth < trailSize) && (rStyle != null)
+ && (rStyle.equals("show-peers") ||
rStyle.equals("expand-collapse"))) {
+ showPeers = true;
+ } else if (openDepth >= currentDepth) {
+ showPeers = true;
} else {
- return this.modelTree.getDefaultPkName();
+ int depthAfterTrail = currentDepth - trailSize;
+ if (depthAfterTrail >= 0 && depthAfterTrail <=
postTrailOpenDepth)
+ showPeers = true;
}
+ return showPeers;
}
- public void setPkName(String pkName) {
- this.pkName = pkName;
- }
+ public static class Image {
- public static class ModelSubNode extends ModelWidget {
+ protected FlexibleStringExpander borderExdr;
+ protected FlexibleStringExpander heightExdr;
+ protected FlexibleStringExpander idExdr;
+ protected FlexibleStringExpander srcExdr;
+ protected FlexibleStringExpander styleExdr;
+ protected String urlMode;
+ protected FlexibleStringExpander widthExdr;
- private final List<ModelWidgetAction> actions;
- protected ModelNode rootNode;
- protected FlexibleStringExpander nodeNameExdr;
- protected ListIterator<? extends Map<String, ? extends Object>>
listIterator;
+ public Image() {
+ setSrc(null);
+ setId(null);
+ setStyle(null);
+ setWidth(null);
+ setHeight(null);
+ setBorder("0");
+ setUrlMode(null);
+ }
- public ModelSubNode(Element subNodeElement, ModelNode modelNode) {
- super(subNodeElement);
- this.rootNode = modelNode;
- this.nodeNameExdr =
FlexibleStringExpander.getInstance(subNodeElement.getAttribute("node-name"));
- ArrayList<ModelWidgetAction> actions = new
ArrayList<ModelWidgetAction>();
- Element actionsElement =
UtilXml.firstChildElement(subNodeElement, "actions");
- if (actionsElement != null) {
- actions.addAll(ModelTreeAction.readNodeActions(this,
actionsElement));
- }
- Element actionElement =
UtilXml.firstChildElement(subNodeElement, "entity-and");
- if (actionElement != null) {
- actions.add(new ModelTreeAction.EntityAnd(this,
actionElement));
- }
- actionElement = UtilXml.firstChildElement(subNodeElement,
"service");
- if (actionElement != null) {
- actions.add(new ModelTreeAction.Service(this,
actionElement));
- }
- actionElement = UtilXml.firstChildElement(subNodeElement,
"entity-condition");
- if (actionElement != null) {
- actions.add(new ModelTreeAction.EntityCondition(this,
actionElement));
- }
- actionElement = UtilXml.firstChildElement(subNodeElement,
"script");
- if (actionElement != null) {
- actions.add(new ModelTreeAction.Script(this,
actionElement));
+ public Image(Element imageElement) {
+ setSrc(imageElement.getAttribute("src"));
+ setId(imageElement.getAttribute("id"));
+ setStyle(imageElement.getAttribute("style"));
+ setWidth(imageElement.getAttribute("width"));
+ setHeight(imageElement.getAttribute("height"));
+
setBorder(UtilFormatOut.checkEmpty(imageElement.getAttribute("border"), "0"));
+
setUrlMode(UtilFormatOut.checkEmpty(imageElement.getAttribute("url-mode"),
"content"));
+ }
+
+ public String getBorder(Map<String, Object> context) {
+ return this.borderExdr.expandString(context);
+ }
+
+ public String getHeight(Map<String, Object> context) {
+ return this.heightExdr.expandString(context);
+ }
+
+ public String getId(Map<String, Object> context) {
+ return this.idExdr.expandString(context);
+ }
+
+ public String getSrc(Map<String, Object> context) {
+ return this.srcExdr.expandString(context);
+ }
+
+ public String getStyle(Map<String, Object> context) {
+ return this.styleExdr.expandString(context);
+ }
+
+ public String getUrlMode() {
+ return this.urlMode;
+ }
+
+ public String getWidth(Map<String, Object> context) {
+ return this.widthExdr.expandString(context);
+ }
+
+ public void renderImageString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
+ try {
+ treeStringRenderer.renderImage(writer, context, this);
+ } catch (IOException e) {
+ String errMsg = "Error rendering image with id [" +
getId(context) + "]: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ throw new RuntimeException(errMsg);
}
- actions.trimToSize();
- this.actions = Collections.unmodifiableList(actions);
}
- public ModelTree.ModelNode getNode() {
- return this.rootNode;
+ public void setBorder(String val) {
+ this.borderExdr = FlexibleStringExpander.getInstance(val);
}
- public String getNodeName(Map<String, Object> context) {
- return this.nodeNameExdr.expandString(context);
+ public void setHeight(String val) {
+ this.heightExdr = FlexibleStringExpander.getInstance(val);
}
- public List<ModelWidgetAction> getActions() {
- return actions;
+ public void setId(String val) {
+ this.idExdr = FlexibleStringExpander.getInstance(val);
}
- public void setListIterator(ListIterator<? extends Map<String, ?
extends Object>> iter) {
- listIterator = iter;
+ public void setSrc(String val) {
+ String textAttr = UtilFormatOut.checkNull(val);
+ this.srcExdr = FlexibleStringExpander.getInstance(textAttr);
}
- public ListIterator<? extends Map<String, ? extends Object>>
getListIterator() {
- return listIterator;
+ public void setStyle(String val) {
+ this.styleExdr = FlexibleStringExpander.getInstance(val);
}
- @Override
- public void accept(ModelWidgetVisitor visitor) throws Exception {
- visitor.visit(this);
+ public void setUrlMode(String val) {
+ if (UtilValidate.isEmpty(val)) {
+ this.urlMode = "content";
+ } else {
+ this.urlMode = val;
+ }
+ }
+
+ public void setWidth(String val) {
+ this.widthExdr = FlexibleStringExpander.getInstance(val);
}
}
public static class Label {
- protected FlexibleStringExpander textExdr;
-
protected FlexibleStringExpander idExdr;
protected FlexibleStringExpander styleExdr;
+ protected FlexibleStringExpander textExdr;
public Label(Element labelElement) {
-
// put the text attribute first, then the pcdata under the
element, if both are there of course
String textAttr =
UtilFormatOut.checkNull(labelElement.getAttribute("text"));
String pcdata =
UtilFormatOut.checkNull(UtilXml.elementValue(labelElement));
this.textExdr = FlexibleStringExpander.getInstance(textAttr +
pcdata);
-
this.idExdr =
FlexibleStringExpander.getInstance(labelElement.getAttribute("id"));
this.styleExdr =
FlexibleStringExpander.getInstance(labelElement.getAttribute("style"));
}
- public void renderLabelString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
- try {
- treeStringRenderer.renderLabel(writer, context, this);
- } catch (IOException e) {
- String errMsg = "Error rendering label with id [" +
getId(context) + "]: " + e.toString();
- Debug.logError(e, errMsg, module);
- throw new RuntimeException(errMsg);
- }
+ public String getId(Map<String, Object> context) {
+ return this.idExdr.expandString(context);
+ }
+
+ public String getStyle(Map<String, Object> context) {
+ return this.styleExdr.expandString(context);
}
public String getText(Map<String, Object> context) {
@@ -789,32 +811,33 @@ public class ModelTree extends ModelWidg
return text;
}
- public String getId(Map<String, Object> context) {
- return this.idExdr.expandString(context);
- }
-
- public String getStyle(Map<String, Object> context) {
- return this.styleExdr.expandString(context);
+ public void renderLabelString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
+ try {
+ treeStringRenderer.renderLabel(writer, context, this);
+ } catch (IOException e) {
+ String errMsg = "Error rendering label with id [" +
getId(context) + "]: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ throw new RuntimeException(errMsg);
+ }
}
}
-
public static class Link {
- protected FlexibleStringExpander textExdr;
+ protected boolean encode = false;
+ protected boolean fullPath = false;
protected FlexibleStringExpander idExdr;
+ protected Image image;
+ protected String linkType;
+ protected FlexibleStringExpander nameExdr;
+ protected List<WidgetWorker.Parameter> parameterList = new
ArrayList<WidgetWorker.Parameter>();
+ protected FlexibleStringExpander prefixExdr;
+ protected boolean secure = false;
protected FlexibleStringExpander styleExdr;
protected FlexibleStringExpander targetExdr;
protected FlexibleStringExpander targetWindowExdr;
- protected FlexibleStringExpander prefixExdr;
- protected FlexibleStringExpander nameExdr;
+ protected FlexibleStringExpander textExdr;
protected FlexibleStringExpander titleExdr;
- protected Image image;
protected String urlMode = "intra-app";
- protected boolean fullPath = false;
- protected boolean secure = false;
- protected boolean encode = false;
- protected String linkType;
- protected List<WidgetWorker.Parameter> parameterList = new
ArrayList<WidgetWorker.Parameter>();
public Link() {
setText(null);
@@ -832,7 +855,6 @@ public class ModelTree extends ModelWidg
}
public Link(Element linkElement) {
-
setText(linkElement.getAttribute("text"));
setId(linkElement.getAttribute("id"));
setStyle(linkElement.getAttribute("style"));
@@ -851,81 +873,21 @@ public class ModelTree extends ModelWidg
}
this.linkType = linkElement.getAttribute("link-type");
List<? extends Element> parameterElementList =
UtilXml.childElementList(linkElement, "parameter");
- for (Element parameterElement: parameterElementList) {
+ for (Element parameterElement : parameterElementList) {
this.parameterList.add(new
WidgetWorker.Parameter(parameterElement));
}
}
- public void renderLinkString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
- try {
- treeStringRenderer.renderLink(writer, context, this);
- } catch (IOException e) {
- String errMsg = "Error rendering link with id [" +
getId(context) + "]: " + e.toString();
- Debug.logError(e, errMsg, module);
- throw new RuntimeException(errMsg);
- }
- }
-
- public String getText(Map<String, Object> context) {
- String text = this.textExdr.expandString(context);
- UtilCodec.SimpleEncoder simpleEncoder =
(UtilCodec.SimpleEncoder) context.get("simpleEncoder");
- if (simpleEncoder != null) {
- text = simpleEncoder.encode(text);
- }
- return text;
- }
-
- public String getId(Map<String, Object> context) {
- return this.idExdr.expandString(context);
- }
-
- public String getStyle(Map<String, Object> context) {
- return this.styleExdr.expandString(context);
- }
-
- public String getName(Map<String, Object> context) {
- return this.nameExdr.expandString(context);
- }
- public String getTitle(Map<String, Object> context) {
- String title = this.titleExdr.expandString(context);
- UtilCodec.SimpleEncoder simpleEncoder =
(UtilCodec.SimpleEncoder) context.get("simpleEncoder");
- if (simpleEncoder != null) {
- title = simpleEncoder.encode(title);
- }
- return title;
- }
-
- public String getTarget(Map<String, Object> context) {
- UtilCodec.SimpleEncoder simpleEncoder =
(UtilCodec.SimpleEncoder) context.get("simpleEncoder");
- if (simpleEncoder != null) {
- return
this.targetExdr.expandString(UtilCodec.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context,
simpleEncoder));
- } else {
- return this.targetExdr.expandString(context);
- }
- }
-
- public String getTargetWindow(Map<String, Object> context) {
- return this.targetWindowExdr.expandString(context);
- }
-
- public String getUrlMode() {
- return this.urlMode;
- }
-
- public String getPrefix(Map<String, Object> context) {
- return this.prefixExdr.expandString(context);
+ public boolean getEncode() {
+ return this.encode;
}
public boolean getFullPath() {
return this.fullPath;
}
-
- public boolean getSecure() {
- return this.secure;
- }
-
- public boolean getEncode() {
- return this.encode;
+
+ public String getId(Map<String, Object> context) {
+ return this.idExdr.expandString(context);
}
public Image getImage() {
@@ -936,52 +898,90 @@ public class ModelTree extends ModelWidg
return this.linkType;
}
+ public String getName(Map<String, Object> context) {
+ return this.nameExdr.expandString(context);
+ }
+
public Map<String, String> getParameterMap(Map<String, Object>
context) {
Map<String, String> fullParameterMap = new HashMap<String,
String>();
-
/* leaving this here... may want to add it at some point like
the hyperlink element:
Map<String, String> addlParamMap =
this.parametersMapAcsr.get(context);
if (addlParamMap != null) {
fullParameterMap.putAll(addlParamMap);
}
*/
-
- for (WidgetWorker.Parameter parameter: this.parameterList) {
+ for (WidgetWorker.Parameter parameter : this.parameterList) {
fullParameterMap.put(parameter.getName(),
parameter.getValue(context));
}
-
return fullParameterMap;
}
- public void setText(String val) {
- String textAttr = UtilFormatOut.checkNull(val);
- this.textExdr = FlexibleStringExpander.getInstance(textAttr);
+ public String getPrefix(Map<String, Object> context) {
+ return this.prefixExdr.expandString(context);
}
- public void setId(String val) {
- this.idExdr = FlexibleStringExpander.getInstance(val);
+
+ public boolean getSecure() {
+ return this.secure;
}
- public void setStyle(String val) {
- this.styleExdr = FlexibleStringExpander.getInstance(val);
+
+ public String getStyle(Map<String, Object> context) {
+ return this.styleExdr.expandString(context);
}
- public void setName(String val) {
- this.nameExdr = FlexibleStringExpander.getInstance(val);
+
+ public String getTarget(Map<String, Object> context) {
+ UtilCodec.SimpleEncoder simpleEncoder =
(UtilCodec.SimpleEncoder) context.get("simpleEncoder");
+ if (simpleEncoder != null) {
+ return
this.targetExdr.expandString(UtilCodec.HtmlEncodingMapWrapper.getHtmlEncodingMapWrapper(context,
+ simpleEncoder));
+ } else {
+ return this.targetExdr.expandString(context);
+ }
}
- public void setTitle(String val) {
- this.titleExdr = FlexibleStringExpander.getInstance(val);
+
+ public String getTargetWindow(Map<String, Object> context) {
+ return this.targetWindowExdr.expandString(context);
}
- public void setTarget(String val) {
- this.targetExdr = FlexibleStringExpander.getInstance(val);
+
+ public String getText(Map<String, Object> context) {
+ String text = this.textExdr.expandString(context);
+ UtilCodec.SimpleEncoder simpleEncoder =
(UtilCodec.SimpleEncoder) context.get("simpleEncoder");
+ if (simpleEncoder != null) {
+ text = simpleEncoder.encode(text);
+ }
+ return text;
}
- public void setTargetWindow(String val) {
- this.targetWindowExdr =
FlexibleStringExpander.getInstance(val);
+
+ public String getTitle(Map<String, Object> context) {
+ String title = this.titleExdr.expandString(context);
+ UtilCodec.SimpleEncoder simpleEncoder =
(UtilCodec.SimpleEncoder) context.get("simpleEncoder");
+ if (simpleEncoder != null) {
+ title = simpleEncoder.encode(title);
+ }
+ return title;
}
- public void setPrefix(String val) {
- this.prefixExdr = FlexibleStringExpander.getInstance(val);
+
+ public String getUrlMode() {
+ return this.urlMode;
}
- public void setUrlMode(String val) {
- if (UtilValidate.isNotEmpty(val))
- this.urlMode = val;
+
+ public void renderLinkString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
+ try {
+ treeStringRenderer.renderLink(writer, context, this);
+ } catch (IOException e) {
+ String errMsg = "Error rendering link with id [" +
getId(context) + "]: " + e.toString();
+ Debug.logError(e, errMsg, module);
+ throw new RuntimeException(errMsg);
+ }
+ }
+
+ public void setEncode(String val) {
+ String sEncode = val;
+ if (sEncode != null && sEncode.equalsIgnoreCase("true"))
+ this.encode = true;
+ else
+ this.encode = false;
}
+
public void setFullPath(String val) {
String sFullPath = val;
if (sFullPath != null && sFullPath.equalsIgnoreCase("true"))
@@ -990,6 +990,22 @@ public class ModelTree extends ModelWidg
this.fullPath = false;
}
+ public void setId(String val) {
+ this.idExdr = FlexibleStringExpander.getInstance(val);
+ }
+
+ public void setImage(Image img) {
+ this.image = img;
+ }
+
+ public void setName(String val) {
+ this.nameExdr = FlexibleStringExpander.getInstance(val);
+ }
+
+ public void setPrefix(String val) {
+ this.prefixExdr = FlexibleStringExpander.getInstance(val);
+ }
+
public void setSecure(String val) {
String sSecure = val;
if (sSecure != null && sSecure.equalsIgnoreCase("true"))
@@ -998,126 +1014,94 @@ public class ModelTree extends ModelWidg
this.secure = false;
}
- public void setEncode(String val) {
- String sEncode = val;
- if (sEncode != null && sEncode.equalsIgnoreCase("true"))
- this.encode = true;
- else
- this.encode = false;
- }
- public void setImage(Image img) {
- this.image = img;
+ public void setStyle(String val) {
+ this.styleExdr = FlexibleStringExpander.getInstance(val);
}
- }
+ public void setTarget(String val) {
+ this.targetExdr = FlexibleStringExpander.getInstance(val);
+ }
- public static class Image {
+ public void setTargetWindow(String val) {
+ this.targetWindowExdr =
FlexibleStringExpander.getInstance(val);
+ }
- protected FlexibleStringExpander srcExdr;
- protected FlexibleStringExpander idExdr;
- protected FlexibleStringExpander styleExdr;
- protected FlexibleStringExpander widthExdr;
- protected FlexibleStringExpander heightExdr;
- protected FlexibleStringExpander borderExdr;
- protected String urlMode;
+ public void setText(String val) {
+ String textAttr = UtilFormatOut.checkNull(val);
+ this.textExdr = FlexibleStringExpander.getInstance(textAttr);
+ }
- public Image() {
+ public void setTitle(String val) {
+ this.titleExdr = FlexibleStringExpander.getInstance(val);
+ }
- setSrc(null);
- setId(null);
- setStyle(null);
- setWidth(null);
- setHeight(null);
- setBorder("0");
- setUrlMode(null);
+ public void setUrlMode(String val) {
+ if (UtilValidate.isNotEmpty(val))
+ this.urlMode = val;
}
- public Image(Element imageElement) {
+ }
- setSrc(imageElement.getAttribute("src"));
- setId(imageElement.getAttribute("id"));
- setStyle(imageElement.getAttribute("style"));
- setWidth(imageElement.getAttribute("width"));
- setHeight(imageElement.getAttribute("height"));
-
setBorder(UtilFormatOut.checkEmpty(imageElement.getAttribute("border"), "0"));
-
setUrlMode(UtilFormatOut.checkEmpty(imageElement.getAttribute("url-mode"),
"content"));
+ public static class ModelSubNode extends ModelWidget {
- }
+ private final List<ModelWidgetAction> actions;
+ protected ListIterator<? extends Map<String, ? extends Object>>
listIterator;
+ protected FlexibleStringExpander nodeNameExdr;
+ protected ModelNode rootNode;
- public void renderImageString(Appendable writer, Map<String,
Object> context, TreeStringRenderer treeStringRenderer) {
- try {
- treeStringRenderer.renderImage(writer, context, this);
- } catch (IOException e) {
- String errMsg = "Error rendering image with id [" +
getId(context) + "]: " + e.toString();
- Debug.logError(e, errMsg, module);
- throw new RuntimeException(errMsg);
+ public ModelSubNode(Element subNodeElement, ModelNode modelNode) {
+ super(subNodeElement);
+ this.rootNode = modelNode;
+ this.nodeNameExdr =
FlexibleStringExpander.getInstance(subNodeElement.getAttribute("node-name"));
+ ArrayList<ModelWidgetAction> actions = new
ArrayList<ModelWidgetAction>();
+ Element actionsElement =
UtilXml.firstChildElement(subNodeElement, "actions");
+ if (actionsElement != null) {
+ actions.addAll(ModelTreeAction.readNodeActions(this,
actionsElement));
}
+ Element actionElement =
UtilXml.firstChildElement(subNodeElement, "entity-and");
+ if (actionElement != null) {
+ actions.add(new ModelTreeAction.EntityAnd(this,
actionElement));
+ }
+ actionElement = UtilXml.firstChildElement(subNodeElement,
"service");
+ if (actionElement != null) {
+ actions.add(new ModelTreeAction.Service(this,
actionElement));
+ }
+ actionElement = UtilXml.firstChildElement(subNodeElement,
"entity-condition");
+ if (actionElement != null) {
+ actions.add(new ModelTreeAction.EntityCondition(this,
actionElement));
+ }
+ actionElement = UtilXml.firstChildElement(subNodeElement,
"script");
+ if (actionElement != null) {
+ actions.add(new ModelTreeAction.Script(this,
actionElement));
+ }
+ actions.trimToSize();
+ this.actions = Collections.unmodifiableList(actions);
}
- public String getSrc(Map<String, Object> context) {
- return this.srcExdr.expandString(context);
- }
-
- public String getId(Map<String, Object> context) {
- return this.idExdr.expandString(context);
- }
-
- public String getStyle(Map<String, Object> context) {
- return this.styleExdr.expandString(context);
+ @Override
+ public void accept(ModelWidgetVisitor visitor) throws Exception {
+ visitor.visit(this);
}
- public String getWidth(Map<String, Object> context) {
- return this.widthExdr.expandString(context);
+ public List<ModelWidgetAction> getActions() {
+ return actions;
}
- public String getHeight(Map<String, Object> context) {
- return this.heightExdr.expandString(context);
+ public ListIterator<? extends Map<String, ? extends Object>>
getListIterator() {
+ return listIterator;
}
- public String getBorder(Map<String, Object> context) {
- return this.borderExdr.expandString(context);
+ public ModelTree.ModelNode getNode() {
+ return this.rootNode;
}
- public String getUrlMode() {
- return this.urlMode;
+ public String getNodeName(Map<String, Object> context) {
+ return this.nodeNameExdr.expandString(context);
}
- public void setSrc(String val) {
- String textAttr = UtilFormatOut.checkNull(val);
- this.srcExdr = FlexibleStringExpander.getInstance(textAttr);
- }
- public void setId(String val) {
- this.idExdr = FlexibleStringExpander.getInstance(val);
- }
- public void setStyle(String val) {
- this.styleExdr = FlexibleStringExpander.getInstance(val);
- }
- public void setWidth(String val) {
- this.widthExdr = FlexibleStringExpander.getInstance(val);
- }
- public void setHeight(String val) {
- this.heightExdr = FlexibleStringExpander.getInstance(val);
- }
- public void setBorder(String val) {
- this.borderExdr = FlexibleStringExpander.getInstance(val);
- }
- public void setUrlMode(String val) {
- if (UtilValidate.isEmpty(val)) {
- this.urlMode = "content";
- } else {
- this.urlMode = val;
- }
+ public void setListIterator(ListIterator<? extends Map<String, ?
extends Object>> iter) {
+ listIterator = iter;
}
}
-
- @Override
- public void accept(ModelWidgetVisitor visitor) throws Exception {
- visitor.visit(this);
- }
- }
-
- @Override
- public void accept(ModelWidgetVisitor visitor) throws Exception {
- visitor.visit(this);
}
}