1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.fatwire.gst.foundation.facade.runtag.vdm;
18
19 import COM.FutureTense.Interfaces.ICS;
20 import COM.FutureTense.Util.ftErrors;
21 import COM.FutureTense.Util.ftStatusCode;
22
23 import com.fatwire.gst.foundation.CSRuntimeException;
24 import com.fatwire.gst.foundation.facade.runtag.AbstractTagRunner;
25
26
27
28
29
30
31
32 public class SetScalar extends AbstractTagRunner {
33
34 public SetScalar(String attribute, String value) {
35 this();
36 setAttribute(attribute);
37 setValue(value);
38 }
39
40 public SetScalar() {
41 super("VDM.SETSCALAR");
42 }
43
44 public void setAttribute(String attr) {
45 set("ATTRIBUTE", attr);
46 }
47
48 public void setValue(String val) {
49 set("VALUE", val);
50 }
51
52 public String execute(ICS ics) {
53 String s = super.execute(ics);
54
55
56
57
58
59
60
61
62
63
64 String statusCode = ics.GetVar("cshttp");
65 ftStatusCode sc = new ftStatusCode();
66 if (sc.setFromData(statusCode)) {
67 int errno = sc.getErrorID();
68 switch (errno) {
69 case ftErrors.success:
70 return s;
71 case ftErrors.dberror: {
72 throw new CSRuntimeException(
73 "SetScalar failed with a database error. It was returned in a ftStatusCode. StatusCode:"
74 + statusCode, -13704);
75 }
76 default: {
77 throw new CSRuntimeException(
78 "SetScalar failed with an unexpected error. It was returned in a ftStatusCode. StatusCode:"
79 + statusCode, -13704);
80 }
81 }
82 }
83 return s;
84 }
85 }