X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fant%2Ftest%2FParentContextType.java;h=7915b1a42684a859160674e0a2a4d9ef5d0307b0;hb=f366b06720d300b3e20f996902d0c2dab55a3473;hp=b6b541d784d3b0dda6e67ab42f681b7878ae0fd8;hpb=365feedf6431b7b24e23ccb8af532545b11b2e73;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/test/ParentContextType.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/test/ParentContextType.java index b6b541d78..7915b1a42 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/test/ParentContextType.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/ant/test/ParentContextType.java @@ -10,12 +10,18 @@ import org.apache.tools.ant.types.DataType; import org.argeo.slc.ant.spring.MapArg; import org.argeo.slc.core.SlcException; import org.argeo.slc.core.test.context.ContextAware; +import org.argeo.slc.core.test.context.ContextUtils; import org.argeo.slc.core.test.context.ParentContextAware; public class ParentContextType extends DataType implements ParentContextAware { private MapArg values = null; private MapArg expectedValues = null; + private String contextAnyFlag = DEFAULT_ANY_FLAG; + private String contextSkipFlag = DEFAULT_SKIP_FLAG; + + private String basedon = null; + private List children = new Vector(); public MapArg createValues() { @@ -37,25 +43,45 @@ public class ParentContextType extends DataType implements ParentContextAware { } public String getContextAnyFlag() { - return DEFAULT_ANY_FLAG; + return contextAnyFlag; + } + + public void setContextAnyFlag(String contextAnyFlag) { + this.contextAnyFlag = contextAnyFlag; } public String getContextSkipFlag() { - return DEFAULT_SKIP_FLAG; + return contextSkipFlag; + } + + public void setContextSkipFlag(String contextSkipFlag) { + this.contextSkipFlag = contextSkipFlag; } public Map getExpectedValues() { if (expectedValues == null) expectedValues = new MapArg(); + if (basedon != null) { + Map map = getBaseContext().getExpectedValues(); + ContextUtils.putNotContained(expectedValues.getMap(), map); + } return expectedValues.getMap(); } public Map getValues() { if (values == null) values = new MapArg(); + if (basedon != null) { + Map map = getBaseContext().getValues(); + ContextUtils.putNotContained(values.getMap(), map); + } return values.getMap(); } + private ParentContextType getBaseContext() { + return (ParentContextType) getProject().getReference(basedon); + } + public void setValues(Map values) { throw new SlcException("Cannot override values map."); } @@ -68,4 +94,9 @@ public class ParentContextType extends DataType implements ParentContextAware { Map overrideExpectedValues) { getExpectedValues().putAll(overrideExpectedValues); } + + public void setBasedon(String basedon) { + this.basedon = basedon; + } + }