Permalink
Browse files

aggiunta funzionalità di ordinamento agli Work secondo l'inizio dei l…

…avori
  • Loading branch information...
1 parent be8830d commit 9b7838f70ac3bbe499af19bb7011e448c8188db4 Davide Valsecchi committed Jul 27, 2012
@@ -12,7 +12,7 @@
* @author Davide Valsecchi
* @version 1.0
*/
-public class Session implements Comparable{
+public class Session implements Comparable<Session>{
/** Codice di 8 cifre */
private String ID;
@@ -91,7 +91,7 @@ public String getSessionDataString() {
/** Metodo che restituisce la SessionData come oggetto DateString che possiede capacità di ordinamento*/
public DateString getSessionDataDateString(){
- return new Utility.DateString(Utility.formatCalendarToString(this.sessionData));
+ return new Utility.DateString(this.sessionData);
}
public void setSessionData(Calendar calendar) {
@@ -155,7 +155,11 @@ public void setNote(String note) {
}
@Override
- public int compareTo(Object arg) {
- return Utility.compareDate(this.sessionData,((Session) arg).getSessionData());
+ /**
+ * Metodo che compara le Session per l'interfaccia Comparable.
+ * L'ordinamento naturale delle Session è secondo la SessionData
+ */
+ public int compareTo(Session arg) {
+ return Utility.compareDate(this.sessionData,arg.getSessionData());
}
}
@@ -12,7 +12,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.TreeMap;
public class SessionsManager {
@@ -220,7 +219,10 @@ public Session getSessionByHash(String hash)
}
}
- /** Metodo che restituisce tutte le Session nei dati */
+ /**
+ * Metodo che restituisce tutte le Session nei dati ordinati secondo il loro
+ * ordine naturale
+ */
public List<Session> getAllSessions() {
List<Session> all = new ArrayList<>();
for (Session s : sessionsMap.values()) {
@@ -1,6 +1,7 @@
package it.valsecchi.quickagenda.data.component;
import it.valsecchi.quickagenda.data.Utility;
+import it.valsecchi.quickagenda.data.Utility.DateString;
import java.text.ParseException;
import java.util.Calendar;
@@ -12,7 +13,7 @@
* @author Davide Valsecchi
* @version 1.0
*/
-public class Work {
+public class Work implements Comparable<Work>{
/** Codice di 8 cifre */
private String ID;
@@ -23,15 +24,15 @@
private String hash;
/** ID del cliente a cui appartiene il lavoro */
private String costumerID;
- /**Nome del lavoro,identificativo*/
+ /** Nome del lavoro,identificativo */
private String nome;
private String indirizzo;
private Calendar inizioLavori;
private Calendar fineLavori;
private boolean completed = false;
/** Costruttore di Word */
- public Work(String id, String costumerid, String _nome,String _indirizzo,
+ public Work(String id, String costumerid, String _nome, String _indirizzo,
Calendar iniziolavori, Calendar finelavori, boolean _completed) {
ID = id;
costumerID = costumerid;
@@ -41,12 +42,14 @@ public Work(String id, String costumerid, String _nome,String _indirizzo,
fineLavori = finelavori;
completed = _completed;
// si crea l'hash unendo (clienteid,nome,indirizzo,iniziolavori)
- hash = Utility.getHash(costumerID +nome+ indirizzo + Utility.formatCalendarToString(iniziolavori));
+ hash = Utility.getHash(costumerID + nome + indirizzo
+ + Utility.formatCalendarToString(iniziolavori));
}
/** Costruttore di Work con Hash */
- public Work(String id, String costumerid, String _nome,String _indirizzo,
- Calendar iniziolavori, Calendar finelavori, boolean _completed,String _hash) {
+ public Work(String id, String costumerid, String _nome, String _indirizzo,
+ Calendar iniziolavori, Calendar finelavori, boolean _completed,
+ String _hash) {
ID = id;
hash = _hash;
costumerID = costumerid;
@@ -61,20 +64,24 @@ public Work(String id, String costumerid, String _nome,String _indirizzo,
* Metodo statico che restituisce l'hash di un Work identificato dai dati
* parametro.
*/
- public static String calculateWorkHash(String costumereid,String nome,
+ public static String calculateWorkHash(String costumereid, String nome,
String indirizzo, Calendar inizio) {
- return Utility.getHash(costumereid + nome+ indirizzo + Utility.formatCalendarToString(inizio));
+ return Utility.getHash(costumereid + nome + indirizzo
+ + Utility.formatCalendarToString(inizio));
}
/**
- * Metodo che ricalcola l'hash della Work. La assegna al Work e la restituisce.
+ * Metodo che ricalcola l'hash della Work. La assegna al Work e la
+ * restituisce.
+ *
* @return restituisce la nuova hash del Work
*/
- public String recalculateWorkHash(){
- this.hash = Utility.getHash(this.costumerID+this.nome+this.indirizzo+this.getInizioLavoriString());
+ public String recalculateWorkHash() {
+ this.hash = Utility.getHash(this.costumerID + this.nome
+ + this.indirizzo + this.getInizioLavoriString());
return hash;
}
-
+
/** Metodo che calcola l'arco di tempo in cui il lavoro è stato attivo */
public long getWorkNumberOfDays() {
long start = inizioLavori.getTimeInMillis();
@@ -102,46 +109,68 @@ public void setIndirizzo(String indirizzo) {
public Calendar getInizioLavori() {
return inizioLavori;
}
-
- /** Metodo che restituisce l'InizioLavori come stringa già formattata*/
- public String getInizioLavoriString(){
+
+ /** Metodo che restituisce l'InizioLavori come stringa già formattata */
+ public String getInizioLavoriString() {
return Utility.formatCalendarToString(this.inizioLavori);
}
+ /**
+ * Metodo che restituisce l'inizio lavori come oggetto DateString che
+ * possiede capacità di ordinamento
+ */
+ public DateString getInizioLavoriDateString() {
+ return new Utility.DateString(this.inizioLavori);
+ }
+
public void setInizioLavori(Calendar inizioLavori) {
this.inizioLavori = inizioLavori;
}
-
- /**
- * Metodo che imposta l'InizioLavori accettando come parametro una stringa nel formato "dd/MM/yy".
- * @param inizioLavori stringa che rappresenta la data
+
+ /**
+ * Metodo che imposta l'InizioLavori accettando come parametro una stringa
+ * nel formato "dd/MM/yy".
+ *
+ * @param inizioLavori
+ * stringa che rappresenta la data
* @throws ParseException
*/
- public void setInizioLavori(String inizioLavori) throws ParseException{
+ public void setInizioLavori(String inizioLavori) throws ParseException {
this.inizioLavori = Utility.parseStringToCalendar(inizioLavori);
}
public Calendar getFineLavori() {
return fineLavori;
}
-
- /** Metodo che restituisce il FineLavori come stringa già formattata*/
- public String getFineLavoriString(){
+
+ /** Metodo che restituisce il FineLavori come stringa già formattata */
+ public String getFineLavoriString() {
return Utility.formatCalendarToString(this.fineLavori);
}
+ /**
+ * Metodo che restituisce la fine lavori come oggetto DateString che
+ * possiede capacità di ordinamento
+ */
+ public DateString getFineLavoriDateString() {
+ return new Utility.DateString(this.fineLavori);
+ }
+
public void setFineLavori(Calendar fineLavori) {
this.fineLavori = fineLavori;
}
-
- /**
- * Metodo che imposta il FineLavori accettando come parametro una stringa nel formato "dd/MM/yy".
- * @param fineLavori stringa che rappresenta la data
+
+ /**
+ * Metodo che imposta il FineLavori accettando come parametro una stringa
+ * nel formato "dd/MM/yy".
+ *
+ * @param fineLavori
+ * stringa che rappresenta la data
* @throws ParseException
*/
- public void setFineLavori(String fineLavori) throws ParseException{
- this.fineLavori= Utility.parseStringToCalendar(fineLavori);
- }
+ public void setFineLavori(String fineLavori) throws ParseException {
+ this.fineLavori = Utility.parseStringToCalendar(fineLavori);
+ }
public boolean isCompleted() {
return completed;
@@ -162,9 +191,18 @@ public String getHash() {
public String getCostumerID() {
return costumerID;
}
-
- public void setCostumerID(String costumerID){
- this.costumerID= costumerID;
+
+ public void setCostumerID(String costumerID) {
+ this.costumerID = costumerID;
+ }
+
+ @Override
+ /**
+ * Metodo che compara i Work per l'interfaccia Comparable.
+ * L'ordinamento naturale dei Work è l'inizio dei lavori.
+ */
+ public int compareTo(Work arg) {
+ return Utility.compareDate(this.getInizioLavori(),arg.getInizioLavori());
}
}
@@ -5,6 +5,7 @@
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -230,12 +231,16 @@ public Work getWorkByHash(String hash) throws WorkNotFoundException {
}
}
- /** Metodo che restituisce tutti gli Work contenuti nei dati */
+ /**
+ * Metodo che restituisce tutti gli Work contenuti nei dati ordinati secondo
+ * il loro ordine naturale.
+ */
public List<Work> getAllWorks() {
List<Work> all = new ArrayList<>();
for (Work w : worksMap.values()) {
all.add(w);
}
+ Collections.sort(all);
return all;
}
@@ -274,7 +279,7 @@ public String getValidID() {
}
return id;
}
-
+
/**
* Metodo che restituisce il numero di elementi presenti nel WorksManager
*/
@@ -1,6 +1,7 @@
package it.valsecchi.quickagenda.windows;
import it.valsecchi.quickagenda.data.DataManager;
+import it.valsecchi.quickagenda.data.Utility;
import it.valsecchi.quickagenda.data.component.ElementType;
import it.valsecchi.quickagenda.data.component.Work;
import it.valsecchi.quickagenda.data.component.exception.IDNotFoundException;
@@ -463,10 +464,10 @@ public Object getValueAt(int row, int column) {
case 4:
return lavori.get(row).getIndirizzo();
case 5:
- return f.format(lavori.get(row).getInizioLavori().getTime());
+ return lavori.get(row).getInizioLavoriDateString();
case 6:
if (lavori.get(row).getFineLavori() != null) {
- return f.format(lavori.get(row).getFineLavori().getTime());
+ return lavori.get(row).getFineLavoriDateString();
} else {
return "";
}

0 comments on commit 9b7838f

Please sign in to comment.