KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition;
2
3 import java.util.*;
4
5 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*;
6 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.*;
7 import com.daffodilwoods.daffodildb.server.serversystem.*;
8 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.*;
9 import com.daffodilwoods.daffodildb.server.sql99.ddl.utility.*;
10 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*;
11 import com.daffodilwoods.daffodildb.server.sql99.token.*;
12 import com.daffodilwoods.daffodildb.utils.field.*;
13 import com.daffodilwoods.database.resource.*;
14
15 public class databasedefinition implements SQLschemadefinitionstatement {
16    public SRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname _OptSRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname0;
17    public SNONRESERVEDWORD136444255SNONRESERVEDWORD136444255truthvalue _OptSNONRESERVEDWORD136444255SNONRESERVEDWORD136444255truthvalue1;
18    public SNONRESERVEDWORD136444255Sequalsoperator182046693unsignedinteger _OptSNONRESERVEDWORD136444255Sequalsoperator182046693unsignedinteger2;
19    public SNONRESERVEDWORD136444255Sequalsoperator182046693largeobjectlength _OptSNONRESERVEDWORD136444255Sequalsoperator182046693largeobjectlength3;
20    public databasename _databasename4;
21    public SNONRESERVEDWORD136444255 _SNONRESERVEDWORD1364442555;
22    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439226;
23
24    public Object JavaDoc run(Object JavaDoc object) throws DException {
25       _ServerSession serverSesion = (_ServerSession) object;
26       if (serverSesion.getCurrentUser().equalsIgnoreCase("PUBLIC")) {
27          throw new DException("DSE8151", new Object JavaDoc[] {serverSesion.getCurrentUser()});
28       }
29       String JavaDoc userName = "";
30       String JavaDoc passWord = "";
31       String JavaDoc databaseName = (String JavaDoc) _databasename4.run(object);
32       checkForDatabaseName(databaseName);
33       Properties prop = new Properties();
34       if (
35           _OptSRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname0 != null) {
36          userName =
37              _OptSRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname0.
38              getUserName();
39          passWord =
40              _OptSRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname0.
41              getPassword();
42          if (userName.equalsIgnoreCase(SystemTables.SYSTEM)||userName.equalsIgnoreCase("PUBLIC"))
43             throw new DException("DSE8180", new Object JavaDoc[] {userName});
44       } else {
45          userName = serverSesion.getCurrentUser();
46          if (userName.equalsIgnoreCase("PUBLIC"))
47             throw new DException("DSE8151", new Object JavaDoc[] {userName});
48          _SelectQueryIterator iter = SqlSchemaConstants.getIterator(serverSesion,
49              "select user_password from " + SystemTables.users_TableName +
50              " where user_name = ? ", new Object JavaDoc[] {userName});
51          iter.first();
52             passWord = (String JavaDoc) ( (Object JavaDoc[]) iter.getObject())[0];
53       }
54       /** @todo is this is the only thing we have to do in create database
55        * setting username in user property and password in password property */

56       prop.setProperty(_Server.USER, userName);
57       prop.setProperty(_Server.PASSWORD, passWord);
58       if (_OptSNONRESERVEDWORD136444255SNONRESERVEDWORD136444255truthvalue1 != null) {
59          String JavaDoc _truthValue = ( (FieldBase)
60                                _OptSNONRESERVEDWORD136444255SNONRESERVEDWORD136444255truthvalue1.run(
61              object)).getObject().toString();
62          prop.setProperty(_Server.UNICODESUPPORT, _truthValue);
63       }
64       if (_OptSNONRESERVEDWORD136444255Sequalsoperator182046693unsignedinteger2 != null) {
65          int fileGrowth = ( (FieldBase)
66                            _OptSNONRESERVEDWORD136444255Sequalsoperator182046693unsignedinteger2.
67                            run(object)).getObject().hashCode();
68          if (fileGrowth < 10 || fileGrowth > 100) {
69             throw new DException("DSE1206", new Object JavaDoc[] {new Integer JavaDoc(fileGrowth)}); // file growth can be from 10 - 100 only
70
}
71          prop.setProperty(_Server.INCREMENTFACTOR, "" + fileGrowth);
72       }
73       if (_OptSNONRESERVEDWORD136444255Sequalsoperator182046693largeobjectlength3 != null) {
74          String JavaDoc fileSize = _OptSNONRESERVEDWORD136444255Sequalsoperator182046693largeobjectlength3.
75              _largeobjectlength0.toString();
76          prop.setProperty(_Server.INITIALFILESIZE, fileSize);
77       }
78
79       int databaseNameLength = databaseName.length();
80       int userNameLength = userName.length();
81       int passwordNameLength = passWord.length();
82
83       checkForDatabaseLength(databaseName, databaseNameLength, userName, userNameLength, passWord, passwordNameLength);
84       serverSesion.createDatabase(databaseName, prop);
85       return null;
86    }
87
88    private void checkForDatabaseName(String JavaDoc databaseName) throws DException {
89       if (databaseName.equalsIgnoreCase(DatabaseConstants.SYSTEMDATABASE))
90          throw new DException("DSE5576", new Object JavaDoc[] {databaseName});
91    }
92
93    private void checkForDatabaseLength(String JavaDoc databaseName, int databaseNameLength,
94                                        String JavaDoc userName, int userNameLength,
95                                        String JavaDoc password, int passwordNameLength) throws DException {
96       GeneralUtility.checkForDatabaseLength(databaseNameLength, databaseName);
97       GeneralUtility.checkForUserNameLength(userNameLength, userName);
98       GeneralUtility.checkForPassworNameLength(passwordNameLength, password);
99    }
100
101    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
102       return this;
103    }
104
105    public String JavaDoc toString() {
106       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
107       sb.append(" ");
108       sb.append(_SRESERVEDWORD12065439226);
109       sb.append(" ");
110       sb.append(_SNONRESERVEDWORD1364442555);
111       sb.append(" ");
112       sb.append(_databasename4);
113       sb.append(" ");
114       if (_OptSNONRESERVEDWORD136444255Sequalsoperator182046693largeobjectlength3 != null) {
115          sb.append(_OptSNONRESERVEDWORD136444255Sequalsoperator182046693largeobjectlength3);
116       }
117       sb.append(" ");
118       if (_OptSNONRESERVEDWORD136444255Sequalsoperator182046693unsignedinteger2 != null) {
119          sb.append(_OptSNONRESERVEDWORD136444255Sequalsoperator182046693unsignedinteger2);
120       }
121       sb.append(" ");
122       if (_OptSNONRESERVEDWORD136444255SNONRESERVEDWORD136444255truthvalue1 != null) {
123          sb.append(_OptSNONRESERVEDWORD136444255SNONRESERVEDWORD136444255truthvalue1);
124       }
125       sb.append(" ");
126       if (_OptSRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname0 != null) {
127          sb.append(_OptSRESERVEDWORD1206543922usernameSNONRESERVEDWORD136444255passwordname0);
128       }
129       return sb.toString();
130    }
131 }
132
Popular Tags