This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ff17d2b0d4a86753a333bbc63a47528e7c3d793f Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 25 14:16:00 2015 +0200 Suppression de la notion d'Openable sur les entitées Ajout des tag values orderBy dans le modèle d'entités Suppression des méthodes métier sur les entités (ce n'est plus à ce niveau qu'il faut coder cela) --- .../observe/entities/{Set.java => ObserveSet.java} | 2 +- .../fr/ird/observe/entities/OpenableEntities.java | 142 +++--- .../ird/observe/entities/OpenableEntityImpl.java | 35 -- .../main/java/fr/ird/observe/entities/Trip.java | 2 +- .../entities/longline/ActivityLonglineImpl.java | 24 +- .../longline/ActivityLonglineTopiaDao.java | 8 +- .../entities/longline/SectionWithTemplateImpl.java | 6 +- .../fr/ird/observe/entities/longline/Sections.java | 6 +- .../entities/longline/TripLonglineImpl.java | 142 +++--- .../entities/longline/TripLonglineTopiaDao.java | 12 +- .../migration/AbstractDataSourceMigration.java | 3 +- .../DataSourceMigrationForVersion_5_0.java | 54 +++ .../observe/entities/seine/ActivitySeineImpl.java | 23 +- .../entities/seine/ActivitySeineTopiaDao.java | 8 +- .../observe/entities/seine/FloatingObjectImpl.java | 3 +- .../fr/ird/observe/entities/seine/RouteImpl.java | 499 ++++++++++----------- .../ird/observe/entities/seine/RouteTopiaDao.java | 10 +- .../ird/observe/entities/seine/TripSeineImpl.java | 250 +++++------ .../observe/entities/seine/TripSeineTopiaDao.java | 12 +- .../main/resources/db/5.0/remove_open_field-H2.sql | 5 + .../main/resources/db/5.0/remove_open_field-PG.sql | 5 + observe-entities/src/main/xmi/observe-common.zargo | Bin 35500 -> 35191 bytes .../src/main/xmi/observe-longline.properties | 16 +- .../src/main/xmi/observe-longline.zargo | Bin 96372 -> 95691 bytes .../src/main/xmi/observe-seine.properties | 28 +- observe-entities/src/main/xmi/observe-seine.zargo | Bin 85804 -> 83247 bytes 26 files changed, 654 insertions(+), 641 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Set.java b/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java similarity index 95% rename from observe-entities/src/main/java/fr/ird/observe/entities/Set.java rename to observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java index d43dd22..961497a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Set.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java @@ -30,7 +30,7 @@ import org.nuiton.topia.persistence.TopiaEntity; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public interface Set extends TopiaEntity { +public interface ObserveSet extends TopiaEntity { void initCoordinates(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java index b6ad4ed..6d2fc26 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java @@ -22,12 +22,6 @@ package fr.ird.observe.entities; * #L% */ -import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.seine.TripSeine; -import org.nuiton.topia.persistence.TopiaException; - -import java.util.Collection; - /** * Created on 8/25/14. * @@ -36,72 +30,72 @@ import java.util.Collection; */ public class OpenableEntities { - /** - * @param o l'objet dont on veut tester le type - * @return {@code true} si l'objet est non null et de type {@link - * OpenableEntity}, {@code false} autrement. - */ - public static boolean isOpenable(Object o) { - if (o == null) { - return false; - } - Class<?> c; - if (!Class.class.equals(o.getClass())) { - c = o.getClass(); - } else { - c = (Class<?>) o; - } - return OpenableEntity.class.isAssignableFrom(c); - } - - /** - * //FIXME Should use also a getOpenTrip for Longline model. - * @param ctxt le topia context - * @return la marée ouverte, ou <code>null</code> si pas de marée ouverte - * @if any pb - */ - public static TripSeine getOpenTrip(ObserveTopiaPersistenceContext ctxt) { - if (ctxt == null) { - throw new TopiaException("could not find a local topia" + - " context"); - } - TripSeine m = ctxt.getTripSeineDao().forOpenEquals(true).findAnyOrNull(); - return m; - } - - /** - * @param <O> le type des données de type {@link OpenableEntity} - * @param openableEntity l'openableEntity ou rechercher dans ses chils - * @return l'objet dans la liste qui est ouvert, ou <code>null</code> si - * aucun objet ouvert. - */ - public static <O extends OpenableEntity> O getOpenChild(OpenableEntity openableEntity) { - Collection<?> openables = openableEntity.getOpenableChilds(); - if (openables != null) { - for (Object o : openables) { - if (((OpenableEntity) o).isOpen()) { - return (O) o; - } - } - } - return null; - } - - /** - * @param <O> le type des données de type {@link OpenableEntity} - * @param openables une liste de données de type {@link OpenableEntity}. - * @return l'objet dans la liste qui est ouvert, ou <code>null</code> si - * aucun objet ouvert. - */ - public static <O extends OpenableEntity> O getOpenEntity( - Collection<O> openables) { - if (openables != null) { - for (O o : openables) { - if (o.isOpen()) { - return o; - } - } - } - return null; - } +// /** +// * @param o l'objet dont on veut tester le type +// * @return {@code true} si l'objet est non null et de type {@link +// * OpenableEntity}, {@code false} autrement. +// */ +// public static boolean isOpenable(Object o) { +// if (o == null) { +// return false; +// } +// Class<?> c; +// if (!Class.class.equals(o.getClass())) { +// c = o.getClass(); +// } else { +// c = (Class<?>) o; +// } +// return OpenableEntity.class.isAssignableFrom(c); +// } +// +// /** +// * //FIXME Should use also a getOpenTrip for Longline model. +// * @param ctxt le topia context +// * @return la marée ouverte, ou <code>null</code> si pas de marée ouverte +// * @if any pb +// */ +// public static TripSeine getOpenTrip(ObserveTopiaPersistenceContext ctxt) { +// if (ctxt == null) { +// throw new TopiaException("could not find a local topia" + +// " context"); +// } +// TripSeine m = ctxt.getTripSeineDao().forOpenEquals(true).findAnyOrNull(); +// return m; +// } +// +// /** +// * @param <O> le type des données de type {@link OpenableEntity} +// * @param openableEntity l'openableEntity ou rechercher dans ses chils +// * @return l'objet dans la liste qui est ouvert, ou <code>null</code> si +// * aucun objet ouvert. +// */ +// public static <O extends OpenableEntity> O getOpenChild(OpenableEntity openableEntity) { +// Collection<?> openables = openableEntity.getOpenableChilds(); +// if (openables != null) { +// for (Object o : openables) { +// if (((OpenableEntity) o).isOpen()) { +// return (O) o; +// } +// } +// } +// return null; +// } +// +// /** +// * @param <O> le type des données de type {@link OpenableEntity} +// * @param openables une liste de données de type {@link OpenableEntity}. +// * @return l'objet dans la liste qui est ouvert, ou <code>null</code> si +// * aucun objet ouvert. +// */ +// public static <O extends OpenableEntity> O getOpenEntity( +// Collection<O> openables) { +// if (openables != null) { +// for (O o : openables) { +// if (o.isOpen()) { +// return o; +// } +// } +// } +// return null; +// } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntityImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntityImpl.java deleted file mode 100644 index cbadb2d..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntityImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package fr.ird.observe.entities; - -/* - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2014 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/** - * Created on 6/27/14. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 4.0 - */ -public abstract class OpenableEntityImpl extends OpenableEntityAbstract { - - private static final long serialVersionUID = 1L; - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java b/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java index dcb5fe9..0bcfbe6 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java @@ -39,7 +39,7 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public interface Trip extends OpenableEntity { +public interface Trip extends CommentableEntity { String PROPERTY_START_DATE = "startDate"; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineImpl.java index 0fcfc73..247b8b0 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineImpl.java @@ -24,13 +24,11 @@ package fr.ird.observe.entities.longline; import com.google.common.base.MoreObjects; import fr.ird.observe.entities.Entities; -import fr.ird.observe.entities.OpenableEntity; import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; import fr.ird.type.CoordinateHelper; import org.nuiton.util.DateUtil; import java.util.Date; -import java.util.List; import java.util.Objects; public class ActivityLonglineImpl extends ActivityLonglineAbstract { @@ -48,17 +46,17 @@ public class ActivityLonglineImpl extends ActivityLonglineAbstract { */ protected Integer quadrant; - @Override - public OpenableEntity getOpenChild() { - // sur une activity, pas d'enfant OpenableEntity - return null; - } - - @Override - public List getOpenableChilds() { - // sur une activity, pas d'enfant OpenableEntity - return null; - } +// @Override +// public OpenableEntity getOpenChild() { +// // sur une activity, pas d'enfant OpenableEntity +// return null; +// } +// +// @Override +// public List getOpenableChilds() { +// // sur une activity, pas d'enfant OpenableEntity +// return null; +// } @Override public Date getDate() { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java index eaf7a9f..9cee6fb 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java @@ -82,7 +82,7 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A String sql = "SELECT" + " a.topiaId," + " a.timestamp," + - " a.open," + +// " a.open," + " a.set," + " va." + referenceLocale.getColumnName() + " FROM observe_longline.activity a, observe_longline.vesselactivity va" + @@ -115,9 +115,9 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A ActivityLongline activity = new ActivityLonglineImpl(); activity.setTopiaId(set.getString(1)); activity.setTimeStamp(set.getTimestamp(2)); - activity.setOpen(set.getBoolean(3)); +// activity.setOpen(set.getBoolean(3)); - String setId = set.getString(4); + String setId = set.getString(3); if (setId != null) { SetLonglineImpl setLongline = new SetLonglineImpl(); @@ -126,7 +126,7 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A } VesselActivityLongline vesselActivity = new VesselActivityLonglineImpl(); - String label = set.getString(5); + String label = set.getString(4); referenceLocale.setLabel(label, vesselActivity); activity.setVesselActivityLongline(vesselActivity); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java index 3398e00..b41f52b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities.longline; import java.util.Collection; import java.util.Date; -import java.util.List; +import java.util.Set; /** * Created on 12/12/14. @@ -108,7 +108,7 @@ public class SectionWithTemplateImpl extends SectionImpl implements SectionWithT } @Override - public List<Basket> getBasket() { + public Set<Basket> getBasket() { return delegate.getBasket(); } @@ -183,7 +183,7 @@ public class SectionWithTemplateImpl extends SectionImpl implements SectionWithT } @Override - public void setBasket(List<Basket> basket) { + public void setBasket(Set<Basket> basket) { delegate.setBasket(basket); } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/Sections.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/Sections.java index b9f58e8..2b452bd 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/Sections.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/Sections.java @@ -22,6 +22,8 @@ package fr.ird.observe.entities.longline; * #L% */ +import com.google.common.collect.Iterables; + /** * Created on 3/18/15. * @@ -33,14 +35,14 @@ public class Sections { public static Basket getFirstBasket(Section section) { - Basket basket = section.isBasketEmpty() ? null : section.getBasket().get(0); + Basket basket = section.isBasketEmpty() ? null : Iterables.getFirst(section.getBasket(), null); return basket; } public static Basket getLastBasket(Section section) { - Basket basket= section.isBasketEmpty() ? null : section.getBasket().get(section.sizeBasket() - 1); + Basket basket= section.isBasketEmpty() ? null : Iterables.getLast(section.getBasket()); return basket; } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineImpl.java index 197155c..4edf361 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineImpl.java @@ -22,10 +22,6 @@ package fr.ird.observe.entities.longline; * #L% */ -import fr.ird.observe.entities.OpenableEntities; - -import java.util.List; - /** * Created on 8/27/14. * @@ -51,76 +47,76 @@ public class TripLonglineImpl extends TripLonglineAbstract { return false; } - @Override - public ActivityLongline getOpenChild() { - return OpenableEntities.getOpenEntity(activityLongline); - } - - @Override - public List<ActivityLongline> getOpenableChilds() { - return activityLongline; - } - - @Override - public ActivityLongline getOpenActivity() { - return getOpenChild(); - } - - @Override - public ActivityLongline getPreviousActivity(ActivityLongline activity) { - - if (isActivityLonglineEmpty()) { - - // aucune route definie sur la maree - return null; - } - int index = this.activityLongline.indexOf(activity); - if (index < 1) { - - // la route donnee n'est pas definie sur cette maree ou est la - // premiere route - return null; - } - - // on retourne la route precedente - return this.activityLongline.get(index - 1); - - } - - @Override - public ActivityLongline getNextActivity(ActivityLongline activity) { - - if (isActivityLonglineEmpty()) { - - // aucune route definie sur la maree - return null; - } - int index = this.activityLongline.indexOf(activity); - if (index == -1 || index + 1 >= sizeActivityLongline()) { - - // la route n'est pas definie sur cette maree, ou c'est la - // dernière de la maree - return null; - } - - // on retourne la route suivante - return this.activityLongline.get(index + 1); - - } - - @Override - public ActivityLongline getLastActivity() { - - if (isActivityLonglineEmpty()) { - - // aucune route definie sur la maree - return null; - } - - // on retourne la dernière route de la maree - return getActivityLongline().get(sizeActivityLongline() - 1); +// @Override +// public ActivityLongline getOpenChild() { +// return OpenableEntities.getOpenEntity(activityLongline); +// } +// +// @Override +// public List<ActivityLongline> getOpenableChilds() { +// return activityLongline; +// } +// +// @Override +// public ActivityLongline getOpenActivity() { +// return getOpenChild(); +// } - } +// @Override +// public ActivityLongline getPreviousActivity(ActivityLongline activity) { +// +// if (isActivityLonglineEmpty()) { +// +// // aucune route definie sur la maree +// return null; +// } +// int index = this.activityLongline.indexOf(activity); +// if (index < 1) { +// +// // la route donnee n'est pas definie sur cette maree ou est la +// // premiere route +// return null; +// } +// +// // on retourne la route precedente +// return this.activityLongline.get(index - 1); +// +// } +// +// @Override +// public ActivityLongline getNextActivity(ActivityLongline activity) { +// +// if (isActivityLonglineEmpty()) { +// +// // aucune route definie sur la maree +// return null; +// } +// int index = this.activityLongline.indexOf(activity); +// if (index == -1 || index + 1 >= sizeActivityLongline()) { +// +// // la route n'est pas definie sur cette maree, ou c'est la +// // dernière de la maree +// return null; +// } +// +// // on retourne la route suivante +// return this.activityLongline.get(index + 1); +// +// } +// +// @Override +// public ActivityLongline getLastActivity() { +// +// if (isActivityLonglineEmpty()) { +// +// // aucune route definie sur la maree +// return null; +// } +// +// // on retourne la dernière route de la maree +// return getActivityLongline().get(sizeActivityLongline() - 1); +// +// } // @Override // public Date getEndDateTheorique() { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index 4cbc12c..8b1a4f0 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -272,7 +272,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " t.topiaId," + " t.startDate," + " t.endDate," + - " t.open," + +// " t.open," + " p.lastName," + " p.firstName," + " v.topiaId," + @@ -303,19 +303,19 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl trip.setTopiaId(set.getString(1)); trip.setStartDate(set.getTimestamp(2)); trip.setEndDate(set.getTimestamp(3)); - trip.setOpen(set.getBoolean(4)); +// trip.setOpen(set.getBoolean(4)); - String observerFirstName = set.getString(5); - String observerLastName = set.getString(6); + String observerFirstName = set.getString(4); + String observerLastName = set.getString(5); Person observer = new PersonImpl(); observer.setFirstName(observerFirstName); observer.setLastName(observerLastName); trip.setObserver(observer); Vessel vessel = new VesselImpl(); - String vesselId = set.getString(7); + String vesselId = set.getString(6); vessel.setTopiaId(vesselId); - String label = set.getString(8); + String label = set.getString(7); referenceLocale.setLabel(label, vessel); trip.setVessel(vessel); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index 6294e0c..d711e3a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -81,13 +81,14 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_4_0_RC7 = Versions.valueOf("4.0-RC7"); public static final Version V_4_0 = Versions.valueOf("4.0"); + public static final Version V_5_0 = Versions.valueOf("5.0"); public static final Version V_4_0_1 = Versions.valueOf("4.0.1"); /** Les versions de mise à jour disponibles. */ public static final Version[] availableVersions = new Version[]{ V_3_1, V_3_5, V_3_7, V_3_8, V_3_9, V_3_10, V_3_11, V_3_12, V_3_14, V_3_15, V_3_16, V_4_0_RC2, - V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1 + V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_5_0 }; protected ObserveTopiaApplicationContext topiaApplicationContext; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java new file mode 100644 index 0000000..f0a26ee --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java @@ -0,0 +1,54 @@ +package fr.ird.observe.entities.migration.versions; + +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; + +import java.util.List; + +/** + * Created on 25/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceMigrationForVersion_5_0 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_5_0(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_5_0, callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) { + + // Suppression du champ open sur les entités anciennement du type Openable + // See https://forge.codelutin.com/issues/7469 + addScript("remove_open_field", queries); + + // Ajout des champs lastUpdate + // See https://forge.codelutin.com/issues/7470 + //TODO addScript("add_last_date_update", queries); + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineImpl.java index 9241a8c..52b3790 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineImpl.java @@ -23,7 +23,6 @@ package fr.ird.observe.entities.seine; import com.google.common.base.MoreObjects; import fr.ird.observe.entities.Entities; -import fr.ird.observe.entities.OpenableEntity; import fr.ird.observe.entities.constants.seine.SchoolType; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; import fr.ird.observe.util.Numbers; @@ -72,17 +71,17 @@ public class ActivitySeineImpl extends ActivitySeineAbstract { */ protected Integer quadrant; - @Override - public OpenableEntity getOpenChild() { - // sur une activity, pas d'enfant OpenableEntity - return null; - } - - @Override - public List<?> getOpenableChilds() { - // sur une activity, pas d'enfant OpenableEntity - return null; - } +// @Override +// public OpenableEntity getOpenChild() { +// // sur une activity, pas d'enfant OpenableEntity +// return null; +// } +// +// @Override +// public List<?> getOpenableChilds() { +// // sur une activity, pas d'enfant OpenableEntity +// return null; +// } /** @return {@code true} si l'activite concerne un DCP */ @Override diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java index a9bdcc8..6907674 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java @@ -82,7 +82,7 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit String sql = "SELECT" + " a.topiaId," + " a.time," + - " a.open," + +// " a.open," + " a.set," + " va." + referenceLocale.getColumnName() + " FROM observe_seine.activity a, observe_seine.vesselactivity va" + @@ -115,9 +115,9 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit ActivitySeine activity = new ActivitySeineImpl(); activity.setTopiaId(set.getString(1)); activity.setTime(set.getTime(2)); - activity.setOpen(set.getBoolean(3)); +// activity.setOpen(set.getBoolean(3)); - String setId = set.getString(4); + String setId = set.getString(3); if (setId != null) { SetSeine setSeine = new SetSeineImpl(); @@ -127,7 +127,7 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit } VesselActivitySeine vesselActivity = new VesselActivitySeineImpl(); - String label = set.getString(5); + String label = set.getString(4); referenceLocale.setLabel(label, vesselActivity); activity.setVesselActivitySeine(vesselActivity); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectImpl.java index 57df67f..dcca89f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectImpl.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.entities.seine; +import com.google.common.collect.Iterables; import fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation; import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; @@ -48,7 +49,7 @@ public class FloatingObjectImpl extends FloatingObjectAbstract { // - visite simple // - récuperation // - pose d'une nouvelle balise - TransmittingBuoy balise = transmittingBuoy.get(0); + TransmittingBuoy balise = Iterables.get(transmittingBuoy, 0); TransmittingBuoyOperation objectOperation = balise.getTransmittingBuoyOperation(); switch (Integer.valueOf(objectOperation.getCode())) { case 1: diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteImpl.java index 7456fd3..aa6c125 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteImpl.java @@ -55,254 +55,253 @@ public class RouteImpl extends RouteAbstract { super.setEndLogValue(endLogValue); } - @Override - public ActivitySeine getOpenChild() { - return OpenableEntities.getOpenEntity(activitySeine); - } - - @Override - public List<ActivitySeine> getOpenableChilds() { - return activitySeine; - } - - @Override - public ActivitySeine getOpenActivity() { - return getOpenChild(); - } - - /** - * @param activitySeine null - * @return l'activity precedente celle donnee ou null - */ - @Override - public ActivitySeine getPreviousActivity(ActivitySeine activitySeine) { - if (isActivitySeineEmpty()) { - - // pas d'activity definie sur la route - return null; - } - int index = this.activitySeine.indexOf(activitySeine); - if (index < 1) { - - // activity non trouvée sur cette route ou premiere activity - // donc pas d'activity précédente - return null; - } - - // on retourne l'activity precedente - return this.activitySeine.get(index - 1); - } - - /** - * @param activitySeine null - * @return l'activity suivante celle donnee ou null - */ - @Override - public ActivitySeine getNextActivity(ActivitySeine activitySeine) { - if (isActivitySeineEmpty()) { - - // pas d'activity definie sur la route - return null; - } - int index = this.activitySeine.indexOf(activitySeine); - if (index == -1 || index + 1 >= sizeActivitySeine()) { - - // l'activity n'est pas definie sur cette route, ou c'est la - // dernière de la route - return null; - } - - // on retourne l'activity suivante - return this.activitySeine.get(index + 1); - } - - /** @return la derniere activity */ - @Override - public ActivitySeine getLastActivity() { - if (isActivitySeineEmpty()) { - - // pas d'activity definie sur la route - return null; - } - - // on retourne la derniere activity - return activitySeine.get(sizeActivitySeine() - 1); - } - - @Override - public boolean isActivityFindDeVeilleFound() { - return getActivityFinDeVeille() != null; - } - - @Override - public ActivitySeine getActivityFinDeVeille() { - if (activitySeine == null || isActivitySeineEmpty()) { - return null; - } - ActivitySeine result = null; - for (ActivitySeine a : activitySeine) { - if (a.isActivityFinDeVeille()) { - - // il existe bien une activity de fin de veille - result = a; - break; - } - } - return result; - } - - @Override - public List<ActivitySeine> getActivityDebutDePechePositive() { - List<ActivitySeine> result = new ArrayList<ActivitySeine>(); - if (activitySeine != null && !isActivitySeineEmpty()) { - for (ActivitySeine a : activitySeine) { - if (a.isActivityDebutDePechePositive()) { - - // activity de debut de peche positive - result.add(a); - } - } - } - return result; - } - - @Override - public List<ActivitySeine> getActivityFinDePeche() { - List<ActivitySeine> result = new ArrayList<ActivitySeine>(); - if (activitySeine != null && !isActivitySeineEmpty()) { - for (ActivitySeine a : activitySeine) { - if (a.isActivityFinDePeche()) { - - // activity de debut de peche positive - result.add(a); - } - } - } - return result; - } - - @Override - public ActivitySeine getNextActivityFinDePeche(ActivitySeine actitiveDebut) { - if (activitySeine == null || isActivitySeineEmpty()) { - - // pas d'actitive dans la route - return null; - } - int position = activitySeine.indexOf(actitiveDebut); - if (position == -1) { - - // activity de debut non trouvee - return null; - } - - for (int i = position + 1, max = sizeActivitySeine(); i < max; i++) { - ActivitySeine a = activitySeine.get(i); - if (a.isActivityFinDePeche()) { - - // activity de fin de peche trouvee - return a; - } - } - return null; - } - - @Override - public ActivitySeine getNextActivityDebutDePechePositive(ActivitySeine actitiveDebut) { - if (activitySeine == null || isActivitySeineEmpty()) { - - // pas d'actitive dans la route - return null; - } - int position = activitySeine.indexOf(actitiveDebut); - if (position == -1) { - - // activity de debut non trouvee - return null; - } - - for (int i = position + 1, max = sizeActivitySeine(); i < max; i++) { - ActivitySeine a = activitySeine.get(i); - if (a.isActivityDebutDePechePositive()) { - - // activity de fin de peche trouvee - return a; - } - } - return null; - } - - @Override - public ActivitySeine getLastActivityDebutDePechePositiveBefore(Date actitiveDebut) { - - if (activitySeine == null || isActivitySeineEmpty()) { - - // pas d'actitive dans la route - return null; - } - - int position = getLastActivityBefore(actitiveDebut); - - if (position == -1) { - - // activity avant toute les autres ou non trouvee - return null; - } - - // on parcours en ordre inverse depuis la position jusqu'à trouver - // de debut de peche positive - ActivitySeine result = null; - for (int i = position; i > -1; i--) { - ActivitySeine a = activitySeine.get(i); - if (a.isActivityDebutDePechePositive()) { - - // on a trouve une activity de debut de peche positive - result = a; - break; - } - } - return result; - } - - //TODO A supprimer du modèle uml (pas fait pour le moment pour éviter les merges inutile de modèle...) - @Override - @Deprecated - public void updateDates() { - throw new IllegalStateException("A NE PLUS UTILISER!!!"); - } - - protected int getLastActivityBefore(Date currentTime) { - if (activitySeine == null || isActivitySeineEmpty()) { - - // pas d'actitive dans la route - return -1; - } - Iterator<ActivitySeine> itr = activitySeine.iterator(); - int i = -1; - while (itr.hasNext()) { - ActivitySeine a = itr.next(); - if (currentTime.before(a.getTime()) || - currentTime.equals(a.getTime())) { - break; - } - i++; - } - return i; - } - - @Override - public boolean isTimeAvailable(String activityId, Date time) { - boolean result = true; - if (!isActivitySeineEmpty()) { - time = DateUtil.getTime(time, false, false); - for (ActivitySeine a : getActivitySeine()) { - if (DateUtil.getTime(a.getTime(), false, false).equals(time) && - !a.getTopiaId().equals(activityId)) { - // heure observation already used - result = false; - break; - } - } - } - return result; - } +// @Override +// public ActivitySeine getOpenChild() { +// return OpenableEntities.getOpenEntity(activitySeine); +// } +// +// @Override +// public List<ActivitySeine> getOpenableChilds() { +// return activitySeine; +// } +// +// @Override +// public ActivitySeine getOpenActivity() { +// return getOpenChild(); +// } +// +// /** +// * @param activitySeine null +// * @return l'activity precedente celle donnee ou null +// */ +// @Override +// public ActivitySeine getPreviousActivity(ActivitySeine activitySeine) { +// if (isActivitySeineEmpty()) { +// +// // pas d'activity definie sur la route +// return null; +// } +// int index = this.activitySeine.indexOf(activitySeine); +// if (index < 1) { +// +// // activity non trouvée sur cette route ou premiere activity +// // donc pas d'activity précédente +// return null; +// } +// +// // on retourne l'activity precedente +// return this.activitySeine.get(index - 1); +// } +// +// /** +// * @param activitySeine null +// * @return l'activity suivante celle donnee ou null +// */ +// @Override +// public ActivitySeine getNextActivity(ActivitySeine activitySeine) { +// if (isActivitySeineEmpty()) { +// +// // pas d'activity definie sur la route +// return null; +// } +// int index = this.activitySeine.indexOf(activitySeine); +// if (index == -1 || index + 1 >= sizeActivitySeine()) { +// +// // l'activity n'est pas definie sur cette route, ou c'est la +// // dernière de la route +// return null; +// } +// +// // on retourne l'activity suivante +// return this.activitySeine.get(index + 1); +// } +// +// /** @return la derniere activity */ +// @Override +// public ActivitySeine getLastActivity() { +// if (isActivitySeineEmpty()) { +// +// // pas d'activity definie sur la route +// return null; +// } +// +// // on retourne la derniere activity +// return activitySeine.get(sizeActivitySeine() - 1); +// } + +// @Override +// public boolean isActivityFindDeVeilleFound() { +// return getActivityFinDeVeille() != null; +// } +// +// @Override +// public ActivitySeine getActivityFinDeVeille() { +// if (activitySeine == null || isActivitySeineEmpty()) { +// return null; +// } +// ActivitySeine result = null; +// for (ActivitySeine a : activitySeine) { +// if (a.isActivityFinDeVeille()) { +// +// // il existe bien une activity de fin de veille +// result = a; +// break; +// } +// } +// return result; +// } +// +// @Override +// public List<ActivitySeine> getActivityDebutDePechePositive() { +// List<ActivitySeine> result = new ArrayList<ActivitySeine>(); +// if (activitySeine != null && !isActivitySeineEmpty()) { +// for (ActivitySeine a : activitySeine) { +// if (a.isActivityDebutDePechePositive()) { +// +// // activity de debut de peche positive +// result.add(a); +// } +// } +// } +// return result; +// } +// +// @Override +// public List<ActivitySeine> getActivityFinDePeche() { +// List<ActivitySeine> result = new ArrayList<ActivitySeine>(); +// if (activitySeine != null && !isActivitySeineEmpty()) { +// for (ActivitySeine a : activitySeine) { +// if (a.isActivityFinDePeche()) { +// +// // activity de debut de peche positive +// result.add(a); +// } +// } +// } +// return result; +// } +// +// @Override +// public ActivitySeine getNextActivityFinDePeche(ActivitySeine actitiveDebut) { +// if (activitySeine == null || isActivitySeineEmpty()) { +// +// // pas d'actitive dans la route +// return null; +// } +// int position = activitySeine.indexOf(actitiveDebut); +// if (position == -1) { +// +// // activity de debut non trouvee +// return null; +// } +// +// for (int i = position + 1, max = sizeActivitySeine(); i < max; i++) { +// ActivitySeine a = activitySeine.get(i); +// if (a.isActivityFinDePeche()) { +// +// // activity de fin de peche trouvee +// return a; +// } +// } +// return null; +// } +// +// @Override +// public ActivitySeine getNextActivityDebutDePechePositive(ActivitySeine actitiveDebut) { +// if (activitySeine == null || isActivitySeineEmpty()) { +// +// // pas d'actitive dans la route +// return null; +// } +// int position = activitySeine.indexOf(actitiveDebut); +// if (position == -1) { +// +// // activity de debut non trouvee +// return null; +// } +// +// for (int i = position + 1, max = sizeActivitySeine(); i < max; i++) { +// ActivitySeine a = activitySeine.get(i); +// if (a.isActivityDebutDePechePositive()) { +// +// // activity de fin de peche trouvee +// return a; +// } +// } +// return null; +// } +// +// @Override +// public ActivitySeine getLastActivityDebutDePechePositiveBefore(Date actitiveDebut) { +// +// if (activitySeine == null || isActivitySeineEmpty()) { +// +// // pas d'actitive dans la route +// return null; +// } +// +// int position = getLastActivityBefore(actitiveDebut); +// +// if (position == -1) { +// +// // activity avant toute les autres ou non trouvee +// return null; +// } +// +// // on parcours en ordre inverse depuis la position jusqu'à trouver +// // de debut de peche positive +// ActivitySeine result = null; +// for (int i = position; i > -1; i--) { +// ActivitySeine a = activitySeine.get(i); +// if (a.isActivityDebutDePechePositive()) { +// +// // on a trouve une activity de debut de peche positive +// result = a; +// break; +// } +// } +// return result; +// } + +// @Override +// @Deprecated +// public void updateDates() { +// throw new IllegalStateException("A NE PLUS UTILISER!!!"); +// } +// +// protected int getLastActivityBefore(Date currentTime) { +// if (activitySeine == null || isActivitySeineEmpty()) { +// +// // pas d'actitive dans la route +// return -1; +// } +// Iterator<ActivitySeine> itr = activitySeine.iterator(); +// int i = -1; +// while (itr.hasNext()) { +// ActivitySeine a = itr.next(); +// if (currentTime.before(a.getTime()) || +// currentTime.equals(a.getTime())) { +// break; +// } +// i++; +// } +// return i; +// } +// +// @Override +// public boolean isTimeAvailable(String activityId, Date time) { +// boolean result = true; +// if (!isActivitySeineEmpty()) { +// time = DateUtil.getTime(time, false, false); +// for (ActivitySeine a : getActivitySeine()) { +// if (DateUtil.getTime(a.getTime(), false, false).equals(time) && +// !a.getTopiaId().equals(activityId)) { +// // heure observation already used +// result = false; +// break; +// } +// } +// } +// return result; +// } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java index 558b45f..cca633b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java @@ -61,8 +61,8 @@ public class RouteTopiaDao extends AbstractRouteTopiaDao<Route> { String sql = "SELECT" + " r.topiaId," + - " r.date," + - " r.open" + + " r.date" + +// " r.open" + " FROM observe_seine.route r" + " WHERE " + " r.trip = ?" + @@ -77,8 +77,8 @@ public class RouteTopiaDao extends AbstractRouteTopiaDao<Route> { String sql = "SELECT" + " r.topiaId," + - " r.date," + - " r.open" + + " r.date" + +// " r.open" + " FROM observe_seine.route r" + " WHERE " + " r.topiaId = ?" + @@ -107,7 +107,7 @@ public class RouteTopiaDao extends AbstractRouteTopiaDao<Route> { Route trip = new RouteImpl(); trip.setTopiaId(set.getString(1)); trip.setDate(set.getDate(2)); - trip.setOpen(set.getBoolean(3)); +// trip.setOpen(set.getBoolean(3)); return trip; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineImpl.java index 6a69931..7068c30 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineImpl.java @@ -25,7 +25,7 @@ import fr.ird.observe.entities.OpenableEntities; import org.nuiton.util.DateUtil; import java.util.Date; -import java.util.List; +import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -35,146 +35,144 @@ public class TripSeineImpl extends TripSeineAbstract { private static final long serialVersionUID = 1L; - @Override - public Route getOpenChild() { - return OpenableEntities.getOpenEntity(route); - } - - @Override - public List<Route> getOpenableChilds() { - return route; - } - - @Override - public Route getOpenRoute() { - return getOpenChild(); - } - - @Override - public Route getPreviousRoute(Route route) { - if (isRouteEmpty()) { - - // aucune route definie sur la maree - return null; - } - int index = this.route.indexOf(route); - if (index < 1) { - - // la route donnee n'est pas definie sur cette maree ou est la - // premiere route - return null; - } - - // on retourne la route precedente - return this.route.get(index - 1); - } - - /** - * @param route null - * @return la route suivante celle donnee ou null - */ - @Override - public Route getNextRoute(Route route) { - if (isRouteEmpty()) { - - // aucune route definie sur la maree - return null; - } - int index = this.route.indexOf(route); - if (index == -1 || index + 1 >= sizeRoute()) { - - // la route n'est pas definie sur cette maree, ou c'est la - // dernière de la maree - return null; - } - - // on retourne la route suivante - return this.route.get(index + 1); - } - - /** @return la derniere route ou null */ - @Override - public Route getLastRoute() { - if (isRouteEmpty()) { - - // aucune route definie sur la maree - return null; - } - - // on retourne la dernière route de la maree - return getRoute().get(sizeRoute() - 1); - } - - //TODO A supprimer du modèle uml (pas fait pour le moment pour éviter les merges inutile de modèle...) - @Override - @Deprecated - public Date getEndDateTheorique() { - - throw new IllegalStateException("A NE PLUS UTILISER!!!"); - -// Date d; +// @Override +// public Route getOpenChild() { +// return OpenableEntities.getOpenEntity(route); +// } +// +// @Override +// public Set<Route> getOpenableChilds() { +// return route; +// } + +// @Override +// public Route getOpenRoute() { +// return getOpenChild(); +// } +// +// @Override +// public Route getPreviousRoute(Route route) { // if (isRouteEmpty()) { // -// // pas de route, donc la date de fin est la date de debut -// d = getStartDate(); -// } else { -// List<Route> routes = new ArrayList<Route>(getRoute()); +// // aucune route definie sur la maree +// return null; +// } +// int index = this.route.indexOf(route); +// if (index < 1) { // -// // on trie la liste par jour d'observation -// Routes.sort(routes); +// // la route donnee n'est pas definie sur cette maree ou est la +// // premiere route +// return null; +// } // -// // on recupere la derniere route de la maree -// Route route = routes.get(routes.size() - 1); +// // on retourne la route precedente +// return this.route.get(index - 1); +// } // -// // son jour d'observation est la date de fin de la maree -// d = route.getDate(); +// /** +// * @param route null +// * @return la route suivante celle donnee ou null +// */ +// @Override +// public Route getNextRoute(Route route) { +// if (isRouteEmpty()) { +// +// // aucune route definie sur la maree +// return null; // } +// int index = this.route.indexOf(route); +// if (index == -1 || index + 1 >= sizeRoute()) { // -// // on conserve la date epuree (pas de notion de temps dans la date) -// d = DateUtil.getEndOfDay(d); -// return d; - } - - //TODO A supprimer du modèle uml (pas fait pour le moment pour éviter les merges inutile de modèle...) - @Override - @Deprecated - public void updateDateFin() { - - throw new IllegalStateException("A NE PLUS UTILISER!!!"); - -// // la date de fin theorique (date de la dernière route de la marée) -// Date endDate = getEndDateTheorique(); +// // la route n'est pas definie sur cette maree, ou c'est la +// // dernière de la maree +// return null; +// } // -// // la date de fin actuelle -// Date realDateFin = getEndDate(); +// // on retourne la route suivante +// return this.route.get(index + 1); +// } // -// if (realDateFin == null || endDate.after(realDateFin)) { +// /** @return la derniere route ou null */ +// @Override +// public Route getLastRoute() { +// if (isRouteEmpty()) { // -// // on utilise la nouvelle date theorique car l'ancienne n'existe pas -// // ou est antérieure à la date de fin théoriquue -// setEndDate(endDate); +// // aucune route definie sur la maree +// return null; // } - } +// +// // on retourne la dernière route de la maree +// return getRoute().get(sizeRoute() - 1); +// } + +// @Override +// @Deprecated +// public Date getEndDateTheorique() { +// +// throw new IllegalStateException("A NE PLUS UTILISER!!!"); +// +//// Date d; +//// if (isRouteEmpty()) { +//// +//// // pas de route, donc la date de fin est la date de debut +//// d = getStartDate(); +//// } else { +//// List<Route> routes = new ArrayList<Route>(getRoute()); +//// +//// // on trie la liste par jour d'observation +//// Routes.sort(routes); +//// +//// // on recupere la derniere route de la maree +//// Route route = routes.get(routes.size() - 1); +//// +//// // son jour d'observation est la date de fin de la maree +//// d = route.getDate(); +//// } +//// +//// // on conserve la date epuree (pas de notion de temps dans la date) +//// d = DateUtil.getEndOfDay(d); +//// return d; +// } + +// @Override +// @Deprecated +// public void updateDateFin() { +// +// throw new IllegalStateException("A NE PLUS UTILISER!!!"); +// +//// // la date de fin theorique (date de la dernière route de la marée) +//// Date endDate = getEndDateTheorique(); +//// +//// // la date de fin actuelle +//// Date realDateFin = getEndDate(); +//// +//// if (realDateFin == null || endDate.after(realDateFin)) { +//// +//// // on utilise la nouvelle date theorique car l'ancienne n'existe pas +//// // ou est antérieure à la date de fin théoriquue +//// setEndDate(endDate); +//// } +// } @Override public String getObserverLabel() { return observer == null ? "" : observer.getLastName() + " " + observer.getFirstName(); } - @Override - public boolean isDateAvailable(String routeId, Date date) { - boolean result = true; - if (!isRouteEmpty()) { - date = DateUtil.getDay(date); - for (Route r : getRoute()) { - if (DateUtil.getDay(r.getDate()).equals(date) && - !r.getTopiaId().equals(routeId)) { - // jour observation already used - result = false; - break; - } - } - } - return result; - } +// @Override +// public boolean isDateAvailable(String routeId, Date date) { +// boolean result = true; +// if (!isRouteEmpty()) { +// date = DateUtil.getDay(date); +// for (Route r : getRoute()) { +// if (DateUtil.getDay(r.getDate()).equals(date) && +// !r.getTopiaId().equals(routeId)) { +// // jour observation already used +// result = false; +// break; +// } +// } +// } +// return result; +// } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java index 15f58ba..b73cd39 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java @@ -214,7 +214,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " t.topiaId," + " t.startDate," + " t.endDate," + - " t.open," + +// " t.open," + " p.lastName," + " p.firstName," + " v.topiaId," + @@ -252,19 +252,19 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { trip.setTopiaId(set.getString(1)); trip.setStartDate(set.getDate(2)); trip.setEndDate(set.getDate(3)); - trip.setOpen(set.getBoolean(4)); +// trip.setOpen(set.getBoolean(4)); - String observerLastName = set.getString(5); - String observerFirstName = set.getString(6); + String observerLastName = set.getString(4); + String observerFirstName = set.getString(5); Person observer = new PersonImpl(); observer.setFirstName(observerFirstName); observer.setLastName(observerLastName); trip.setObserver(observer); Vessel vessel = new VesselImpl(); - String vesselId = set.getString(7); + String vesselId = set.getString(6); vessel.setTopiaId(vesselId); - String label = set.getString(8); + String label = set.getString(7); referenceLocale.setLabel(label, vessel); trip.setVessel(vessel); diff --git a/observe-entities/src/main/resources/db/5.0/remove_open_field-H2.sql b/observe-entities/src/main/resources/db/5.0/remove_open_field-H2.sql new file mode 100644 index 0000000..d7da73d --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0/remove_open_field-H2.sql @@ -0,0 +1,5 @@ +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN OPEN; +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN OPEN; +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN OPEN; +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN OPEN; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN OPEN; \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/5.0/remove_open_field-PG.sql b/observe-entities/src/main/resources/db/5.0/remove_open_field-PG.sql new file mode 100644 index 0000000..d7da73d --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0/remove_open_field-PG.sql @@ -0,0 +1,5 @@ +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN OPEN; +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN OPEN; +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN OPEN; +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN OPEN; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN OPEN; \ No newline at end of file diff --git a/observe-entities/src/main/xmi/observe-common.zargo b/observe-entities/src/main/xmi/observe-common.zargo index 3e25663..e30a24c 100644 Binary files a/observe-entities/src/main/xmi/observe-common.zargo and b/observe-entities/src/main/xmi/observe-common.zargo differ diff --git a/observe-entities/src/main/xmi/observe-longline.properties b/observe-entities/src/main/xmi/observe-longline.properties index 7a20051..96bc352 100644 --- a/observe-entities/src/main/xmi/observe-longline.properties +++ b/observe-entities/src/main/xmi/observe-longline.properties @@ -138,16 +138,16 @@ fr.ird.observe.entities.longline.TripLongline.attribute.gearUseFeaturesLongline. fr.ird.observe.entities.longline.GearUseFeaturesLongline.attribute.gearUseFeaturesMeasurement.tagvalue.orderBy=topiaCreateDate ############################################################################### -### Ordered ################################################################### +### Unique #################################################################### ############################################################################### -fr.ird.observe.entities.longline.SetLongline.attribute.section.stereotype=ordered -fr.ird.observe.entities.longline.SetLongline.attribute.catchLongline.stereotype=ordered -fr.ird.observe.entities.longline.Section.attribute.basket.stereotype=ordered -fr.ird.observe.entities.longline.TripLongline.attribute.activityLongline.stereotype=ordered -fr.ird.observe.entities.longline.TripLongline.attribute.gearUseFeaturesLongline.stereotype=ordered -fr.ird.observe.entities.longline.Basket.attribute.branchline.stereotype=ordered -fr.ird.observe.entities.longline.GearUseFeaturesLongline.attribute.gearUseFeaturesMeasurement.stereotype=ordered +fr.ird.observe.entities.longline.SetLongline.attribute.section.stereotype=unique +fr.ird.observe.entities.longline.SetLongline.attribute.catchLongline.stereotype=unique +fr.ird.observe.entities.longline.Section.attribute.basket.stereotype=unique +fr.ird.observe.entities.longline.TripLongline.attribute.activityLongline.stereotype=unique +fr.ird.observe.entities.longline.TripLongline.attribute.gearUseFeaturesLongline.stereotype=unique +fr.ird.observe.entities.longline.Basket.attribute.branchline.stereotype=unique +fr.ird.observe.entities.longline.GearUseFeaturesLongline.attribute.gearUseFeaturesMeasurement.stereotype=unique ############################################################################### ### NotNull ################################################################### diff --git a/observe-entities/src/main/xmi/observe-longline.zargo b/observe-entities/src/main/xmi/observe-longline.zargo index 6d7178a..fd7841b 100644 Binary files a/observe-entities/src/main/xmi/observe-longline.zargo and b/observe-entities/src/main/xmi/observe-longline.zargo differ diff --git a/observe-entities/src/main/xmi/observe-seine.properties b/observe-entities/src/main/xmi/observe-seine.properties index 969b87e..d2c9ace 100644 --- a/observe-entities/src/main/xmi/observe-seine.properties +++ b/observe-entities/src/main/xmi/observe-seine.properties @@ -129,24 +129,20 @@ fr.ird.observe.entities.seine.SchoolEstimate.attribute.species.tagvalue.naturalI ############################################################################### fr.ird.observe.entities.seine.TripSeine.attribute.gearUseFeaturesSeine.tagvalue.orderBy=topiaCreateDate -fr.ird.observe.entities.seine.GearUseFeaturesSeine.attribute.gearUseFeaturesMeasurement.tagvalue.orderBy=topiaCreateDate fr.ird.observe.entities.seine.TripSeine.attribute.route.tagvalue.orderBy=date -fr.ird.observe.entities.seine.Route.attribute.activitySeine.tagvalue.orderBy=date +fr.ird.observe.entities.seine.GearUseFeaturesSeine.attribute.gearUseFeaturesMeasurement.tagvalue.orderBy=topiaCreateDate +fr.ird.observe.entities.seine.Route.attribute.activitySeine.tagvalue.orderBy=time ############################################################################### -### Ordered ################################################################### +### Unique #################################################################### ############################################################################### -fr.ird.observe.entities.seine.TripSeine.attribute.route.stereotype=ordered -fr.ird.observe.entities.seine.TargetSample.attribute.targetLength.stereotype=ordered -fr.ird.observe.entities.seine.SetSeine.attribute.nonTargetSample.stereotype=ordered -fr.ird.observe.entities.seine.SetSeine.attribute.targetSample.stereotype=ordered -fr.ird.observe.entities.seine.Route.attribute.activitySeine.stereotype=ordered -fr.ird.observe.entities.seine.NonTargetSample.attribute.nonTargetLength.stereotype=ordered -fr.ird.observe.entities.seine.FloatingObject.attribute.transmittingBuoy.stereotype=ordered -fr.ird.observe.entities.seine.ActivitySeine.attribute.floatingObject.stereotype=ordered -fr.ird.observe.entities.seine.ActivitySeine.attribute.observedSystem.stereotype=ordered - -############################################################################### -### Unicite ############################################################### -############################################################################### +fr.ird.observe.entities.seine.TripSeine.attribute.route.stereotype=unique +fr.ird.observe.entities.seine.TargetSample.attribute.targetLength.stereotype=unique +fr.ird.observe.entities.seine.SetSeine.attribute.nonTargetSample.stereotype=unique +fr.ird.observe.entities.seine.SetSeine.attribute.targetSample.stereotype=unique +fr.ird.observe.entities.seine.Route.attribute.activitySeine.stereotype=unique +fr.ird.observe.entities.seine.NonTargetSample.attribute.nonTargetLength.stereotype=unique +fr.ird.observe.entities.seine.FloatingObject.attribute.transmittingBuoy.stereotype=unique +fr.ird.observe.entities.seine.ActivitySeine.attribute.floatingObject.stereotype=unique +fr.ird.observe.entities.seine.ActivitySeine.attribute.observedSystem.stereotype=unique diff --git a/observe-entities/src/main/xmi/observe-seine.zargo b/observe-entities/src/main/xmi/observe-seine.zargo index be07b7c..540369e 100644 Binary files a/observe-entities/src/main/xmi/observe-seine.zargo and b/observe-entities/src/main/xmi/observe-seine.zargo differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.