FAQ: domande di carattere generale sugli strumenti MDDTools

In questa sezione sono riportate le domande di carattere generale più frequenti emerse durante l'utilizzo degli strumenti mddtools.

Se si è interessati a FAQ più specifiche dei vari strumenti esse sono disponibili nelle seguenti sezioni:

Q: Ho installato pre la prima volta tutti i plugin di mddtools, ma quando tento di aprire un editor ottengo un errore e l'editor non funziona: qual'è il problema?

A: Se è la prima volta che si installano gli mddtools sulla postazione e per un determinato utente, oppure se era in precedenza presente una versione di tool precedente alla 1.5.0 (guigen), 1.1.0 (servicegen), allora è necessario configurare le informazioni identificative dell'utilizzatore, che sono utilizzate dal meccanismo di usage tracking. Per i dettagli sul meccanismo e per le modalità di configurazione è disponibile un'apposita sezione.


Q: Ho lanciato la generazione del mio progetto tramite l'apposito file .oaw, ma il tool restituisce un errore che parla di un "workflow fragment" non trovato: qual'è il problema?

A: Il frammento non trovato è di fatto la "cartuccia" di generazione configurata nel file .oaw. Affinchè il sistema di generazione riesca a lanciare questa cartuccia è necessario che il progetto generatore abbia tra le proprie dipendenze i plugin dello strumenti geenratore desiderato (guigen|servicegen|datagen).

Per risolvere il problema è sufficiente aggiungere le dipendenze dall'apposito editor.


Q: Il codice generato dal tool contiene delle regioni protette nelle quali è possibile inserire il codice custom. Mi sono accorto che mi servirebbe poter inserire del codice custom in altre parti del codice, dove non è attualmente presente nessuna regione protetta. Come mi devo comportare?

A: Non è possibile inserire codice custo al di fuori delle apposite regioni protette, pena la perdita del codice a fronte di una successiva rigenerazione.

Non è altresì possibile inserire regioni protette aggiuntive.

Occorre pertanto esaminare il caso specifico (e l'esigenza specifica), sottoponendo il problema al gruppo di sviluppo del tool:


Q: Ho aggiunto dei file/classi a quelle che sono state generate dal generatore. Verranno mantenute a fronte di una successiva rigenerazione?

A: I generatori di mddtools non cancellano mai nessun file, pertanto ogni file/classe aggiuntiva sarà mantenuta nelle rigenerazioni successive.


Q: Ho rimosso alcuni elementi di modello che generavano alcune classi java. Ho rigenerato il progetto ma le classi java obsolete non sono state cancellate. E' corretto?

A: Si, è corretto. Occorre rimuovere manualmente le classi obsolete dal progetto.


Q: Ho visto che le regioni protette sono identificate da un codice numerico. A cosa corrisponde? Come è ottenuto? Posso modificarlo a mio piacimento?

A: l'identificativo delle regioni protette è ottenuto calcolando l'hash-code di una stringa che identifica univocamente tale regione protetta e non può essere perciò modificato a piacimento. Tale stringa è tipicamente ottenuta concatenando varie componenti testuali. Il dettaglio delle componenti costitutive è un internal del generatore. Il motivo per cui si calcola l'hash-code invece che utilizzare il codice testuale sta nell'evitare che il commento che delimita la regione protetta vada a capo a fronte di formattazioni automatiche del codice generato, rendendo in questo modo impossibile per il generatore individuare le regioni protette (la lunghezza dell'hash-code è invece per definizione fissa).


Q: Ho rigenerato il progetto ma la seconda generazione ha restituito un errore di "ID di regione protetta duplicata". Qual'è il problema?

A: Occorre innanzitutto verificare nei dettagli dell'errore qual'è il path dei due file che presentano lo stesso ID di regione protetta:


Q: Ho rigenerato il progetto. Nelle classi java dove avevo inserito codice custom (nelle apposite regioni protette) dopo la rigenerazione sono scomparsi degli import che avevo aggiunto in precedenza. Li devo riaggiungere manualmente ogni volta che rigenero?

A: No, è sufficiente inserire gli statement di import nell'apposita regione protetta e non lasciarli inserire all'IDE con le funzioni di organizzazione dell'import (che rispettano questo vincolo solo casualmente).


Q: Ho verificato la presenza di aggiornamenti sull'update site degli strumenti mdd e ho scoperto che e' disponibile una nuova versione. Mi conviene impostare l'opzione di aggiornamento automatico in modo da usare sempre l'ultima versione disponibile?

A: No, non è consigliato. L'aggiornamento ad una nuova versione di generatore solitamente non è fonte di problemi, in quanto vengono gestite la retrocompatibilità funzionale e, parzialmente, di codice generato. E' però consigliabile eseguire in modo cosciente la migrazione ad una nuova versione, tenendo presente che:


Q: Ci sono dei particolari accorgimenti per passare ad una nuova versione di un plugin mddtools?

A: Gli accorgimenti consigliati per il passaggio ad una nuova versione di plugin sono i seguenti:


Q: Come faccio a sapere con quale versione di plugin è stato generato un progetto?

A: La versione di generatore che ha generato un progetto è evidenziata in alcuni file generati con una scritta del tipo:

Generato da GUIGEN, versione 1.5.0.021
La collocazione di quest ainformazione dipende dal plugin: