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 19 20 public Object run(Object object) throws com.daffodilwoods.database.resource.DException { 21 _ServerSession serverSession = null; 22 try { 23 serverSession = ( (_StatementExecutionContext) object).getServerSession(); 24 } catch (ClassCastException ex) { 25 serverSession = (_ServerSession) object; 26 } 27 String roleName = _rolespecification0.toString().trim(); 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 [] {roleName}); 35 } 36 if (!dd.isAuthorizedUserForRole(serverSession.getUserSession().getUserName(), roleName)) { 37 throw new DException("DSE8131", new Object [] {roleName, serverSession.getUserSession().getUserName()}); 38 } 39 serverSession.setRole(roleName); 40 return roleName; 41 } 42 43 public Object clone() throws CloneNotSupportedException { 44 return this; 45 } 46 47 public String toString() { 48 StringBuffer sb = new StringBuffer (); 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 |