Per creare un XRequestCommand particolare, e' necessario implementare solo 2 metodi:
super(xrequestObj, backEndHandler)
execute
in cui viene eseguito il command Inoltre, la Classe prevede un sistema di Caching che evita di ricalcolare i risultati dell'analisi dell'XML ad ogni richiesta. Questo, nel caso di un uso massiccio dei Command, migliora sostanzialmente le prestazioni. Questo approccio e' favorito dal fatto che tutti gli XRequestCommand si basano sullo stesso XML.
In alcuni casi, si e' usata una notazione "XPath" per indicare i Nodi.
Definizione alla linea 51 del file XRequestCommand.java.
Membri pubblici | |
XRequestCommand (Xrequest newXrequestObj, BackEndHandlerImpl newBackEndHandlerImpl) throws XRequestCommandInitException | |
Costruttore. | |
abstract Object | execute () throws CommandExecException |
Esegue Command sul BackEnd. | |
String | getType () |
Ritorna il valore dell'attributo "<code>/xrequest/@type</code>". | |
String | getAffectedTable () |
Table si cui viene eseguita l'XRequestCommand. | |
ArrayList | getColumnsName () |
Recupero valori di "<code>//Columns/Column/Name</code>". | |
HashMap | getColumnsValue () |
Recupero valori di "<code>//Columns/Column/Value</code>". | |
ArrayList | getWhereColumnsName () |
Recupero valori di "<code>//Where/Column/Name</code>". | |
HashMap | getWhereColumnsValue () |
Recupero valori di "<code>//Where/Column/Value</code>". | |
String | toString () |
Descrizione del Command. | |
boolean | isExecuted () |
Verifica se una Command e' stata gia' eseguita. | |
Attributi protetti | |
final BackEndHandlerImpl | backEndHandler |
BackEndHandler su cui viene eseguito Command. | |
final Xrequest | xrequestObj |
Oggetto Xrequest da Wrappare, che descrive il Command che lo User ha richiesto di eseguire. | |
boolean | executed = false |
Variabile booleana per verificare se un Command e' stato eseguito o meno. | |
Attributi protetti statici | |
static final JAXBXResponseFactory | xresponseFactory |
JAXBXResponseFactory utile a tutti gli XRequestCommand per produrre oggetti XResponse. | |
static String | exceptionPrefix = "[XRequestCommand Exception]: " |
Membri privati | |
ArrayList | getNameFromColumnList (List columns) |
Costruisce un ArrayList con i valori dei TAG "Name" dentro i TAG "Column" contenuti in "Columns" o "Where". | |
HashMap | getValueFromColumnList (List columns) |
Costruisce un HashMap con i valori dei TAG "Value", con chiavi i valori dei rispettivi TAG "Name", dentro i TAG "Column" contenuti in "Columns" o "Where". | |
Attributi privati | |
ArrayList | columnsName = null |
Variabile "cache" che memorizza i valori contenuti in "<code>//Columns/Column/Name</code>". | |
HashMap | columnsValue = null |
Variabile "cache" che memorizza i valori contenuti in "<code>//Columns/Column/Value</code>" utilizzando come chiave il valore del relativo "//Columns/Column/Value/. | |
ArrayList | whereColumnsName = null |
Variabile "cache" che memorizza i valori contenuti in "<code>//Where/Column/Name</code>". | |
HashMap | whereColumnsValue = null |
Variabile "cache" che memorizza i valori contenuti in "<code>//Where/Column/Value</code>" utilizzando come chiave il valore del relativo "//Where/Column/Value/. |
|
Costruttore.
Definizione alla linea 89 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.backEndHandler, org.jaebi.server.service.XRequestCommand.exceptionPrefix, e org.jaebi.server.service.XRequestCommand.xrequestObj. 00090 { 00091 00092 if ( newXrequestObj == null || newBackEndHandlerImpl == null ) { 00093 throw new XRequestCommandInitException(exceptionPrefix + 00094 "Init parameter error\n"); 00095 } 00096 xrequestObj = newXrequestObj; 00097 backEndHandler = newBackEndHandlerImpl; 00098 00099 }
|
|
Esegue Command sul BackEnd.
Implementa org.jaebi.server.service.Command. Implementato in org.jaebi.server.service.XRequestCommandDelete, org.jaebi.server.service.XRequestCommandInsert, org.jaebi.server.service.XRequestCommandSelect, e org.jaebi.server.service.XRequestCommandUpdate. Referenziato da org.jaebi.server.service.ServiceMediatorImpl.executeService(), e org.jaebi.test.server.service.MainTestServicePackage.main(). |
|
Table si cui viene eseguita l'XRequestCommand.
Definizione alla linea 116 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.xrequestObj. Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(), org.jaebi.server.service.XRequestCommandSelect.execute(), org.jaebi.server.service.XRequestCommandInsert.execute(), e org.jaebi.server.service.XRequestCommandDelete.execute(). 00116 { 00117 return xrequestObj.getTable(); 00118 }
|
|
Recupero valori di "<code>//Columns/Column/Name</code>".
Definizione alla linea 176 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.columnsName, org.jaebi.server.service.XRequestCommand.getNameFromColumnList(), e org.jaebi.server.service.XRequestCommand.xrequestObj. Referenziato da org.jaebi.server.service.XRequestCommandSelect.execute(). 00176 { 00177 if ( columnsName == null ) { 00178 if ( xrequestObj.getColumns() != null ) { 00179 columnsName = getNameFromColumnList( 00180 xrequestObj.getColumns().getColumn() ); // Caching... 00181 } else 00182 columnsName = new ArrayList(); 00183 } 00184 return columnsName; // Using Cache... 00185 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Recupero valori di "<code>//Columns/Column/Value</code>". Indicizzati in base ai rispettivi "<code>//Columns/Column/Value/../Name</code>"
Definizione alla linea 196 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.columnsValue, org.jaebi.server.service.XRequestCommand.getValueFromColumnList(), e org.jaebi.server.service.XRequestCommand.xrequestObj. Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(), e org.jaebi.server.service.XRequestCommandInsert.execute(). 00196 { 00197 if ( columnsValue == null ) { 00198 if ( xrequestObj.getColumns() != null ) { 00199 columnsValue = getValueFromColumnList( 00200 xrequestObj.getColumns().getColumn() ); // Caching... 00201 } else 00202 columnsValue = new HashMap(); 00203 } 00204 return columnsValue; // Using Cache... 00205 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Costruisce un ArrayList con i valori dei TAG "Name" dentro i TAG "Column" contenuti in "Columns" o "Where". Il metodo e' privato e generico, cosi' da poter semplificare e snellire la stesura del codice.
Definizione alla linea 130 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommand.getColumnsName(), e org.jaebi.server.service.XRequestCommand.getWhereColumnsName(). 00130 { 00131 ArrayList result = new ArrayList(); 00132 if ( columns != null ) { 00133 Iterator iter = columns.iterator(); 00134 Column column = null; 00135 00136 while ( iter.hasNext() ) { 00137 column = (Column)iter.next(); 00138 result.add( column.getName() ); 00139 } 00140 } 00141 00142 return result; 00143 }
|
|
Ritorna il valore dell'attributo "<code>/xrequest/@type</code>".
Implementa org.jaebi.server.service.Command. Definizione alla linea 107 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.xrequestObj. 00107 { 00108 return xrequestObj.getType(); 00109 }
|
|
Costruisce un HashMap con i valori dei TAG "Value", con chiavi i valori dei rispettivi TAG "Name", dentro i TAG "Column" contenuti in "Columns" o "Where". Il metodo e' privato e generico, cosi' da poter semplificare e snellire la stesura del codice.
Definizione alla linea 156 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommand.getColumnsValue(), e org.jaebi.server.service.XRequestCommand.getWhereColumnsValue(). 00156 { 00157 HashMap result = new HashMap(); 00158 if ( columns != null ) { 00159 Iterator iter = columns.iterator(); 00160 Column column = null; 00161 00162 while ( iter.hasNext() ) { 00163 column = (Column)iter.next(); 00164 result.put(column.getName(), column.getValue()); 00165 } 00166 } 00167 00168 return result; 00169 }
|
|
Recupero valori di "<code>//Where/Column/Name</code>".
Definizione alla linea 212 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.getNameFromColumnList(), org.jaebi.server.service.XRequestCommand.whereColumnsName, e org.jaebi.server.service.XRequestCommand.xrequestObj. Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(), e org.jaebi.server.service.XRequestCommandDelete.execute(). 00212 { 00213 if ( whereColumnsName == null ) { 00214 if ( xrequestObj.getWhere() != null ) { 00215 whereColumnsName = getNameFromColumnList( 00216 xrequestObj.getWhere().getColumn() ); // Caching... 00217 } else 00218 whereColumnsName = new ArrayList(); 00219 } 00220 return whereColumnsName; // Using Cache... 00221 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Recupero valori di "<code>//Where/Column/Value</code>". Indicizzati in base ai rispettivi "<code>//Where/Column/Value/../Name</code>"
Definizione alla linea 231 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.XRequestCommand.getValueFromColumnList(), org.jaebi.server.service.XRequestCommand.whereColumnsValue, e org.jaebi.server.service.XRequestCommand.xrequestObj. Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(), org.jaebi.server.service.XRequestCommandSelect.execute(), e org.jaebi.server.service.XRequestCommandDelete.execute(). 00231 { 00232 if ( whereColumnsValue == null ) { 00233 if ( xrequestObj.getWhere() != null ) { 00234 whereColumnsValue = getValueFromColumnList( 00235 xrequestObj.getWhere().getColumn() ); // Caching... 00236 } else 00237 whereColumnsValue = new HashMap(); 00238 } 00239 return whereColumnsValue; // Using Cache... 00240 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Verifica se una Command e' stata gia' eseguita.
Definizione alla linea 32 del file Command.java. Riferimenti org.jaebi.server.service.Command.executed. 00032 { return executed; }
|
|
Descrizione del Command.
Implementa org.jaebi.server.service.Command. Definizione alla linea 242 del file XRequestCommand.java. Riferimenti org.jaebi.server.service.xml.JAXBMarshallerWrapper.marshall(), org.jaebi.server.service.xml.JAXBMarshallerWrapper.setFormattedMarshalling(), e org.jaebi.server.service.XRequestCommand.xrequestObj. 00242 { 00243 JAXBMarshallerWrapper marshWrap = null; 00244 String result = null; 00245 00246 try { 00247 marshWrap = new JAXBMarshallerWrapperImpl("org.jaebi.server.service.xml.xrequest"); 00248 marshWrap.setFormattedMarshalling(true); 00249 result = marshWrap.marshall( xrequestObj ); 00250 } catch ( JAXBMarshallerWrapperMarshallException e ) { 00251 return "<XRequestCommand> toString conversion (marshalling) exception:\n" + e; 00252 } catch ( JAXBMarshallerWrapperInitException e ) { 00253 return "<XRequestCommand> toString conversion (Marshall Wrapper Init) exception:\n" + e; 00254 } 00255 00256 return result; 00257 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
|
Variabile "cache" che memorizza i valori contenuti in "<code>//Columns/Column/Name</code>".
Definizione alla linea 66 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommandSelect.execute(), e org.jaebi.server.service.XRequestCommand.getColumnsName(). |
|
Variabile "cache" che memorizza i valori contenuti in "<code>//Columns/Column/Value</code>" utilizzando come chiave il valore del relativo " ./Name" Definizione alla linea 71 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommand.getColumnsValue(). |
|
|
Variabile booleana per verificare se un Command e' stato eseguito o meno.
Definizione alla linea 25 del file Command.java. Referenziato da org.jaebi.server.service.Command.isExecuted(). |
|
Variabile "cache" che memorizza i valori contenuti in "<code>//Where/Column/Name</code>".
Definizione alla linea 75 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommand.getWhereColumnsName(). |
|
Variabile "cache" che memorizza i valori contenuti in "<code>//Where/Column/Value</code>" utilizzando come chiave il valore del relativo " ./Name" Definizione alla linea 80 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommand.getWhereColumnsValue(). |
|
|
Valore iniziale:
new JAXBXResponseFactory()
Definizione alla linea 54 del file XRequestCommand.java. Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(), org.jaebi.server.service.XRequestCommandSelect.execute(), org.jaebi.server.service.XRequestCommandInsert.execute(), e org.jaebi.server.service.XRequestCommandDelete.execute(). |