/** * {@inheritDoc} */ public void process(WayContainer way) { wayWriter.process(way.getEntity()); entitiesWritten = true; }
Collection<Tag> tags; beginOpenElement(); addCommonAttributes(way); addMetatags(way); endOpenElement(false); closeElement(); endOpenElement(true);
/** * Performs pre-test activities. */ @Before public void setUp() { testWriter = new StringWriter(); testBufferedWriter = new BufferedWriter(testWriter); testWayWriter = new WayWriter("way", 2); testWayWriter.setWriter(testBufferedWriter); Calendar calendar; calendar = Calendar.getInstance(); calendar.set(Calendar.ZONE_OFFSET, 0); calendar.set(Calendar.DST_OFFSET, 0); calendar.set(Calendar.YEAR, 2013); calendar.set(Calendar.MONTH, Calendar.OCTOBER); calendar.set(Calendar.DAY_OF_MONTH, 7); calendar.set(Calendar.HOUR_OF_DAY, 10); calendar.set(Calendar.MINUTE, 24); calendar.set(Calendar.SECOND, 31); calendar.set(Calendar.MILLISECOND, 0); timestamp = calendar.getTime(); }
/** * Updates the underlying writer. * * @param writer * The writer to be used for all output xml. */ public void updateWriter(final Writer writer) { nodeWriter.setWriter(writer); wayWriter.setWriter(writer); relationWriter.setWriter(writer); boundWriter.setWriter(writer); // reset the flags indicating which data has been written boundWritten = false; entitiesWritten = false; }
/** * Creates a new instance. * * @param indentLevel * The indent level of the sub-elements. */ SubElementWriter(int indentLevel, boolean legacyBound) { nodeWriter = new NodeWriter("node", indentLevel); wayWriter = new WayWriter("way", indentLevel); relationWriter = new RelationWriter("relation", indentLevel); if (legacyBound) { boundWriter = new BoundWriter("bound", indentLevel, legacyBound); } else { boundWriter = new BoundWriter("bounds", indentLevel, legacyBound); } }
/** * Updates the underlying writer. * * @param writer * The writer to be used for all output xml. */ public void updateWriter(final Writer writer) { nodeWriter.setWriter(writer); wayWriter.setWriter(writer); relationWriter.setWriter(writer); boundWriter.setWriter(writer); // reset the flags indicating which data has been written boundWritten = false; entitiesWritten = false; }
/** * Creates a new instance. * * @param indentLevel * The indent level of the sub-elements. */ SubElementWriter(int indentLevel, boolean legacyBound) { nodeWriter = new NodeWriter("node", indentLevel); wayWriter = new WayWriter("way", indentLevel); relationWriter = new RelationWriter("relation", indentLevel); if (legacyBound) { boundWriter = new BoundWriter("bound", indentLevel, legacyBound); } else { boundWriter = new BoundWriter("bounds", indentLevel, legacyBound); } }
Collection<Tag> tags; beginOpenElement(); addCommonAttributes(way); addMetatags(way); endOpenElement(false); closeElement(); endOpenElement(true);
/** * {@inheritDoc} */ public void process(WayContainer way) { wayWriter.process(way.getEntity()); entitiesWritten = true; }
way.getTags().add(new Tag("waykey", "wayvalue")); testWayWriter.process(way); try { testBufferedWriter.flush();
/** * Test writing out a Way element with no tags. */ @Test public final void testProcessWayNoTags() { Way way = new Way(new CommonEntityData(1234, 2, timestamp, new OsmUser(23, "someuser"), 0)); way.getWayNodes().add(new WayNode(1235)); way.getWayNodes().add(new WayNode(1236)); testWayWriter.process(way); try { testBufferedWriter.flush(); } catch (IOException e) { e.printStackTrace(); fail("IOException"); } String[] strArray = testWriter.toString().split("\\n", 4); assertTrue("Way opening element does not match.", strArray[0].matches(wayOpeningMatch)); assertTrue("Way node 1 does not match.", strArray[1].matches(wayNode1Match)); assertTrue("Way node 2 does not match.", strArray[2].matches(wayNode2Match)); assertTrue("Way closing element does not match.", strArray[3].matches(wayClosingMatch)); } }
/** * Test writing out a normal Way element. */ @Test public final void testProcessNormalWay() { Way way = new Way(new CommonEntityData(1234, 2, timestamp, new OsmUser(23, "someuser"), 0)); way.getWayNodes().add(new WayNode(1235)); way.getWayNodes().add(new WayNode(1236)); way.getTags().add(new Tag("waykey", "wayvalue")); testWayWriter.process(way); try { testBufferedWriter.flush(); } catch (IOException e) { e.printStackTrace(); fail("IOException"); } String[] strArray = testWriter.toString().split("\\n", 5); assertTrue("Way opening element does not match.", strArray[0].matches(wayOpeningMatch)); assertTrue("Way node 1 does not match.", strArray[1].matches(wayNode1Match)); assertTrue("Way node 2 does not match.", strArray[2].matches(wayNode2Match)); assertTrue("Way tag does not match.", strArray[3].matches(wayTagMatch)); assertTrue("Way closing element does not match.", strArray[4].matches(wayClosingMatch)); }