KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dcl > sqlcontrolstatement > searchedcasestatementwhenclause


1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqlcontrolstatement;
2
3 import java.util.*;
4
5 import com.daffodilwoods.daffodildb.server.serversystem.*;
6 import com.daffodilwoods.daffodildb.server.sql99.common.*;
7 import com.daffodilwoods.daffodildb.server.sql99.token.*;
8 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
9 import com.daffodilwoods.database.resource.*;
10
11 public class searchedcasestatementwhenclause {
12    public SQLstatementlist _SQLstatementlist0;
13    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
14    public searchcondition _searchcondition2;
15    public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442553;
16
17    private _Reference[] searchConditionRefs;
18    private _ServerSession serverSession;
19
20    public Object JavaDoc run(Object JavaDoc object) throws DException {
21       _searchcondition2.getColumnDetails();
22       _SQLstatementlist0.run(object);
23       return null;
24    }
25
26    public SQLstatementlist checkCondition(_VariableValues variableValues) throws
27        DException {
28       if (SearchConditionUtility.executeExpression(_searchcondition2,
29           searchConditionRefs, variableValues, serverSession).hashCode() == 0) {
30          return _SQLstatementlist0;
31       }
32       return null;
33    }
34
35    public Object JavaDoc[] getParameters(Object JavaDoc object) throws DException {
36       ArrayList list = new ArrayList();
37       Object JavaDoc[] par1 = _SQLstatementlist0.getParameters(object);
38       if (par1 != null) {
39          list.addAll(Arrays.asList(par1));
40       }
41       Object JavaDoc[] par2 = _searchcondition2.getParameters(object);
42       if (par2 != null) {
43          list.addAll(Arrays.asList(par2));
44       }
45       return list.toArray();
46    }
47
48    public _Reference[] checkSemantic(_ServerSession object) throws DException {
49       serverSession = object;
50       if (_searchcondition2.hasContainClause())
51          throw new DException("DSE8138", null);
52       ArrayList list = new ArrayList();
53       _Reference[] par1 = _SQLstatementlist0.checkSemantic(object);
54       if (par1 != null) {
55          list.addAll(Arrays.asList(par1));
56       }
57       searchConditionRefs = _searchcondition2.getReferences(SQLcontrolstatement.dummyTableDetail);
58       if (searchConditionRefs != null) {
59          if (searchConditionRefs[0].getReferenceType() != SimpleConstants.SUBQUERY)
60             list.addAll(Arrays.asList(searchConditionRefs));
61       }
62       /**
63        * call checkSemantic of searchCondition in try catch Suggest by Mr. Parveen Agarwal. Related to bug 11653. */

64       try {
65          _searchcondition2.getColumnDetails();
66          _searchcondition2.checkSemantic(serverSession);
67       } catch (DException ex) {
68          if (!ex.getDseCode().equalsIgnoreCase("DSE4115")) {
69             throw ex;
70          }
71       }
72       return (_Reference[]) list.toArray(new _Reference[0]);
73    }
74
75    public String JavaDoc toString() {
76       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
77       sb.append(" ");
78       sb.append(_SNONRESERVEDWORD1364442553);
79       sb.append(" ");
80       sb.append(_searchcondition2);
81       sb.append(" ");
82       sb.append(_SRESERVEDWORD12065439221);
83       sb.append(" ");
84       sb.append(_SQLstatementlist0);
85       return sb.toString().trim();
86    }
87
88    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
89       return this;
90    }
91
92    public ColumnDetails[] getColumnDetails() throws DException {
93       return GeneralPurposeStaticClass.getJointColumnDetails(_searchcondition2.getColumnDetails(), _SQLstatementlist0.getColumnDetails());
94    }
95
96    public void getTableIncluded(ArrayList aList) throws DException {
97       _searchcondition2.getTablesIncluded(aList);
98    }
99
100    public void getColumnsIncluded(ArrayList aList) throws DException {
101       _searchcondition2.getColumnsIncluded(aList);
102    }
103 }
104
Popular Tags