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 elementValue; 13 private String startlob; 14 private String lengthlob; 15 private ArrayList paramList; 16 17 18 public OperationHandler(ServerSystem serverSystem, String newDBName0, String clobFilePath0) { 19 restoreHandler = new RestoreHandler(serverSystem, newDBName0, clobFilePath0); 20 } 21 22 public void startElement(String uri, String localName, 23 String 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 uri, String localName, 37 String 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 [] {startlob, lengthlob}); 70 } 71 else { 72 paramList.add(elementValue); 73 } 74 startlob = null; 75 lengthlob = null; 76 } 77 } 78 catch (NullPointerException 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 (ch, start, length); 88 } 89 } 90 | Popular Tags |