KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dcl > sqlsessionstatement > setsessioncharacteristicsstatement


1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqlsessionstatement;
2
3 import java.util.*;
4
5 import com.daffodilwoods.daffodildb.server.serversystem.*;
6 import com.daffodilwoods.daffodildb.server.sessionsystem.*;
7 import com.daffodilwoods.daffodildb.server.sql99.token.*;
8 import com.daffodilwoods.database.resource.*;
9
10 public class setsessioncharacteristicsstatement implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter, SQLsessionstatement {
11    public sessioncharacteristiclist _sessioncharacteristiclist0;
12    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
13    public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442552;
14    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439223;
15    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439224;
16
17    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
18      _StatementExecutionContext sec = (_StatementExecutionContext) object;
19      _ServerSession serverSession = sec.getServerSession();
20      _UserSession userSession = serverSession.getUserSession();
21       if (userSession.getSession().hasAnyChild())
22         throw new DException("DSE5581", (Object JavaDoc[])null);
23
24      Object JavaDoc returnedObj = _sessioncharacteristiclist0.run(serverSession);
25
26       ArrayList arrList = null;
27       try {
28          arrList = (ArrayList) returnedObj;
29       } catch (ClassCastException JavaDoc clsExc) {
30          userSession.setTransactionMode( (SessionTransactionMode) returnedObj);
31          return returnedObj;
32       }
33       int size = arrList.size();
34       if (size > 3) {
35          throw new DException("DSE946", null);
36       }
37       return getMergedTransactionMode(arrList);
38    }
39
40    private SessionTransactionMode getMergedTransactionMode(ArrayList transactionModes) throws DException {
41       SessionTransactionMode transMode = new SessionTransactionMode();
42       int size = transactionModes.size();
43       for (int i = 0; i < size; i++) {
44          SessionTransactionMode trMode = (SessionTransactionMode) transactionModes.get(i);
45          Object JavaDoc isolationlevel = trMode.getIsolationLevel();
46          Object JavaDoc accessMode = trMode.getTransactionAccessMode();
47          Object JavaDoc diagnosticsSize = trMode.getDiagnosticsSize();
48          if (isolationlevel != null) {
49             if (transMode.getIsolationLevel() != null) {
50                throw new DException("DSE5542", new Object JavaDoc[] {"isolation level"});
51             } else {
52                transMode.setIsolationLevel( ( (String JavaDoc) isolationlevel).toUpperCase());
53             }
54          }
55          if (accessMode != null) {
56             if (transMode.getTransactionAccessMode() != null) {
57                throw new DException("DSE5542", new Object JavaDoc[] {"access mode"});
58             } else {
59                transMode.setTransactionAccessMode(accessMode);
60             }
61          }
62          if (diagnosticsSize != null) {
63             if (transMode.getDiagnosticsSize() != null) {
64                throw new DException("DSE5542", new Object JavaDoc[] {"diagnostics size"});
65             } else {
66                transMode.setDiagnosticsSize(diagnosticsSize);
67             }
68          }
69       }
70       return transMode;
71    }
72
73    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
74       return this;
75    }
76
77    public String JavaDoc toString() {
78       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
79       sb.append(" ");
80       sb.append(_SRESERVEDWORD12065439224);
81       sb.append(" ");
82       sb.append(_SRESERVEDWORD12065439223);
83       sb.append(" ");
84       sb.append(_SNONRESERVEDWORD1364442552);
85       sb.append(" ");
86       sb.append(_SRESERVEDWORD12065439221);
87       sb.append(" ");
88       sb.append(_sessioncharacteristiclist0);
89       return sb.toString();
90    }
91 }
92
Popular Tags