/Users/detro/workspace-nb/JAEBI/src/java/org/jaebi/server/service/XRequestCommandDelete.java

Vai alla documentazione di questo file.
00001 /*
00002 /* XRequestCommandDelete.java
00003  *
00004  * Created on June 10, 2005, 3:19 PM
00005  * Created by Detro - 566/2145
00006  */
00007 
00008 package org.jaebi.server.service;
00009 
00010 import org.jaebi.server.service.exception.BackEndHandlerGenericException;
00011 import org.jaebi.server.service.exception.CommandExecException;
00012 import org.jaebi.server.service.exception.XRequestCommandInitException;
00013 import org.jaebi.server.service.xml.exception.JAXBXResponseFactoryBuildingException;
00014 import org.jaebi.server.service.xml.xrequest.Xrequest;
00015 
00022 public class XRequestCommandDelete extends XRequestCommand {
00023     
00025     public XRequestCommandDelete(Xrequest xrequestObj, BackEndHandlerImpl backEndHandler) 
00026         throws XRequestCommandInitException {
00027         
00028         super(xrequestObj, backEndHandler);
00029         
00030         /* Controlla se la Factory ha costruito 
00031          * l'XRequestCommand con l'Xrequest corretto */
00032         if ( !xrequestObj.getType().equalsIgnoreCase("delete") ) {
00033             throw new XRequestCommandInitException(
00034                     exceptionPrefix + "Xrequest Type does not match");
00035         }
00036     }
00037     
00043     public Object execute() 
00044         throws CommandExecException {
00045         
00046         int affectedRows;
00047         
00048         try {
00049             if ( getWhereColumnsName().size() == 0 ) {
00050                 affectedRows = backEndHandler.delete(
00051                     getAffectedTable()
00052                 );
00053             } else {
00054                 affectedRows = backEndHandler.delete(
00055                     getAffectedTable(),
00056                     getWhereColumnsValue()
00057                 );
00058             }
00059             
00060             return xresponseFactory.buildXresponse(true, 
00061                     "DELETE #" + affectedRows + " ROWS" );
00062             
00063         } catch ( JAXBXResponseFactoryBuildingException e ) {
00064             // Errore durante la creazione dell'XResponse
00065             try {
00066                 return xresponseFactory.buildXresponse(false, 
00067                         "Internal Error - " + e.getMessage() );
00068             } catch ( JAXBXResponseFactoryBuildingException otherE ) {
00069                 throw new CommandExecException( exceptionPrefix + otherE );
00070             }
00071         } catch ( BackEndHandlerGenericException e) {
00072             // Errore nel BackEnd
00073             try {
00074                 return xresponseFactory.buildXresponse(false, 
00075                         "BackEnd Error - " + e.getMessage() );
00076             } catch ( JAXBXResponseFactoryBuildingException otherE ) {
00077                 throw new CommandExecException( exceptionPrefix + otherE );
00078             }
00079         }
00080     }
00081     
00082 }

Generato il Mon Jun 27 22:50:38 2005 per JAEBI - JAva Enterprice BackEnd Interfacement da  doxygen 1.4.3