Overview


Release notes versioni future MDDTools - datagen


DataGen 3.0.2

► Identificativo di versione completa: 3.0.2.???

► Data effettiva di rilascio: ??-??-????

► Nota di rilascio: La versione 3.0.2 di datagen introduce alcune migliorie relativamente alla qualità del codice generato, ad esempio relativamente a:

  • problemi di codice non sicuro nei DTO associati ai CustomFinder modellati tramite QueryDef

Inoltre sono state effettuate le seguenti migliorie:
  • è stata aggiunta la gestone del tipo JDBC OTHER, che si mappa nel tipo java.lang.Object e che è utilizzato, ad esempio, per la gestione degli oggetti spaziali in Oracle Spatial e Postgis.
  • è stato risolto un problema che impediva di utilizzare nello stesso progetto due moduli datagen differenti (conflitto sui nomi dei bean di datasource e jdbctemplate risolto mediante un suffisso corrispondente alla property name dell'elemento DBAccessModel, se valorizzata(*)).

N.B: (*) poichè la definizione del bean del datasource è contenuta in una regione protetta, se nel proprio modello datagen è stato impostato l'attributo name dell'elemento DBAccessModel, sarà necessario correggere manualmente - una tantum - il nome del bean datasource in modo da farlo corrispondere nuovamente con quello referenziato dal bean del jdbctemplate. Le altre corrispondenze saranno corrette automaticamente dal generatore. Nessun impatto invece per chi non ha valorizzato l'attributo name.

Release notes versioni rilasciate MDDTools - datagen


DataGen 3.0.1

► Identificativo di versione completa: 3.0.1.003

► Data effettiva di rilascio: 31-03-2015

► Nota di rilascio: La versione 3.0.1 di datagen introduce numerose migliorie relativamente alla qualità del codice generato.

DataGen 3.0.0

► Identificativo di versione completa: 3.0.0.001

► Data effettiva di rilascio: 22-09-2014

► Nota di rilascio: La versione 3.0.0 di datagen è il porting as-is del tool (in versione 2.0.2) sulla piattaforma eclipse-Luna.

DataGen 2.0.2

► Identificativo di versione completa: 2.0.2.001

► Data effettiva di rilascio: 19-11-2012

► Nota di rilascio: La versione 2.0.2 di datagen è un hotfix ad alcuni seri bug presenti nella precedente release (la 2.0.1.007), che la rendevano di fatto inutilizzabile.

N.B: si raccomanda a chi dovesse pianificare l'upgrade dalla versione 2.0.0 o precedenti la lettura anche delle release notes della versione 2.0.1.

Dettagli di rilascio

Bug

  • [STDMDD-1389] - Errore in fase di creazione del resultset di una query di tipo findAll
  • [STDMDD-1392] - Realizzazione di una CustomFinder con QueryDef, viene generato del codice che non compila.

 

DataGen 2.0.1

► Identificativo di versione completa: 2.0.1.007

► Data effettiva di rilascio: 05-11-2012

► Nota di rilascio: La versione 2.0.1 di datagen contiene alcuni improvement dal punto di vista della qualità del codice generato e la possibilità di utilizzare nello stesso compoenente host (guigen / servicegen) più di un elemento datagen (ad esempio nel caso in cui un servizio debba accedere a due database differenti).

N.B: per permettere l'utilizzo di più di un modello datagen all'interno di uno stesso compoenente è necessario impostare l'attributo name dell'elemento DataAccessModel: l'univocità di questo elemento all'interno del componente è fondamentale: in assenza di impostazione dell'attributo o nel caso in cui non vi sia univocità si verifica un problema di ID di regione protetta duplicata che impedisce il corretto funzionamento del generatore. L'impostazione di tale proprietà non è invece necessaria in caso si utilizzi un solo elemento datagen. Occorre peraltro fare molta attenzione nell'impostare tale proprietà a progetto già avviato: se ad un certo punto si decide di impostare l'attributo name le regioni protette presenti in precedenza non vengono mantenute. Pertanto, nel caso in cui durante la vita di un progetto si renda necessario aggiungere un secondo elemento datagen, e nel caso in cui l'attributo name dell'elemento precedentemente esistente non sia valorizzato, è opportuno valorizzare l'attributo name solo del nuovo elemento datagen.
 

Dettagli di rilascio

Bug

  • [STDMDD-1047] - datagen: se nel modello non ci sono finders il codice del DAO non compila (manca inner class RowMapper)
  • [STDMDD-1091] - rowMapper.mapRow non distingue il valore 0 da null
  • [STDMDD-1113] - Errore generazione dao con CLOB
  • [STDMDD-1247] - datagen: qbe: violazione QA: violazione ImmutableField in QBEQueryBuilder, dichiarazioen di _daoMetadata
  • [STDMDD-1249] - datagen: qbe: violazione QA: violazione UseStringBuffersForStringAppends in QBEQueryBuilder.createFromExamples()
  • [STDMDD-1251] - datagen: qbe: violazione QA: violazione AvoidPrintStackTrace k in QBEQueryBuilder (vari punti)
  • [STDMDD-1252] - datagen: qbe: violazione QA: violazione NPathComplexity in QBEQueryBuilder.createTerm4FieldChk()
  • [STDMDD-1253] - datagen: qbe: violazione QA: violazione "Malicious code vulnerability - Field isn't final but should be" in **DAOImpl
  • [STDMDD-1254] - datagen: qbe: violazione QA: violazione "Performance - Should be a static inner class" in **DAOImpl
  • [STDMDD-1255] - datagen: qbe: violazione QA: violazione "Code size - cyclomatic complexity" in **RowMapper
  • [STDMDD-1256] - datagen: qbe: violazione QA: violazione "Loose coupling" in **RowMapper
  • [STDMDD-1257] - datagen: qbe: violazione QA: violazione "ImmutableFields" in **RowMapper
  • [STDMDD-1259] - datagen: qbe: violazione QA: violazione UselessOverridingMethod" in **DTO
  • [STDMDD-1260] - datagen: qbe: violazione QA: violazione "Uncommented Empty Constructor" in **PK
  • [STDMDD-1261] - datagen: qbe: violazione QA: violazione "Bad practice - Class is Serializable, but doesn't define serialVersionUID" in **Dto e **PK)
  • [STDMDD-1262] - datagen: qbe: violazione QA: "Correctness - Null pointer dereference in method on exception path" in **RowMapper.mapRow()
  • [STDMDD-1263] - datagen: qbe: violazione QA: "Unused Local Variable + Dodgy - Dead store to local variable : Dodgy Dead store to Local Variable" in **DAOImpl.mapRow_internal
  • [STDMDD-1264] - datagen: qbe: violazione QA: "Bad practice - Suspicious reference comparison" in **PK
  • [STDMDD-1265] - datagen: qbe: violazione QA: "Performance - Method invokes inefficient Number constructor; use static valueOf instead " in **DAOImpl.insert()
  • [STDMDD-1266] - datagen: qbe: violazione QA: "Naming - Suspicious constant field name" in **DOAImpl
  • [STDMDD-1268] - datagen: qbe: violazione QA: "Simplify Conditionalc " in **EqChk(cache)
  • [STDMDD-1278] - datagen: qbe: violazione QA: qbe:RangeChk: Immutable Field : Private field '_lowerBound' could be made final; it is only initialized in the declaration or constructor.
  • [STDMDD-1279] - datagen: qbe: violazione QA: DaoImpl:flexibleRowMapper: Immutable Field : Private field 'dtoClass' could be made final; it is only initialized in the declaration or constructor.
  • [STDMDD-1280] - datagen: qbe: violazione QA: QBEQueryBuilder: } Use String Buffer For String Appends : Prefer StringBuffer over += for concatenating strings
  • [STDMDD-1283] - datagen: qbe: violazione QA: DaoMetadata: Immutable Field : Private field 'columnNames' could be made final; it is only initialized in the declaration or constructor.
  • [STDMDD-1301] - datagen: QBE: malfunzionamento RangeCheck: il criterio di inclusione dell'estremo superiore è scorretto (viene preso sempre come valore quello relativo al lower-bound)
  • [STDMDD-1308] - datagen: qbe e util : violazione QA: violazione "Malicious code vulnerability - Field isn't final but should be " protected static Logger log
  • [STDMDD-1309] - datagen: qbe: violazione QA: violazione "Uncommented Empty Constructor"

