KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > ddl > schemamanipulation > setdomaindefaultclause


1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemamanipulation;
2
3 import com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition.
4
    defaultclause;
5 import com.daffodilwoods.daffodildb.server.sql99.token.*;
6 import com.daffodilwoods.database.resource.*;
7 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.
8
    DomainDescriptor;
9 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors._Descriptor;
10 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
11 import com.daffodilwoods.daffodildb.server.serversystem._ServerSession;
12 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.ColumnDescriptor;
13 import com.daffodilwoods.daffodildb.server.sql99.ddl.utility.QueryMaker;
14 import java.util.ArrayList JavaDoc;
15 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
16 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.SqlSchemaConstants;
17 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._SelectQueryIterator;
18 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.SystemTablesFields;
19 import com.daffodilwoods.database.general.QualifiedIdentifier;
20
21 public class setdomaindefaultclause
22     implements alterdomainaction {
23   public defaultclause _defaultclause0;
24   public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
25
26
27
28
29   private DomainDescriptor domainDescriptor;
30   private ArrayList JavaDoc tableList;
31   public void setDomainDescriptor(_Descriptor domainDes) throws
32   DException {
33     domainDescriptor = (DomainDescriptor) domainDes;
34   }
35
36
37   public Object JavaDoc run(Object JavaDoc object) throws DException {
38     _ServerSession serverSession = (_ServerSession) object;
39     _ServerSession systemSession = serverSession.getSystemServerSession();
40     _defaultclause0.setDataTypeDescriptor(domainDescriptor.dataTypeDescriptor);
41     String JavaDoc defaultExpression = (String JavaDoc)_defaultclause0.run(object);
42     if(!(defaultExpression.equalsIgnoreCase(domainDescriptor.default_clause ))){
43       domainDescriptor.default_clause = defaultExpression;
44       updateDomainDefault(serverSession);
45       updateColumnsDefault(serverSession,defaultExpression);
46     }
47     refreshServerSystem(systemSession, domainDescriptor);
48     return null;
49   }
50
51   private void refreshServerSystem(_ServerSession systemSession,
52                                    DomainDescriptor domainDescriptor) throws
53   DException {
54     if(tableList!=null)
55     {
56       for (int i=0, size=tableList.size();i<size;i++)
57       {
58         QualifiedIdentifier tableName=(QualifiedIdentifier)tableList.get(i);
59         systemSession.deleteTable(tableName, false);
60       }
61     }
62   }
63
64   private void updateDomainDefault(_ServerSession currentSession) throws DException{
65     domainDescriptor.update(currentSession,
66                             new int[] {
67       SystemTablesFields.domain_default_clause} ,new Object JavaDoc[] {null});
68   }
69
70   private void updateColumnsDefault(_ServerSession currentSession,String JavaDoc defaultValue) throws DException{
71     ArrayList JavaDoc columnDescriptors = domainDescriptor.getColumnDescriptorsForDomain(currentSession);
72     if (columnDescriptors != null) {
73       int size = columnDescriptors.size();
74       tableList = new ArrayList JavaDoc(size);
75       for (int i = 0; i < size; i++) {
76         ColumnDescriptor columnDescriptor = (ColumnDescriptor) columnDescriptors.get(i);
77         QualifiedIdentifier tableName = columnDescriptor.getQualifiedTableName();
78         if(!tableList.contains(tableName))
79           tableList.add(tableName);
80         columnDescriptor.update(currentSession,
81                                 new int[] {
82           SystemTablesFields.columns_column_default} ,new Object JavaDoc[] {defaultValue});
83       }
84     }
85   }
86
87
88   public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
89     return this;
90   }
91   public String JavaDoc toString()
92   {
93     StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
94     sb.append(" ");
95     sb.append(_SRESERVEDWORD12065439221);
96     sb.append(" ");
97     sb.append(_defaultclause0);
98     return sb.toString();
99   }
100 }
101
Popular Tags