| |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
[Progetto] MailMerge Clicca QUI per vedere il messaggio nel forum |
Lukkei |
Salve ragazzi,
ho creato questo 3d per condividere idee e suggerimenti sulla realizzazione di questo nuovo "entusiasmante" progetto; per quanto mi rigurda, credo che passerò almeno tutta la giornata di oggi a cercare di comprendere l'idea partorita dai prof tentando di decriptare il testo del progetto........ |
Ste Ramone |
ahimè non sei il solo |
Lukkei |
sarà che ho qualche problema io, ma per me la cosa più difficile è davvero capire il testo... |
AnTHrAx |
a me pare di aver capito così, ditemi se sbaglio:
Abbiamo
txt con i nomi delle variabili (primo nome, secondo nome, cognome ecc..)
txt con i valori di persone a caso ( marco rossi ecc.)
txt con modelli di documenti email e rapporti (possibili testi con dei campi in cui inserire i nomi)
noi dobbiamo:
Leggere il file dei nomi
Leggere il file dei valori
Leggere il file dei modelli ed inserire al posto dei campi vuoti (facendo un check con il file delle variabili) e inserirci al loro posto i valori delle persone e , seguendo le regole di formattazione del testo che sono scritte nel progetto, stamparli a video e salvarli uno per uno.
questo credo sia il concetto base... |
dria81 |
Ciao ragazzi,volevo chiedervi una cosa che dalle specifiche del testo non ho ben capito: in pratica non mi è ben chiara la differenza tra le due classi DocumentProcessor e BatchProcessor....
Grazie a tutti.
PS: concordo con te AnTHrAx, penso che quello che chiede sia proprio questo! |
Jaky |
raga, nel testo non si parla del main.....quindi non va fatto? |
Dattebayo |
Il main ce l'hanno in mano i professori... non faranno altro che richiamare i metodi che obbligatoriamente dobbiamo implementare... |
AnTHrAx |
eh? non ho capito... come non dobbiamo fare il main?? |
Jaky |
Originally posted by Dattebayo
Il main ce l'hanno in mano i professori... non faranno altro che richiamare i metodi che obbligatoriamente dobbiamo implementare...
tipo? :shock: |
IsaMetallo |
la faccenda della mancanza del main era un mistero anche degli altri progetti... io personalmente lo metterò nel progetto, perchè mi sembra assurdo non farlo... riguardo all'interpretazione del testo, in effetti fa sorgere molti dubbi. le due classi processor sono abbastanza inutili, poichè la batch richiama quella document... io ho già scritto al malchiodi per qualche dubbio, e aspetto le varie risposte... |
Jaky |
qualcuno di voi sa spiegarmi come comportarsi con le sequenze di escape?
ad esempio del file dei valori prelevo i vari token mettendo come divisore la virgola, però se c'è il \, la vede come virgola ed effettua il taglio...voi come fate?
stessa cosa vale per il file dei modelli dove ci possono essere \< oppure \> |
xmantex |
altra cosa... al punto 7 il testo del progetto dice:
utilizzare un’interfaccia all’interno del progetto, nel punto ritenuto piu opportuno;
secondo voi dove è meglio utilizzarla? io direi per i tipi di documento... correggetemi pure |
IsaMetallo |
sinceramente non ne ho idea, non ne vedo la necessità... sarà che ho parecchi dubbi, ma mi sembra che il progetto sia spiegato in maniera più complicata di quello che in effetti serva (esattamente come gli altri due....)
p.s.: non so se è il caso di parlare qui di dettagli così specifici... |
sHADOw001 |
Come sempre, è il testo che manda in confusione..ho una domanda,spero che qualcuno sappia aiutarmi!
Non capisco cosa intenda con "inserire in ognuna delle classi descritte al punto precedente un costruttore che permetta di creare un’istanza specificando come argomenti tutti gli elementi che compongono un documento (anche se per ragioni di efficienza nel codice potrà essere sensato invocare tali costruttori specificando null al posto di uno o più argomenti); " punto 7, pagina 5.
'Sti costruttori devono o non devono avere argomenti?
EMail prova = new EMail(con o senza argomenti?);
Sarà che è mezzanotte,ma non capisco..
Grazie in anticipo! |
Jaky |
"anche se per ragioni di efficienza nel codice potrà essere sensato invocare tali costruttori specificando null al posto di uno o più argomenti"
non vuol dire che il costruttore non ha argomenti, ma che, quando crei un oggetto di tipo, ad esempio Documento, al posto di un valore ci puoi mettere null
es. Document d = new Document(pippo, null);
crei un documento il cui autore è pippo, e come argomento data ci metti null...capito?
inoltre in una classe puoi avere + di un costruttore...sia con argomenti che senza ;)
ps: ma c'è nessuno che ha mandato delle domande hai prof? a me non hanno ancora risp. Nessuno che ha preso appuntamento per ricevimento? cazzola non c'è scritto il giorno, e malchiodi solo di venerdì.....nessuno sa se c'è qualcun altro, tipo tutor, a cui fare riferimento? |
dria81 |
Ciao ragazzi,
siccome il prof non risponde volevo chiedere a voi circa la data dei documenti: nel file documents.txt c'è già una data ma non devo prendere quella bensì crearne una io (quella vera di creazione del documento) giusto?
Grazie a tutti! |
IsaMetallo |
io ho fatto ben tre e-mail al malchiodi e una al cazzola, tutte senza risposta... perciò noi faremo un pò come ci pare (certo che se in questi quindici giorni magari rimanessero disponibili non sarebe male)... più lavoro a questo progetto più mi incasino... riguardo alla data la cosa è dubbiosa perchè è presente nei modelli ma nel testo parla di gestirla, perciò probabilmente bisognerà cancellarla e aggiornarla (l'ho chiesto ai prof, ma come detto prima, boh).... poi altra cosa: in pratica il main non deve far altro che instanziare un oggetto batchprocessor e processare tutto il file dei modelli giusto? e soprattutto, i file si suppongono sintatticamente corretti vero?? l'unico controllo che si dovrebbe fare sono le variabili.... a sto punto su queste interpretazioni ragionamoci su insieme, è l'unico modo... |
Jaky |
Originally posted by IsaMetallo
riguardo alla data la cosa è dubbiosa perchè è presente nei modelli ma nel testo parla di gestirla, perciò probabilmente bisognerà cancellarla e aggiornarla (l'ho chiesto ai prof, ma come detto prima, boh)
secondo me, la data, per l'elaborazione di documenti singoli va messa quella corrente e per l'elaborazione dei gruppi di documenti va messa quella già presente, oppure come dici tu bisognerà aggiornarla...
Originally posted by IsaMetallo
e soprattutto, i file si suppongono sintatticamente corretti vero??
mm..direi di no, c'è scritto a pagina 5 punto 7:
definire un'eccezione Wrong...., DA LANCIARE OGNI VOLTA CHE NON VENGONO RISPETTATI I FORMATI DESCRITTI IN QUESTO DOCUMENTO...
ed i formati sono proprio la sintattica :sad: |
-MaVeRiK86- |
Ciao a tutti,
Non mi è chiaro il passaggio della creazione dell'istanza di un doucumento,report o email..ognuno di questi documenti ha un numero variabile n di elementi che lo possono comporre e pertanto non è possibile sapere a priori il numero di variabili da assegnare al prototipo del costruttore;ed è quindi sensato,come descritto nel testo,lasciare null.Ma non capisco, se non so a priori il numero, non è più sensato lasciare il costruttore privo di argomenti e poi, tramite appositi metodi presenti nella classe, assegnare tali valori?Voi come avete risolto? |
Jaky |
Originally posted by -MaVeRiK86-
Ciao a tutti,
..ognuno di questi documenti ha un numero variabile n di elementi che lo possono comporre
:shock: non c'è scritta da nessuna parte una cosa del genere |
-MaVeRiK86- |
Forse allora non ho capito un c***o io, cosa molto probabile..sul testo dice : "...specificando come argomenti tutti gli elementi che compongono un documento...".Cosa sono allora questi elementi di cui parla?Io avevo avevo che fossero ad esempio il nome,l'autore,data,titolo,etc...e se qualcuno in un dato modello non era specificato, si lasciava null...o sto dicendo cazzate?help.. |
IsaMetallo |
sul controllo die file dei modelli hai purtoppo ragione... è un casino infernale... qualcuno ha qualche idea per risolvere il dilemma delle due classi processor? |
IsaMetallo |
però farei notare una cosa:
pagina sei decima riga:
- rispettare alla lettere il formato per i file di input e di output e per le visualizzazioni a schermo
questo non implica che si dia per scontato che l'input sia corretto? perchè come si potrebbe mai controllare un file dei modellio che per sua natura stessa è variabile? anche se fosse possibile verrebbe scritto più codice per controllare quel file che il programma stesso, alla faccia delle 400 linee... |
Lukkei |
Originally posted by -MaVeRiK86-
Forse allora non ho capito un c***o io, cosa molto probabile..sul testo dice : "...specificando come argomenti tutti gli elementi che compongono un documento...".Cosa sono allora questi elementi di cui parla?Io avevo avevo che fossero ad esempio il nome,l'autore,data,titolo,etc...e se qualcuno in un dato modello non era specificato, si lasciava null...o sto dicendo cazzate?help..
Anch'io l'ho intesa così, ovvero che gli elementi che compongono un documento sono i vari: autore, data, titolo, etc...ho pensato ad una superclasse astratta il cui costruttore abbia come argomenti le voci comuni (autore, data e titolo), superclasse da estendere con le varie Document, Report, Email, ovviamente "estendendo" gli specifici costruttori....spero di essere sulla strada giusta |
-MaVeRiK86- |
Originally posted by Lukkei
Anch'io l'ho intesa così, ovvero che gli elementi che compongono un documento sono i vari: autore, data, titolo, etc...ho pensato ad una superclasse astratta il cui costruttore abbia come argomenti le voci comuni (autore, data e titolo), superclasse da estendere con le varie Document, Report, Email, ovviamente "estendendo" gli specifici costruttori....spero di essere sulla strada giusta
guarda,sto facendo esattamente come te..e lo spero vivamente anche io |
Lukkei |
non ho ancora ben capito dove implementare un'interfaccia, ma forse perchè non sono ancora arrivato ad averne effettivamente bisogno...qualcuno ha qualche idea? |
Jaky |
qualcuno di voi ha capito come comportarsi con le date? 0_o |
nasty121 |
Ciao a tutti!
come al solito dobbiamo decodificare il testo dei professori...
Malchiodi purtroppo risponde SOLO in orario di ricevimento, quindi di venerdì, perciò fino ad allora o ci rimbocchiamo le maniche e non perdiamo tempo (facile a dirsi), oppure si aspettano le risposte (ma sapete bene che è meglio non perdere 1SECONDO...)
Avrei una domanda sul progetto:
come deve funzionare il programma?
1) leggo il file modello
2) leggo il file delle variabili e le confronto con quelle contenute nel doc
3) leggo il file dei valori e li sostituisco alle corrispettive variabili
4) visualizzo o salvo il documento "mergiato" (suona male)
Erro o dovrebbe funzionare così in linea generale? |
-MaVeRiK86- |
Mi sto incasinando, come sempre.
Se per creare un'istanza di DocumentProcessor debbo scrivere una cosa come:
DocumentProcessor doc = new DocumentProcessor(mail, "nomi.txt" , "valori.txt");
Ora, l'istanza 'mail' la devo aver creata prima di andarla a passare al costruttore di DocumentProcessor.Ma se il costruttore di EMail richiede che gli vengano passati gli elementi che lo compongono (almeno io ho capito così), com'è possibile?
Probabilmete non ho ben capito a cosa servano le tre istanze dei tre tipi di documento e sopratutto, cosa contengono.
Cioè, io cosa ci metto dentro a un Email o Report quando lo creo e successivamente, quano lo passo a DocumentProcessor?
Qualcuno che ha capito sarebbe cosi gentile da spiegarmi un po' la logica e la sequenza?
Mille grazie in anticipo,i prof non mi rispondono!! |
nasty121 |
Originally posted by -MaVeRiK86-
Mi sto incasinando, come sempre.
Se per creare un'istanza di DocumentProcessor debbo scrivere una cosa come:
DocumentProcessor doc = new DocumentProcessor(mail, "nomi.txt" , "valori.txt");
Ora, l'istanza 'mail' la devo aver creata prima di andarla a passare al costruttore di DocumentProcessor.Ma se il costruttore di EMail richiede che gli vengano passati gli elementi che lo compongono (almeno io ho capito così), com'è possibile?
Probabilmete non ho ben capito a cosa servano le tre istanze dei tre tipi di documento e sopratutto, cosa contengono.
Cioè, io cosa ci metto dentro a un Email o Report quando lo creo e successivamente, quano lo passo a DocumentProcessor?
Qualcuno che ha capito sarebbe cosi gentile da spiegarmi un po' la logica e la sequenza?
Mille grazie in anticipo,i prof non mi rispondono!!
Credo di aver capito che in base alla formattazione del documento (es BEGIN Document) istanziamo il corrispettivo doc, che poi "riempiremo" con i CONTENUTI (autore, data, indirizzo, etc)....
finita la creazione lo passiamo come argomento a new DocumentProcessor(xxx, f_var, f_val);
che lo "mergerà" tramite il metodo process().
o no?
Qualcuno ha obiezioni? |
Lukkei |
Se non ho capito male, il file dei modelli va passato solo alla BatchProcessor e non alla DocumentProcessor.... |
-MaVeRiK86- |
Ca*** hai proprio ragione Lukkei, non avevo letto questo punto bene.Infatti non capivo dove andasse a finire il file dei modelli.. |
Lukkei |
Originally posted by Jaky
qualcuno di voi ha capito come comportarsi con le date? 0_o
io ho creato un metodo che me la genera, formatta ed inserisce nel formato richiesto, ma visto che non è specificato se la data dev'essere inserita dall'utente o presa da sistema, non mi resta che sperare di aver avuto la giusta intuizione... |
AnTHrAx |
Ma....
Se io ho per ipotesi 50 valori (mario rossi carlo rossi giacomo rossi ec...) nel file dei nomi e 3 modelli (email doc e report) nel file dei modelli... per ogni modello utilizzo 50 valori (quindi vengono 150 file) o uso tanti valori quanti sono i modelli? (quindi 3..) |
dria81 |
Secondo me la prima ipotesi... ripeto il modello per tutti i valori presenti nel file dei valori!
Però avevo un dubbio... per esempio nel file "documents" nell'ultimo documento (un report) non compaiono varibili da sostituire! In questo caso il documento non andrebbe ripetuto per tutti i valori, giusto?
Grazie. |
Jaky |
Originally posted by Lukkei
io ho creato un metodo che me la genera, formatta ed inserisce nel formato richiesto, ma visto che non è specificato se la data dev'essere inserita dall'utente o presa da sistema, non mi resta che sperare di aver avuto la giusta intuizione...
no bè..per quello ok, ma quello che non capisco è, se si utilizza come fonte il file dei modelli, i vari modelli contengono già delle date; con la procedura di mail merge le date nei documenti creati dovranno essere le stesse riportate nel file dei modelli, oppure dovranno essere sostituite con la nuova data di creazione? |
nasty121 |
Ragazzi, quando parla di ARRAY di numero elementi sconosciuto, voi cosa credete intenda?
sicuramente ci vorrà un'array dinamico (io pensavo alla classe ArrayList del pacchetto standard di Java) voi cosa ne dite???? |
-MaVeRiK86- |
Originally posted by nasty121
Ragazzi, quando parla di ARRAY di numero elementi sconosciuto, voi cosa credete intenda?
sicuramente ci vorrà un'array dinamico (io pensavo alla classe ArrayList del pacchetto standard di Java) voi cosa ne dite????
Si sono d'accordo, direi che i vettori sono la soluzione migliore.Tra l'altro in java sono implementati molto bene e li scorri come un normale array
java.util.Vector e java.util.ArrayList |
Supernick |
Ragazzi, quando parla di ARRAY di numero elementi sconosciuto, voi cosa credete intenda?
sicuramente ci vorrà un'array dinamico (io pensavo alla classe ArrayList del pacchetto standard di Java) voi cosa ne dite????
Secondo me, come nel HTML Validator bisognerà implementare uno Stack!
Anche se non ho capito bene il motivo del loro utilizzo, o comunque di un array dinamico... :(
Azz che casino :S |
Deglia |
nel testo dice che nn si possono usare librerie esterne...quindi nemmeno la prog che c'è sul sito di cazzola?intendo quella che contiene le classi sequenza e frazione usate a lezione... |
-MaVeRiK86- |
Originally posted by Deglia
nel testo dice che nn si possono usare librerie esterne...quindi nemmeno la prog che c'è sul sito di cazzola?intendo quella che contiene le classi sequenza e frazione usate a lezione...
no, solo le API standard di java |
-MaVeRiK86- |
Ok ragazzi, faccio appello a coloro che hanno capito questo dannato progetto (probabilmente sono l'unica p*** :D a non averlo capito) sperando nella loro pazienza e prometto di non rompere più :D.
Sostanzialmente il progetto si divide in due: una parte relativa alla processazione del DocumentProcessor per un singolo documento e l'altra del BatchProcessor.
Al paragrafo 5 , pagina 3 descrive i passaggi essenziali per il mail merge relativo a un singolo documento, operazione che compierà un'istanza di DocumentProcessor.
Ma nella pratica non ho capito un 'azzo.
1) Cosa vuol dire "creerà un documento i cui contenuti faranno riferimento a una o più variabili; "Cioè cos'è questo 'documento'?Un file di testo?Una struttura fissa definita in una classe?Da dove lo prendo?
2)Come lo riempo con le variabili segnaposto?Cioè fisicamente dove e come devo creare la struttura di questo singolo documento modello da "mergiare"?Devo definire tutto nella sua classe di appartenenza(mail,report,document)?E sopratutto, come faccio a riempirlo con le variabili segnaposto?
EMail prova = new EMail(/*sono queste le variabili segnaposto da inserire nel modello?*/);
prova, una volta completo della sua struttura, potrà essere passato al costruttore del DocumentProcessor per essere "mergiato" secondo il file dei nomi/valori.
Ciò che mi manca di capire è proprio dove devo definire la struttura di questi tre documenti e come li riempo di volta in volta con le varie variabili segnaposto prima di darli in pasto al DocumentProcessor..sto impazzendo..
In BatchProcessor è semplice..è il file dei modelli a definire il tutto, ma qui proprio non capisco..abbiate pazienza/pietà :D
Ringrazio in anticipo chi si sbatterà a leggere sta solfa e magari mi darà qualche dritta! |
Lukkei |
io ho capito che il documento/mail/report singolo da istanziare in DocumentProcessor lo crei attraverso gli argomenti passati ai relativi costruttori... |
polar |
mmm ma così come fai a stabilire il testo base (quello che non cambia ) del documento? |
Lukkei |
Originally posted by polar
mmm ma così come fai a stabilire il testo base (quello che non cambia ) del documento?
con un metodo creato ad hoc |
-MaVeRiK86- |
Cioè praticamente io nella mia classe mi creo dei metodi ad hoc con i testi prestabiliti descritti nella consegna, con la possibilità di accogliere variabili segnaposto che passo al costruttore dell'istanza della classe.Cosi da avere in output un'istanza contenente il testo base descritto dai miei metodi e variabili segnaposto passate al costruttore..ho capito bene? |
ufficiale86 |
Raga scusate ma da quello ke ho capito io il documento non ha 1testo...nel file dei modelli del prof dove c'è BEGIN Document c'è solo l'autore e la data...mentre in BEGIN email c'è anke il testo!!
Da quello ke ho capito io un documento ha solo autore e data, una mail ha autore e data + indirizzo di posta,oggetto e TESTO(vedi 1°pagina), report ha autore e data + indirizzo autore,titolo,paragrafi cn titolo e contenuto.
Se andate sul file dei modelli vi accorgerete ke il documento non ha testo!
Il mio problema è 1altro....la lettura dai file dei nomi e delle variabili la faccio nelle classe dei doc(documenti,mail,report) o da 1altra parte??
Voi avete fatto 1classe astratta document(poi estesa da mail,report) oppure document come classe concreta sempre estendibile?? |
-MaVeRiK86- |
Originally posted by ufficiale86
Raga scusate ma da quello ke ho capito io il documento non ha 1testo...nel file dei modelli del prof dove c'è BEGIN Document c'è solo l'autore e la data...mentre in BEGIN email c'è anke il testo!!
Da quello ke ho capito io un documento ha solo autore e data, una mail ha autore e data + indirizzo di posta,oggetto e TESTO(vedi 1°pagina), report ha autore e data + indirizzo autore,titolo,paragrafi cn titolo e contenuto.
Se andate sul file dei modelli vi accorgerete ke il documento non ha testo!
Il mio problema è 1altro....la lettura dai file dei nomi e delle variabili la faccio nelle classe dei doc(documenti,mail,report) o da 1altra parte??
Voi avete fatto 1classe astratta document(poi estesa da mail,report) oppure document come classe concreta sempre estendibile??
Ok , questo è vero per la processazione dei file con il BatchProcessor, a quanto ho capito.In questo caso vi è anche un terzo file chiamato file dei modelli contentente diverse strutture da parsare e riempire con i valori degli altri due file, tant'è che per istanziare un oggetto di tipo BatchProcessor gli argomenti sono : file_dei_modelli, file_dei_nomi, file_dei_valori.
La lettura delle variabili dei nomi e dei valori per il singolo documento deve essere fatta, a quanto ho capito, all'interno del DocumentProcessor, ma bisogna avere comunque un'istanza di una mail,report o documento ancora "neutra" da riempire con i valori estratti;e il mio dubbio è proprio qui:da dove recupero questra struttura da riempire (cioè la devo creare nelle tre classi dei doc credo).Poi su come strutturarle anche io ho fatto una classe Model che estende questi tre documenti. |
Jaky |
Originally posted by -MaVeRiK86-
e il mio dubbio è proprio qui:da dove recupero questra struttura da riempire (cioè la devo creare nelle tre classi dei doc credo).
non è una cosa che recuperi..ce li piazzi tu prima a mano quando crei l'istanza.
semplicemente farai es
Email e = new Email(gli passi tu tutti gli argomenti che servono);
String a= "parameter-names.txt";
String b= "parameter-values.txt";
DocumentProcessor dp = new DocumentProcessor(e,a,b);
dp.process(); |
polar |
scusate ma non mi è ancora chiaro ...
prendiamo per esempio un'e-mail, ok per il nome dell'autore, la data, l'indirizzo, l'oggetto, ma il testo del mex (che conterrà a sua volta dei campi che dovrò modificare) dove vado a prenderlo???
Mi riferisco sempre nel caso del documento singolo non del file dei modelli
Grazie |
-MaVeRiK86- |
Originally posted by polar
scusate ma non mi è ancora chiaro ...
prendiamo per esempio un'e-mail, ok per il nome dell'autore, la data, l'indirizzo, l'oggetto, ma il testo del mex (che conterrà a sua volta dei campi che dovrò modificare) dove vado a prenderlo???
Mi riferisco sempre nel caso del documento singolo non del file dei modelli
Grazie
Esatto, dove lo prendo? Cioè lo devo creare io dentro la classe?Le variabili ok, le passo al costruttore..ma il testo che non cambia?
Abbiate pazienza..grazie! :D |
Jaky |
io propongo che domani chi può vada dal prof, e poi postiamo le risposte |
Supernick |
Scusate ho letto il messaggio di prima e ho confrontato con quanto fatto:
Il DocumentProcessor viene istanziato specificando
- Istanza generico documento o mail o report
- file nomi
- file valori
ok ma come faccio a istanziare il generico documento O mail O report??
io ho creato una GeneralDocument che è superclasse astratta dei 3 tipi di documenti, ma essenso classe astratta non posso istanziarla....
quindi nel costruttore che devo fare? devo mettere coem parametri tutti i tre tipi di documenti o cosa??
grazie per l'attenzione |
-MaVeRiK86- |
Originally posted by Supernick
Scusate ho letto il messaggio di prima e ho confrontato con quanto fatto:
Il DocumentProcessor viene istanziato specificando
- Istanza generico documento o mail o report
- file nomi
- file valori
ok ma come faccio a istanziare il generico documento O mail O report??
io ho creato una GeneralDocument che è superclasse astratta dei 3 tipi di documenti, ma essenso classe astratta non posso istanziarla....
quindi nel costruttore che devo fare? devo mettere coem parametri tutti i tre tipi di documenti o cosa??
grazie per l'attenzione
Ti istanzi un Report, un Document o un EMail, classi ereditate dalla tua classe padre astratta,giusto?
Tipo
EMail mail = new EMail(/*qui ancora non ho capito che metterci*/);
'mail' ora lo devi passare al costruttore del DocumentProcessor
DocumentProcessor p = new DocumentProcessor(mail, "nomi.txt" , "valori.txt" );
p.process();
I parametri da lasciare nella superclasse astratta conviene che siano solo quelli condivisi,e per ogni sottoclasse specifici quelli della classe.Boh almeno io ho capito così..
@Jaky
Hai ragione.Chi domani potrebbe andare dal prof?Potremmo preparare una lista di domande da fare.Io non ci sono purtroppo |
nasty121 |
Io e il mio socio di gruppo domani andiamo da Malchiodi e poniamo delle domande.
se avete dubbi e domande postate pure la lista, che stamperemo e presenteremo al professore domani a ricevimento.
AH, sul sito di Malchiodi dice che settimana salta il giorno di ricevimento x impegni, perciò vi conviene pensare bene le domande da fare entro domani poichè NON CI SARANNO ALTRE POSSIBILITA' DI COMUNICAZIONE CON IL DOCENTE!!!
come al solito i docenti sono disponibilissimi....
quindi se avete questions.... |
ufficiale86 |
Allora visto che nessuno si fa avanti lo faccio io volentieri....
Allora potresti chiedere questo:
1. Le date presenti sul file dei modelli, una volta mergati i documenti contenuti in quel file, andranno aggiornate alla data corrente oppure vanno lasciate quelle del file??(che non sono aggiornate)
2.Dove va usata l'interfaccia(domanda troppo generica?!:?)
3.Nel punto 6 dice che bisogna creare una directory dove andare a salvare i documenti...la directory va creata manualmente o con java??(cosa ke nn so fare)
4.Il caricamento del file dei nomi e del file dei valori va fatto nella varie sottoclassi del Documento??(document,email,report)??
Queste sono le domande che riesco a postare ora...se qualcuno sa rispondere risponda qui grazie così evitiamo la brutta figura hai nostri gentilissimi colleghi.....
Grazie mille per la disponibilità |
-MaVeRiK86- |
Inizio io
1) Una possibile domanda è dove implementare l'interfaccia (io avevo pensato o per l'escape dei caratteri o per il contatore)
2) Per incrementare il contatore universale per i nomi dei file le vie sono due a mio avviso: scorrere l'intera cartella salvandosi in un vettore la lista dei nomi, e tramite un apposito metodo estrapolarne i valori numerici da incrementare (soluzione da brivido), oppure creare un txt con il valore più alto da leggere alla creazione di ogni nuovo documento, report o mail.Mi sembrerebbe più sensata la seconda, ma ho paura a creare file al di fuori di quelli richiesti, voi che ne dite?
3) La domanda ormai posta in mille salse ma che ancora mi manda in bestia : per i singoli documenti da passare a DocumentProcessor, DOVE devo creare le parti "statiche" del messaggio?Ovvero il modello di EMail, Report e Document dove è descritto? Nel BatchProcessor è nel file dei modelli, ma nel DocumentProcessor come lo creo?
Per quando mi riguarda,sono le domande che più mi stanno mandando a male.. |
Lorux |
raga sentite un attimo..
la classe DocumentProcessor serve a creare documenti con i file dei valori e modelli,partendo da un documento,mail,o report gia creato
la classe batchprocessor invece crea documenti,mail e report dal file dei modelli e poi li compila
mi chiedo xò che senso ha fare 2 metodi process per ognuna della classe precedente,nn sarebbe + comodo usare un document processor dentro al batch? |
ufficiale86 |
Raga ma voi avete creato 1classe astratta tipo GeneralDocument che viene estesa da 3 sottoclassi che rappresentano i documenti possibili??
Ah scusate 1cosa...ma cosa vuol dire quando il prof nel testo dice( punto 7): "per ragioni di efficienza nel codice potrà essere sensato invocare tali costruttori specificando null al posto di uno o più argomenti)?? |
-MaVeRiK86- |
Bella domanda..guarda, domani avremo sicuramente le risposte dopo che nasty avrà parlato con il docente.
Se ho capito bene e cioè che all'interno delle sotto classi come ad esempio EMail vi è la struttura 'statica' (il modello) della mail da mergiare, i vari argomenti non sono altro che le variabili segnaposto da inserire all'interno di questa struttura.E' possibile però che il docente decida di creare una mail magari senza oggetto, e quindi quell'argomento vada lasciato null..contradditemi se sbaglio.. |
Lukkei |
mi pare di capire che sono l'unico ad aver creato un metodo per l'inserimento "dinamico" del documento/mail/report da processare con la DocumentProcessor.....quindi a questo punto la domanda che vorrei porre ai Prof è:
"Il documento/mail/report da processare con DocumentProcessor dev'essre creato in runtime dall'utente o dev'essere preconfezionato nelle rispettive classi?" |
-MaVeRiK86- |
Lukkei una domanda, e come fai a crearlo in runtime? Se almeno la struttura statica non è precofenzionata nella sua rispettiva classe, vorrebbe dire passare l'intero documento/report/mail al suo costruttore, o non ho capito? |
Lukkei |
gli passo delle stringhe che poi memorizzo in una List...
cosa che chiaramente non crea problemi soltanto se la data non è presa da sistema, altrimenti dovrei rivedere qualcosina... |
xmantex |
raga un'altra cosa, il testo dice che i documenti generati andranno salvati in un'apposita cartella che andrà creata se non esiste
come facciamo a sapere se esiste o meno? che nome deve avere o bisogna dare alla suddetta directory? come ci si comporta in caso di batch? tutti i file alla rinfusa nella cartella o suddivisione?
ho provato a mailare il professore ma non ho ancora avuto risposta, se il gruppo che va domani volesse aggiungere le sopracitate domande da chiedere... |
nasty121 |
Originally posted by ufficiale86
Allora visto che nessuno si fa avanti lo faccio io volentieri....
Allora potresti chiedere questo:
1. Le date presenti sul file dei modelli, una volta mergati i documenti contenuti in quel file, andranno aggiornate alla data corrente oppure vanno lasciate quelle del file??(che non sono aggiornate)
2.Dove va usata l'interfaccia(domanda troppo generica?!:?)
3.Nel punto 6 dice che bisogna creare una directory dove andare a salvare i documenti...la directory va creata manualmente o con java??(cosa ke nn so fare)
4.Il caricamento del file dei nomi e del file dei valori va fatto nella varie sottoclassi del Documento??(document,email,report)??
Queste sono le domande che riesco a postare ora...se qualcuno sa rispondere risponda qui grazie così evitiamo la brutta figura hai nostri gentilissimi colleghi.....
Grazie mille per la disponibilità
ciao Maverick (scusa la confidenza :D)
domani provvederò a fare le domande a Malchiodi.
A qualcuno provo a risponderti io, ma sai ovviamente k è una MIA interpretazione del testo codificato dai docenti.
1. chiederò..
2. non credo k mi risponderà e sinceramente non l'ho ancora trovato il dove;
3. chiederò (penso bisogna vedere le librerie di I/O di Java;
4. Il caricamento dei file dovrebbe con l'istanza dei PROCESSORI, credo... ma chiederò cmq
se qualcuno vuole venir ein comelico a ricevimento, magari si scambiano 2chiacchere sul progetto e magari scatta anke qlke amicizia (ke nella vita non fanno male)
ora segno anke le altre domande!
buon lavoro e buona serata compagni |
-MaVeRiK86- |
Grazie nasty, o nostro rappresentante :D
Sarei venuto molto volentieri anche io ma purtroppo non ci sono!
Spero vivamente che il docente domani si dimostri comprensivo e ci dia qualche dritta per andare avanti..
Buona serata! |
nasty121 |
Originally posted by nasty121
ciao Maverick (scusa la confidenza :D)
domani provvederò a fare le domande a Malchiodi.
A qualcuno provo a risponderti io, ma sai ovviamente k è una MIA interpretazione del testo codificato dai docenti.
1. chiederò..
2. non credo k mi risponderà e sinceramente non l'ho ancora trovato il dove;
3. chiederò (penso bisogna vedere le librerie di I/O di Java;
4. Il caricamento dei file dovrebbe con l'istanza dei PROCESSORI, credo... ma chiederò cmq
se qualcuno vuole venir ein comelico a ricevimento, magari si scambiano 2chiacchere sul progetto e magari scatta anke qlke amicizia (ke nella vita non fanno male)
ora segno anke le altre domande!
buon lavoro e buona serata compagni
che scem* ho risposto a ufficiale, non a te Maverick..
ora quoto anke le tue domande. |
nasty121 |
Originally posted by -MaVeRiK86-
Inizio io
1) Una possibile domanda è dove implementare l'interfaccia (io avevo pensato o per l'escape dei caratteri o per il contatore)
2) Per incrementare il contatore universale per i nomi dei file le vie sono due a mio avviso: scorrere l'intera cartella salvandosi in un vettore la lista dei nomi, e tramite un apposito metodo estrapolarne i valori numerici da incrementare (soluzione da brivido), oppure creare un txt con il valore più alto da leggere alla creazione di ogni nuovo documento, report o mail.Mi sembrerebbe più sensata la seconda, ma ho paura a creare file al di fuori di quelli richiesti, voi che ne dite?
3) La domanda ormai posta in mille salse ma che ancora mi manda in bestia : per i singoli documenti da passare a DocumentProcessor, DOVE devo creare le parti "statiche" del messaggio?Ovvero il modello di EMail, Report e Document dove è descritto? Nel BatchProcessor è nel file dei modelli, ma nel DocumentProcessor come lo creo?
Per quando mi riguarda,sono le domande che più mi stanno mandando a male..
ecco:
1) su dove implementare l'interfaccia non so e dubito che mr. docente me lo suggerirà domani;
2)non ho capito la soluzione del contatore universale (puoi riesporlo gentilmente). io salvo la posizione n della variabile nel file dei nomi e la confronto con la stessa posiz. nella riga del file dei valori;
3)al costruttore di DocumentProcessor, e dev'esser chiaro x tutti, va passata l'ISTANZA di un Document, EMail o Report.
La parte statica è il testo senza < e > (<primo nome> è variabile), io sto usando gli array dinamici e forse ne abuso, ma non vedo altre alternative.... |
AnTHrAx |
io nn ho ancora capito bene qual'è la differenza tra batchprocessor e documentprocessor...
del tipo io farei leggere al batch tutto il file dei documenti e spezzerei i singoli documenti da mandare poi a documentprocessor che elabora singolarmente (creando un array un vettore o una mappa) il contenuto tra le stringhe begin ed end...
solo che nn so... non mi convince piu di tanto xke sul test oc'è scritto che il batchprocessor elabora tutti i documenti e devono essere letti anche il file dei nomi e delle variabili che in ciò che ipotizzavo io risultano inutili...
accetto volentieri aiuti :| |
IsaMetallo |
hai interpretato giusto... ho chiesto al prof e a quanto si è capito è così: la classe batch processor si occupa di suddividire il file die modelli in oggetti di diverso tipo e li manda a documentProcessor per il procedimento di merge... |
Jaky |
nasty121 facci sapere com'è andata dal prof ;) |
nasty121 |
Bene.
Ciao a tutti!
scusate se nn sono riuscito a scrivervi ieri.
Ho tenuto in ballo il professore per circa un ora e son riuscito a estrapolare qualche informazione, tramite le vostre domande.
Suggerimenti:
1) le date (da stringhe) vanno gestite come oggetti di una determinata libreria di Java e NON vanno aggiornate durante la "mergiatura"
2) l'interfaccia (ha riso) non ce lo viene a dire dove implemetarla, PERO' dobbiamo sfruttare la sua funzionalità (ovvero il definire caratteristiche comuni a + sottoclassi k la implementano)
3) Le directory vanno create grazie ad apposite classi di Input/Output di Java
4) il caricamento degli oggetti Doc/EM/Rep può esser fatto in diversi modi
5) E' ovvio che si possano passare argomenti NULL ai costruttori dei documenti vari, perciò è una caso da prevedere
6) I documenti da processare devono essere istanziati in runtime
7) per ricercare l'occorrenza di un elemento in un array bisogna utilizzare una struttura trattata durante il corso (voi ricordate?)
Ora ragazzi BUONA IMPLEMENTAZIONE! :shock: |
ufficiale86 |
cosa vuole dire in runtime?? |
xmantex |
Originally posted by ufficiale86
cosa vuole dire in runtime??
al momento dell'esecuzione del programma no? |
IsaMetallo |
in pratica per la faccenda della data: si deve leggere la stringa, codificarla un oggetto Date, Calendar o simili e poi riscriverla uguale... se è così è proprio strainutile, ma se dobbiamo farlo pazienza... |
nasty121 |
per le date che ne dite della classe SimpleDateFormat e i suoi metodi?
al costruttore si passa il formato con cui vogliamo visualizzare la data..
date un occhiata sulsito della Sun. |
nasty121 |
Originally posted by nasty121
per le date che ne dite della classe SimpleDateFormat e i suoi metodi?
al costruttore si passa il formato con cui vogliamo visualizzare la data..
date un occhiata sulsito della Sun.
ecco il link..:
http://java.sun.com/j2se/1.4.2/docs...DateFormat.html |
nasty121 |
raga
ricordate come si fa a bloccare l'esecuzione del programma dopo aver catturato un eccezione? |
Supernick |
hai interpretato giusto... ho chiesto al prof e a quanto si è capito è così: la classe batch processor si occupa di suddividire il file die modelli in oggetti di diverso tipo e li manda a documentProcessor per il procedimento di merge...
Ok, anchio stavo procedendo in questo modo, praticamente io ho fatto così nel batch processor
1- Esamina il file dei modelli
2- salvo il contenuto tra i vari begin in variabili
3- a seconda che sia di un documento, mail o report, creo la rispettiva istanza che ha come parametro il contenuto del documento (per questo ho creato nelle classi un secondo costruttore che riceve come parametro una Stringa)
Ma un dubbio ora sorge.....
Il batch processor deve ricevere oltre al file dei modelli anche quello dei valori e dei nomi, ma allora in questo caso a che servirebbe?
Inoltre scusate che tipo di stringa dovrebbe ricevere il metodo process del batch?? il nome "FileModelli.txt"??
Rispondete vi prego......scusate ma dopo quasi 6 ore di fila sto delirando....
ricordate come si fa a bloccare l'esecuzione del programma dopo aver catturato un eccezione?
scusa una volta che catturi l'eccezione con try e catch l'esecuzione del programma si blocca di per se |
nasty121 |
a me cattura l'eccezione, come azione gli faccio fare una stampa a video dell'errore, dopodichè prosegue con il codice... boh |
IsaMetallo |
beh nasty dipende dove metti il catch... se lo metti immediatamente dopo il punto che potrebbe lanciarla continua, ma se lo metti più avanti ignora tutto il codice che c'è dall'eccezione al catch |
Supernick |
ragazzi riquoto le domande di prima, qualcuno saprebbe rispondermi???
grazie |
Jaky |
Originally posted by Supernick
ragazzi riquoto le domande di prima, qualcuno saprebbe rispondermi???
grazie
c'è scritto che argomento passargli :| |
Jaky |
inoltre..
Originally posted by Supernick
3- a seconda che sia di un documento, mail o report, creo la rispettiva istanza che ha come parametro il contenuto del documento (per questo ho creato nelle classi un secondo costruttore che riceve come parametro una Stringa)
non è quello richiesto dal progetto...tu al costruttore ci devi passare i singoli pezzi, non puoi passargli una stringa gigante :whisper: |
Supernick |
si infatti per questo ho notato l'errore che ho fatto, praticametne nel batch processor quindi io, passo i tre file (modelli, nomi e valori) e nel metodo process esamino il file dei modelli e lavoro sul singolo blocco tra BEGIN X e END X
scusate ma sto impazzendo... |
nasty121 |
asssssssss
Ma come si gestiscono questi caratteri di escape????
Sto impazzendo per trovare l'algoritmo migliore, ma magari è +semplice di ciò k sembra!!!!
Voi come avete fatto per \\, \, , \< e \>? |
nasty121 |
Originally posted by nasty121
asssssssss
Ma come si gestiscono questi caratteri di escape????
Sto impazzendo per trovare l'algoritmo migliore, ma magari è +semplice di ciò k sembra!!!!
Voi come avete fatto per \\, \, , \< e \>?
Ho già fatto non vi preoccupate... :shock: |
Jaky |
java mette a disposizione delle funzioni molto utili per gestire le sequenze di escape :) |
Supernick |
quoto, non è il peggiore dei problemi....purtroppo :( |
Jaky |
Originally posted by ufficiale86
quali sono??
esiste google, io sto trovando tutto quello che serve :D |
nasty121 |
Originally posted by Jaky
java mette a disposizione delle funzioni molto utili per gestire le sequenze di escape :)
ehm, jaky non è k potresti suggerirmi tali funzioni?
a parte la tokenizzazione con lo StringTokenizer non mi vieni in mente altro...
e probalmento, come dicono, questo è un problema MINORE.. |
Jaky |
dai dai che gia sapendo che esistono delle funzioni che facilitano le cose, è un buon indizio ;)
tra l'altro sono le stesse che si usavano per il progetto html validator :D |
nasty121 |
Originally posted by nasty121
suugerimenti?
suggerimenti*
nada in internet non trovo nulla a riguardo.. |
ufficiale86 |
raga ho 1problema....dopo ke prelevo il testo tra BEGIN e END come avete fatto a dire ke la prima riga è l'autore,la seconda la data,ecc....con il report e con la mail è 1casino....paragrafi,titoli...da diventare matti!come avete fatto(più o meno nn voglio l'implementazione ma 1idea di aiuto) per dividere il testo e creare così 1istanza di Document/Email/Report?? |
nasty121 |
Originally posted by Jaky
dai dai che gia sapendo che esistono delle funzioni che facilitano le cose, è un buon indizio ;)
tra l'altro sono le stesse che si usavano per il progetto html validator :D
ehm, io feci l'HTML VALIDATOR ma a quanto pare non ebbe esito positivo ehehe...
dai pleaze siamo bloccati sui caratteri di escape!!! aiuto..!
se non possiamo proseguire, non potremo collaborare...
daaaaaaaaaaai! |
Lukkei |
non sono ancora arrivato ad occuparmi dell'escape, ma così come prima idea mi verrebbe in mente il metodo replaceAll di String...
..al momento sto combattendo con il contatore, avete qualche idea in proposito? |
-MaVeRiK86- |
Originally posted by Lukkei
non sono ancora arrivato ad occuparmi dell'escape, ma così come prima idea mi verrebbe in mente il metodo replaceAll di String...
..al momento sto combattendo con il contatore, avete qualche idea in proposito?
Le soluzioni a mio parere sono due
1) Ti crei un file contenenente il numero più alto del contatore, che ad ogni creazione di un nuovo doc lo incrementi e riscrivi
2 ma impossibile) ti fai un ciclo sulla cartella, ti salvi i nomi di tutti i file,ne estrai il valore numero togliendo tipo ed estensione, inserisci tutto in un array convertendolo a int e riordini..ottieni cosi il più alto da usare per il nome del nuovo doc..ma mi sembra un'enorme cazzata... |
|
|
|
|