Improvement

  • [STDMDD-1106] - datagen: docs: guida al reverse engineering
  • [STDMDD-1312] - datagen: possibilità di far coesistere due moduli datagen nello stesso progetto host

 

DataGen 2.0.0

► Identificativo di versione completa: 2.0.0

► Data di rilascio: 15-02-2012

► Nota di rilascio: La versione 2.0.0 di datagen rappresenta il porting della versione 1.2.1 nella nuova piattaforma M2T.

Dettagli di rilascio

Bug produzione

  • [STDMDD-1090] - Datagen: PostgreSQL 9.0.4 e mancata creazione FK
  • [STDMDD-1102] - Datagen 1.2.0.001 - Problemi nel reverse engineering delle colonne per i sinonimi a viste - ORACLE

Improvement

  • [STDMDD-1056] - datagen: migrazione oaw -> m2t

 


► Identificativo di versione completa: 1.2.1.001

► Data di rilascio: 27-02-2012

► Nota di rilascio:La versione 1.2.1 di datagen è un versione di bugfix. Corregge alcuni problemi riguardanti lo strumento di reverse engineering del data base.

Dettagli di rilascio

Bug produzione
  • [STDMDD-1090] - Datagen: PostgreSQL 9.0.4 e mancata creazione FK
  • [STDMDD-1102] - Datagen 1.2.0.01 - Problemi nel reverse engineering delle colonne per i sinonimi a viste - ORACLE


