Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
laboratoare:laborator01 [2015/10/18 19:50]
Andrei Roșu-Cojocaru
laboratoare:laborator01 [2015/10/19 00:44] (current)
Andrei Roșu-Cojocaru [Materiale Ajutătoare]
Line 18: Line 18:
 ===== Materiale Ajutătoare ====== ===== Materiale Ajutătoare ======
  
-TODO+{{ :​laboratoare:​laborator01:​aipi2015-lab01-slides.pdf }}
  
 ===== Java Database Connectivity - aspecte generale ===== ===== Java Database Connectivity - aspecte generale =====
Line 890: Line 890:
  
 <code java> <code java>
-java.io.FileOutputStream fileOutputStream = new java.io.FileOutputStream("​genres.xml"​);​ +java.io.FileOutputStream fileOutputStream = new java.io.FileOutputStream("​category.xml"​);​ 
-genres.writeXml(fileOutputStream);​+categories.writeXml(fileOutputStream);​
 </​code>​ </​code>​
  
 <code java> <code java>
-java.io.FileWriter fileWriter = new java.io.FileWriter("​genres.xml"​);​ +java.io.FileWriter fileWriter = new java.io.FileWriter("​category.xml"​);​ 
-genres.writeXml(fileWriter);​+categories.writeXml(fileWriter);​
 </​code>​ </​code>​
  
Line 902: Line 902:
  
 <code java> <code java>
-genres.writeXml(resultSet,​ fileOutputStream);​ +categories.writeXml(resultSet,​ fileOutputStream);​ 
-genres.writeXml(resultSet,​ fileWriter);​+categories.writeXml(resultSet,​ fileWriter);​
 </​code>​ </​code>​
  
Line 909: Line 909:
  
 <code java> <code java>
-java.io.FileInputStream fileInputStream = new java.io.FileOutputStream("​genres.xml"​);​ +java.io.FileInputStream fileInputStream = new java.io.FileOutputStream("​category.xml"​);​ 
-genres.readXml(fileOutputStream);​+categories.readXml(fileOutputStream);​
 </​code>​ </​code>​
  
 <code java> <code java>
-java.io.FileReader fileReader = new java.io.FileReader("​genres.xml"​);​ +java.io.FileReader fileReader = new java.io.FileReader("​category.xml"​);​ 
-genres.readXml(fileReader);​+categories.readXml(fileReader);​
 </​code>​ </​code>​
  
Line 979: Line 979:
 <note tip>În interfața ''​Constants''​ din pachetul ''​ro.pub.cs.aipi.lab01.general'',​ trebuie să se modifice valoarea constantei ''​DATABASE_PASSWORD''​ care stochează parola de conectare pentru utilizatorul ''​root''​ la sistemul de gestiune al bazei de date.</​note>​ <note tip>În interfața ''​Constants''​ din pachetul ''​ro.pub.cs.aipi.lab01.general'',​ trebuie să se modifice valoarea constantei ''​DATABASE_PASSWORD''​ care stochează parola de conectare pentru utilizatorul ''​root''​ la sistemul de gestiune al bazei de date.</​note>​
  
-<note important>​Proiectul este organizat sub forma unei suite de teste unitare, corespunzătoare fiecărui exercițiu în parte. În principiu, fiecare test unitar este independent,​ însă având în vedere faptul că unele dintre acestea modifică starea bazei de date, este recomandat ca exercițiile să fie rezolvate în ordine. Pentru ca rezultatul testelor să fie același, structura și conținutul bazei de date sunt recreate de fiecare dată, curățându-se și rezultatul rulărilor anterioare (această operație poate dura o perioadă de timp mai îndelungată,​ în funcție de performanțele mașinii pe care se rulează). În directorul ''​input''​ sunt plasate fișierele de referință cu care se face comparația pentru rezultatul fiecărui test unitar.</​note>​+Proiectul este organizat sub forma unei suite de teste unitare, corespunzătoare fiecărui exercițiu în parte. În principiu, fiecare test unitar este independent,​ însă având în vedere faptul că unele dintre acestea modifică starea bazei de date, este recomandat ca exercițiile să fie rezolvate în ordine. ​ 
 + 
 +Pentru ca rezultatul testelor să fie același, structura și conținutul bazei de date sunt recreate de fiecare dată, curățându-se și rezultatul rulărilor anterioare (această operație poate dura o perioadă de timp mai îndelungată,​ în funcție de performanțele mașinii pe care se rulează). ​ 
 + 
 +În directorul ''​input''​ sunt plasate fișierele de referință cu care se face comparația pentru rezultatul fiecărui test unitar. ​În directorul ''​output''​ sunt plasate fișierele rezultate în urma rulării testelor unitare.  
 + 
 +<note important>​ 
 +În situația în care proiectul este rulat folosind utilitarul Maven, este necesar ca pentru scopul ''​test''​ să se specifice proprietatea ''​-Dtest=ro.pub.cs.lab01.main.AllTests'',​ pentru a se forța rularea suitei de teste unitare în detrimentul rulării fiecărui test unitar în parte. Aceasta asigură faptul că testele unitare vor fi executate în ordine, precum și realizarea operațiilor de încărcare / descărcare a bazei de date înainte de fiecare rulare. 
 +</​note>​
  
 **1**. Să se implementeze metoda ''​getTableNumberOfRows()''​ din clasa ''​DatabaseOperationsImplementation''​ a pachetului ''​ro.pub.cs.aipi.lab01.dataaccess'',​ ce determină numărul de înregistrări al unei tabele identificată prin denumire (transmisa ca parametru). <code java> **1**. Să se implementeze metoda ''​getTableNumberOfRows()''​ din clasa ''​DatabaseOperationsImplementation''​ a pachetului ''​ro.pub.cs.aipi.lab01.dataaccess'',​ ce determină numărul de înregistrări al unei tabele identificată prin denumire (transmisa ca parametru). <code java>
Line 1138: Line 1146:
 ===== Soluții ===== ===== Soluții =====
  
-TODO+[[https://​github.com/​aipi2015/​Laborator01/​tree/​master/​solutions/​eclipse/​01-BookStore-JDBC|Proiect Eclipse]]\\  
 +[[https://​github.com/​aipi2015/​Laborator01/​tree/​master/​solutions/​netbeans/​01-BookStore-JDBC|Proiect NetBeans]]
laboratoare/laborator01.1445187016.txt.gz · Last modified: 2015/10/18 19:50 by Andrei Roșu-Cojocaru
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0