This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 22e7b059a57061d66323eea7e581e9be0ad535a4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Aug 22 22:36:31 2016 +0200 Du nettoyage + migration en api java 8 --- .../shared/MoveActivityLonglinesUIAction.java | 13 +- .../actions/shared/MoveActivitySeinesUIAction.java | 6 +- .../ui/actions/shared/MoveRoutesUIAction.java | 4 +- .../ui/actions/shared/MoveTripsUIAction.java | 4 +- .../ui/admin/consolidate/ConsolidateUIHandler.java | 15 +- .../ui/admin/validate/ValidateUIHandler.java | 5 +- .../observe/ui/content/table/ContentTableMeta.java | 13 +- .../ird/observe/ui/storage/StorageUIHandler.java | 4 +- .../ui/storage/tabs/DataSelectionModel.java | 5 +- .../java/fr/ird/observe/entities/Entities.java | 201 ++------------------- .../entities/longline/ActivityLonglines.java | 5 +- .../referentiel/ObserveReferentialEntities.java | 18 +- .../ird/observe/entities/referentiel/Persons.java | 15 +- .../ird/observe/entities/referentiel/Species2.java | 75 ++------ .../ird/observe/entities/referentiel/Vessels.java | 4 +- .../ird/observe/entities/seine/ActivitySeines.java | 4 +- .../observe/entities/seine/NonTargetCatchs.java | 37 ---- .../observe/entities/seine/NonTargetLenghts.java | 37 ---- .../java/fr/ird/observe/entities/seine/Routes.java | 2 +- .../ird/observe/entities/seine/TargetCatchs.java | 12 -- .../ird/observe/entities/seine/TargetLenghts.java | 38 ---- .../service/actions/validate/ValidatorDtos.java | 23 +-- .../observe/services/dto/AbstractReference.java | 32 ++-- .../observe/services/dto/AbstractReferenceSet.java | 4 +- .../fr/ird/observe/services/dto/DataReference.java | 2 +- .../dto/referential/ReferentialReferences.java | 2 +- .../report/AbstractReportServiceRestTest.java | 6 +- .../services/entity/BasketEntitiesExtractor.java | 3 +- .../entity/BranchlineEntitiesExtractor.java | 3 +- .../observe/services/entity/EntitiesExtractor.java | 22 +-- .../services/entity/EntitiesSetFactory.java | 157 ++++++++-------- .../services/entity/SectionEntitiesExtractor.java | 3 +- .../entity/SpeciesListEntitiesExtractor.java | 6 +- .../entity/SpeciesListOceanEntitiesExtractor.java | 9 +- .../service/SqlScriptProducerServiceTopia.java | 38 ++-- .../longline/ActivityLonglineServiceTopia.java | 8 +- .../service/seine/ActivitySeineServiceTopia.java | 10 +- .../services/service/seine/RouteServiceTopia.java | 8 +- .../service/seine/TargetCatchServiceTopia.java | 15 +- .../report/AbstractReportServiceTopiaTest.java | 6 +- 40 files changed, 257 insertions(+), 617 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java index ec1a132..c3b6f34 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java @@ -21,7 +21,6 @@ */ package fr.ird.observe.ui.actions.shared; -import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; @@ -46,6 +45,7 @@ import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -104,11 +104,18 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { String tripLonglineId = chooseNewTripLongline(ui, oldTripLonglineNode); if (tripLonglineId != null) { + + if (log.isInfoEnabled()) { + log.info("Will move activities to trip: " + tripLonglineId); + } // change the tripLongline of the selected activities List<DataReference<ActivityLonglineDto>> selectedDatas = activityLonglinesUI.getModel().getSelectedDatas(); - List<String> activityIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); + List<String> activityIds = selectedDatas.stream() + .map(DataReference.ID_FUNCTION) + .collect(Collectors.toList()); ActivityLonglineService service = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newActivityLonglineService(); - List<Integer> positions = service.moveActivityLonglinesToTripLongline(activityIds, tripLonglineId); +// List<Integer> positions = + service.moveActivityLonglinesToTripLongline(activityIds, tripLonglineId); // update the tree updateTree(oldActivitiesNode, tripLonglineId, activityIds); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java index 9d0d920..6eebe06 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java @@ -21,7 +21,6 @@ */ package fr.ird.observe.ui.actions.shared; -import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; @@ -47,6 +46,7 @@ import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -105,7 +105,9 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { if (routeId != null) { // change the route of the selected activities List<DataReference<ActivitySeineDto>> selectedDatas = ((ActivitySeinesUIModel) ui.getModel()).getSelectedDatas(); - List<String> activityIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); + List<String> activityIds = selectedDatas.stream() + .map(DataReference.ID_FUNCTION) + .collect(Collectors.toList()) ; ActivitySeineService service = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newActivitySeineService(); List<Integer> positions = service.moveActivitySeinesToRoute(activityIds, routeId); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index ebca90e..3205fac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -21,7 +21,6 @@ */ package fr.ird.observe.ui.actions.shared; -import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.decoration.DecoratorService; @@ -46,6 +45,7 @@ import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -106,7 +106,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { if (tripSeineId != null) { // change the tripseine of the selected routes List<DataReference<RouteDto>> selectedDatas = theUi.getModel().getSelectedDatas(); - List<String> routeIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); + List<String> routeIds = selectedDatas.stream().map(DataReference.ID_FUNCTION).collect(Collectors.toList()); RouteService service = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newRouteService(); List<Integer> positions = service.moveRoutesToTripSeine(routeIds, tripSeineId); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index 1f093db..739a0c5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -21,7 +21,6 @@ */ package fr.ird.observe.ui.actions.shared; -import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.DataDto; @@ -43,6 +42,7 @@ import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -100,7 +100,7 @@ public abstract class MoveTripsUIAction<T extends DataDto> extends AbstractUIAct // change the program of the selected trips List<DataReference<T>> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> tripIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); + List<String> tripIds = selectedDatas.stream().map(DataReference.ID_FUNCTION).collect(Collectors.toList()); List<Integer> positions = getPositions(tripIds, programId); // update the tree diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java index 636e43d..c0bc1fb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java @@ -22,7 +22,6 @@ package fr.ird.observe.ui.admin.consolidate; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.service.actions.consolidate.ConsolidateActivitySeineDataResult; @@ -43,6 +42,7 @@ import org.apache.commons.logging.LogFactory; import java.beans.PropertyChangeListener; import java.util.Date; import java.util.Set; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -71,8 +71,8 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { if (log.isDebugEnabled()) { log.debug(" specialized for [" + tabUI.getStep() + - "] for main ui " + ui.getClass().getName() + "@" + - System.identityHashCode(ui)); + "] for main ui " + ui.getClass().getName() + "@" + + System.identityHashCode(ui)); } tabUI.getStartButton().setText( @@ -118,11 +118,10 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { return init; } Set<DataReference> trips = model.getSelectionDataModel().getSelectedData(); - ImmutableSet<String> tripIds = ImmutableSet.copyOf( - Iterables.transform( - Iterables.filter(trips, DataReference.newTripSeinePredicate()), - DataReference.getIdFunction())); - + ImmutableSet<String> tripIds = ImmutableSet.copyOf(trips.stream() + .filter(DataReference.newTripSeinePredicate()) + .map(DataReference.ID_FUNCTION) + .collect(Collectors.toSet())); ObserveSwingDataSource dataSource = getStepModel().getSource(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java index c02371b..c0ae499 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java @@ -78,6 +78,7 @@ import java.util.EnumSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -431,7 +432,9 @@ public class ValidateUIHandler extends AdminTabUIHandler { // validation des donnees observateur selectionnee ValidateDataRequest request = new ValidateDataRequest(); - request.setDataIds(ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), DataReference.getIdFunction()))); + request.setDataIds(ImmutableSet.copyOf(dataModel.getSelectedData().stream() + .map(DataReference.ID_FUNCTION) + .collect(Collectors.toSet()))); request.setScopes(ImmutableSet.copyOf(stepModel.getScopes())); request.setValidationContext(stepModel.getContextName()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableMeta.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableMeta.java index 0dcdecd..b7942e3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableMeta.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableMeta.java @@ -22,8 +22,6 @@ package fr.ird.observe.ui.content.table; import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -33,6 +31,7 @@ import org.nuiton.util.beans.BeanUtil; import java.beans.PropertyDescriptor; import java.io.Serializable; import java.util.Set; +import java.util.function.Predicate; /** * La définition d'une méta donnée d'un tableau, i.e la définition d'une @@ -124,7 +123,7 @@ public class ContentTableMeta<B> implements Serializable { throw new RuntimeException(e); }*/ return oldValue == null && aValue != null || - oldValue != null && !oldValue.equals(aValue); + oldValue != null && !oldValue.equals(aValue); } /** @@ -146,10 +145,10 @@ public class ContentTableMeta<B> implements Serializable { /** @return the property descriptor of the meta */ protected PropertyDescriptor getPropertyDescriptor() { if (propertyDescriptor == null) { - Predicate<PropertyDescriptor> predicate = Predicates.and( - BeanUtil.IS_READ_DESCRIPTOR, - input -> name.equals(input.getName())); - Set<PropertyDescriptor> descriptors = BeanUtil.getDescriptors(klass, predicate); + Predicate<PropertyDescriptor> predicate = + input -> BeanUtil.IS_READ_DESCRIPTOR.apply(input) + && name.equals(input.getName()); + Set<PropertyDescriptor> descriptors = BeanUtil.getDescriptors(klass, predicate::test); Preconditions.checkState(!descriptors.isEmpty(), "could not find readable property " + name + " for bean " + klass); propertyDescriptor = Iterables.get(descriptors, 0); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index 4c4b19d..a64a8a7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.storage; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; import fr.ird.observe.ObserveActionExecutor; import fr.ird.observe.ObserveRunner; import fr.ird.observe.ObserveSwingApplicationContext; @@ -67,6 +66,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.Date; import java.util.Set; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -656,7 +656,7 @@ public class StorageUIHandler { // on doit dumper la base distante dans une base h2 et en faire // la sauvegarde - ImmutableSet<String> tripIds = ImmutableSet.copyOf(Iterables.transform(trips, DataReference.getIdFunction())); + ImmutableSet<String> tripIds = ImmutableSet.copyOf(trips.stream().map(DataReference.ID_FUNCTION).collect(Collectors.toSet())); AddSqlScriptProducerRequest request = AddSqlScriptProducerRequest.forH2().addSchema().addReferential().dataIdsToAdd(tripIds); byte[] dump = dumpService.produceAddSqlScript(request); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java index b20c955..9f60fa0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java @@ -21,9 +21,7 @@ */ package fr.ird.observe.ui.storage.tabs; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -52,6 +50,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -528,7 +527,7 @@ public class DataSelectionModel implements Serializable { } public List<DataReference> getDatas(String programId) { - Optional<ReferentialReference<ProgramDto>> programRefOptional = Iterables.tryFind(getDatas().keySet(), ReferentialReference.newIdPredicate(programId)::apply); + Optional<ReferentialReference<ProgramDto>> programRefOptional = getDatas().keySet().stream().filter(ReferentialReference.newIdPredicate(programId)).findFirst(); List<DataReference> result; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java index 2c20226..58308a0 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java @@ -23,23 +23,18 @@ package fr.ird.observe.entities; */ import com.google.common.base.Joiner; -import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import fr.ird.observe.ObserveEntityEnum; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.NumberUtil; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Map; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** * Created on 8/27/14. @@ -52,87 +47,6 @@ public class Entities { /** Logger. */ private static final Log log = LogFactory.getLog(Entities.class); - public static final ObserveEntityEnum[] REFERENCE_COMMON_ENTITIES = - new ObserveEntityEnum[]{ - ObserveEntityEnum.VesselSizeCategory, - ObserveEntityEnum.Country, - ObserveEntityEnum.Harbour, - ObserveEntityEnum.VesselType, - ObserveEntityEnum.Vessel, - ObserveEntityEnum.SpeciesGroup, - ObserveEntityEnum.Ocean, - ObserveEntityEnum.Species, - ObserveEntityEnum.Sex, - ObserveEntityEnum.FpaZone, - ObserveEntityEnum.SpeciesList, - ObserveEntityEnum.Person, - ObserveEntityEnum.Organism, - ObserveEntityEnum.LengthWeightParameter, - ObserveEntityEnum.Program, - ObserveEntityEnum.GearCaracteristicType, - ObserveEntityEnum.GearCaracteristic, - ObserveEntityEnum.Gear, - ObserveEntityEnum.LastUpdateDate - }; - - public static final ObserveEntityEnum[] REFERENCE_SEINE_ENTITIES = - new ObserveEntityEnum[]{ - ObserveEntityEnum.VesselActivitySeine, - ObserveEntityEnum.SurroundingActivity, - ObserveEntityEnum.ReasonForNullSet, - ObserveEntityEnum.ReasonForNoFishing, - ObserveEntityEnum.SpeciesFate, - ObserveEntityEnum.ObjectFate, - ObserveEntityEnum.WeightCategory, - ObserveEntityEnum.DetectionMode, - ObserveEntityEnum.TransmittingBuoyOperation, - ObserveEntityEnum.ObjectOperation, - ObserveEntityEnum.ReasonForDiscard, - ObserveEntityEnum.SpeciesStatus, - ObserveEntityEnum.ObservedSystem, - ObserveEntityEnum.TransmittingBuoyType, - ObserveEntityEnum.ObjectType, - ObserveEntityEnum.Wind - }; - - public static final ObserveEntityEnum[] REFERENCE_LONGLINE_ENTITIES = - new ObserveEntityEnum[]{ - ObserveEntityEnum.BaitHaulingStatus, - ObserveEntityEnum.BaitSettingStatus, - ObserveEntityEnum.BaitType, - ObserveEntityEnum.CatchFateLongline, - ObserveEntityEnum.EncounterType, - ObserveEntityEnum.Healthness, - ObserveEntityEnum.HookPosition, - ObserveEntityEnum.HookSize, - ObserveEntityEnum.HookType, - ObserveEntityEnum.ItemVerticalPosition, - ObserveEntityEnum.ItemHorizontalPosition, - ObserveEntityEnum.LightsticksColor, - ObserveEntityEnum.LightsticksType, - ObserveEntityEnum.LineType, - ObserveEntityEnum.MaturityStatus, - ObserveEntityEnum.MitigationType, - ObserveEntityEnum.SensorBrand, - ObserveEntityEnum.SensorDataFormat, - ObserveEntityEnum.SensorType, - ObserveEntityEnum.SettingShape, - ObserveEntityEnum.SizeMeasureType, - ObserveEntityEnum.StomacFullness, - ObserveEntityEnum.TripType, - ObserveEntityEnum.VesselActivityLongline, - ObserveEntityEnum.WeightMeasureType - }; - - public static final List<ObserveEntityEnum> REFERENCE_COMMON_ENTITIES_LIST = - Collections.unmodifiableList(Arrays.asList(REFERENCE_COMMON_ENTITIES)); - - public static final List<ObserveEntityEnum> REFERENCE_SEINE_ENTITIES_LIST = - Collections.unmodifiableList(Arrays.asList(REFERENCE_SEINE_ENTITIES)); - - public static final List<ObserveEntityEnum> REFERENCE_LONGLINE_ENTITIES_LIST = - Collections.unmodifiableList(Arrays.asList(REFERENCE_LONGLINE_ENTITIES)); - public static final ObserveEntityEnum[] REFERENCE_ENTITIES = new ObserveEntityEnum[]{ ObserveEntityEnum.VesselSizeCategory, @@ -256,64 +170,18 @@ public class Entities { public static final List<ObserveEntityEnum> DATA_ENTITIES_LIST = Collections.unmodifiableList(Arrays.asList(DATA_ENTITIES)); - public static final ObserveEntityEnum[] DATA_SEINE_ENTITIES = - new ObserveEntityEnum[]{ - ObserveEntityEnum.TargetSample, - ObserveEntityEnum.TargetLength, - ObserveEntityEnum.NonTargetSample, - ObserveEntityEnum.NonTargetLength, - ObserveEntityEnum.NonTargetCatch, - ObserveEntityEnum.SetSeine, - ObserveEntityEnum.TargetCatch, - ObserveEntityEnum.TransmittingBuoy, - ObserveEntityEnum.ObjectObservedSpecies, - ObserveEntityEnum.SchoolEstimate, - ObserveEntityEnum.ObjectSchoolEstimate, - ObserveEntityEnum.FloatingObject, - ObserveEntityEnum.ActivitySeine, - ObserveEntityEnum.Route, - ObserveEntityEnum.GearUseFeaturesMeasurementSeine, - ObserveEntityEnum.GearUseFeaturesSeine, - ObserveEntityEnum.TripSeine - }; - - public static final ObserveEntityEnum[] DATA_LONGLINE_ENTITIES = - new ObserveEntityEnum[]{ - ObserveEntityEnum.HooksComposition, - ObserveEntityEnum.BranchlinesComposition, - ObserveEntityEnum.BaitsComposition, - ObserveEntityEnum.FloatlinesComposition, - ObserveEntityEnum.SizeMeasure, - ObserveEntityEnum.WeightMeasure, - ObserveEntityEnum.SetLongline, - ObserveEntityEnum.Branchline, - ObserveEntityEnum.Basket, - ObserveEntityEnum.Section, - ObserveEntityEnum.CatchLongline, - ObserveEntityEnum.Tdr, - ObserveEntityEnum.Encounter, - ObserveEntityEnum.SensorUsed, - ObserveEntityEnum.ActivityLongline, - ObserveEntityEnum.TdrRecord, - ObserveEntityEnum.GearUseFeaturesMeasurementLongline, - ObserveEntityEnum.GearUseFeaturesLongline, - ObserveEntityEnum.TripLongline - }; - - public static final ObserveEntityEnum[] ALL_ENTITIES = ObserveEntityEnum.values(); - public static final java.util.function.Predicate<String> IS_SEINE_ID = input -> Entities.isSeineId(input); - public static final java.util.function.Predicate<String> IS_LONGLINE_ID = input -> Entities.isLonglineId(input); + public static final Predicate<String> IS_SEINE_ID = Entities::isSeineId; + public static final Predicate<String> IS_LONGLINE_ID = Entities::isLonglineId; /** * @param klass le type d'entite a tester * @return {@code true} si c'est une classe du référentiel. */ - public static boolean isReferentielClass( - Class<?> klass) { + public static boolean isReferentielClass(Class<?> klass) { if (!ObserveEntity.class.isAssignableFrom(klass)) { return false; } - klass = ObserveEntityEnum.getContractClass((Class<? extends ObserveEntity>) klass); + klass = ObserveEntityEnum.getContractClass((Class) klass); for (ObserveEntityEnum c : REFERENCE_ENTITIES_LIST) { if (c.getContract().equals(klass)) { return true; @@ -322,53 +190,6 @@ public class Entities { return false; } - /** - * @param constant le type d'entite a tester - * @return {@code true} si c'est une classe du référentiel. - */ - public static boolean isReferentielClass(ObserveEntityEnum constant) { - for (ObserveEntityEnum c : REFERENCE_ENTITIES_LIST) { - if (c.equals(constant)) { - return true; - } - } - return false; - } - - /** - * @param klass le type d'entite a tester - * @return {@code true} si c'est une classe de donnée. - */ - public static boolean isDataClass(Class<?> klass) { - if (!ObserveEntity.class.isAssignableFrom(klass)) { - return false; - } - klass = ObserveEntityEnum.getContractClass((Class<? extends ObserveEntity>) klass); - for (ObserveEntityEnum c : DATA_ENTITIES_LIST) { - if (c.getContract().equals(klass)) { - return true; - } - } - return false; - } - - public static <E extends ObserveEntity> Map<String, E> toIdMap(Collection<E> entities) { - - Map<String, E> map = CollectionUtils.isEmpty(entities) - ? Maps.newHashMap() - : Maps.uniqueIndex(entities, TopiaEntities.getTopiaIdFunction()); - - return map; - - } - - public static <E extends ObserveEntity> String getTableName(E entity) { - - ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entity); - return entityEnum.dbSchemaName() + "." + entityEnum.dbTableName(); - - } - public static boolean isSeineId(String id) { return id.contains("Seine"); } @@ -378,23 +199,23 @@ public class Entities { } public static void printDebugInformations(String propertyName, Object instance, Integer value) { - printDebugInformations0(propertyName, instance, NumberUtil.NULL_OR_ZERO_INTEGER, value); + printDebugInformations0(propertyName, instance, NumberUtil.NULL_OR_ZERO_INTEGER::apply, value); } public static void printDebugInformations(String propertyName, Object instance, Float value) { - printDebugInformations0(propertyName, instance, NumberUtil.NULL_OR_ZERO_FLOAT_THREE_DIGITS, value); + printDebugInformations0(propertyName, instance, NumberUtil.NULL_OR_ZERO_FLOAT_THREE_DIGITS::apply, value); } private static <O> void printDebugInformations0(String propertyName, Object instance, Predicate<O> nullPredicate, O value) { if (log.isDebugEnabled()) { String debugInformations = String.format("[%s] %s changed to %s", instance, propertyName, value); - if (nullPredicate.apply(value)) { + if (nullPredicate.test(value)) { StackTraceElement[] stackTraceElements = new Throwable().getStackTrace(); List<StackTraceElement> stackTraceElementList = Lists.newArrayList(stackTraceElements); // on retire les deux premiers appels (printDebugInformations et printDebugInformations0) stackTraceElementList.remove(0); stackTraceElementList.remove(0); - String stackTrace = Joiner.on("\n\t").join(Iterables.filter(Arrays.asList(stackTraceElements), new StackTraceElementPredicate())); + String stackTrace = Joiner.on("\n\t").join(Arrays.stream(stackTraceElements).filter(new StackTraceElementPredicate()).collect(Collectors.toList())); debugInformations += "\n\t" + stackTrace; } log.debug(debugInformations); @@ -407,7 +228,7 @@ public class Entities { static final ImmutableSet<String> matchingPatterns = ImmutableSet.of("org.nuiton.", "fr.ird"); @Override - public boolean apply(StackTraceElement input) { + public boolean test(StackTraceElement input) { String className = input.getClassName(); boolean keep = false; for (String matchingPattern : matchingPatterns) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglines.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglines.java index 43a0e78..84f4021 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglines.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglines.java @@ -22,12 +22,11 @@ package fr.ird.observe.entities.longline; * #L% */ -import com.google.common.base.Predicate; - import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.function.Predicate; /** * Created on 8/27/14. @@ -47,7 +46,7 @@ public class ActivityLonglines { Collections.sort(routes, ACTIVITY_LONGLINE_COMPARATOR); } - public static Predicate<ActivityLongline> newTimeStampBeforePredicate(final Date timeStamp) { + public static Predicate<ActivityLongline> newTimeStampBeforePredicate(Date timeStamp) { return input -> input.getTimeStamp().before(timeStamp); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java index 00db79c..738e120 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java @@ -22,7 +22,6 @@ package fr.ird.observe.entities.referentiel; * #L% */ -import com.google.common.base.Predicate; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.constants.ReferenceStatusPersist; @@ -32,6 +31,7 @@ import org.nuiton.topia.persistence.TopiaEntity; import java.util.Iterator; import java.util.List; +import java.util.function.Predicate; /** * Helper class around {@link ObserveReferentialEntity}. @@ -41,7 +41,7 @@ import java.util.List; */ public class ObserveReferentialEntities { - public static final Predicate<? extends ObserveReferentialEntity> IS_ACTIF_PREDICATE = (Predicate<ObserveReferentialEntity>) input -> ReferenceStatusPersist.disabled != input.getStatus(); + public static final Predicate<? extends ObserveReferentialEntity> IS_ACTIF_PREDICATE = input -> ReferenceStatusPersist.disabled != input.getStatus(); /** Logger. */ private static final Log log = LogFactory.getLog(ObserveReferentialEntities.class); @@ -53,10 +53,8 @@ public class ObserveReferentialEntities { * @param list la liste des entitées à filtrer * @param <E> le type des entites du référentiel */ - public static <E extends ObserveReferentialEntity> void filterReferentielListByStatus( - List<E> list) { - filterReferentielList(list, ObserveReferentialEntities.newEnablePredicate()::apply); - + public static <E extends ObserveReferentialEntity> void filterReferentielListByStatus(List<E> list) { + filterReferentielList(list, (Predicate)ObserveReferentialEntities.IS_ACTIF_PREDICATE); } /** @@ -67,9 +65,7 @@ public class ObserveReferentialEntities { * @param predicate le prédicate à appliquer pour conserver les valeurs * @param <E> le type des entites du référentiel */ - public static <E extends ObserveReferentialEntity> void filterReferentielList( - List<E> list, - java.util.function.Predicate<E> predicate) { + public static <E extends ObserveReferentialEntity> void filterReferentielList(List<E> list, Predicate<E> predicate) { Iterator<E> itr = list.iterator(); while (itr.hasNext()) { E e = itr.next(); @@ -86,10 +82,6 @@ public class ObserveReferentialEntities { } } - public static <R extends ObserveReferentialEntity> Predicate<R> newEnablePredicate() { - return (Predicate<R>) IS_ACTIF_PREDICATE; - } - public static void walk(ReferentielWalker walker) throws Exception { for (ObserveEntityEnum constant : Entities.REFERENCE_ENTITIES) { Class<? extends TopiaEntity> contractClass = constant.getContract(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Persons.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Persons.java index 53fa5b2..9a9ee06 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Persons.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Persons.java @@ -22,7 +22,7 @@ package fr.ird.observe.entities.referentiel; * #L% */ -import com.google.common.base.Predicate; +import java.util.function.Predicate; /** * Created on 6/24/14. @@ -32,15 +32,8 @@ import com.google.common.base.Predicate; */ public class Persons { - public static Predicate<Person> newObserverPredicate() { - return Person::isObserver; - } + public static final Predicate<Person> OBSERVER_PREDICATE = Person::isObserver; + public static final Predicate<Person> CAPTAIN_PREDICATE = Person::isCaptain; + public static final Predicate<Person> DATA_ENTRY_OPERATOR_PREDICATE = Person::isDataEntryOperator; - public static Predicate<Person> newCaptainPredicate() { - return Person::isCaptain; - } - - public static Predicate<Person> newDataEntryOperatorPredicate() { - return Person::isDataEntryOperator; - } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Species2.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Species2.java index b37330e..e96e3d6 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Species2.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Species2.java @@ -22,16 +22,16 @@ package fr.ird.observe.entities.referentiel; * #L% */ -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.Set; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** * Helper class around {@link Species}. @@ -46,33 +46,34 @@ public class Species2 { } public static Predicate<Species> newSpeciesByIdPredicate(Set<String> ids) { - return new SpeciesByIdPredicate(ids); + return id -> ids.contains(id.getTopiaId()); } public static Predicate<Species> newSpeciesListPredicate(SpeciesList speciesList) { - return new SpeciesBySpeciesListPredicate(speciesList); + return speciesList::containsSpecies; } public static Predicate<Species> newSpeciesByOceanPredicate(Ocean ocean) { - return new SpeciesByOceanPredicate(ocean); + return o -> o.containsOcean(ocean); } - public static <E extends Species> List<E> filterByOcean(Collection<E> speciess, - Ocean ocean) { + public static <E extends Species> List<E> filterByOcean(Collection<E> speciess, Ocean ocean) { - return Lists.newArrayList(Iterables.filter(speciess, newSpeciesByOceanPredicate(ocean))); + return speciess.stream().filter(newSpeciesByOceanPredicate(ocean)).collect(Collectors.toList()); } - public static List<WeightCategory> filterWeightCategoryBySpeciesIds(Collection<WeightCategory> speciess, - final Set<String> speciesIds) { + public static List<WeightCategory> filterWeightCategoryBySpeciesIds(Collection<WeightCategory> speciess, Set<String> speciesIds) { - return Lists.newArrayList(Iterables.filter(speciess, input -> speciesIds.contains(input.getSpecies().getTopiaId()))); + return speciess.stream() + .filter(input -> speciesIds.contains(input.getSpecies().getTopiaId())) + .collect(Collectors.toList()); } - public static List<WeightCategory> filterWeightCategoryByOcean(Collection<WeightCategory> speciess, - final Ocean ocean) { + public static List<WeightCategory> filterWeightCategoryByOcean(Collection<WeightCategory> speciess, Ocean ocean) { - return Lists.newArrayList(Iterables.filter(speciess, input -> input.getSpecies().getOcean().contains(ocean))); + return speciess.stream() + .filter(input -> input.getSpecies().getOcean().contains(ocean)) + .collect(Collectors.toList()); } public static String decorate(Locale locale, Species species) { @@ -97,49 +98,7 @@ public class Species2 { for (WeightCategory category : categories) { result.add(category.getSpecies()); } - return Lists.newArrayList(result); + return new ArrayList<>(result); } - private static class SpeciesByIdPredicate implements Predicate<Species> { - - private final Set<String> ids; - - public SpeciesByIdPredicate(Set<String> ids) { - - this.ids = ids; - } - - @Override - public boolean apply(Species input) { - return ids.contains(input.getTopiaId()); - } - } - - private static class SpeciesByOceanPredicate implements Predicate<Species> { - - private final Ocean ocean; - - public SpeciesByOceanPredicate(Ocean ocean) { - this.ocean = ocean; - } - - @Override - public boolean apply(Species input) { - return input.containsOcean(ocean); - } - } - - private static class SpeciesBySpeciesListPredicate implements Predicate<Species> { - - private final SpeciesList speciesList; - - public SpeciesBySpeciesListPredicate(SpeciesList speciesList) { - this.speciesList = speciesList; - } - - @Override - public boolean apply(Species input) { - return speciesList.containsSpecies(input); - } - } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Vessels.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Vessels.java index 1faa5d0..c69a360 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Vessels.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Vessels.java @@ -22,11 +22,11 @@ package fr.ird.observe.entities.referentiel; * #L% */ -import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import java.util.Set; +import java.util.function.Predicate; /** * Created on 11/27/14. @@ -72,7 +72,7 @@ public class Vessels { } @Override - public boolean apply(Vessel input) { + public boolean test(Vessel input) { return vesselTypeIds.contains(input.getVesselType().getTopiaId()); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java index 07a4a2a..68c1e49 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java @@ -22,7 +22,6 @@ package fr.ird.observe.entities.seine; * #L% */ -import com.google.common.base.Predicate; import com.google.common.collect.Lists; import fr.ird.observe.entities.constants.seine.SchoolTypePersist; import fr.ird.observe.entities.referentiel.I18nReferenceEntities; @@ -36,6 +35,7 @@ import java.util.Comparator; import java.util.Date; import java.util.Iterator; import java.util.List; +import java.util.function.Predicate; /** * Created on 8/25/14. @@ -297,7 +297,7 @@ public class ActivitySeines { return i; } - public static Predicate<ActivitySeine> newDateBeforePredicate(final Date time) { + public static Predicate<ActivitySeine> newDateBeforePredicate(Date time) { return input -> input.getTime().before(time); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchs.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchs.java deleted file mode 100644 index b81226b..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchs.java +++ /dev/null @@ -1,37 +0,0 @@ -package fr.ird.observe.entities.seine; - -/*- - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2016 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% - */ - -import com.google.common.base.Function; -import fr.ird.observe.entities.referentiel.Species; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class NonTargetCatchs { - - public static Function<NonTargetCatch, Species> getSpeciesFunction() { - return NonTargetCatch::getSpecies; - } - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetLenghts.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetLenghts.java deleted file mode 100644 index abdbd0e..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetLenghts.java +++ /dev/null @@ -1,37 +0,0 @@ -package fr.ird.observe.entities.seine; - -/*- - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2016 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% - */ - -import com.google.common.base.Function; -import fr.ird.observe.entities.referentiel.Species; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class NonTargetLenghts { - - public static Function<NonTargetLength, Species> getSpeciesFunction() { - return NonTargetLength::getSpecies; - } - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/Routes.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/Routes.java index 10a2004..085cec5 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/Routes.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/Routes.java @@ -22,7 +22,6 @@ package fr.ird.observe.entities.seine; * #L% */ -import com.google.common.base.Predicate; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -30,6 +29,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.function.Predicate; /** * Created on 8/25/14. diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetCatchs.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetCatchs.java index d42a288..7514876 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetCatchs.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetCatchs.java @@ -22,12 +22,8 @@ package fr.ird.observe.entities.seine; * #L% */ -import fr.ird.observe.entities.referentiel.Species; - import java.util.Collection; import java.util.List; -import java.util.function.Function; -import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -42,12 +38,4 @@ public class TargetCatchs { return target; } - public static Function<TargetCatch, Species> getSpeciesFunction() { - return TargetCatch::getSpecies; - } - - public static Predicate<TargetCatch> newDiscardedPredicate(final boolean discarded) { - return input -> discarded == input.isDiscarded(); - } - } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetLenghts.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetLenghts.java deleted file mode 100644 index 7ecb115..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TargetLenghts.java +++ /dev/null @@ -1,38 +0,0 @@ -package fr.ird.observe.entities.seine; - -/*- - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2016 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% - */ - -import fr.ird.observe.entities.referentiel.Species; - -import java.util.function.Function; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class TargetLenghts { - - public static Function<TargetLength, Species> getSpeciesFunction() { - return input -> input.getSpecies(); - } - -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidatorDtos.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidatorDtos.java index a8a2e52..b9135b5 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidatorDtos.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidatorDtos.java @@ -22,13 +22,12 @@ package fr.ird.observe.services.service.actions.validate; * #L% */ -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import fr.ird.observe.services.dto.referential.ReferentialDto; import org.nuiton.validator.NuitonValidatorScope; import java.util.EnumSet; import java.util.Set; +import java.util.stream.Collectors; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -36,15 +35,17 @@ import java.util.Set; public class ValidatorDtos { public static Set<ValidatorDto> filter(Set<ValidatorDto> validators, - final boolean validateData, - final boolean validateReferential, - final EnumSet<NuitonValidatorScope> scopes, - final String context) { - - return Sets.newHashSet(Iterables.filter(validators, input -> (validateData && ! ReferentialDto.class.isAssignableFrom(input.getDtoType()) - || validateReferential && ReferentialDto.class.isAssignableFrom(input.getDtoType())) - && scopes.contains(input.getScope()) - && context.equals(input.getContext()))); + boolean validateData, + boolean validateReferential, + EnumSet<NuitonValidatorScope> scopes, + String context) { + + return validators.stream().filter(input -> + (validateData && !ReferentialDto.class.isAssignableFrom(input.getDtoType()) + || validateReferential && ReferentialDto.class.isAssignableFrom(input.getDtoType())) + && scopes.contains(input.getScope()) + && context.equals(input.getContext())). + collect(Collectors.toSet()); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java index 74ca603..e27db6a 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java @@ -22,9 +22,6 @@ package fr.ird.observe.services.dto; * #L% */ -import com.google.common.base.Function; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -36,6 +33,9 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** * Created on 21/11/15. @@ -49,7 +49,7 @@ public abstract class AbstractReference<D extends IdDto> implements ObserveDto, public static final String PROPERTY_LAST_UPDATE_DATE = "lastUpdateDate"; public static final String PROPERTY_TYPE = "type"; - + public static final String PROPERTY_CREATE_DATE = "createDate"; public static final String PROPERTY_VERSION = "version"; @@ -58,7 +58,7 @@ public abstract class AbstractReference<D extends IdDto> implements ObserveDto, public static final String PROPERTY_LABEL_PROPERTY_VALUES = "labelPropertyValues"; - protected static final Function<AbstractReference, String> ID_FUNCTION = newIdFunction(); + public static final Function<AbstractReference, String> ID_FUNCTION = AbstractReference::getId; private static final long serialVersionUID = 1L; @@ -79,34 +79,24 @@ public abstract class AbstractReference<D extends IdDto> implements ObserveDto, protected Serializable[] labelPropertyValues; - //FIXME Use java Predicate API public static <BeanType extends AbstractReference> Predicate<BeanType> newIdPredicate(String id) { return input -> Objects.equals(id, input.getId()); } - public static <BeanType extends AbstractReference> Predicate<BeanType> newIdsPredicate(final Collection<String> ids) { + public static <BeanType extends AbstractReference> Predicate<BeanType> newIdsPredicate(Collection<String> ids) { return input -> ids.contains(input.getId()); } - public static Function<AbstractReference, String> getIdFunction() { - return ID_FUNCTION; - } - - public static <BeanType extends AbstractReference> Function<BeanType, String> newIdFunction() { - return input -> input.getId(); - - } - public static <BeanType extends AbstractReference> Map<String, BeanType> splitById(Collection<BeanType> dtos) { - return Maps.uniqueIndex(dtos, ID_FUNCTION); + return Maps.uniqueIndex(dtos, ID_FUNCTION::apply); } - public static <BeanType extends AbstractReference> Iterable<BeanType> filterById(Iterable<BeanType> source, String id) { - return Iterables.filter(source, newIdPredicate(id)); + public static <BeanType extends AbstractReference> Collection<BeanType> filterById(Collection<BeanType> source, String id) { + return source.stream().filter(newIdPredicate(id)).collect(Collectors.toList()); } - public static <BeanType extends AbstractReference> BeanType find(Iterable<BeanType> source, String id) { - return Iterables.find(source, newIdPredicate(id)); + public static <BeanType extends AbstractReference> BeanType find(Collection<BeanType> source, String id) { + return source.stream().filter(newIdPredicate(id)).findFirst().orElse(null); } public void init(Class<D> type, String[] labelPropertyNames, Serializable... labelPropertyValues) { diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java index 1826903..86d0182 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java @@ -50,12 +50,12 @@ public abstract class AbstractReferenceSet<D extends IdDto, R extends AbstractRe } public R getReferenceById(String id) { - R referenceDto = tryGetReferenceById(id).get(); + R referenceDto = tryGetReferenceById(id).orElse(null); return referenceDto; } public Optional<R> tryGetReferenceById(String id) { - Optional<R> referenceDto = references.stream().filter(AbstractReference.newIdPredicate(id)::apply).findFirst(); + Optional<R> referenceDto = references.stream().filter(AbstractReference.newIdPredicate(id)).findFirst(); return referenceDto; } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java index 0e66d04..c5778a7 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java @@ -23,12 +23,12 @@ package fr.ird.observe.services.dto; */ import com.google.common.base.MoreObjects; -import com.google.common.base.Predicate; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.Serializable; import java.util.Arrays; +import java.util.function.Predicate; /** * Created on 21/11/15. diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java index 75a38b8..1d15181 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferences.java @@ -38,7 +38,7 @@ import java.util.stream.Collectors; */ public class ReferentialReferences { - protected static final Function<ReferentialReference, String> ID_FUNCTION = AbstractReference::getId; + public static final Function<ReferentialReference, String> ID_FUNCTION = AbstractReference::getId; protected static final Predicate<ReferentialReference> IS_ENABLE_PREDICATE = ReferentialReference::isEnabled; diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java index 052158a..f6b2a49 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.actions.report; -import com.google.common.collect.Iterables; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; @@ -125,7 +124,10 @@ public abstract class AbstractReportServiceRestTest extends AbstractServiceRestT if (variableName.equals(variable.getName())) { - Object value = Iterables.find(variable.getValues(), AbstractReference.newIdPredicate(id)); + Object value = variable.getValues().stream() + .filter(AbstractReference.newIdPredicate(id)) + .findFirst() + .orElse(null); variable.setSelectedValue(value); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BasketEntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BasketEntitiesExtractor.java index 1f1f642..1d16449 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BasketEntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BasketEntitiesExtractor.java @@ -28,6 +28,7 @@ import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; +import java.util.Collection; import java.util.LinkedHashSet; import java.util.Map; @@ -41,7 +42,7 @@ public class BasketEntitiesExtractor extends EntitiesExtractor<Basket> { } @Override - protected Iterable<Basket> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { + protected Collection<Basket> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { SetLongline setLongline = (SetLongline) requestContext.get(Section.PROPERTY_SET_LONGLINE); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BranchlineEntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BranchlineEntitiesExtractor.java index 7f8092a..19772fb 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BranchlineEntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/BranchlineEntitiesExtractor.java @@ -29,6 +29,7 @@ import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; +import java.util.Collection; import java.util.LinkedHashSet; import java.util.Map; @@ -42,7 +43,7 @@ public class BranchlineEntitiesExtractor extends EntitiesExtractor<Branchline> { } @Override - protected Iterable<Branchline> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { + protected Collection<Branchline> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { SetLongline setLongline = (SetLongline) requestContext.get(Section.PROPERTY_SET_LONGLINE); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java index 3627148..de85bb9 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java @@ -22,14 +22,14 @@ package fr.ird.observe.services.entity; * #L% */ -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.ObserveEntity; import org.nuiton.topia.persistence.TopiaDao; +import java.util.Collection; import java.util.Map; -import java.util.Optional; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** * Cette classe permet d'extraire dynamiquement un ensemble d'entitiées de la base de données. @@ -48,29 +48,29 @@ public class EntitiesExtractor<E extends ObserveEntity> { /** * Un prédicat de filtrage optionnel. */ - protected final Optional<Predicate<E>> optionalFilter; + protected final Predicate<E> optionalFilter; public Iterable<E> getEntities(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { - Iterable<E> result = getEntitiesSetBase(persistenceContext, requestContext); - java.util.function.Predicate<E> filter = getFilter(requestContext); + Collection<E> result = getEntitiesSetBase(persistenceContext, requestContext); + Predicate<E> filter = getFilter(requestContext); if (filter != null) { - result = Iterables.filter(result, filter::test); + result = result.stream().filter(filter).collect(Collectors.toSet()); } return result; } protected EntitiesExtractor(Class<E> entityType, Predicate<E> optionalFilter) { this.entityType = entityType; - this.optionalFilter = Optional.ofNullable(optionalFilter); + this.optionalFilter = optionalFilter; } - protected Iterable<E> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { + protected Collection<E> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { TopiaDao<E> dao = persistenceContext.getDao(entityType); return dao.findAll(); } - protected java.util.function.Predicate<E> getFilter(Map<String, Object> requestContext) { - return optionalFilter.orElse(null)::apply; + protected Predicate<E> getFilter(Map<String, Object> requestContext) { + return optionalFilter == null ? null : optionalFilter; } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java index ba9adad..034a4a8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java @@ -23,8 +23,6 @@ package fr.ird.observe.services.entity; */ import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; import com.google.common.collect.ImmutableMap; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.ObserveEntity; @@ -51,6 +49,8 @@ import fr.ird.observe.entities.seine.TargetCatchImpl; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveSpeciesListConfiguration; +import java.util.function.Predicate; + /** * Une usine de {@link EntitiesExtractor}. * @@ -68,124 +68,124 @@ public class EntitiesSetFactory { // TripSeine registerReferentialEntitiesExtractor(builder, - TripSeine.class, - TripSeine.PROPERTY_CAPTAIN, - Person.class, - Persons.newCaptainPredicate()); + TripSeine.class, + TripSeine.PROPERTY_CAPTAIN, + Person.class, + Persons.CAPTAIN_PREDICATE); registerReferentialEntitiesExtractor(builder, - TripSeine.class, - TripSeine.PROPERTY_OBSERVER, - Person.class, - Persons.newObserverPredicate()); + TripSeine.class, + TripSeine.PROPERTY_OBSERVER, + Person.class, + Persons.OBSERVER_PREDICATE); registerReferentialEntitiesExtractor(builder, - TripSeine.class, - TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, - Person.class, - Persons.newDataEntryOperatorPredicate()); + TripSeine.class, + TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, + Person.class, + Persons.DATA_ENTRY_OPERATOR_PREDICATE); registerReferentialEntitiesExtractor(builder, - TripSeine.class, - TripSeine.PROPERTY_VESSEL, - Vessel.class, - Vessels.newVesselSeinePredicate()); + TripSeine.class, + TripSeine.PROPERTY_VESSEL, + Vessel.class, + Vessels.newVesselSeinePredicate()); // TripLongLine registerReferentialEntitiesExtractor(builder, - TripLongline.class, - TripLongline.PROPERTY_CAPTAIN, - Person.class, - Persons.newCaptainPredicate()); + TripLongline.class, + TripLongline.PROPERTY_CAPTAIN, + Person.class, + Persons.CAPTAIN_PREDICATE); registerReferentialEntitiesExtractor(builder, - TripLongline.class, - TripLongline.PROPERTY_OBSERVER, - Person.class, - Persons.newObserverPredicate()); + TripLongline.class, + TripLongline.PROPERTY_OBSERVER, + Person.class, + Persons.OBSERVER_PREDICATE); registerReferentialEntitiesExtractor(builder, - TripLongline.class, - TripLongline.PROPERTY_DATA_ENTRY_OPERATOR, - Person.class, - Persons.newDataEntryOperatorPredicate()); + TripLongline.class, + TripLongline.PROPERTY_DATA_ENTRY_OPERATOR, + Person.class, + Persons.DATA_ENTRY_OPERATOR_PREDICATE); registerReferentialEntitiesExtractor(builder, - TripLongline.class, - TripLongline.PROPERTY_VESSEL, - Vessel.class, - Vessels.newVesselLonglinePredicate()); + TripLongline.class, + TripLongline.PROPERTY_VESSEL, + Vessel.class, + Vessels.newVesselLonglinePredicate()); // ObjectSchoolEstimate registerSpeciesListEntitiesExtractor(builder, - ObjectSchoolEstimate.class, - ObjectSchoolEstimate.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListSeineObjectSchoolEstimateId()); + ObjectSchoolEstimate.class, + ObjectSchoolEstimate.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListSeineObjectSchoolEstimateId()); // ObjectObservedSpecies registerSpeciesListEntitiesExtractor(builder, - ObjectObservedSpecies.class, - ObjectObservedSpecies.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListSeineObjectObservedSpeciesId()); + ObjectObservedSpecies.class, + ObjectObservedSpecies.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListSeineObjectObservedSpeciesId()); // SchoolEstimate registerSpeciesListEntitiesExtractor(builder, - SchoolEstimate.class, - SchoolEstimate.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListSeineSchoolEstimateId()); + SchoolEstimate.class, + SchoolEstimate.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListSeineSchoolEstimateId()); // TargetCatch registerSpeciesListOceanEntitiesExtractor(builder, - TargetCatch.class, - TargetCatchImpl.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListSeineTargetCatchId()); + TargetCatch.class, + TargetCatchImpl.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListSeineTargetCatchId()); // NonTargetCatch registerSpeciesListEntitiesExtractor(builder, - NonTargetCatch.class, - NonTargetCatch.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListSeineNonTargetCatchId()); + NonTargetCatch.class, + NonTargetCatch.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListSeineNonTargetCatchId()); // Encounter registerSpeciesListEntitiesExtractor(builder, - Encounter.class, - Encounter.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListLonglineEncounterId()); + Encounter.class, + Encounter.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListLonglineEncounterId()); // CatchLongline registerSpeciesListEntitiesExtractor(builder, - CatchLongline.class, - CatchLongline.PROPERTY_SPECIES_CATCH, - speciesListConfiguration.getSpeciesListLonglineCatchId()); + CatchLongline.class, + CatchLongline.PROPERTY_SPECIES_CATCH, + speciesListConfiguration.getSpeciesListLonglineCatchId()); registerSpeciesListEntitiesExtractor(builder, - CatchLongline.class, - CatchLongline.PROPERTY_PREDATOR, - speciesListConfiguration.getSpeciesListLonglineDepredatorId()); + CatchLongline.class, + CatchLongline.PROPERTY_PREDATOR, + speciesListConfiguration.getSpeciesListLonglineDepredatorId()); registerSectionEntitiesExtractor(builder, - CatchLongline.class, - CatchLongline.PROPERTY_SECTION); + CatchLongline.class, + CatchLongline.PROPERTY_SECTION); registerBasketEntitiesExtractor(builder, - CatchLongline.class, - CatchLongline.PROPERTY_BASKET); + CatchLongline.class, + CatchLongline.PROPERTY_BASKET); registerBranchlineEntitiesExtractor(builder, - CatchLongline.class, - CatchLongline.PROPERTY_BRANCHLINE); + CatchLongline.class, + CatchLongline.PROPERTY_BRANCHLINE); // CatchLongline registerSpeciesListEntitiesExtractor(builder, - Tdr.class, - Tdr.PROPERTY_SPECIES, - speciesListConfiguration.getSpeciesListLonglineCatchId()); + Tdr.class, + Tdr.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListLonglineCatchId()); registerSectionEntitiesExtractor(builder, - Tdr.class, - Tdr.PROPERTY_SECTION); + Tdr.class, + Tdr.PROPERTY_SECTION); registerBasketEntitiesExtractor(builder, - Tdr.class, - Tdr.PROPERTY_BASKET); + Tdr.class, + Tdr.PROPERTY_BASKET); registerBranchlineEntitiesExtractor(builder, - Tdr.class, - Tdr.PROPERTY_BRANCHLINE); + Tdr.class, + Tdr.PROPERTY_BRANCHLINE); this.cache = builder.build(); @@ -193,8 +193,8 @@ public class EntitiesSetFactory { } public <P extends ObserveEntity, C extends ObserveEntity> EntitiesExtractor<C> newEntitiesSet(Class<P> parentType, - Class<C> propertyType, - String propertyName) { + Class<C> propertyType, + String propertyName) { Preconditions.checkNotNull(parentType, "Parent type is required"); Preconditions.checkNotNull(propertyName, "Property name is required"); @@ -210,7 +210,7 @@ public class EntitiesSetFactory { if (Entities.isReferentielClass(propertyType)) { // On veut tous les référentiels sauf ceux qui sont désactivés - entitiesExtractor = new EntitiesExtractor<>(propertyType, (Predicate<C>) ObserveReferentialEntities.newEnablePredicate()); + entitiesExtractor = new EntitiesExtractor<>(propertyType, (Predicate)ObserveReferentialEntities.IS_ACTIF_PREDICATE); } else { @@ -236,9 +236,10 @@ public class EntitiesSetFactory { Class<C> propertyType, Predicate<C> filter) { - filter = Predicates.and(filter, ObserveReferentialEntities.newEnablePredicate()); + Predicate<C> predicate = (Predicate) ObserveReferentialEntities.IS_ACTIF_PREDICATE; + Predicate<C> newFilter = f -> filter.test(f) && predicate.test(f); - EntitiesExtractor<C> entitiesExtractor = new EntitiesExtractor<>(propertyType, filter); + EntitiesExtractor<C> entitiesExtractor = new EntitiesExtractor<>(propertyType, newFilter); registerEntitiesExtractor(builder, parentType, propertyName, entitiesExtractor); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SectionEntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SectionEntitiesExtractor.java index b1dc7a9..7368060 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SectionEntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SectionEntitiesExtractor.java @@ -26,6 +26,7 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; +import java.util.Collection; import java.util.Map; /** @@ -38,7 +39,7 @@ public class SectionEntitiesExtractor extends EntitiesExtractor<Section> { } @Override - protected Iterable<Section> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { + protected Collection<Section> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { SetLongline setLongline = (SetLongline) requestContext.get(Section.PROPERTY_SET_LONGLINE); return setLongline.getSection(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java index 1983da3..ef6ee49 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java @@ -28,7 +28,9 @@ import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.entities.referentiel.SpeciesListTopiaDao; +import java.util.Collection; import java.util.Map; +import java.util.function.Predicate; /** * Extraction des list d'espèces definit dans le référentiel "liste d'èspéce" @@ -43,12 +45,12 @@ public class SpeciesListEntitiesExtractor extends EntitiesExtractor<Species> { protected final String speciesListId; public SpeciesListEntitiesExtractor(String speciesListId) { - super(Species.class, ObserveReferentialEntities.newEnablePredicate()); + super(Species.class, (Predicate) ObserveReferentialEntities.IS_ACTIF_PREDICATE); this.speciesListId = speciesListId; } @Override - protected Iterable<Species> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { + protected Collection<Species> getEntitiesSetBase(ObserveTopiaPersistenceContext persistenceContext, Map<String, Object> requestContext) { SpeciesListTopiaDao speciesListDao = persistenceContext.getSpeciesListDao(); SpeciesList speciesList = speciesListDao.forTopiaIdEquals(speciesListId).findUnique(); return speciesList.getSpecies(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListOceanEntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListOceanEntitiesExtractor.java index 10309ab..94d2cfe 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListOceanEntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListOceanEntitiesExtractor.java @@ -22,12 +22,12 @@ package fr.ird.observe.services.entity; * #L% */ -import com.google.common.base.Predicate; import fr.ird.observe.entities.referentiel.Ocean; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Species2; import java.util.Map; +import java.util.function.Predicate; /** * Extraction des list d'espèces definit dans le référentiel "liste d'èspéce" et présent dans un océan @@ -41,16 +41,15 @@ public class SpeciesListOceanEntitiesExtractor extends SpeciesListEntitiesExtrac } @Override - protected java.util.function.Predicate<Species> getFilter(Map<String, Object> requestContext) { + protected Predicate<Species> getFilter(Map<String, Object> requestContext) { - java.util.function.Predicate<Species> filter = super.getFilter(requestContext); + Predicate<Species> filter = super.getFilter(requestContext); Ocean ocean = (Ocean) requestContext.get(Species.PROPERTY_OCEAN); if (ocean != null) { - Predicate<Species> oceanFilter = Species2.newSpeciesByOceanPredicate(ocean); - filter = filter.and(oceanFilter::apply); + filter = filter.and(Species2.newSpeciesByOceanPredicate(ocean)); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java index bb8a17d..2d13358 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java @@ -23,8 +23,6 @@ package fr.ird.observe.services.service; */ import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.entities.Entities; import fr.ird.observe.services.ObserveServiceTopia; @@ -39,8 +37,12 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.Set; +import java.util.stream.Collectors; import java.util.zip.GZIPOutputStream; +import static fr.ird.observe.entities.Entities.IS_LONGLINE_ID; +import static fr.ird.observe.entities.Entities.IS_SEINE_ID; + /** * Created on 31/12/15. * @@ -121,8 +123,8 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement if (request.isAddReferential()) { builder.replicateTablesBuilder() - .setTables(topiaApplicationContext.getReferentialTables()) - .flush(); + .setTables(topiaApplicationContext.getReferentialTables()) + .flush(); } @@ -132,23 +134,23 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement if (tripIds == null) { builder.replicateTablesBuilder() - .setTables(topiaApplicationContext.getTripSeineTables()) - .replicateTablesBuilder() - .setTables(topiaApplicationContext.getTripLonglineTables()) - .flush(); + .setTables(topiaApplicationContext.getTripSeineTables()) + .replicateTablesBuilder() + .setTables(topiaApplicationContext.getTripLonglineTables()) + .flush(); } else { { - Set<String> tripIds1 = Sets.newHashSet(Iterables.filter(tripIds, Entities.IS_SEINE_ID::test)); + Set<String> tripIds1 = tripIds.stream().filter(IS_SEINE_ID).collect(Collectors.toSet()); if (!tripIds1.isEmpty()) { builder.replicateTablesBuilder() - .setTables(topiaApplicationContext.getTripSeineTables()) - .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds1)) - .flush(); + .setTables(topiaApplicationContext.getTripSeineTables()) + .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds1)) + .flush(); } @@ -156,14 +158,14 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement { - Set<String> tripIds1 = Sets.newHashSet(Iterables.filter(tripIds, Entities.IS_LONGLINE_ID::test)); + Set<String> tripIds1 = tripIds.stream().filter(IS_LONGLINE_ID).collect(Collectors.toSet()); if (!tripIds1.isEmpty()) { builder.replicateTablesBuilder() - .setTables(topiaApplicationContext.getTripLonglineTables()) - .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds1)) - .flush(); + .setTables(topiaApplicationContext.getTripLonglineTables()) + .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds1)) + .flush(); } @@ -195,7 +197,7 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement { - Set<String> tripIds1 = Sets.newHashSet(Iterables.filter(tripIds, Entities.IS_SEINE_ID::test)); + Set<String> tripIds1 = tripIds.stream().filter(Entities.IS_SEINE_ID).collect(Collectors.toSet()); if (!tripIds1.isEmpty()) { @@ -210,7 +212,7 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement { - Set<String> tripIds1 = Sets.newHashSet(Iterables.filter(tripIds, Entities.IS_LONGLINE_ID::test)); + Set<String> tripIds1 = tripIds.stream().filter(Entities.IS_LONGLINE_ID).collect(Collectors.toSet()); if (!tripIds1.isEmpty()) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index d73dcee..2a22585 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.longline; import com.google.common.base.Joiner; import com.google.common.collect.Iterables; +import fr.ird.observe.entities.gps.CoordinateHelper; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.longline.ActivityLonglineTopiaDao; import fr.ird.observe.entities.longline.ActivityLonglines; @@ -40,7 +41,6 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; -import fr.ird.observe.entities.gps.CoordinateHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -279,8 +279,8 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements } protected int getActivityLonglinePositionInTripLongline(TripLongline tripLongline, ActivityLongline activityLongline) { - return Iterables.size(Iterables.filter( - tripLongline.getActivityLongline(), - ActivityLonglines.newTimeStampBeforePredicate(activityLongline.getTimeStamp())::apply)); + return (int) tripLongline.getActivityLongline().stream() + .filter(ActivityLonglines.newTimeStampBeforePredicate(activityLongline.getTimeStamp())) + .count(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index 91c3303..fef392b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import com.google.common.base.Joiner; import com.google.common.collect.Iterables; +import fr.ird.observe.entities.gps.CoordinateHelper; import fr.ird.observe.entities.referentiel.FpaZone; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineTopiaDao; @@ -39,7 +40,6 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.DataNotFoundException; -import fr.ird.observe.entities.gps.CoordinateHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.DateUtil; @@ -72,7 +72,6 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac } - @Override public int getActivitySeinePositionInRoute(String routeId, String activitySeineId) { if (log.isTraceEnabled()) { @@ -279,8 +278,9 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac } protected int getActivitySeinePositionInRoute(Route route, ActivitySeine activitySeine) { - return Iterables.size(Iterables.filter( - route.getActivitySeine(), - ActivitySeines.newDateBeforePredicate(activitySeine.getTime())::apply)); + return (int) route.getActivitySeine() + .stream() + .filter(ActivitySeines.newDateBeforePredicate(activitySeine.getTime())) + .count(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 2243a5f..1c522a0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -57,7 +57,6 @@ import java.util.Date; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -324,9 +323,8 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi } protected int getRoutePositionInTripSeine(TripSeine tripSeine, Route route) { - return Iterables.size(tripSeine.getRoute() - .stream() - .filter(Routes.newDateBeforePredicate(route.getDate())::apply) - .collect(Collectors.toList())); + return (int) tripSeine.getRoute().stream() + .filter(Routes.newDateBeforePredicate(route.getDate())) + .count(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java index 8c72cce..e19e821 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java @@ -31,7 +31,7 @@ import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferences; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; import fr.ird.observe.services.dto.seine.TargetCatchDto; @@ -73,7 +73,6 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ Collection<TargetCatchDto> allTargetCatchDtos = setSeineTargetCatchDto.getTargetCatch(); List<TargetCatchDto> targetCatchDtos = TargetCatchDtos.filterDiscarded(allTargetCatchDtos, discarded); -// List<TargetCatchDto> targetCatchDtos = Lists.newArrayList(Iterables.filter(allTargetCatchDtos, TargetCatchDtos.newDiscardedPredicate(discarded))); setSeineTargetCatchDto.setTargetCatch(targetCatchDtos); @@ -88,12 +87,6 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ .map(Species::getTopiaId) .collect(Collectors.toSet()); -// Iterable<Species> speciesSamples = Iterables.transform( -// targetSample.getTargetLength(), -// TargetLenghts.getSpeciesFunction()); -// -// Set<String> speciesSampleIds = Sets.newHashSet(Iterables.transform(speciesSamples, TopiaEntities.getTopiaIdFunction())); - for (TargetCatchDto targetCatchDto : setSeineTargetCatchDto.getTargetCatch()) { boolean hasSample = speciesSampleIds.contains(targetCatchDto.getSpecies().getId()); @@ -120,8 +113,8 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ // On conserve les identifiants des espèces utilisables dans les échantillons Set<String> speciesIds = dto.getTargetCatch().stream() - .map(TargetCatchDto::getSpecies) - .map(ReferentialReference::getId) + .map(TargetCatchDtos.SPECIES_FUNCTION) + .map(ReferentialReferences.ID_FUNCTION) .collect(Collectors.toSet()); SetSeine entity = loadEntity(SetSeineTargetCatchDto.class, dto.getId()); @@ -158,8 +151,6 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ // Calcul du champs SetSeine.targetDiscarded boolean targetDiscarded; -// Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); -// entity.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); if (discarded) { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java index 2194cc4..dba9945 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.actions.report; -import com.google.common.collect.Iterables; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; @@ -127,7 +126,10 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi if (variableName.equals(variable.getName())) { - Object value = Iterables.find(variable.getValues(), AbstractReference.newIdPredicate(id)); + Object value = variable.getValues().stream() + .filter(AbstractReference.newIdPredicate(id)) + .findFirst() + .orElse(null); variable.setSelectedValue(value); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.