use of org.mozilla.jss.asn1.Tag in project osmosis by openstreetmap.
the class OsmWriterTest method testProcess6.
/**
* Test processing a Way.
*/
@Test
public final void testProcess6() {
Way testWay;
testWay = new Way(new CommonEntityData(3456, 0, new Date(), new OsmUser(12, "OsmosisTest"), 0));
testWay.getWayNodes().add(new WayNode(1234));
testWay.getWayNodes().add(new WayNode(1235));
testWay.getTags().add(new Tag("test_key1", "test_value1"));
testOsmWriter.process(new WayContainer(testWay));
// Nothing to assert; just expect no exception
}
use of org.mozilla.jss.asn1.Tag in project osmosis by openstreetmap.
the class RelationWriterTest method testProcessNormalRelation.
/**
* Test writing out a normal Relation element.
*/
@Test
public final void testProcessNormalRelation() {
Relation relation = new Relation(new CommonEntityData(1234, 2, timestamp, new OsmUser(23, "someuser"), 0));
relation.getMembers().add(new RelationMember(2345, EntityType.Node, "noderole"));
relation.getMembers().add(new RelationMember(3456, EntityType.Way, "wayrole"));
relation.getMembers().add(new RelationMember(4567, EntityType.Relation, "relationrole"));
relation.getTags().add(new Tag("relationkey", "relationvalue"));
testRelationWriter.process(relation);
try {
testBufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
fail("IOException");
}
String[] strArray = testWriter.toString().split("\\n", 6);
assertTrue("Relation opening element does not match.", strArray[0].matches(relationOpeningMatch));
assertTrue("Relation member node does not match.", strArray[1].matches(nodeMemberMatch));
assertTrue("Relation member way does not match.", strArray[2].matches(wayMemberMatch));
assertTrue("Relation member relation does not match.", strArray[3].matches(relationMemberMatch));
assertTrue("Relation tag does not match.", strArray[4].matches(relationTagMatch));
assertTrue("Relation closing element does not match.", strArray[5].matches(relationClosingMatch));
}
use of org.mozilla.jss.asn1.Tag in project osmosis by openstreetmap.
the class RelationWriter method process.
/**
* Writes the relation.
*
* @param relation
* The relation to be processed.
*/
public void process(Relation relation) {
List<RelationMember> relationMembers;
Collection<Tag> tags;
beginOpenElement();
addCommonAttributes(relation);
addMetatags(relation);
relationMembers = relation.getMembers();
tags = relation.getTags();
if (relationMembers.size() > 0 || tags.size() > 0) {
endOpenElement(false);
for (RelationMember relationMember : relationMembers) {
relationMemberWriter.processRelationMember(relationMember);
}
for (Tag tag : tags) {
tagWriter.process(tag);
}
closeElement();
} else {
endOpenElement(true);
}
}
use of org.mozilla.jss.asn1.Tag in project osmosis by openstreetmap.
the class TagElementProcessor method begin.
/**
* {@inheritDoc}
*/
public void begin(Attributes attributes) {
String key;
String value;
key = attributes.getValue(ATTRIBUTE_NAME_KEY);
value = attributes.getValue(ATTRIBUTE_NAME_VALUE);
tag = new Tag(key, value);
}
use of org.mozilla.jss.asn1.Tag in project osmosis by openstreetmap.
the class WayWriter method process.
/**
* Writes the way.
*
* @param way
* The way to be processed.
*/
public void process(Way way) {
List<WayNode> wayNodes;
Collection<Tag> tags;
beginOpenElement();
addCommonAttributes(way);
addMetatags(way);
wayNodes = way.getWayNodes();
tags = way.getTags();
if (wayNodes.size() > 0 || tags.size() > 0) {
endOpenElement(false);
for (WayNode wayNode : wayNodes) {
wayNodeWriter.processWayNode(wayNode);
}
for (Tag tag : tags) {
tagWriter.process(tag);
}
closeElement();
} else {
endOpenElement(true);
}
}
Aggregations