1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition; 2 3 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 4 import com.daffodilwoods.daffodildb.server.serversystem.*; 5 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.*; 6 import com.daffodilwoods.daffodildb.server.sql99.ddl.utility.*; 7 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*; 8 import com.daffodilwoods.daffodildb.server.sql99.token.*; 9 import com.daffodilwoods.database.resource.*; 10 import com.daffodilwoods.daffodildb.server.sql99.common.SqlKeywords; 11 12 public class userdefinition implements SQLschemadefinitionstatement { 13 public passwordname _passwordname0; 14 public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442551; 15 public username _username2; 16 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439223; 17 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439224; 18 19 public Object run(Object object) throws DException { 20 _ServerSession currentSession = (_ServerSession) object; 21 checkIsSuperUser(currentSession); 22 String username = (String ) _username2.run(object); 23 checkIsValidUser(username); 24 UserDescriptor userDescriptor = new UserDescriptor(); 25 userDescriptor.user_name = username; 26 checkIfRoleExistsWithSameName(currentSession, username); 27 userDescriptor.user_password = (String ) _passwordname0.run(object); 28 userDescriptor.save(currentSession); 29 return null; 30 } 31 32 private void checkIfRoleExistsWithSameName(_ServerSession currentSession, String user_name) throws 33 DException { 34 _SelectQueryIterator usersIterator = SqlSchemaConstants.getIterator(currentSession, QueryMaker.getRolesQuery(), new Object [] {user_name}); 35 if (usersIterator.first()) { 36 throw new DException("DSE876", new Object [] {user_name}); 37 } 38 } 39 40 private void checkIsSuperUser(_ServerSession currentSession) throws DException { 41 String userName = currentSession.getCurrentUser(); 42 if (! (userName.equalsIgnoreCase(SystemTables.SYSTEM) 43 || userName.equalsIgnoreCase(ServerSystem.browserUser))) { 44 throw new DException("DSE8105", new Object [] {userName}); 45 } 46 } 47 48 private void checkIsValidUser(String userName) throws DException { 49 if (userName.equalsIgnoreCase(SystemTables.SYSTEM)) { 50 throw new DException("DSE8105", new Object [] {userName}); 51 } 52 } 53 54 public Object clone() throws CloneNotSupportedException { 55 return this; 56 } 57 58 public String toString() { 59 StringBuffer sb = new StringBuffer (); 60 sb.append(" "); 61 sb.append(_SRESERVEDWORD12065439224); 62 sb.append(" "); 63 sb.append(_SRESERVEDWORD12065439223); 64 sb.append(" "); 65 sb.append(_username2); 66 sb.append(" "); 67 sb.append(_SNONRESERVEDWORD1364442551); 68 sb.append(" "); 69 sb.append(_passwordname0); 70 return sb.toString(); 71 } 72 73 } 74 | Popular Tags |