KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqlsessionstatement;
2
3 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*;
4 import com.daffodilwoods.daffodildb.server.serversystem.*;
5 import com.daffodilwoods.daffodildb.server.sql99.common.*;
6 import com.daffodilwoods.daffodildb.server.sql99.token.*;
7 import com.daffodilwoods.database.resource.*;
8
9 public class setrolestatement implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter, SQLsessionstatement {
10    public rolespecification _rolespecification0;
11    public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442551;
12    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439222;
13
14    /********** Algorithm ************
15       check the role passed to set is declared or not
16       if not been declared, throw an Exception unknown role name
17       else set the role to the session
18     */

19
20    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
21       _ServerSession serverSession = null;
22       try {
23          serverSession = ( (_StatementExecutionContext) object).getServerSession();
24       } catch (ClassCastException JavaDoc ex) {
25          serverSession = (_ServerSession) object;
26       }
27       String JavaDoc roleName = _rolespecification0.toString().trim(); //(String)_rolespecification0.run(object);
28
if (roleName.equalsIgnoreCase(SqlKeywords.NONE)) {
29          serverSession.setRole(null);
30          return null;
31       }
32       _DataDictionary dd = serverSession.getDataDictionary();
33       if (!dd.isValidRole(roleName)) {
34          throw new DException("DSE874", new Object JavaDoc[] {roleName});
35       }
36       if (!dd.isAuthorizedUserForRole(serverSession.getUserSession().getUserName(), roleName)) {
37          throw new DException("DSE8131", new Object JavaDoc[] {roleName, serverSession.getUserSession().getUserName()});
38       }
39       serverSession.setRole(roleName);
40       return roleName;
41    }
42
43    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
44       return this;
45    }
46
47    public String JavaDoc toString() {
48       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
49       sb.append(" ");
50       sb.append(_SRESERVEDWORD12065439222);
51       sb.append(" ");
52       sb.append(_SNONRESERVEDWORD1364442551);
53       sb.append(" ");
54       sb.append(_rolespecification0);
55       return sb.toString();
56    }
57 }
58
Popular Tags