1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.jameleon;
20
21 import net.sf.jameleon.exception.JameleonScriptException;
22
23 import org.apache.commons.jelly.MissingAttributeException;
24 import org.apache.commons.jelly.JellyTagException;
25 import org.apache.commons.jelly.XMLOutput;
26
27 /***
28 * An abstract class used to define some test case attributes
29 */
30 public abstract class AbstractTestCaseDocAttribute extends LocationAwareTagSupport {
31
32 protected TestCaseTag tct;
33
34 public AbstractTestCaseDocAttribute(){
35 super();
36 }
37
38 public void doTag(XMLOutput out) throws MissingAttributeException, JellyTagException{
39 setup();
40 String text = (String)getBodyText();
41 setTestCaseValue(text);
42 }
43
44 protected abstract void setTestCaseValue(String text);
45
46 public void setup(){
47 Object obj = getParent();
48 if (obj != null && obj instanceof TestCaseTag){
49 tct = (TestCaseTag)obj;
50 }else{
51 throw new JameleonScriptException(getElementName() + " can only exist under the TestCase tag ( testcase )!", this);
52 }
53 }
54 }