KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > serversystem > OperationHandler


1 package com.daffodilwoods.daffodildb.server.serversystem;
2
3 import java.util.*;
4
5 import org.xml.sax.*;
6 import org.xml.sax.helpers.*;
7 import com.daffodilwoods.database.resource.*;
8
9 public class OperationHandler extends DefaultHandler {
10
11   private RestoreHandler restoreHandler;
12   private String JavaDoc elementValue;
13   private String JavaDoc startlob;
14   private String JavaDoc lengthlob;
15   private ArrayList paramList;
16
17
18   public OperationHandler(ServerSystem serverSystem, String JavaDoc newDBName0, String JavaDoc clobFilePath0) {
19     restoreHandler = new RestoreHandler(serverSystem, newDBName0, clobFilePath0);
20   }
21
22   public void startElement(String JavaDoc uri, String JavaDoc localName,
23                            String JavaDoc qName, Attributes attributes) throws
24       SAXException {
25     elementValue = "";
26     if (qName.equalsIgnoreCase("connection")) {
27       restoreHandler.setSessionId(attributes.getValue("sessionid"));
28       restoreHandler.setQueryMethod(Integer.parseInt(attributes.getValue("operator")));
29       int optype = Integer.parseInt(attributes.getValue("operationType"));
30       restoreHandler.setOperatorType(optype);
31       if (optype == SaveModeConstants.PREPARED)
32         paramList = new ArrayList();
33     }
34   }
35
36   public void endElement(String JavaDoc uri, String JavaDoc localName,
37                          String JavaDoc qName) throws SAXException {
38     try {
39     if (qName.equalsIgnoreCase("connection")) {
40       try {
41         restoreHandler.setParameters(paramList);
42           restoreHandler.performOperation();
43         paramList = null;
44       }
45       catch (DException ex) {
46         throw new SAXException(ex);
47       }
48     }
49     if (qName.equalsIgnoreCase("query")) {
50       restoreHandler.setQueryString(elementValue);
51     }
52     if (qName.equalsIgnoreCase("savepointname")) {
53       restoreHandler.setSavePointName(elementValue);
54     }
55     if (qName.equalsIgnoreCase("startposition")) {
56       startlob = elementValue;
57     }
58     if (qName.equalsIgnoreCase("length")) {
59       lengthlob = elementValue;
60     }
61       if (qName.equalsIgnoreCase("user")) {
62         restoreHandler.setUserName(elementValue);
63       }
64       if (qName.equalsIgnoreCase("password")) {
65         restoreHandler.setPassword(elementValue);
66       }
67     if (qName.equalsIgnoreCase("param")) {
68       if (startlob != null) {
69         paramList.add(new Object JavaDoc[] {startlob, lengthlob});
70       }
71       else {
72         paramList.add(elementValue);
73       }
74       startlob = null;
75       lengthlob = null;
76     }
77   }
78     catch (NullPointerException JavaDoc ex1) {
79       ex1.printStackTrace();
80       throw ex1;
81     }
82     elementValue = null;
83   }
84
85   public void characters (char ch[], int start, int length)
86       throws SAXException {
87       elementValue = elementValue+new String JavaDoc(ch, start, length);
88   }
89 }
90
Popular Tags