Ignore:
Timestamp:
2014-02-03T19:26:05+01:00 (6 years ago)
Author:
Don-vip
Message:

fix some Sonar issues introduced recently

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java

    r6756 r6806  
    7171        return result;
    7272    }
     73   
     74    private static class GeometryPrimitiveVisitor implements PrimitiveVisitor {
     75       
     76        private final JsonObjectBuilder geomObj;
     77       
     78        public GeometryPrimitiveVisitor(JsonObjectBuilder geomObj) {
     79            this.geomObj = geomObj;
     80        }
     81
     82        @Override
     83        public void visit(INode n) {
     84            geomObj.add("type", "Point");
     85            LatLon ll = n.getCoor();
     86            if (ll != null) {
     87                geomObj.add("coordinates", getCoorArray(n.getCoor()));
     88            }
     89        }
     90
     91        @Override
     92        public void visit(IWay w) {
     93            geomObj.add("type", "LineString");
     94            if (w instanceof Way) {
     95                JsonArrayBuilder array = Json.createArrayBuilder();
     96                for (Node n : ((Way)w).getNodes()) {
     97                    LatLon ll = n.getCoor();
     98                    if (ll != null) {
     99                        array.add(getCoorArray(ll));
     100                    }
     101                }
     102                geomObj.add("coordinates", array);
     103            }
     104        }
     105
     106        @Override
     107        public void visit(IRelation r) {
     108        }
     109
     110        private JsonArrayBuilder getCoorArray(LatLon c) {
     111            return Json.createArrayBuilder().add(c.lon()).add(c.lat());
     112        }
     113    }
    73114
    74115    protected static void appendPrimitive(OsmPrimitive p, JsonArrayBuilder array) {
     
    87128        // Geometry
    88129        final JsonObjectBuilder geomObj = Json.createObjectBuilder();
    89         p.accept(new PrimitiveVisitor() {
    90             @Override
    91             public void visit(INode n) {
    92                 geomObj.add("type", "Point");
    93                 LatLon ll = n.getCoor();
    94                 if (ll != null) {
    95                     geomObj.add("coordinates", getCoorArray(n.getCoor()));
    96                 }
    97             }
    98 
    99             @Override
    100             public void visit(IWay w) {
    101                 geomObj.add("type", "LineString");
    102                 if (w instanceof Way) {
    103                     JsonArrayBuilder array = Json.createArrayBuilder();
    104                     for (Node n : ((Way)w).getNodes()) {
    105                         LatLon ll = n.getCoor();
    106                         if (ll != null) {
    107                             array.add(getCoorArray(ll));
    108                         }
    109                     }
    110                     geomObj.add("coordinates", array);
    111                 }
    112             }
    113 
    114             @Override
    115             public void visit(IRelation r) {
    116             }
    117 
    118             private JsonArrayBuilder getCoorArray(LatLon c) {
    119                 return Json.createArrayBuilder().add(c.lon()).add(c.lat());
    120             }
    121         });
     130        p.accept(new GeometryPrimitiveVisitor(geomObj));
    122131
    123132        // Build primitive JSON object
Note: See TracChangeset for help on using the changeset viewer.