Author: fdesbois Date: 2010-03-25 11:06:45 +0000 (Thu, 25 Mar 2010) New Revision: 387 Modified: trunk/pom.xml trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-business/src/main/xmi/wao.zargo Log: - Use last topia snapshot - Add missing initialization on readOnly boolean for migration Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2010-03-25 08:57:20 UTC (rev 386) +++ trunk/pom.xml 2010-03-25 11:06:45 UTC (rev 387) @@ -216,7 +216,7 @@ <!-- libraries version --> <nuitonutils.version>1.2</nuitonutils.version> - <topia.version>2.3</topia.version> + <topia.version>2.3.1-SNAPSHOT</topia.version> <eugene.version>2.0</eugene.version> <tapestry.version>5.1.0.5</tapestry.version> Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 08:57:20 UTC (rev 386) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/PgMigrationCallback.java 2010-03-25 11:06:45 UTC (rev 387) @@ -25,6 +25,9 @@ queries.add("ALTER TABLE WaoUser DROP COLUMN admin;"); // Evo #1980 queries.add("ALTER TABLE WaoUser ADD readOnly BOOLEAN;"); + // need to initialize readOnly, the entity property has the primitive + // type boolean + queries.add("UPDATE WaoUser SET readOnly = FALSE;"); } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 08:57:20 UTC (rev 386) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2010-03-25 11:06:45 UTC (rev 387) @@ -76,7 +76,11 @@ if (getProgramRefused()) { programValidValues.add(Boolean.FALSE); } - query.add(contact + "." + Contact.VALIDATION_PROGRAM, programValidValues, getProgramUndefined()); + if (getProgramUndefined()) { + programValidValues.add(null); + } + query.add(contact + "." + Contact.VALIDATION_PROGRAM, + programValidValues.toArray()); List<Object> companyValidValues = new ArrayList<Object>(); if (getCompanyAccepted()) { @@ -85,7 +89,11 @@ if (getCompanyRefused()) { companyValidValues.add(Boolean.FALSE); } - query.add(contact + "." + Contact.VALIDATION_COMPANY, companyValidValues, getCompanyUndefined()); + if (getCompanyUndefined()) { + companyValidValues.add(null); + } + query.add(contact + "." + Contact.VALIDATION_COMPANY, + companyValidValues.toArray()); if (getState() != null) { query.add(contact + "." + Contact.STATE, getState().toString()); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-25 08:57:20 UTC (rev 386) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2010-03-25 11:06:45 UTC (rev 387) @@ -37,9 +37,6 @@ import fr.ifremer.wao.entity.*; import fr.ifremer.wao.io.WaoCsvHeader.FISHING_ZONE; import fr.ifremer.wao.io.WaoCsvHeader.SAMPLING; -import fr.ifremer.wao.io.WaoCsvHeader.SamplingHeader; -import fr.ifremer.wao.io.ExportHelper; -import fr.ifremer.wao.io.ExportHelper; import fr.ifremer.wao.io.SamplingExport; import java.io.File; import java.io.FileInputStream; @@ -64,9 +61,10 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaQuery; import org.nuiton.topia.framework.TopiaQuery.Op; -import org.nuiton.topia.persistence.util.EntityLoador; import org.nuiton.util.DateUtils; import org.nuiton.util.PeriodDates; +import org.nuiton.util.beans.BinderBuilder; +import org.nuiton.util.beans.BinderProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,6 +87,7 @@ public ServiceSamplingImpl() throws WaoException { rootContext = WaoContext.getTopiaRootContext(); + prepareBinderForProfession(); } @Override @@ -506,8 +505,9 @@ } /** - * Create a new profession from an existing one. Copy all attributes values from - * the profession in argument to a new profession not created yet in database. + * Create a new profession from an existing one. Copy all attributes values + * from the profession in argument to a new profession not created yet in + * database. * * @param profession the profession source * @return a new Profession @@ -515,12 +515,33 @@ @Override public Profession getNewProfession(Profession profession) { Profession newProfession = new ProfessionImpl(); - EntityLoador<Profession> loador = EntityLoador.newEntityLoador(Profession.class, - Profession.CODE_DCF5, Profession.LIBELLE, Profession.MESH_SIZE, Profession.OTHER, Profession.SIZE, Profession.SPECIES); - loador.load(profession, newProfession, false); + // Use of Binder previously initialized to copy the existing + // profession in a new one + BinderProvider.getBinder(Profession.class). + copy(profession, newProfession); return newProfession; } + /** + * Prepare the Binder for Profession copy. This method is called in + * service constructor. The copy from two Profession will be available + * anywhere using BinderProvider.get(Profession.class).copy(source, dest); + * + * @see org.nuiton.util.beans.Binder + * @see org.nuiton.util.beans.BinderProvider + */ + protected void prepareBinderForProfession() { + BinderBuilder builder = new BinderBuilder(); + builder.createBinderModel(Profession.class).addSimpleProperties( + Profession.CODE_DCF5, + Profession.LIBELLE, + Profession.MESH_SIZE, + Profession.OTHER, + Profession.SIZE, + Profession.SPECIES); + BinderProvider.registerBinder(builder); + } + @Override public InputStream exportSamplingPlanCsv(WaoUser user, PeriodDates period) throws WaoException { TopiaContext transaction = null; Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-25 08:57:20 UTC (rev 386) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2010-03-25 11:06:45 UTC (rev 387) @@ -39,6 +39,7 @@ import java.util.List; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.framework.TopiaQuery; +import org.nuiton.topia.framework.TopiaQuery.Op; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -322,7 +323,8 @@ WaoUserDAO dao = WaoModelDAOHelper.getWaoUserDAO(transaction); TopiaQuery query = dao.createQuery(). - add(WaoUser.ROLE + " != " + UserRole.ADMIN.ordinal()); + add(WaoUser.ROLE, UserRole.OBSERVER.ordinal(), + UserRole.COORDINATOR.ordinal()); if (activeOnly) { query.add(WaoUser.ACTIVE, Boolean.TRUE); Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ)