[Suiviobsmer-commits] r865 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/java/fr/ifremer/wao/ui/services wao-ui/src/main/resources/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
Author: bleny Date: 2010-12-29 16:27:19 +0000 (Wed, 29 Dec 2010) New Revision: 865 Log: add ObsVente new columns in contacts page refactor ContactModelFactory Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties trunk/wao-ui/src/main/webapp/SamplingPlan.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-12-28 16:55:24 UTC (rev 864) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2010-12-29 16:27:19 UTC (rev 865) @@ -368,6 +368,10 @@ query.addEquals(sampleRowProperty.obsProgramOrdinal(), filter.getObsProgram().ordinal()); } + if (filter.getSamplingStrategy() != null) { + query.addEquals(sampleRowProperty.samplingStrategyOrdinal(), filter.getSamplingStrategy().ordinal()); + } + if(logger.isDebugEnabled()) { logger.debug("sampling filter query " + query); } Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-12-28 16:55:24 UTC (rev 864) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-12-29 16:27:19 UTC (rev 865) @@ -54,14 +54,7 @@ import org.apache.tapestry5.Field; import org.apache.tapestry5.RenderSupport; import org.apache.tapestry5.StreamResponse; -import org.apache.tapestry5.annotations.Environmental; -import org.apache.tapestry5.annotations.IncludeJavaScriptLibrary; -import org.apache.tapestry5.annotations.IncludeStylesheet; -import org.apache.tapestry5.annotations.InjectComponent; -import org.apache.tapestry5.annotations.Log; -import org.apache.tapestry5.annotations.Persist; -import org.apache.tapestry5.annotations.Property; -import org.apache.tapestry5.annotations.SessionState; +import org.apache.tapestry5.annotations.*; import org.apache.tapestry5.beaneditor.BeanModel; import org.apache.tapestry5.corelib.components.Form; import org.apache.tapestry5.corelib.components.Zone; @@ -93,8 +86,8 @@ */ @SuppressWarnings({"UnusedDeclaration"}) @RequiresAuthentication(allowedRoles = {UserRole.ADMIN, UserRole.COORDINATOR, UserRole.OBSERVER}) - at IncludeStylesheet("context:css/contacts.css") - at IncludeJavaScriptLibrary("context:js/contacts.js") + at Import(stylesheet = "context:css/contacts.css") +//@IncludeJavaScriptLibrary("context:js/contacts.js") public class Contacts extends AbstractFilteredPage { @Inject @@ -138,8 +131,8 @@ */ @Log void afterRender() { - addCommentScript(); - addSendEmailScript(); + //addCommentScript(); + //addSendEmailScript(); } /**************************** CONTACT FILTERS *****************************/ @@ -311,12 +304,8 @@ @Inject private ComponentResources resources; - @Inject - private ContactModelFactory contactModelFactory; - @Persist private ContactDataSource contacts; -// private Map<String, Contact> contacts; @Property private Contact contact; @@ -346,15 +335,10 @@ public BeanModel<Contact> getContactModel() { if (contactModel == null) { + ContactModelFactory contactModelFactory = new ContactModelFactory( + user.getProfile().getObsProgram(), user.getProfile().getUserRole(), fullView); - if (user.isAdmin() || user.isCoordinator()) { - contactModel = fullView ? - contactModelFactory.buildAdminContactModel(beanModelSource, resources) : - contactModelFactory.buildCoordinatorContactModel(beanModelSource, resources); - } else { - contactModel = - contactModelFactory.buildContactModel(beanModelSource, resources); - } + contactModel = contactModelFactory.newModel(beanModelSource, resources); } return contactModel; } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java 2010-12-28 16:55:24 UTC (rev 864) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java 2010-12-29 16:27:19 UTC (rev 865) @@ -24,20 +24,23 @@ package fr.ifremer.wao.ui.services; +import fr.ifremer.wao.bean.ObsProgram; +import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.FishingZone; import fr.ifremer.wao.entity.WaoUser; import org.apache.tapestry5.ComponentResources; import org.apache.tapestry5.PropertyConduit; import org.apache.tapestry5.beaneditor.BeanModel; -import org.apache.tapestry5.beaneditor.RelativePosition; import org.apache.tapestry5.services.BeanModelSource; import org.nuiton.topia.persistence.TopiaEntity; import java.lang.annotation.Annotation; /** - * ContactModelFactory + * This class is used in {@link fr.ifremer.wao.ui.pages.Contacts} page to fix + * what column can be see (depending on view option, role, program), and how + * to display the content in each column. * * Created: 18 nov. 2009 * @@ -45,487 +48,300 @@ */ public class ContactModelFactory { - /** - * @param beanModelSource used to construct BeanModel<Contact> - * @param resources used to construct BeanModel<Contact> - * @return BeanModel<Contact> with new params - */ - public BeanModel<Contact> buildContactModel(BeanModelSource beanModelSource, ComponentResources resources) { - BeanModel<Contact> contactModel = beanModelSource.createDisplayModel(Contact.class, resources.getMessages()); + protected UserRole userRole; + protected ObsProgram obsProgram; + protected boolean fullView; - // New properties for contactModel - contactModel.add("createdBy", null); -// contactModel.add(Contact.SAMPLE_ROW, getSampleRowPropertyConduit()); -// contactModel.add(Contact.BOAT, getBoatPropertyConduit()); - contactModel.add(Contact.PROPERTY_SAMPLE_ROW, null); - contactModel.add(Contact.PROPERTY_BOAT, null); - contactModel.add("mammals", null); - contactModel.add("validation", null); - contactModel.add("actions", null); + /** the model the factory will build */ + protected BeanModel<Contact> model; - contactModel.include( - "createdBy", - TopiaEntity.TOPIA_CREATE_DATE, - Contact.PROPERTY_SAMPLE_ROW, - Contact.PROPERTY_BOAT, - Contact.PROPERTY_STATE, - Contact.PROPERTY_OBSERVATION_BEGIN_DATE, - Contact.PROPERTY_OBSERVATION_END_DATE, - Contact.PROPERTY_NB_OBSERVANTS, - "mammals", - Contact.PROPERTY_COMMENT, - Contact.PROPERTY_DATA_INPUT_DATE, - "validation", - "actions"); - - contactModel.get(TopiaEntity.TOPIA_CREATE_DATE).sortable(false); - contactModel.get(Contact.PROPERTY_STATE).sortable(false); - contactModel.get(Contact.PROPERTY_OBSERVATION_BEGIN_DATE).sortable(false); - contactModel.get(Contact.PROPERTY_OBSERVATION_END_DATE).sortable(false); - contactModel.get(Contact.PROPERTY_NB_OBSERVANTS).sortable(false); - contactModel.get(Contact.PROPERTY_DATA_INPUT_DATE).sortable(false); - contactModel.get(Contact.PROPERTY_COMMENT).sortable(false); - - return contactModel; + public ContactModelFactory(ObsProgram obsProgram, UserRole userRole, boolean fullView) { + this.userRole = userRole; + this.obsProgram = obsProgram; + this.fullView = fullView; } - public BeanModel<Contact> buildCoordinatorContactModel(BeanModelSource beanModelSource, ComponentResources resources) { - BeanModel<Contact> contactModel = buildContactModel(beanModelSource, resources); - contactModel.add(RelativePosition.AFTER, "validation", Contact.PROPERTY_COMMENT_COORDINATOR, getCommentCoordinatorPropertyConduit()); - contactModel.add(RelativePosition.AFTER, Contact.PROPERTY_COMMENT_COORDINATOR, Contact.PROPERTY_COMMENT_ADMIN, getCommentAdminPropertyConduit()); - contactModel.get(Contact.PROPERTY_COMMENT_COORDINATOR).sortable(false); - contactModel.get(Contact.PROPERTY_COMMENT_ADMIN).sortable(false); - contactModel.add(RelativePosition.BEFORE, "actions", "dataReliability", getDataReliabilityPropertyConduit()); - contactModel.get("dataReliability").sortable(false); - return contactModel; + /** add a property in the model and make it not sortable + * @param property the name of the property to add + * @param conduit a PropertyConduit to get the String representation of the + * value of the property, may be null if toString can be used */ + protected void addNonSortableProperty(String property, PropertyConduit conduit) { + model.add(property, conduit); + model.get(property).sortable(false); } - public BeanModel<Contact> buildAdminContactModel(BeanModelSource beanModelSource, ComponentResources resources) { - BeanModel<Contact> contactModel = buildCoordinatorContactModel(beanModelSource, resources); - contactModel.exclude("createdBy"); - contactModel.add(RelativePosition.AFTER, TopiaEntity.TOPIA_CREATE_DATE, "observer", getUserPropertyConduit()); - contactModel.add(RelativePosition.AFTER, "observer", WaoUser.PROPERTY_COMPANY, getCompanyPropertyConduit()); - contactModel.add(RelativePosition.AFTER, Contact.PROPERTY_SAMPLE_ROW, "program", getProgramPropertyConduit()); - contactModel.add(RelativePosition.AFTER, "program", "professionCode", getProfessionCodePropertyConduit()); - contactModel.add(RelativePosition.AFTER, "professionCode", "professionLibelle", getProfessionLibellePropertyConduit()); - contactModel.add(RelativePosition.AFTER, "professionLibelle", "professionSpecies", getProfessionSpeciesPropertyConduit()); - contactModel.add(RelativePosition.AFTER, "professionSpecies", "fishingZoneFacade", getFishingZoneFacadePropertyConduit()); - contactModel.add(RelativePosition.AFTER, "fishingZoneFacade", "fishingZoneSector", getFishingZoneSectorPropertyConduit()); - contactModel.add(RelativePosition.AFTER, "fishingZoneSector", "fishingZoneDivision", getFishingZoneDivisionPropertyConduit()); - contactModel.add(RelativePosition.AFTER, Contact.PROPERTY_BOAT, "boatImmatriculation", getBoatImmatriculationPropertyConduit()); - contactModel.add(RelativePosition.AFTER, "boatImmatriculation", "boatDistrictCode", getBoatDistrictCodePropertyConduit()); + /** add ALL properties to the bean model. */ + protected void initModel() { - contactModel.get("observer").sortable(false); - contactModel.get(WaoUser.PROPERTY_COMPANY).sortable(false); - contactModel.get("program").sortable(false); - contactModel.get("professionCode").sortable(false); - contactModel.get("professionLibelle").sortable(false); - contactModel.get("professionSpecies").sortable(false); - contactModel.get("fishingZoneFacade").sortable(false); - contactModel.get("fishingZoneSector").sortable(false); - contactModel.get("fishingZoneDivision").sortable(false); - contactModel.get("boatImmatriculation").sortable(false); - contactModel.get("boatDistrictCode").sortable(false); + // order is meaningful, properties will be displayed in columns from left to right -// contactModel.add(RelativePosition.AFTER, TopiaEntity.TOPIA_CREATE_DATE, "observer", null); -// contactModel.add(RelativePosition.AFTER, "observer", User.COMPANY, null); -// contactModel.add(RelativePosition.AFTER, Contact.SAMPLE_ROW, "program", null); -// contactModel.add(RelativePosition.AFTER, "program", "professionCode", null); -// contactModel.add(RelativePosition.AFTER, "professionCode", "professionLibelle", null); -// contactModel.add(RelativePosition.AFTER, "professionLibelle", "professionSpecies", null); -// contactModel.add(RelativePosition.AFTER, "professionSpecies", "fishingZoneFacade", null); -// contactModel.add(RelativePosition.AFTER, "fishingZoneFacade", "fishingZoneSector", null); -// contactModel.add(RelativePosition.AFTER, "fishingZoneSector", "fishingZoneDivision", null); -// contactModel.add(RelativePosition.AFTER, Contact.BOAT, "boatImmatriculation", null); -// contactModel.add(RelativePosition.AFTER, "boatImmatriculation", "boatDistrictCode", null); - return contactModel; + addNonSortableProperty(TopiaEntity.TOPIA_CREATE_DATE, null); + addNonSortableProperty(Contact.PROPERTY_MAIN_OBSERVER, getUserPropertyConduit()); + addNonSortableProperty(WaoUser.PROPERTY_COMPANY, getCompanyPropertyConduit()); + addNonSortableProperty(Contact.PROPERTY_SAMPLE_ROW, getSampleRowPropertyConduit()); + addNonSortableProperty("program", getProgramPropertyConduit()); + addNonSortableProperty("professionCode", getProfessionCodePropertyConduit()); + addNonSortableProperty("professionLibelle", getProfessionLibellePropertyConduit()); + addNonSortableProperty("professionSpecies", getProfessionSpeciesPropertyConduit()); + addNonSortableProperty("expectedSamplingStrategy", getExpectedSamplingStrategyPropertyConduit()); + addNonSortableProperty("fishingZoneFacade", getFishingZoneFacadePropertyConduit()); + addNonSortableProperty("fishingZoneSector", getFishingZoneSectorPropertyConduit()); + addNonSortableProperty("fishingZoneDivision", getFishingZoneDivisionPropertyConduit()); + addNonSortableProperty(Contact.PROPERTY_BOAT, getBoatPropertyConduit()); + addNonSortableProperty("boatImmatriculation", getBoatImmatriculationPropertyConduit()); + addNonSortableProperty("boatDistrictCode", getBoatDistrictCodePropertyConduit()); + addNonSortableProperty(Contact.PROPERTY_STATE, null); + addNonSortableProperty(Contact.PROPERTY_OBSERVATION_BEGIN_DATE, null); + addNonSortableProperty(Contact.PROPERTY_OBSERVATION_END_DATE, null); + addNonSortableProperty(Contact.PROPERTY_NB_OBSERVANTS, null); + addNonSortableProperty("mammals", null); + addNonSortableProperty("actualSamplingStrategy", getActualSamplingStrategyPropertyConduit()); + addNonSortableProperty(Contact.PROPERTY_COMPLETE_SAMPLING, null); + addNonSortableProperty(Contact.PROPERTY_COMMENT, null); + addNonSortableProperty(Contact.PROPERTY_DATA_INPUT_DATE, null); + addNonSortableProperty("validation", null); + addNonSortableProperty(Contact.PROPERTY_COMMENT_COORDINATOR, getCommentCoordinatorPropertyConduit()); + addNonSortableProperty(Contact.PROPERTY_COMMENT_ADMIN, getCommentAdminPropertyConduit()); + addNonSortableProperty("dataReliability", getDataReliabilityPropertyConduit()); + addNonSortableProperty("actions", null); } - public PropertyConduit getUserPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getMainObserver().getFullName(); - } - - @Override - public void set(Object arg0, Object arg1) { - } + /** remove properties from model depending on role, program, and fullView */ + protected void filterModel() { - @Override - public Class getPropertyType() { - return String.class; - } + if (obsProgram == ObsProgram.OBSMER) { + model.exclude("expectedSamplingStrategy", + "actualSamplingStrategy", + Contact.PROPERTY_COMPLETE_SAMPLING); + } - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; - } - - public PropertyConduit getCompanyPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getMainObserver().getCompany().getName(); - } + if (obsProgram == ObsProgram.OBSVENTE) { + model.exclude("dataReliability"); + } - @Override - public void set(Object arg0, Object arg1) { - } + if (userRole != UserRole.ADMIN || ! fullView) { + model.exclude("observer", + WaoUser.PROPERTY_COMPANY,"program","professionCode", "professionLibelle", + "professionSpecies", "fishingZoneFacade", "fishingZoneSector", + "fishingZoneDivision", "boatImmatriculation", "boatDistrictCode"); + } - @Override - public Class getPropertyType() { - return String.class; - } + if (userRole != UserRole.ADMIN && userRole != UserRole.COORDINATOR) { + model.exclude(Contact.PROPERTY_COMMENT_COORDINATOR, + Contact.PROPERTY_COMMENT_ADMIN, "dataReliability"); + } - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; - } - - public PropertyConduit getSampleRowPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getCode(); - } + } - @Override - public void set(Object arg0, Object arg1) { - } + public BeanModel<Contact> newModel(BeanModelSource beanModelSource, ComponentResources resources) { + model = beanModelSource.createDisplayModel(Contact.class, resources.getMessages()); - @Override - public Class getPropertyType() { - return String.class; - } + // reset, so next adds will not throw an exception about already existing property + model.include(); - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; - } + initModel(); - public PropertyConduit getBoatPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getBoat().getName(); - } + filterModel(); - @Override - public void set(Object arg0, Object arg1) { - } + return model; + } - @Override - public Class getPropertyType() { - return String.class; - } + /** put in common some implementation of PropertyConduit interface. */ + protected static abstract class ContactReaderPropertyConduit implements PropertyConduit { - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; - } + public abstract String getValue(Contact contact); - public PropertyConduit getProgramPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getProgramName(); - } + @Override + public String get(Object instance) { + // cast and delegate + Contact contact = (Contact) instance; + return getValue(contact); + } - @Override - public void set(Object arg0, Object arg1) { - } + /** all value returned are string */ + @Override + public Class getPropertyType() { + return String.class; + } - @Override - public Class getPropertyType() { - return String.class; - } + /** should never be called */ + @Override + public void set(Object instance, Object value) { + throw new UnsupportedOperationException(); + } - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + /** should never be called */ + @Override + public <T extends Annotation> T getAnnotation(Class<T> annotationClass) { + throw new UnsupportedOperationException(); + } } - public PropertyConduit getProfessionCodePropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getProfessionDescription(); - } + protected PropertyConduit getUserPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getMainObserver().getFullName(); + } + }; + } + + protected PropertyConduit getCompanyPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getMainObserver().getCompany().getName(); + } + }; + } + + protected PropertyConduit getSampleRowPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getCode(); + } + }; + } - @Override - public void set(Object arg0, Object arg1) { - } + protected PropertyConduit getBoatPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getBoat().getName(); + } + }; + } - @Override - public Class getPropertyType() { - return String.class; - } + protected PropertyConduit getProgramPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getProgramName(); + } + }; + } - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getProfessionCodePropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getProfessionDescription(); + } + }; } - public PropertyConduit getProfessionLibellePropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getProfession().getLibelle(); - } + protected PropertyConduit getProfessionLibellePropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getProfession().getLibelle(); + } + }; + } - @Override - public void set(Object arg0, Object arg1) { - } + protected PropertyConduit getProfessionSpeciesPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getProfession().getSpecies(); + } + }; + } - @Override - public Class getPropertyType() { - return String.class; - } + protected PropertyConduit getFishingZoneFacadePropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getFacade(); + } + }; + } - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getFishingZoneSectorPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getSectors(); + } + }; } - public PropertyConduit getProfessionSpeciesPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getProfession().getSpecies(); + protected PropertyConduit getFishingZoneDivisionPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + String result = ""; + for (FishingZone zone : contact.getSampleRow().getFishingZone()) { + result += zone.getDistrictCode() + " "; } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + return result; + } + }; } - public PropertyConduit getFishingZoneFacadePropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getFacade(); - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getBoatImmatriculationPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return String.valueOf(contact.getBoat().getImmatriculation()); + } + }; } - public PropertyConduit getFishingZoneSectorPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getSampleRow().getSectors(); - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getBoatDistrictCodePropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getBoat().getDistrictCode(); + } + }; } - public PropertyConduit getFishingZoneDivisionPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - String result = ""; - for (FishingZone zone : contact.getSampleRow().getFishingZone()) { - result += zone.getDistrictCode() + " "; - } - return result; - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getCommentCoordinatorPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getCommentCoordinator(); + } + }; } - public PropertyConduit getBoatImmatriculationPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getBoat().getImmatriculation(); - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getCommentAdminPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getCommentAdmin(); + } + }; } - public PropertyConduit getBoatDistrictCodePropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getBoat().getDistrictCode(); - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getDataReliabilityPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getDataReliability().toString(); + } + }; } - public PropertyConduit getCommentCoordinatorPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getCommentCoordinator(); - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getActualSamplingStrategyPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSamplingStrategy().toString(); + } + }; } - public PropertyConduit getCommentAdminPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact)arg0; - return contact.getCommentAdmin(); - } - - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; + protected PropertyConduit getExpectedSamplingStrategyPropertyConduit() { + return new ContactReaderPropertyConduit() { + @Override + public String getValue(Contact contact) { + return contact.getSampleRow().getSamplingStrategy().toString(); + } + }; } - public PropertyConduit getDataReliabilityPropertyConduit() { - return new PropertyConduit() { - @Override - public Object get(Object arg0) { - Contact contact = (Contact) arg0; - return contact.getDataReliability(); - } - @Override - public void set(Object arg0, Object arg1) { - } - - @Override - public Class getPropertyType() { - return String.class; - } - - @Override - public <T extends Annotation> T getAnnotation(Class<T> arg0) { - return null; - } - }; - } } Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties 2010-12-28 16:55:24 UTC (rev 864) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts.properties 2010-12-29 16:27:19 UTC (rev 865) @@ -61,6 +61,10 @@ commentCoordinator-label: Commentaire soci\u00e9t\u00e9 dataReliability-label: Qualit\u00e9 de la donn\u00e9e sortedByBoardingDate-label: Trier par date de d\u00e9but de mar\u00e9e (du plus r\u00e9cent au plus ancien) +expectedSamplingStrategy-label: Strat\u00e9gie d'\u00e9chantillonnage attendue +actualSamplingStrategy-label: Strat\u00e9gie d'\u00e9chantillonnage utilis\u00e9e +completeSampling-label: \u00c9chantillonnage complet + # Form labels contactsForm-errors-banner: Le contact n'a pas \u00e9t\u00e9 sauvegard\u00e9 \u00e0 cause des erreurs suivantes : Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties 2010-12-28 16:55:24 UTC (rev 864) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SamplingPlan.properties 2010-12-29 16:27:19 UTC (rev 865) @@ -33,5 +33,6 @@ selectedSampleRow-label: Code ligne fishingGearDCF-label: Engins code DCF targetSpeciesDCF-label: Ensembles d\'esp\u00e8ces-cible code DCF +samplingStrategy-label: Strat\u00e9gie d'\u00e9chantillonnage sampleRow-delete-confirmMessage: \u00cates-vous s\u00fbr de vouloir supprimer d\u00e9finitivement la ligne %1$s du plan d\'\u00e9chantillonnage ? Modified: trunk/wao-ui/src/main/webapp/SamplingPlan.tml =================================================================== --- trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-12-28 16:55:24 UTC (rev 864) +++ trunk/wao-ui/src/main/webapp/SamplingPlan.tml 2010-12-29 16:27:19 UTC (rev 865) @@ -127,6 +127,10 @@ <input t:type="select" t:id="fishingGearDCF" t:model="dcfGearSelectModel" value="fishingGearDCFId"/> <t:label t:for="targetSpeciesDCF" /> : <input t:type="select" t:id="targetSpeciesDCF" t:model="dcfSpeciesSelectModel" value="targetSpeciesDCFId"/> + <t:if test="showObsVente()"> + <t:label t:for="samplingStrategy" /> + <input t:type="select" t:id="samplingStrategy" value="filter.samplingStrategy" /> + </t:if> </div> <div class="t-beaneditor-row aright"> <input t:type="submit" class="ico search-32px" t:id="search" value="Search" title="Rechercher les lignes du plan correspondants aux filtres saisies" />
participants (1)
-
bleny@users.labs.libre-entreprise.org