► Identificativo di versione completa: 1.2.0

► Data di rilascio: 23-12-2011

► Nota di rilascio: La versione 1.2.0 di datagen contiene alcune importanti nuove funzionalità sul fronte delle operazioni di lettura dati, ed alcuni di bugfix.
Le principali novità introdotte da questa versione sono:

  • il meccanismo dei LookupResolver, che permette di risolvere le associazioni N-1 di tipo lookup permettendo la costruzione di DTO strutturati basandosi sull'esistenza di foreign-key di lookup.
  • il meccanismo del QueryDef, ovvero la possibilità di definire tramite modellazione, in un CustomFinder, la query che realizza l'operazione di lettura. Con questa modalità, le possibilità di lettura si ampliano notevolmente:
    • non vi è più il limite per cui il finder può operare solo sulla mainTable del DAO, ma è possibile modellare query che coinvolgono più tabelle, con criteri di join tra le tabelle. Il risultato della query potrà, di conseguenza, contenere colonne appartenenti a ciascuna delle tabelle coinvolte
    • vi è la possibilità di includere nell'insieme di colonne risultanti anche delle colonne calcolate (al momento però vi una limitazione che consiste nella impossibilità di utilizzare funzioni di aggregazione sql nell'espressione che definisce una colonna calcolata)
  • la possibilità di mantenere in cache (se appropriato alla tipologia di movimentazione dei dati) i risultati delle operazioni di findByPK findAll.

 

Dettagli di rilascio

Bug produzione

  • [STDMDD-916] - proprietà name, DAO Package, DataGen
  • [STDMDD-917] - datagen: il generatore non utilizza la property "name" per: QBE finder, Delete, Update, .... (verificare quali) creando collisione nei nomi dei metodi java
  • [STDMDD-920] - QBEQueryBuilder exception, DataGen
  • [STDMDD-996] - Update campo BLOB
  • [STDMDD-998] - Datagen: reverse engineering su Postgres sdoppia le colonne in caso di utente con grant a + schemi con tabelle omonime


Bug test

  • [STDMDD-1012] - datagen: errore internal in generazione se Dao senza finders
  • [STDMDD-1018] - La mancanza del nodo Finders nel modello datagen genera un errore
  • [STDMDD-1022] - Generazione dei nomi per i metodi QBE
  • [STDMDD-1023] - Generazione firme dei metodi per i nodi QBE
  • [STDMDD-1027] - Mancanza controllo di obbligatorietà sulla proprietà "Main Table" del nodo DataAccess


