Ignore:
Timestamp:
2014-11-29T20:04:57+01:00 (10 years ago)
Author:
donvip
Message:

[josm_osminspector] use geotools plugin, update to geotools 12.1, fix deprecation and Java 7 warnings

Location:
applications/editors/josm/plugins/OsmInspectorPlugin/src/org/openstreetmap/josm/plugins/osminspector
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/OsmInspectorPlugin/src/org/openstreetmap/josm/plugins/osminspector/OSMIFeatureTracker.java

    r30737 r30828  
    66import org.geotools.data.memory.MemoryFeatureCollection;
    77import org.geotools.feature.FeatureCollection;
     8import org.geotools.feature.FeatureIterator;
    89import org.opengis.feature.simple.SimpleFeature;
    910import org.opengis.feature.simple.SimpleFeatureType;
     
    3435                }
    3536
    36                 features.addAll(featuresIn);
     37                try (FeatureIterator<SimpleFeature> it = featuresIn.features()) {
     38                    while (it.hasNext()) {
     39                        features.add(it.next());
     40                    }
     41                }
    3742        }
    3843
    3944        public boolean mergeFeatures(
    4045                        FeatureCollection<SimpleFeatureType, SimpleFeature> newFeatures) {
    41                 for (Iterator<SimpleFeature> it = newFeatures.iterator(); it.hasNext();) {
    42                         SimpleFeature element = (SimpleFeature) it.next();
    43                         try {
    44                                 Long ID = (Long.parseLong((String) element
    45                                                 .getAttribute("problem_id")));
    46 
    47                                 if (!hashFeatures.containsKey(ID)) {
    48                                         hashFeatures.put(ID, element);
    49                                         features.add(element);
    50                                 }
    51                         } catch (NumberFormatException e) {
    52                                 continue;
    53                         }
    54                 }
     46            try (FeatureIterator<SimpleFeature> it = newFeatures.features()) {
     47                while (it.hasNext()) {
     48                        SimpleFeature element = (SimpleFeature) it.next();
     49                        try {
     50                                Long ID = (Long.parseLong((String) element
     51                                                .getAttribute("problem_id")));
     52   
     53                                if (!hashFeatures.containsKey(ID)) {
     54                                        hashFeatures.put(ID, element);
     55                                        features.add(element);
     56                                }
     57                        } catch (NumberFormatException e) {
     58                                continue;
     59                        }
     60                }
     61            }
    5562
    5663                return true;
  • applications/editors/josm/plugins/OsmInspectorPlugin/src/org/openstreetmap/josm/plugins/osminspector/OsmInspectorLayer.java

    r30815 r30828  
    2525import org.geotools.feature.FeatureCollection;
    2626import org.geotools.feature.FeatureIterator;
    27 import org.geotools.filter.Filter;
    2827import org.geotools.geometry.jts.ReferencedEnvelope;
    29 import org.geotools.map.DefaultMapContext;
    30 import org.geotools.map.MapContext;
     28import org.geotools.map.FeatureLayer;
     29import org.geotools.map.MapContent;
    3130import org.geotools.referencing.CRS;
    3231import org.geotools.renderer.lite.StreamingRenderer;
     
    4645import org.opengis.filter.FilterFactory2;
    4746import org.opengis.filter.identity.FeatureId;
     47import org.opengis.filter.spatial.Intersects;
    4848import org.opengis.referencing.FactoryException;
    4949import org.opengis.referencing.NoSuchAuthorityCodeException;
     
    7373
    7474        private SimpleFeatureSource featureSource;
    75         private MapContext context;
     75        private MapContent content;
    7676        private boolean bIsChanged;
    7777
     
    355355                CRS.decode(Main.getProjection().toCode());
    356356                crsOSMI = CRS.decode("EPSG:4326");
    357                 context = new DefaultMapContext(crsOSMI);
     357                content = new MapContent(crsOSMI);
    358358
    359359                selectGeomType.add(GeomType.POINT);
     
    371371                        OSMIFeatureTracker tracker = new OSMIFeatureTracker(features);
    372372                        arrFeatures.add(tracker);
    373                         FeatureIterator<SimpleFeature> it = tracker.getFeatures()
    374                                         .features();
     373                        FeatureIterator<SimpleFeature> it = tracker.getFeatures().features();
    375374
    376375                        while (it.hasNext()) {
     
    379378                        }
    380379
    381                         context.addLayer(tracker.getFeatures(), style);
     380                        content.addLayer(new FeatureLayer(tracker.getFeatures(), style));
    382381                }
    383382
    384383                osmiIndex = new BugIndex(osmiBugInfo);
    385                 context.setTitle("Osm Inspector Errors");
    386                 renderer.setContext(context);
     384                content.setTitle("Osm Inspector Errors");
     385                renderer.setMapContent(content);
    387386                bIsChanged = true;
    388387
     
    407406                String typeNames[] = wfsClient.getTypeNames();
    408407
    409                 context.clearLayerList();
     408                content.layers().clear();
    410409                selectGeomType.clear();
    411410                selectGeomType.add(GeomType.POINT);
     
    438437
    439438                        Style style = createDefaultStyle(idx, selectedFeatures);
    440                         context.addLayer(tracker.getFeatures(), style);
     439                        content.addLayer(new FeatureLayer(tracker.getFeatures(), style));
    441440                }
    442441
     
    596595                ReferencedEnvelope mapArea = new ReferencedEnvelope(envelope, crsOSMI);
    597596
    598                 Filter filter = (Filter) ff.intersects(ff.property("msGeometry"),
     597                Intersects filter = ff.intersects(ff.property("msGeometry"),
    599598                                ff.literal(mapArea));
    600599                //
    601600                // Select features in all layers
    602601                //
    603                 context.clearLayerList();
     602                content.layers().clear();
    604603
    605604                // Iterate through features and build a list that intersects the above
     
    615614                        try {
    616615                                selectedFeatures = tempfs.getFeatures(filter);
    617 
    618                                 FeatureIterator<SimpleFeature> iter = selectedFeatures.features();
    619                                 Set<FeatureId> IDs = new HashSet<>();
    620 
    621                                 Main.info("Selected features " + selectedFeatures.size());
    622 
    623                                 while (iter.hasNext()) {
    624                                         SimpleFeature feature = iter.next();
    625                                         IDs.add(feature.getIdentifier());
     616                Set<FeatureId> IDs = new HashSet<>();
     617
     618                                try (FeatureIterator<SimpleFeature> iter = selectedFeatures.features()) {
     619   
     620                                Main.info("Selected features " + selectedFeatures.size());
     621   
     622                                while (iter.hasNext()) {
     623                                        SimpleFeature feature = iter.next();
     624                                        IDs.add(feature.getIdentifier());
     625                                }
    626626                                }
    627 
    628                                 iter.close();
    629627
    630628                                geometryType = selectGeomType.get(idx + layerOffset);
    631629                                Style style = createDefaultStyle(idx + layerOffset, IDs);
    632                                 context.addLayer(features, style);
     630                                content.addLayer(new FeatureLayer(features, style));
    633631                        } catch (IOException e) {
    634                                 // TODO Auto-generated catch block
    635                                 e.printStackTrace();
     632                                Main.error(e);
    636633                        }
    637634                }
  • applications/editors/josm/plugins/OsmInspectorPlugin/src/org/openstreetmap/josm/plugins/osminspector/gui/OsmInspectorDialog.java

    r30815 r30828  
    4444       
    4545        public void updateNextPrevAction(OsmInspectorLayer l) {
    46                 this.actNext.layer = l;
    47                 this.actPrev.layer = l;
     46                this.actNext.inspectlayer = l;
     47                this.actPrev.inspectlayer = l;
    4848        }
    4949       
     
    164164                        ListSelectionListener {
    165165
    166                 private OsmInspectorLayer layer;
     166                private OsmInspectorLayer inspectlayer;
    167167
    168168                public OsmInspectorNextAction(Layer inspector) {
    169169                        super("next");
    170                         layer = (OsmInspectorLayer) inspector;
     170                        inspectlayer = (OsmInspectorLayer) inspector;
    171171                }
    172172
    173173                @Override
    174174                public void actionPerformed(ActionEvent e) {
    175                         layer.getOsmiIndex().next();
    176                         BugInfo next = layer.getOsmiIndex().getItemPointedByNext();
     175                        inspectlayer.getOsmiIndex().next();
     176                        BugInfo next = inspectlayer.getOsmiIndex().getItemPointedByNext();
    177177                        Geometry geom = next.getGeom();
    178178                        Point centroid = geom.getCentroid();
    179179                        LatLon center = new LatLon(centroid.getY(), centroid.getX());
    180180                        Main.map.mapView.zoomTo(center);
    181                         layer.selectFeatures(center);
     181                        inspectlayer.selectFeatures(center);
    182182                        bugInfoDialog.setBugDescription(next);
    183183                        updateSelection(next);
     
    199199                        ListSelectionListener {
    200200
    201                 private OsmInspectorLayer layer;
     201                private OsmInspectorLayer inspectlayer;
    202202
    203203                public OsmInspectorPrevAction(Layer inspector) {
    204204                        super("prev");
    205                         layer = (OsmInspectorLayer) inspector;
     205                        inspectlayer = (OsmInspectorLayer) inspector;
    206206                }
    207207
    208208                @Override
    209209                public void actionPerformed(ActionEvent e) {
    210                         layer.getOsmiIndex().prev();
    211                         BugInfo prev = layer.getOsmiIndex().getItemPointedByPrev();
     210                        inspectlayer.getOsmiIndex().prev();
     211                        BugInfo prev = inspectlayer.getOsmiIndex().getItemPointedByPrev();
    212212                        Geometry geom = prev.getGeom();
    213213                        Point centroid = geom.getCentroid();
    214214                        LatLon center = new LatLon(centroid.getY(), centroid.getX());
    215215                        Main.map.mapView.zoomTo(center);
    216                         layer.selectFeatures(center);
     216                        inspectlayer.selectFeatures(center);
    217217                        bugInfoDialog.setBugDescription(prev);
    218218                        updateSelection(prev);
Note: See TracChangeset for help on using the changeset viewer.