This is an automated email from the git hooks/post-receive script. New commit to branch feature/7154 in repository observe. See http://git.codelutin.com/observe.git commit c3acac6c3713cef26c3013748349a0465695a219 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu May 28 14:15:41 2015 +0200 refs #7154 : ajout de ligne pour les activités autre que les opérations de pèche --- .../entities/longline/TripLonglineDAOImpl.java | 37 ++++++++++++---------- .../ui/util/tripMap/TripMapContentBuilder.java | 30 ++++++++++++++++-- observe-swing/src/main/map/style.xml | 18 +++++++++++ 3 files changed, 66 insertions(+), 19 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java index c78ee0c..f8bee26 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java @@ -162,25 +162,28 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO List<TripMapPoint> result = Lists.newLinkedList(); - // activity - TripMapPoint activity = new TripMapPoint(); - activity.setTime(resultSet.getDate(1)); - activity.setLatitude(resultSet.getFloat(2)); - activity.setLongitude(resultSet.getFloat(3)); - - String vesselActivityId = resultSet.getString(4); - if (vesselActivityId == null) { - activity.setType(TripMapPointType.LONGLINE_ACTIVITY); - } else if (ACTIVITY_INTERACTION_ID.equals(vesselActivityId)) { - activity.setType(TripMapPointType.LONGLINE_ACTIVITY_WITH_INTERACTION); - } else if (ACTIVITY_STATION_ID.equals(vesselActivityId)) { - activity.setType(TripMapPointType.LONGLINE_ACTIVITY_WITH_STATION); - } else { - activity.setType(TripMapPointType.LONGLINE_ACTIVITY); + if (resultSet.getString(5) == null) { + + // activity + TripMapPoint activity = new TripMapPoint(); + activity.setTime(resultSet.getDate(1)); + activity.setLatitude(resultSet.getFloat(2)); + activity.setLongitude(resultSet.getFloat(3)); + + String vesselActivityId = resultSet.getString(4); + if (vesselActivityId == null) { + activity.setType(TripMapPointType.LONGLINE_ACTIVITY); + } else if (ACTIVITY_INTERACTION_ID.equals(vesselActivityId)) { + activity.setType(TripMapPointType.LONGLINE_ACTIVITY_WITH_INTERACTION); + } else if (ACTIVITY_STATION_ID.equals(vesselActivityId)) { + activity.setType(TripMapPointType.LONGLINE_ACTIVITY_WITH_STATION); + } else { + activity.setType(TripMapPointType.LONGLINE_ACTIVITY); + } + + result.add(activity); } - result.add(activity); - // settingStart if (resultSet.getString(5) != null) { TripMapPoint settingStart = new TripMapPoint(); diff --git a/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java b/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java index 59ef727..c859c8d 100644 --- a/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java +++ b/observe-swing/src/main/java/fr/ird/observe/ui/util/tripMap/TripMapContentBuilder.java @@ -282,8 +282,10 @@ public class TripMapContentBuilder { DefaultFeatureCollection linesFeatures = new DefaultFeatureCollection(); - for (int indexPoint = 1; indexPoint < tripMapPoints.size(); indexPoint++) { - if (tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_SETTING_END) + List<Coordinate> defaultLineCoordinates = Lists.newLinkedList(); + + for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) { + if (indexPoint > 1 && tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_SETTING_END) && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_SETTING_START) || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_HAULING_END) && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_HAULING_START)) { @@ -300,7 +302,31 @@ public class TripMapContentBuilder { SimpleFeature feature = lineBuilder.buildFeature(null); linesFeatures.add(feature); + defaultLineCoordinates.clear(); + } + + if (! (tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_SETTING_END) + || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_HAULING_START))) { + + defaultLineCoordinates.add(new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude())); + + } + + if ((tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.LONGLINE_ACTIVITY_WITH_SETTING_START) + || indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) { + + LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray( new Coordinate[0])); + lineBuilder.add(lineString); + lineBuilder.add("trip"); + SimpleFeature feature = lineBuilder.buildFeature(null); + linesFeatures.add(feature); + + defaultLineCoordinates.clear(); + } + + + } Style styleLines = findStyle(styledLayerDescriptor, TRIP_LONGLINE_LINE_LAYER_NAME, null); diff --git a/observe-swing/src/main/map/style.xml b/observe-swing/src/main/map/style.xml index 02c2971..a6de37a 100644 --- a/observe-swing/src/main/map/style.xml +++ b/observe-swing/src/main/map/style.xml @@ -134,6 +134,24 @@ <Title>SLD Cook Book: Simple Line</Title> <FeatureTypeStyle> <Rule> + <Name>Trip</Name> + <ogc:Filter> + <ogc:PropertyIsEqualTo> + <ogc:PropertyName>type</ogc:PropertyName> + <ogc:Literal>trip</ogc:Literal> + </ogc:PropertyIsEqualTo> + </ogc:Filter> + <LineSymbolizer> + <Stroke> + <CssParameter name="stroke">#222222</CssParameter> + <CssParameter name="stroke-width">1</CssParameter> + <CssParameter name="stroke-dasharray">5 7</CssParameter> + </Stroke> + </LineSymbolizer> + </Rule> + </FeatureTypeStyle> + <FeatureTypeStyle> + <Rule> <Name>setting</Name> <ogc:Filter> <ogc:PropertyIsEqualTo> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.