Aggiunti i javadoc ai metodi e alle classi

Apportate leggeri cambiamenti alla grafica
This commit is contained in:
Simone Argenziano
2013-12-19 14:23:31 +01:00
parent 68886fd406
commit 76445c07b9
14 changed files with 407 additions and 128 deletions

View File

@@ -33,7 +33,7 @@ public class AdminSession {
System.out.println("5 --> Esci");
String sceltaMenu;
System.out.print("Operazione: ");
System.out.print("\nOperazione: ");
Scanner inputData = new Scanner(System.in);
sceltaMenu = inputData.nextLine();
//Controllo input. La scelta deve essere obbligatoriamente compresa tra 1 e 4
@@ -62,6 +62,5 @@ public class AdminSession {
break;
}
}
}

View File

@@ -34,6 +34,12 @@ import java.text.SimpleDateFormat;
*/
public class Catalogo{
/**
* Il costruttore definisce un nuovo catalogo nel caso non sia gia presente.
* @throws FileNotFoundException
* @throws IOException
* @throws ClassNotFoundException
*/
public Catalogo() throws FileNotFoundException,IOException,ClassNotFoundException
{
File f_data = new File("cat_db");
@@ -46,6 +52,12 @@ public class Catalogo{
}
}
/**
* Questo metodo si occupa di serializzare il catalogo (per garantire un minimo di sicurezza) e salvarlo su disco
* @throws FileNotFoundException
* @throws IOException
* @throws ClassNotFoundException
*/
void store_data()throws FileNotFoundException,IOException,ClassNotFoundException{
File f_data = new File("cat_db");
ObjectOutputStream writer = new ObjectOutputStream(new FileOutputStream(f_data));
@@ -70,6 +82,7 @@ public class Catalogo{
else
ClientSession.showClientMenu(this,r, username);
}
/**
* Questo metodo permette l'inserimento di un nuovo deal all'interno del catalogo
* @throws ParseException
@@ -98,81 +111,69 @@ public class Catalogo{
switch(sceltaMenu)
{
case "1":
System.out.println("Localita: ");
System.out.println("---------- Nuova Offerta Vacanza ----------");
System.out.print("Localita: ");
String localita = inputData.nextLine();
System.out.println("Data Partenza (GG/MM/AAAA): ");
System.out.print("Data Partenza (GG/MM/AAAA): ");
String data = inputData.nextLine();
String temp[];
String marcatore="/";
temp = data.split(marcatore);
GregorianCalendar dataPartenza = new GregorianCalendar((Integer.parseInt(temp[2])),(Integer.parseInt(temp[1]))-1,(Integer.parseInt(temp[0])));
/*DateFormat format = new SimpleDateFormat( "dd/MM/yyyy" );
Date date = format.parse(inputData.nextLine());
GregorianCalendar dataPartenza = new GregorianCalendar();
dataPartenza.setTime(date);*/
System.out.println("Data Scadenza offerta (GG/MM/AAAA): ");
System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
String data2 = inputData.nextLine();
String temp2[];
temp2 = data2.split(marcatore);
GregorianCalendar dataScad = new GregorianCalendar((Integer.parseInt(temp2[2])),(Integer.parseInt(temp2[1]))-1,(Integer.parseInt(temp2[0])));
/*date = format.parse(inputData.nextLine());
GregorianCalendar dataScadVacanza = new GregorianCalendar();
dataScadVacanza.setTime(date);*/
System.out.println("Prezzo singola persona: ");
System.out.print("Prezzo singola persona: ");
String prezzo = inputData.nextLine();
double prezzoPSing = Double.parseDouble(prezzo);
catalogoOfferte.add(new Vacanze(Global.get_next_id(), localita, dataPartenza, dataScad, prezzoPSing));
store_data();
break;
case "2":
System.out.println("Ristorante: ");
System.out.println("---------- Nuova Offerta Cena ----------");
System.out.print("Ristorante: ");
String ristorante = inputData.nextLine();
System.out.println("Localita: ");
System.out.print("Localita: ");
String localitaCena = inputData.nextLine();
System.out.println("Descrizione: ");
System.out.print("Descrizione: ");
String descrizioneCena = inputData.nextLine();
System.out.println("Costo a Persona: ");
System.out.print("Costo a Persona: ");
String prezzoCena = inputData.nextLine();
double prezzoPSingCena = Double.parseDouble(prezzoCena);
System.out.println("Data Scadenza offerta (GG/MM/AAAA): ");
String data3 = inputData.nextLine();
System.out.print("Data Scadenza offerta (GG/MM/AAAA): ");
String data3 = inputData.nextLine();
String temp3[];
String marcatore2="/";
temp3 = data3.split(marcatore2);
GregorianCalendar dataScadCena = new GregorianCalendar((Integer.parseInt(temp3[2])),(Integer.parseInt(temp3[1]))-1,(Integer.parseInt(temp3[0])));
/*DateFormat format2 = new SimpleDateFormat( "dd/MM/yyyy" );
date = format2.parse(inputData.nextLine());
GregorianCalendar dataScadCena = new GregorianCalendar();
dataScadCena.setTime(date);*/
System.out.println("Cene da Vendere: ");
System.out.print("Cene da Vendere: ");
String nCene = inputData.nextLine();
int ceneDaVendere = Integer.parseInt(nCene);
catalogoOfferte.add(new CeneInRistoranti(Global.get_next_id(), ristorante, localitaCena, descrizioneCena, prezzoPSingCena, dataScadCena, ceneDaVendere));
store_data();
break;
case "3":
System.out.println("Descrizione: ");
System.out.println("---------- Nuova Offerta Bene ----------");
System.out.print("Descrizione: ");
String descrizioneBene = inputData.nextLine();
System.out.println("Prezzo Bene: ");
System.out.print("Prezzo Bene: ");
String prezzoBene = inputData.nextLine();
int prezzo_bene = Integer.parseInt(prezzoBene);
System.out.println("Quantita in magazzino: ");
System.out.print("Quantita in magazzino: ");
String qntMag = inputData.nextLine();
int qnt_mag = Integer.parseInt(prezzoBene);
@@ -183,9 +184,15 @@ public class Catalogo{
IdCounter.save_counter();
}
/**
* Questo metodo permette la cancellazione di un prodotto dal catalogo
* @throws FileNotFoundException
* @throws ClassNotFoundException
* @throws IOException
*/
public void cancellaProdotto() throws FileNotFoundException, ClassNotFoundException, IOException
{
System.out.println("------ Lista Prodotti -----");
System.out.println("------ Lista Prodotti -----\n--");
for(Utilizzabile deal: catalogoOfferte)
{
if(deal instanceof Vacanze)
@@ -234,6 +241,10 @@ public class Catalogo{
}
}
/**
*
* @param a
*/
public void print_cat_admin (ArrayList<Utilizzabile> a){
for(Utilizzabile deal: a)
{
@@ -268,6 +279,7 @@ public class Catalogo{
}
}
public void print_cat_user (ArrayList<Utilizzabile> a, String location_user_to_compare){
for(Utilizzabile deal: a)
{
@@ -302,19 +314,24 @@ public class Catalogo{
}
}
/**
*
* @param in - data da convertire in millisecondi
* @return - il numero in millisencodi della data passata alla funzione.
*/
protected long convert_calendar_to_int (GregorianCalendar in){
return in.getTimeInMillis();
}
/**
* Questo metodo visualizza le offerte attive del catalogo
* @throws IOException
* @throws ClassNotFoundException
* @throws FileNotFoundException
* Questo metodo visualizza le offerte attive del catalogo. Viene differenziata la visualizzazione in base all'utente.
* - L'amministratore avra' la possibilita' di scegliere l'ordinamento in base dalla data di scadenza o ID prodotti
* - L'utente visualizzera' le offerte attive senza possibilita' di ordinamento
*
* @param user - username utente
* @throws FileNotFoundException
* @throws ClassNotFoundException
* @throws IOException
*/
public void offerteAttive(String user) throws FileNotFoundException, ClassNotFoundException, IOException
{
@@ -328,9 +345,11 @@ public class Catalogo{
System.out.println("2 --> Ordina Per ID");
String choice;
System.out.print("Scelta operazione: ");
choice = reader.nextLine();
for ( ; !(choice.equals("1")) && !(choice.equals("2")) ;){
System.out.println("Scelta Errata. Riprovare");
System.out.print("Scelta operazione: ");
choice = reader.nextLine();
}
@@ -761,36 +780,34 @@ public class Catalogo{
}
/**
* Questo metodo visualizza lo storico degli ordini effettuati dall'utente
* Questo metodo visualizza lo storico degli ordini effettuati dall'utente. rende possibile l'ordinamento in base alla data di scadenza o per prezzo.
*
* @param user
* @throws FileNotFoundException
* @throws ClassNotFoundException
* @throws IOException
*/
public void visualizzaStorico(String user) throws FileNotFoundException, ClassNotFoundException, IOException
{
Scanner reader = new Scanner(System.in);
System.out.println("1 --> Ordina Per Data di Acquisto");
System.out.println("2 --> Ordina Per Costo Prodotto");
String choice;
System.out.print("Opzione: ");
choice = reader.nextLine();
for ( ; !(choice.equals("1")) && !(choice.equals("2")) ;){
System.out.println("Scelta Errata. Riprovare");
System.out.print("Opzione: ");
choice = reader.nextLine();
}
Entry userLogged = Access.get_user_data(user);
System.out.println("########### STORICO ###########");
System.out.println("---------- STORICO ----------");
ArrayList<StoricoItem> storico = userLogged.getStorico();
if (choice.equals("1")){
class CompareDataAcquisto implements Comparator<StoricoItem> {
@Override
@@ -799,7 +816,6 @@ public class Catalogo{
if (e1.getData_acquisto().getTimeInMillis() < e2.getData_acquisto().getTimeInMillis())
return -1;
return 1;
}
}
@@ -816,16 +832,11 @@ public class Catalogo{
if (e1.getPrezzo() < e2.getPrezzo())
return -1;
return 1;
}
}
Collections.sort(storico,new ComparePrezzo());
print_storico (storico);
}
}
protected void print_storico (ArrayList<StoricoItem> in){
@@ -841,7 +852,13 @@ public class Catalogo{
}
public void visualizzaVacanza(Vacanze dealVacanza)
/**
* Questo metodo visualizza una vacanza, descrivendone i suoi dati.
*
* @param dealVacanza - oggetto di tipo Vacanze che rappresenta l'offerta della Vacanza da visualizzare
*/
public void visualizzaVacanza(Vacanze dealVacanza)
{
GregorianCalendar partenza = dealVacanza.getDataPartenzaViaggio();
int giornoP = partenza.get(Calendar.DAY_OF_MONTH);
@@ -854,12 +871,24 @@ public class Catalogo{
System.out.println("#Vacanza-"+dealVacanza.getIdViaggio()+"# Scadenza: "+giornoS+"/"+(meseS+1)+"/"+annoS+"| Localita: "+dealVacanza.getLocalitaViaggio()+"| Partenza: "+giornoP+"/"+(meseP+1)+"/"+annoP+"| Prezzo Pers. Singola: "+dealVacanza.getPrezzoPSingola()+"\n--");
}
/**
* Questo metodo visualizza un Bene di consumo, descrivendone i suoi dati.
*
* @param dealBene - oggetto di tipo beniDiConsumo che rappresenta l'offerta del bene da visualizzare
*/
public void visualizzaBene(BeniDiConsumo dealBene)
{
System.out.println("#Articolo-"+dealBene.getIdBene()+"# Descrizione: "+dealBene.getDescrizioneBene()+" Prezzo: "+dealBene.getPrezzoBene()+"| Quantita in magazzino: "+dealBene.getBeniInStock()+"\n--");
}
/**
*
* Questo metodo visualizza una cena, descrivendone i suoi dati.
* @param dealCena - oggetto di tipo CeneInRistoranti che rappresenta l'offerta della cena da visualizzare
*/
public void visualizzaCena(CeneInRistoranti dealCena)
{
GregorianCalendar scadenzaCena = dealCena.getDataScadenzaOffertaCena();
@@ -868,16 +897,17 @@ public class Catalogo{
int annoSC = scadenzaCena.get(Calendar.YEAR);
System.out.println("#Cena-"+dealCena.getIdCena()+"# Scadenza:"+giornoSC+"/"+(meseSC+1)+"/"+annoSC+"| Ristorante: "+dealCena.getNomeRistorante()+"| Indirizzo: "+dealCena.getLuogo()+"| Descrizione: "+dealCena.getDescrizione_cena()+"| Costo: "+dealCena.getCostoPerPersona()+"| Disponibilita:"+dealCena.getNumCenedaVendere()+"cene"+"\n--");
}
/**
*
* @return - restituisce il catalogo delle offerte
*/
public ArrayList<Utilizzabile> getCatalogo() {
return catalogoOfferte;
}
public boolean testInputData()
{
return true;
}
private ArrayList<Utilizzabile> catalogoOfferte;

View File

@@ -25,7 +25,7 @@ public class ClientSession {
public static void showClientMenu(Catalogo catalogo, ReShow r, String username) throws FileNotFoundException, ClassNotFoundException, IOException {
Entry loggedUser = Access.get_user_data(username);
System.out.println("------------ Menu operazioni ------------");
System.out.println("* Salto totale:"+loggedUser.getBalance()+" *");
System.out.println("-- Salto totale:"+loggedUser.getBalance());
System.out.println("1 --> Acquista Credito"); //Si acquista credito per l'acquisto dei prodotti
System.out.println("2 --> Visualizza Offerte"); //Visualizza le offerte acquistabili
System.out.println("3 --> Acquista"); //Acquisto di un offerta
@@ -60,8 +60,6 @@ public class ClientSession {
case "5":
r.reshow = false;
break;
}
}
}
}