Riferimenti per la classe org.jaebi.server.service.xml.JAXBXResponseFactory

Diagramma di collaborazione per org.jaebi.server.service.xml.JAXBXResponseFactory:

Collaboration graph
[legenda]
Lista di tutti i membri.

Descrizione Dettagliata

Autore:
detro
Factory per la costruzione semplificata degli oggetti JAXB Xresponse. Ovviamente la sua implementazione dipende strettamente dall'XSD definito per i messaggi di Response.

Definizione alla linea 32 del file JAXBXResponseFactory.java.

Membri pubblici

 JAXBXResponseFactory ()
 Creates a new instance of JAXBXResponseFactory.
Object buildXresponse (boolean ok, String message) throws JAXBXResponseFactoryBuildingException
 Costruisce Oggetto Xresponse che contiene solo un messaggio.
Object buildXresponse (ResultSet resultSet) throws JAXBXResponseFactoryBuildingException
 Costruisce Oggetto Xresponse che contiene il risultato di una SELECT.

Attributi protetti statici

static org.jaebi.server.service.xml.xresponse.ObjectFactory objectFactory = null
 Object Factory per l'XSD "xresponse".

Attributi privati statici

static String exceptionPrefix = "[XResponseFactory Exception]: "
 Prefisso Messaggio da inserire nelle Eccezioni lanciate.
static Hashtable XResponseTypesMapping = null
 Hashmap che associa vari tipi SQL ai tipi validi per l'XSD "xresponse".


Documentazione dei costruttori e dei distruttori

org.jaebi.server.service.xml.JAXBXResponseFactory.JAXBXResponseFactory  ) 
 

Creates a new instance of JAXBXResponseFactory.

Definizione alla linea 44 del file JAXBXResponseFactory.java.

Riferimenti org.jaebi.server.service.xml.JAXBXResponseFactory.objectFactory, e org.jaebi.server.service.xml.JAXBXResponseFactory.XResponseTypesMapping.

00044                                   {
00045         // Istanziazione Object Factory
00046         objectFactory = new org.jaebi.server.service.xml.xresponse.ObjectFactory();
00047         /* Filling della Hashmap di associazione SQL-xresponse column's type:
00048          * il parametro numerico in input permette di stabilire la capacita' iniziale
00049          * dell'Hashmap, che e' il numero di Bucket inizialmente istanziati 
00050          */
00051         XResponseTypesMapping = new Hashtable(20);
00052         XResponseTypesMapping.put("bit varying", "bits");
00053         XResponseTypesMapping.put("bit", "bits");
00054         XResponseTypesMapping.put("boolean","boolean");
00055         XResponseTypesMapping.put("character varying", "chars");
00056         XResponseTypesMapping.put("varchar", "chars");
00057         XResponseTypesMapping.put("character", "chars");
00058         XResponseTypesMapping.put("char", "chars");
00059         XResponseTypesMapping.put("text", "chars");
00060         XResponseTypesMapping.put("integer", "int");
00061         XResponseTypesMapping.put("int4", "int");
00062         XResponseTypesMapping.put("int", "int");
00063         XResponseTypesMapping.put("real", "float");
00064         XResponseTypesMapping.put("float", "float");
00065         XResponseTypesMapping.put("float4", "float");
00066         XResponseTypesMapping.put("timestamp", "chars");
00067         XResponseTypesMapping.put("timestamp without time zone", "chars");
00068         XResponseTypesMapping.put("timestamp with time zone", "chars");
00069         XResponseTypesMapping.put("timestamptz", "chars");
00070         XResponseTypesMapping.put("date","chars");
00071     }


Documentazione delle funzioni membro

Object org.jaebi.server.service.xml.JAXBXResponseFactory.buildXresponse ResultSet  resultSet  )  throws JAXBXResponseFactoryBuildingException
 

Costruisce Oggetto Xresponse che contiene il risultato di una SELECT.

Permette di Mappare nell'XSD "xresponse" il risultato di una operazione di selezione su dei dati, trasformando un ResultSet.

Parametri:
resultSet Risultato di una operazione di Selezione du dei dati
Restituisce:
Object da upcastare a Xresponse
Eccezioni:
JAXBXResponseFactoryBuildingException Errore durante la costruzione dell'oggetto Xresponse.

Definizione alla linea 125 del file JAXBXResponseFactory.java.

Riferimenti org.jaebi.server.service.xml.JAXBXResponseFactory.exceptionPrefix, org.jaebi.server.service.xml.JAXBXResponseFactory.objectFactory, e org.jaebi.server.service.xml.JAXBXResponseFactory.XResponseTypesMapping.

00126                                                      {
00127         
00128         Xresponse xresponse = null;
00129         Rowset rowset = null;
00130         Row row = null;
00131         Column column = null;
00132         String columnTypeStr;
00133         String columnNameStr;
00134         String columnValueStr;
00135         
00136         ResultSetMetaData resSetMeta = null;
00137         int columnsNumber = 0;
00138         
00139         try {
00140             // Creazione nuovo oggetto Xresponse
00141             xresponse = objectFactory.createXresponse();
00142             
00143             // Creazione nuovo oggetto Rowset
00144             rowset = objectFactory.createRowset();
00145             
00146             // Recupero MetaData dal ResultSet
00147             resSetMeta = resultSet.getMetaData();
00148             // Recuper numero delle Colonne del ResultSet
00149             columnsNumber = resSetMeta.getColumnCount();
00150             
00151             while ( resultSet.next() ) {
00152                 // Creazione nuovo oggetto Row
00153                 row = objectFactory.createRow();
00154                                 
00155                 for ( int i = 0; i < columnsNumber; i++ ) {
00156                     // Creazione nuovo oggetto Column
00157                     column = objectFactory.createColumn();
00158                     
00159                     // Recupero nome del Type della Colonna
00160                     columnTypeStr = resSetMeta.getColumnTypeName(i + 1);
00161                     /* Settaggio attributo "type" per l'oggetto Column
00162                      * per mappare i tipi possibili dell'SQL con i tipi
00163                      * accettati dall'XSD xresponse si usa una Hashmap
00164                      */                    
00165                     column.setType( 
00166                             (String)XResponseTypesMapping.get( 
00167                                 (String) columnTypeStr.toLowerCase()
00168                                 ) 
00169                             );
00170                     
00171                     // Recupero nome della Colonna
00172                     columnNameStr = resSetMeta.getColumnName(i + 1);
00173                     // Settaggio valore Oggetto Name contenuto in Column
00174                     column.setName(columnNameStr);
00175                     
00176                     // Recupero valore della Colonna
00177                     columnValueStr = resultSet.getString(i + 1);
00178                                         if ( columnValueStr == null )
00179                                                 columnValueStr = "NULL";
00180                     // Settaggio valore Oggetto Value contenuto in Column
00181                     column.setValue(columnValueStr);
00182                     
00183                     // Inserimento Colonna nella Riga
00184                     row.getColumn().add(column);
00185                 }
00186                 
00187                 // Aggiunto oggetto Row al Rowset
00188                 rowset.getRow().add(row);
00189             }
00190             
00191             
00192             // Aggiunga Oggetto Message nell'oggetto Xresponse
00193             xresponse.setRowset(rowset);
00194         } catch ( JAXBException e ) {
00195             throw new JAXBXResponseFactoryBuildingException(exceptionPrefix + e);
00196         } catch (SQLException sqle) {
00197             throw new JAXBXResponseFactoryBuildingException(exceptionPrefix + sqle);
00198         }
00199         
00200         return (Object)xresponse;
00201     }

Object org.jaebi.server.service.xml.JAXBXResponseFactory.buildXresponse boolean  ok,
String  message
throws JAXBXResponseFactoryBuildingException
 

Costruisce Oggetto Xresponse che contiene solo un messaggio.

E' indicato per operazioni che richiedono solo "conferma" di avvenuta esecuzione o segnalazione d'errore.

Parametri:
ok "true" se l'operazione e' riuscita, "false" altrimenti
message Eventuale messaggio da restituire
Restituisce:
Object da upcastare a Xresponse
Eccezioni:
JAXBXResponseFactoryBuildingException Errore durante la costruzione dell'oggetto Xresponse.

Definizione alla linea 86 del file JAXBXResponseFactory.java.

Riferimenti org.jaebi.server.service.xml.JAXBXResponseFactory.exceptionPrefix, e org.jaebi.server.service.xml.JAXBXResponseFactory.objectFactory.

Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(), org.jaebi.server.service.XRequestCommandSelect.execute(), org.jaebi.server.service.XRequestCommandInsert.execute(), org.jaebi.server.service.XRequestCommandDelete.execute(), org.jaebi.server.service.ServiceMediatorImpl.executeService(), e org.jaebi.test.server.xml.MainTestJAXBXresponse.main().

00087                                                      {
00088         
00089         Xresponse xresponse = null;
00090         Message xrespMessage = null;
00091         
00092         try {
00093             // Creazione nuovo oggetto Xresponse
00094             xresponse = objectFactory.createXresponse();
00095             
00096             // Creazione nuovo oggetto Message
00097             xrespMessage = objectFactory.createMessage();
00098             // Settaggio attributo "result" per l'oggetto Message
00099             if ( ok ) xrespMessage.setResult("ok");
00100             else xrespMessage.setResult("error");
00101             // Settaggio contenuto per oggetto Message
00102             xrespMessage.getContent().add(message);
00103             
00104             // Aggiunta Oggetto Message nell'oggetto Xresponse
00105             xresponse.setMessage(xrespMessage);
00106         } catch ( JAXBException e ) {
00107             throw new JAXBXResponseFactoryBuildingException(exceptionPrefix + e);
00108         }
00109         
00110         return (Object)xresponse;
00111         
00112     }


Documentazione dei dati membri

String org.jaebi.server.service.xml.JAXBXResponseFactory.exceptionPrefix = "[XResponseFactory Exception]: " [static, private]
 

Prefisso Messaggio da inserire nelle Eccezioni lanciate.

Definizione alla linea 36 del file JAXBXResponseFactory.java.

Referenziato da org.jaebi.server.service.xml.JAXBXResponseFactory.buildXresponse().

org.jaebi.server.service.xml.xresponse.ObjectFactory org.jaebi.server.service.xml.JAXBXResponseFactory.objectFactory = null [static, protected]
 

Object Factory per l'XSD "xresponse".

Definizione alla linea 34 del file JAXBXResponseFactory.java.

Referenziato da org.jaebi.server.service.xml.JAXBXResponseFactory.buildXresponse(), e org.jaebi.server.service.xml.JAXBXResponseFactory.JAXBXResponseFactory().

Hashtable org.jaebi.server.service.xml.JAXBXResponseFactory.XResponseTypesMapping = null [static, private]
 

Hashmap che associa vari tipi SQL ai tipi validi per l'XSD "xresponse".

Definizione alla linea 39 del file JAXBXResponseFactory.java.

Referenziato da org.jaebi.server.service.xml.JAXBXResponseFactory.buildXresponse(), e org.jaebi.server.service.xml.JAXBXResponseFactory.JAXBXResponseFactory().


La documentazione per questa classe è stata generata a partire dal seguente file:
Generato il Mon Jun 27 22:50:54 2005 per JAEBI - JAva Enterprice BackEnd Interfacement da  doxygen 1.4.3