Improvement

  • [STDMDD-510] - datagen: rdbmdl: enhancement editor
  • [STDMDD-771] - datagen: finder con restituzione di campi aggiuntivi rispetto a quelli associati alle colonne della tabella
  • [STDMDD-944] - Segnalazione errori jdbc nel wizard dell' "RDB schema reverse engineering"
  • [STDMDD-974] - datagen: documentazione: aggiunta guida per utilizzo LookupResolver
  • [STDMDD-975] - datagen: documentazione: aggiunta guida per utilizzo QBE (Query By Example)
  • [STDMDD-986] - Join su Datagen


New Feature

  • [STDMDD-897] - datagen: decode by lookup: possibilità di risolvere associazioni n-1 di tipologia lookup (decodifica) con DTO strutturati
  • [STDMDD-898] - datagen: DAO caching:
  • [STDMDD-899] - datagen: custom finder join

► Identificativo di versione completa: 1.1.1

► Data di rilascio: 22-09-2011

► Nota di rilascio: La versione 1.1.1 di datagen rappresenta una versione di bugfix (principalmente irrobustimento di alcuni check).


Dettagli di rilascio

Bug produzione

  • [STDMDD-937] - Mancanza di un check sulla presenza di una PK in una tabella in caso di updaters (row/column) definiti sul relativo DAO
  • [STDMDD-938] - Mancanza di un check sulla presenza di una PK in una tabella in caso di finder findByPrimaryKey
  • [STDMDD-941] - Mancanza di un check sulla presenza di una PK in una tabella in caso di deleter deleteByPrimaryKey


 

► Identificativo di versione completa: 1.1.0

► Data di rilascio: 22-09-2011

► Nota di rilascio: La versione 1.1.0 di datagen rappresenta principalmente un upgrade architetturale finalizzato al supporto del DBMS postgreSql.

E' stata inoltre rimossa la dipendenza dal plugin contenente i driver Oracle. Tale dipendenza dai driver jdbc dei due DBMS supportati è ora realizzata mediante l'impostazione di due property nel file eclipse.ini. Di seguito un esempio di valorizzazione:
...
- Ddatagen.jdbc.postgres.drivers=C:/devtools/libraries/jdbc/postgres/postgresql-9.0-801.jdbc3.jar
- Ddatagen.jdbc.oracle.drivers=C:/devtools/libraries/jdbc/oracle/ojdbc14-10.2.0.3.0.jar

...

Sono infine stati risolti alcuni bug e realizzate delle piccole migliorie.

Dettagli di rilascio

Sub-task
  • [STDMDD-806] - datagen: wizard di reverse engineering per postgres 9.0
  • [STDMDD-807] - datagen: bridge-plugin per driver jdbc per postgres 9.0
  • [STDMDD-808] - datagen: bridge-plugin per driver jdbc per oracle 10

Bug produzione
  • [STDMDD-773] - duplicazione delle column nella table sul file .rdbmdl se la tabella sul database è un sinonimo
  • [STDMDD-811] - datagen: wizard di reverse engineering va in errore con schemi con molte tabelle
  • [STDMDD-825] - datagen: errore di runtime in caso di custom finder con clausola distinct
  • [STDMDD-877] - Inserimento di valori nulli tramite DataGen
  • [STDMDD-880] - Errore nella costruzione di una query per il metodo findByExamples
  • [STDMDD-881] - Bug in query by examples su date e stringhe particolari

Improvement
  • [STDMDD-704] - Stampa query con parametri valorizzati
  • [STDMDD-793] - datagen: supporto della target platform Posgres 9.0
  • [STDMDD-812] - datagen: wizard di reverse engineering: predisposizione a differenti database e miglioramenti interfaccia
  • [STDMDD-844] - datagen: inserimento marcatori opensource e licenza - disabilitazione tracking
  • [STDMDD-890] - Aggiunta clausola ORDER BY in QBE Finder (Query by examples)

Task
  • [STDMDD-798] - datagen: rimozione dipendenza da plugin driver jdbc oracle e gestione dinamica della dipendenza



Altre roadmap di dettaglio

Per visionare le altre roadmap di dettaglio, consultare le sezioni relative: