Questa implementazione realizza un interfaccia verso un DataBase. In questo esempio, l'interfaccia espone pochi e semplici metodi.
Definizione alla linea 39 del file BackEndHandlerImpl.java.
Membri pubblici | |
BackEndHandlerImpl () throws BackEndHandlerInitException | |
Creates a new instance of BackEndHandlerImpl. | |
BackEndHandlerImpl (String propertyFilePath) throws BackEndHandlerInitException | |
Creates a new instance of BackEndHandlerImpl. | |
ResultSet | select (String tableName) throws BackEndHandlerGenericException, BackEndHandlerSQLCreationException |
Esegue uno Statement di tipo SELECT sul DB. | |
ResultSet | select (String tableName, ArrayList columnsName) throws BackEndHandlerGenericException, BackEndHandlerSQLCreationException |
Esegue uno Statement di tipo SELECT sul DB. | |
ResultSet | select (String tableName, ArrayList columnsName, HashMap whereValues) throws BackEndHandlerGenericException, BackEndHandlerSQLCreationException |
Esegue uno Statement di tipo SELECT sul DB. | |
int | insert (String tableName, HashMap values) throws BackEndHandlerGenericException, BackEndHandlerSQLCreationException |
Esegue uno Statement di tipo INSERT sul DB. | |
int | update (String tableName, HashMap values) throws BackEndHandlerGenericException, BackEndHandlerSQLCreationException |
Esegue uno Statement di tipo UPDATE sul DB. | |
int | update (String tableName, HashMap values, HashMap whereValues) throws BackEndHandlerGenericException, BackEndHandlerSQLCreationException |
Esegue uno Statement di tipo UPDATE sul DB. | |
int | delete (String tableName) throws BackEndHandlerGenericException |
Esegue uno Statement di tipo DELETE sul DB. | |
int | delete (String tableName, HashMap whereValues) throws BackEndHandlerGenericException |
Esegue uno Statement di tipo DELETE sul DB. | |
String | toString () |
Ritorna informazioni sul BackEnd. | |
Membri privati | |
ResultSet | getData (String sqlQuery) throws BackEndHandlerGenericException |
Execute an SQL SELECT Statement and return the relative Result-Set. | |
int | execute (String sqlQuery) throws BackEndHandlerGenericException |
Execute an SQL INSERT/UPDATE/DELETE Statement. | |
Attributi privati | |
final String | DSN |
DSN - Data Source Name: Descrive la connessione al DB. | |
final String | username |
Username dell'utente che si connette al DB. | |
final String | password |
Password. | |
final String | JDBCDriverName |
Nome del Driver JDBC da utilizzare: caricare a RunTime il Driver JDBC permette di cambiare RDBMS e Driver senza modificare (nei limiti del possibile) l'implementazione. | |
final String | loadedPropertyFilePath |
File delle Proprieta' del BackEnd caricato. | |
final Class | driverClass |
Classe del Driver JDBC. | |
final Connection | DBConnection |
Handler Connessione al DB. | |
Attributi privati statici | |
static String | defaultPropertyFilePath |
Default File delle Proprieta' del BackEnd (configurazione). | |
static final String | exceptionPrefix = "[BackEndHandlerImpl Exception]: " |
|
Creates a new instance of BackEndHandlerImpl. Use the Default File Path to the Property File.
Definizione alla linea 70 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.defaultPropertyFilePath. 00070 { 00071 this( defaultPropertyFilePath ); 00072 }
|
|
Creates a new instance of BackEndHandlerImpl.
Definizione alla linea 82 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.DBConnection, org.jaebi.server.service.BackEndHandlerImpl.driverClass, org.jaebi.server.service.BackEndHandlerImpl.DSN, org.jaebi.server.service.BackEndHandlerImpl.exceptionPrefix, org.jaebi.server.service.BackEndHandlerImpl.JDBCDriverName, org.jaebi.server.service.BackEndHandlerImpl.loadedPropertyFilePath, org.jaebi.server.service.BackEndHandlerImpl.password, e org.jaebi.server.service.BackEndHandlerImpl.username. 00082 { 00083 // Load the Property File 00084 Properties config = new Properties(); 00085 00086 try { 00087 FileInputStream configStream = new FileInputStream(propertyFilePath); 00088 config.load(configStream); 00089 configStream.close(); 00090 } catch (IOException ec) { 00091 throw new BackEndHandlerInitException( exceptionPrefix + ec ); 00092 } 00093 00094 DSN = config.getProperty("DSN"); 00095 username = config.getProperty("username"); 00096 password = config.getProperty("password"); 00097 JDBCDriverName = config.getProperty("JDBCDriverName"); 00098 loadedPropertyFilePath = propertyFilePath; 00099 00100 // Driver Registration 00101 try { 00102 driverClass = Class.forName(JDBCDriverName); 00103 DriverManager.registerDriver((Driver)driverClass.newInstance()); 00104 DBConnection = DriverManager.getConnection( 00105 DSN, username, password); 00106 } catch (SQLException sqle) { 00107 throw new BackEndHandlerInitException( exceptionPrefix + sqle ); 00108 } catch ( ClassNotFoundException cnfe ) { 00109 throw new BackEndHandlerInitException( exceptionPrefix + cnfe ); 00110 } catch ( IllegalAccessException iae ) { 00111 throw new BackEndHandlerInitException( exceptionPrefix + iae ); 00112 } catch ( InstantiationException ie ) { 00113 throw new BackEndHandlerInitException( exceptionPrefix + ie ); 00114 } 00115 00116 }
|
|
Esegue uno Statement di tipo DELETE sul DB. Permette di specificare la Tabella e una semplice condizione di selezione ("WHERE"), costruita per uguaglianza.
Definizione alla linea 491 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.execute(). 00492 { 00493 00494 StringBuffer query = new StringBuffer(); 00495 00496 StringBuffer whereConditions = new StringBuffer(); 00497 String currColumn = null; 00498 Set colSet = null; 00499 Iterator colSetIter = null; 00500 00502 if ( whereValues != null && whereValues.size() > 0 ) { 00503 // Retrieve Columns Name 00504 colSet = whereValues.keySet(); 00505 colSetIter = colSet.iterator(); 00506 00507 // Construct Updates to be done 00508 currColumn = (String)colSetIter.next(); 00509 whereConditions.append( currColumn + " = " + 00510 " '"+(String)whereValues.get(currColumn)+"' " ); 00511 00512 while ( colSetIter.hasNext() ) { 00513 currColumn = (String)colSetIter.next(); 00514 whereConditions.append( " AND " + currColumn + " = " + 00515 " '"+(String)whereValues.get(currColumn)+"' " ); 00516 } 00517 } 00518 00519 // Construct the final SQL INSERT Statement 00520 query.append(" DELETE FROM "); 00521 query.append( tableName ); 00522 if ( whereConditions.length() > 3 ) { 00523 query.append( " WHERE " ); 00524 query.append( whereConditions ); 00525 } 00526 00527 return execute( query.toString() ); 00528 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Esegue uno Statement di tipo DELETE sul DB. Permette di specificare la Tabella: cancella tutte le tuple (righe).
Definizione alla linea 466 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.XRequestCommandDelete.execute().
|
|
Execute an SQL INSERT/UPDATE/DELETE Statement.
Definizione alla linea 148 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.DBConnection, e org.jaebi.server.service.BackEndHandlerImpl.exceptionPrefix. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.delete(), org.jaebi.server.service.BackEndHandlerImpl.insert(), e org.jaebi.server.service.BackEndHandlerImpl.update(). 00148 { 00149 Statement stat = null; 00150 int result; 00151 00152 /* Query Execution */ 00153 try { 00154 stat = DBConnection.createStatement(); 00155 result = stat.executeUpdate(sqlQuery); 00156 } catch (SQLException sqle) { 00157 throw new BackEndHandlerGenericException( exceptionPrefix + sqle ); 00158 } 00159 return result; 00160 }
|
|
Execute an SQL SELECT Statement and return the relative Result-Set.
Definizione alla linea 126 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.DBConnection, e org.jaebi.server.service.BackEndHandlerImpl.exceptionPrefix. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.select(). 00126 { 00127 Statement stat = null; 00128 ResultSet rset = null; 00129 00130 /* Query Execution */ 00131 try { 00132 stat = DBConnection.createStatement(); 00133 rset = stat.executeQuery(sqlQuery); 00134 } catch (SQLException sqle) { 00135 throw new BackEndHandlerGenericException( exceptionPrefix + sqle ); 00136 } 00137 return rset; 00138 }
|
|
Esegue uno Statement di tipo INSERT sul DB.
Definizione alla linea 293 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.exceptionPrefix, e org.jaebi.server.service.BackEndHandlerImpl.execute(). Referenziato da org.jaebi.server.service.XRequestCommandInsert.execute(). 00294 { 00295 00296 if ( values == null || values.size() < 1 ) { 00297 throw new BackEndHandlerSQLCreationException( exceptionPrefix + 00298 "INSERT Creation Exception - No \"//Columns/Column/Value\" founded\n"); 00299 } else { 00300 StringBuffer query = new StringBuffer(); 00301 00302 StringBuffer columns = new StringBuffer(); 00303 StringBuffer colValues = new StringBuffer(); 00304 String currColumn = null; 00305 00306 // Retrieve Columns Name 00307 Set colSet = values.keySet(); 00308 Iterator colSetIter = colSet.iterator(); 00309 00310 // Construct braces with Columns and Values 00311 currColumn = (String)colSetIter.next(); 00312 columns.append( " ( " + currColumn ); 00313 colValues.append( " ( " + 00314 " '"+(String)values.get(currColumn)+"' " ); 00315 00316 while ( colSetIter.hasNext() ) { 00317 currColumn = (String)colSetIter.next(); 00318 columns.append( ", " + currColumn ); 00319 colValues.append( ", " + 00320 " '"+(String)values.get(currColumn)+"' " ); 00321 } 00322 00323 columns.append( " ) " ); 00324 colValues.append( " ) " ); 00325 00326 // Construct the final SQL INSERT Statement 00327 query.append(" INSERT INTO "); 00328 query.append( tableName ); 00329 query.append( columns ); 00330 query.append( " VALUES " ); 00331 query.append( colValues ); 00332 00333 return execute( query.toString() ); 00334 } 00335 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Esegue uno Statement di tipo SELECT sul DB. Permette di specificare sia la Tabella, sia le Colonne, sia semplici condizioni di selezione ("WHERE"), costruite per uguaglianza.
Definizione alla linea 224 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.exceptionPrefix, e org.jaebi.server.service.BackEndHandlerImpl.getData(). 00225 { 00226 00227 if ( columnsName != null && columnsName.size() < 1 ) { 00228 throw new BackEndHandlerSQLCreationException( exceptionPrefix + 00229 "SELECT Creation Exception - No \"//Columns/Column/Name\" founded\n"); 00230 } else { 00231 StringBuffer query = new StringBuffer(); 00232 Iterator colIter; 00233 StringBuffer whereConditions = new StringBuffer(); 00234 Set colSet = null; 00235 Iterator colSetIter = null; 00236 String currColumn; 00237 00238 query.append(" SELECT "); 00239 00240 if ( columnsName == null ) { 00241 query.append(" * "); 00242 } else { 00243 colIter = columnsName.iterator(); 00244 00245 query.append( (String)colIter.next() ); 00246 00247 while ( colIter.hasNext() ) { 00248 query.append( " , " + (String)colIter.next() ); 00249 } 00250 } 00251 query.append(" FROM "); 00252 query.append(tableName); 00253 00255 if ( whereValues != null && whereValues.size() > 0 ) { 00256 // Retrieve Columns Name 00257 colSet = whereValues.keySet(); 00258 colSetIter = colSet.iterator(); 00259 00260 // Construct Updates to be done 00261 currColumn = (String)colSetIter.next(); 00262 whereConditions.append( currColumn + " = " + 00263 " '"+(String)whereValues.get(currColumn)+"' " ); 00264 00265 while ( colSetIter.hasNext() ) { 00266 currColumn = (String)colSetIter.next(); 00267 whereConditions.append( " AND " + currColumn + " = " + 00268 " '"+(String)whereValues.get(currColumn)+"' " ); 00269 } 00270 00271 query.append( " WHERE " ); 00272 query.append( whereConditions ); 00273 } 00274 00275 return getData( query.toString() ); 00276 } 00277 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Esegue uno Statement di tipo SELECT sul DB. Permette di specificare sia la Tabella, sia le Colonne.
Definizione alla linea 196 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.select(). 00197 { 00198 00199 return select( tableName, columnsName, null ); 00200 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Esegue uno Statement di tipo SELECT sul DB. Permette di specificare solo la Tabella. Seleziona tutte le colonne.
Definizione alla linea 173 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.XRequestCommandSelect.execute(), e org.jaebi.server.service.BackEndHandlerImpl.select(). 00174 { 00175 00176 return select( tableName, null, null ); 00177 }
|
|
Ritorna informazioni sul BackEnd. Utile per lo sviluppo e per monitorare in maniera semplice lo stato del BackEnd Implementa org.jaebi.server.service.BackEndHandler. Definizione alla linea 536 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.DSN, org.jaebi.server.service.BackEndHandlerImpl.JDBCDriverName, org.jaebi.server.service.BackEndHandlerImpl.loadedPropertyFilePath, e org.jaebi.server.service.BackEndHandlerImpl.username. 00536 { 00537 StringBuffer result = new StringBuffer("BackEndHandlerImpl: DataBase Wrapper\n"); 00538 result.append( "- DSN: " + DSN + "\n"); 00539 result.append( "- username: " + username + "\n"); 00540 result.append( "- password: " + ";-)" + "\n"); 00541 result.append( "- JDBCDriverName: " + JDBCDriverName + "\n"); 00542 result.append( "- Loaded Property file path: " + loadedPropertyFilePath + "\n"); 00543 00544 return result.toString(); 00545 }
|
|
Esegue uno Statement di tipo UPDATE sul DB. Permette di specificare la Tabella e come aggiornare i relativi campi. Inoltre, e' possibile definire una semplice condizione di selezione ("WHERE"), costruita per uguaglianza.
WHERE CONDITIONS Definizione alla linea 387 del file BackEndHandlerImpl.java. Riferimenti org.jaebi.server.service.BackEndHandlerImpl.exceptionPrefix, e org.jaebi.server.service.BackEndHandlerImpl.execute(). 00388 { 00389 00390 if ( values == null || values.size() < 1 ) { 00391 throw new BackEndHandlerSQLCreationException( exceptionPrefix + 00392 "UPDATE Creation Exception - No \"//Columns/Column/Value\" founded\n"); 00393 } else { 00394 StringBuffer query = new StringBuffer(); 00395 00396 StringBuffer updates = new StringBuffer(); 00397 StringBuffer whereConditions = new StringBuffer(); 00398 String currColumn = null; 00399 Set colSet = null; 00400 Iterator colSetIter = null; 00401 00403 // Retrieve Columns Name 00404 colSet = values.keySet(); 00405 colSetIter = colSet.iterator(); 00406 00407 // Construct Updates to be done 00408 currColumn = (String)colSetIter.next(); 00409 updates.append( currColumn + " = " + 00410 " '"+(String)values.get(currColumn)+"' " ); 00411 00412 while ( colSetIter.hasNext() ) { 00413 currColumn = (String)colSetIter.next(); 00414 updates.append( ", " + currColumn + " = " + 00415 " '"+(String)values.get(currColumn)+"' " ); 00416 } 00417 00419 if ( whereValues != null && whereValues.size() > 0 ) { 00420 // Retrieve Columns Name 00421 colSet = whereValues.keySet(); 00422 colSetIter = colSet.iterator(); 00423 00424 // Construct Updates to be done 00425 currColumn = (String)colSetIter.next(); 00426 whereConditions.append( currColumn + " = " + 00427 " '"+(String)whereValues.get(currColumn)+"' " ); 00428 00429 while ( colSetIter.hasNext() ) { 00430 currColumn = (String)colSetIter.next(); 00431 whereConditions.append( " AND " + currColumn + " = " + 00432 " '"+(String)whereValues.get(currColumn)+"' " ); 00433 } 00434 } 00435 00436 // Construct the final SQL INSERT Statement 00437 query.append(" UPDATE "); 00438 query.append( tableName ); 00439 query.append(" SET "); 00440 query.append( updates ); 00441 if ( whereConditions.length() > 3 ) { 00442 query.append( " WHERE " ); 00443 query.append( whereConditions ); 00444 } 00445 00446 System.out.println("Query. " + query.toString() ); 00447 return execute( query.toString() ); 00448 } 00449 }
Questo è il grafo delle chiamate per questa funzione: ![]() |
|
Esegue uno Statement di tipo UPDATE sul DB. Permette di specificare la Tabella e come aggiornare i relativi campi: non essendo specificata una condizione di selezione ("WHERE"), vengono aggiornate tutte le righe.
Definizione alla linea 357 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.XRequestCommandUpdate.execute(). 00358 { 00359 00360 return update(tableName, values, null); 00361 }
|
|
Handler Connessione al DB.
Definizione alla linea 60 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(), org.jaebi.server.service.BackEndHandlerImpl.execute(), e org.jaebi.server.service.BackEndHandlerImpl.getData(). |
|
Valore iniziale:
"/Users/detro/workspace-nb/L2-Project-JAEBI/JAEBI/BackEndHandlerImpl.properties"
Definizione alla linea 52 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(). |
|
Classe del Driver JDBC.
Definizione alla linea 58 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(). |
|
DSN - Data Source Name: Descrive la connessione al DB.
Definizione alla linea 41 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(), e org.jaebi.server.service.BackEndHandlerImpl.toString(). |
|
|
Nome del Driver JDBC da utilizzare: caricare a RunTime il Driver JDBC permette di cambiare RDBMS e Driver senza modificare (nei limiti del possibile) l'implementazione.
Definizione alla linea 50 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(), e org.jaebi.server.service.BackEndHandlerImpl.toString(). |
|
File delle Proprieta' del BackEnd caricato.
Definizione alla linea 55 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(), e org.jaebi.server.service.BackEndHandlerImpl.toString(). |
|
Password.
Definizione alla linea 45 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(). |
|
Username dell'utente che si connette al DB.
Definizione alla linea 43 del file BackEndHandlerImpl.java. Referenziato da org.jaebi.server.service.BackEndHandlerImpl.BackEndHandlerImpl(), e org.jaebi.server.service.BackEndHandlerImpl.toString(). |