Author: fdesbois Date: 2010-06-16 13:19:44 +0000 (Wed, 16 Jun 2010) New Revision: 537 Log: Evo #2332 : - Add fields for contact comments in model - Update migration for 1.4 - Use BinderHelperTransformer from ToPIA + use it in ServiceContact Modified: trunk/wao-business/pom.xml trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java trunk/wao-business/src/main/xmi/wao.zargo Modified: trunk/wao-business/pom.xml =================================================================== --- trunk/wao-business/pom.xml 2010-06-15 19:57:36 UTC (rev 536) +++ trunk/wao-business/pom.xml 2010-06-16 13:19:44 UTC (rev 537) @@ -137,7 +137,8 @@ org.nuiton.topia.generator.TopiaMetaTransformer, org.nuiton.eugene.java.JavaBeanTransformer, org.nuiton.topia.generator.ServiceTransformer, - org.nuiton.eugene.java.JavaInterfaceTransformer + org.nuiton.eugene.java.JavaInterfaceTransformer, + org.nuiton.topia.generator.BinderHelperTransformer </templates> </configuration> <goals> Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2010-06-15 19:57:36 UTC (rev 536) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2010-06-16 13:19:44 UTC (rev 537) @@ -141,7 +141,15 @@ @Override protected void createNewsCompanyColumn_1_4a(List<String> queries) { + // Evo #2248 : news for company queries.add("ALTER TABLE News ADD company CHARACTER VARYING(255)" + " REFERENCES Company (topiaId);"); } + + @Override + protected void createContactCommentColumns_1_4b(List<String> queries) { + // Evo #2332 : extra comments for contacts + queries.add("ALTER TABLE Contact ADD commentAdmin TEXT;"); + queries.add("ALTER TABLE Contact ADD commentCoordinator TEXT;"); + } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-06-15 19:57:36 UTC (rev 536) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2010-06-16 13:19:44 UTC (rev 537) @@ -66,6 +66,8 @@ protected abstract void createNewsCompanyColumn_1_4a(List<String> queries); + protected abstract void createContactCommentColumns_1_4b(List<String> queries); + protected static final Version[] VERSIONS = new Version[] { VersionUtil.valueOf("1.0"), VersionUtil.valueOf("1.1"), @@ -162,6 +164,8 @@ createNewsCompanyColumn_1_4a(queries); + createContactCommentColumns_1_4b(queries); + String[] strings = queries.toArray(new String[queries.size()]); executeSQL(tx, showSql, showProgression, strings); } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-06-15 19:57:36 UTC (rev 536) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2010-06-16 13:19:44 UTC (rev 537) @@ -56,8 +56,6 @@ import fr.ifremer.wao.io.*; import fr.ifremer.wao.io.WaoCsvHeader.*; import org.apache.commons.lang.BooleanUtils; -import org.nuiton.util.beans.BinderBuilder; -import org.nuiton.util.beans.BinderProvider; /** * ServiceContactImpl @@ -73,38 +71,6 @@ private WaoContext context; - - public ServiceContactImpl() { - prepareBinderForContact(); - } - - /** - * Prepare the Binder for Contact copy. This method is called in - * service constructor. The copy from two Contact will be available - * anywhere using BinderProvider.get(Contact.class).copy(source, dest); - * - * @see org.nuiton.util.beans.Binder - * @see org.nuiton.util.beans.BinderProvider - */ - protected void prepareBinderForContact() { - BinderBuilder builder = new BinderBuilder(); - // Properties SAMPLE_ROW, BOAT, TOPIA_CREATE_DATE are immuable - builder.createBinderModel(Contact.class).addSimpleProperties( - Contact.COMMENT, - Contact.DATA_INPUT_DATE, - Contact.MAMMALS_CAPTURE, - Contact.MAMMALS_OBSERVATION, - Contact.NB_OBSERVANTS, - Contact.OBSERVER, - Contact.STATE, - Contact.TIDE_BEGIN_DATE, - Contact.TIDE_END_DATE, - Contact.TIDE_NB_DAYS, - Contact.VALIDATION_COMPANY, - Contact.VALIDATION_PROGRAM); - BinderProvider.registerBinder(builder); - } - public void setContext(WaoContext context) { this.context = context; } @@ -124,6 +90,36 @@ protected void closeTransaction(TopiaContext transaction) { context.closeTransaction(transaction); } + +// public ServiceContactImpl() { +// prepareBinderForContact(); +// } +// /** +// * Prepare the Binder for Contact copy. This method is called in +// * service constructor. The copy from two Contact will be available +// * anywhere using BinderProvider.get(Contact.class).copy(source, dest); +// * +// * @see org.nuiton.util.beans.Binder +// * @see org.nuiton.util.beans.BinderProvider +// */ +// protected void prepareBinderForContact() { +// BinderBuilder builder = new BinderBuilder(); +// // Properties SAMPLE_ROW, BOAT, TOPIA_CREATE_DATE are immuable +// builder.createBinderModel(Contact.class).addSimpleProperties( +// Contact.COMMENT, +// Contact.DATA_INPUT_DATE, +// Contact.MAMMALS_CAPTURE, +// Contact.MAMMALS_OBSERVATION, +// Contact.NB_OBSERVANTS, +// Contact.OBSERVER, +// Contact.STATE, +// Contact.TIDE_BEGIN_DATE, +// Contact.TIDE_END_DATE, +// Contact.TIDE_NB_DAYS, +// Contact.VALIDATION_COMPANY, +// Contact.VALIDATION_PROGRAM); +// BinderProvider.registerBinder(builder); +// } @Override public Map<String, Contact> executeGetContacts(TopiaContext transaction, @@ -261,7 +257,12 @@ source.setTopiaId(destination.getTopiaId()); } // Bind the contact in argument with the contact in session - BinderProvider.getBinder(Contact.class).copy(source, destination); + //BinderProvider.getBinder(Contact.class).copy(source, destination); + WaoBinderHelper.getSimpleTopiaBinder(Contact.class). + copyExcluding(source, destination, + Contact.BOAT, + Contact.SAMPLE_ROW + ); // Update the change dao.update(destination); Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ)