001: /*
002: * JFolder, Copyright 2001-2006 Gary Steinmetz
003: *
004: * Distributable under LGPL license.
005: * See terms of license at gnu.org.
006: */
007:
008: package org.jfolder.web.page.v1;
009:
010: //base classes
011: import java.util.HashMap;
012:
013: //project specific classes
014: import org.jfolder.common.StandardDataTypes;
015: import org.jfolder.common.UnexpectedSystemException;
016: import org.jfolder.common.files.WebPageTagMacro;
017: import org.jfolder.common.files.WebPageTagMacroHelper;
018: import org.jfolder.common.function.BaseWebPageTag;
019: import org.jfolder.common.function.WebPageTagInstanceViewContext;
020: import org.jfolder.common.tagging.AppraiseConceptTagContext;
021: import org.jfolder.common.tagging.ConceptTagCharacteristic;
022: import org.jfolder.common.tagging.ConceptTagConstraint;
023: import org.jfolder.common.tagging.ConceptTagConstraintHolder;
024: import org.jfolder.common.tagging.ConceptTagFlagsHelper;
025: import org.jfolder.common.tagging.ConceptTagPreferences;
026: import org.jfolder.common.tagging.DynamicConceptTagConstraintContext;
027: import org.jfolder.common.tagging.DynamicConceptTagValidator;
028: import org.jfolder.common.tagging.InitializeConceptTagContext;
029: import org.jfolder.common.tagging.PreIterValForCompoundConceptTagConContext;
030: import org.jfolder.common.tagging.RootConceptTagHolder;
031: import org.jfolder.common.tagging.StaticConceptTagConstraintContext;
032: import org.jfolder.common.tagging.StudioConceptTagInstanceInfoContext;
033: import org.jfolder.common.tagging.StudioConceptTagTypeInfoContext;
034: import org.jfolder.common.tagging.TemplateHolderForConceptTag;
035: import org.jfolder.common.utils.misc.CommonExpressions;
036: import org.jfolder.web.page.RootWebPageTag;
037:
038: //other classes
039:
040: public class PreIterCompoundValForTemplateCallParams implements
041: PreIterValForCompoundConceptTagConContext {
042:
043: //
044: private String valueCtconName = null;
045:
046: //
047: private PreIterCompoundValForTemplateCallParams(
048: String inValueCtconName) {
049: //
050: this .valueCtconName = inValueCtconName;
051: }
052:
053: //
054: protected final static PreIterCompoundValForTemplateCallParams newInstance(
055: String inValueCtconName) {
056: //
057: PreIterCompoundValForTemplateCallParams outValue = null;
058:
059: outValue = new PreIterCompoundValForTemplateCallParams(
060: inValueCtconName);
061:
062: return outValue;
063: }
064:
065: //
066: public void preIterativeValidate(int inIndex,
067: InitializeConceptTagContext inIctc,
068: ConceptTagConstraintHolder inCtconh) {
069: //
070: ConceptTagConstraint valueCtcon = inCtconh
071: .getConstraint(this .valueCtconName);
072: //
073: if (ConceptTagFlagsHelper.isConsolePageSessionPresent(inIctc)) {
074: //
075: Object o1 = ConceptTagFlagsHelper
076: .getConsolePageSession(inIctc);
077: TemplateHolderForConceptTag thfct = ((TemplateHolderForConceptTag) o1);
078: //
079: //
080: RootConceptTagHolder templateRcth = thfct
081: .getCurrentApplicationTemplateRootHolder();
082: if (templateRcth != null) {
083: RootWebPageTag rwpt = ((RootWebPageTag) templateRcth
084: .getFirstChildConceptTag());
085: //
086: if (inIndex < rwpt.getTemplateInterfaceCount()) {
087: //
088: String tempInterName = rwpt
089: .getTemplateInterfaceName(inIndex);
090: String tempInterDesc = rwpt
091: .getTemplateInterfaceDescription(inIndex);
092: ConceptTagConstraint tempInterCtcon = rwpt
093: .getTemplateInterfaceConstraint(inIndex);
094: int tempInterSubIndex = rwpt
095: .getTemplateInterfaceIndex(inIndex);
096: //
097: valueCtcon.setTitle(tempInterName);
098: valueCtcon.setShortDescription(tempInterDesc);
099: //
100: if (valueCtcon.isStaticContextPresent()) {
101: valueCtcon.unregisterStaticConstraintContext();
102: }
103: //
104: if (valueCtcon.isDynamicContextPresent()) {
105: valueCtcon.unregisterDynamicConstraintContext();
106: }
107: //
108: if (valueCtcon.isCompoundContextPresent()) {
109: valueCtcon
110: .unregisterCompoundConstraintContext();
111: }
112: //
113: //
114: //
115: if (tempInterCtcon.isStaticContextPresent()) {
116: valueCtcon
117: .registerConstraintContext(tempInterCtcon
118: .getStaticConstraintContext());
119: }
120: //
121: if (tempInterCtcon.isDynamicContextPresent()) {
122: valueCtcon
123: .registerConstraintContext(tempInterCtcon
124: .getDynamicConstraintContext());
125: }
126: //
127: if (tempInterCtcon.isCompoundContextPresent()) {
128: valueCtcon
129: .registerConstraintContext(tempInterCtcon
130: .getCompoundConstraintContext());
131: }
132: //
133: valueCtcon.setMinimumLength(1);
134: valueCtcon.setMaximumLength(1);
135: }
136: }
137: }
138: }
139: }
|