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". |
|
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 }
|
|
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.
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 }
|
|
Costruisce Oggetto Xresponse che contiene solo un messaggio. E' indicato per operazioni che richiedono solo "conferma" di avvenuta esecuzione o segnalazione d'errore.
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 }
|
|
Prefisso Messaggio da inserire nelle Eccezioni lanciate.
Definizione alla linea 36 del file JAXBXResponseFactory.java. Referenziato da org.jaebi.server.service.xml.JAXBXResponseFactory.buildXresponse(). |
|
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(). |
|
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(). |