KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > ddl > schemadefinition > userdefinition


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 JavaDoc run(Object JavaDoc object) throws DException {
20       _ServerSession currentSession = (_ServerSession) object;
21       checkIsSuperUser(currentSession);
22       String JavaDoc username = (String JavaDoc) _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 JavaDoc) _passwordname0.run(object);
28       userDescriptor.save(currentSession);
29       return null;
30    }
31
32    private void checkIfRoleExistsWithSameName(_ServerSession currentSession, String JavaDoc user_name) throws
33        DException {
34       _SelectQueryIterator usersIterator = SqlSchemaConstants.getIterator(currentSession, QueryMaker.getRolesQuery(), new Object JavaDoc[] {user_name});
35       if (usersIterator.first()) {
36          throw new DException("DSE876", new Object JavaDoc[] {user_name});
37       }
38    }
39
40    private void checkIsSuperUser(_ServerSession currentSession) throws DException {
41       String JavaDoc userName = currentSession.getCurrentUser();
42       if (! (userName.equalsIgnoreCase(SystemTables.SYSTEM)
43              || userName.equalsIgnoreCase(ServerSystem.browserUser))) {
44          throw new DException("DSE8105", new Object JavaDoc[] {userName});
45       }
46    }
47
48    private void checkIsValidUser(String JavaDoc userName) throws DException {
49        if (userName.equalsIgnoreCase(SystemTables.SYSTEM)) {
50           throw new DException("DSE8105", new Object JavaDoc[] {userName});
51        }
52     }
53
54    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
55       return this;
56    }
57
58    public String JavaDoc toString() {
59       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
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