private void checkEqual(Node node, Node dbNode) { assertEquals(node.getId(), dbNode.getId()); assertEquals(node.getVersion(), dbNode.getVersion()); assertEquals(node.getPosition(), dbNode.getPosition()); assertEquals(node.getTags(), dbNode.getTags()); } }
@Test public void putNode() { Node node = mock(Node.class); when(node.getType()).thenReturn(Element.Type.NODE); dao.put(node); verify(nodeDao).put(node); }
public void testNode() { String xml = " <node id=\"246773347\" visible=\"true\" version=\"1\" changeset=\"80692\" " + "timestamp=\"2008-02-09T10:59:23Z\" user=\"Yeah\" uid=\"12503\" " + "lat=\"51.7463194\" lon=\"0.2428181\"/>"; Node node = parseOne(xml, Node.class); assertEquals(51.7463194, node.getPosition().getLatitude()); assertEquals(0.2428181, node.getPosition().getLongitude()); assertEquals(246773347, node.getId()); assertEquals(1, node.getVersion()); assertNotNull(node.getChangeset()); assertEquals(80692, node.getChangeset().id); Calendar c = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.UK); c.set(2008, Calendar.FEBRUARY, 9, 10, 59, 23); assertEquals(c.getTimeInMillis() / 1000, node.getDateEdited().getTime() / 1000); assertEquals(c.getTimeInMillis() / 1000, node.getChangeset().date.getTime() / 1000); assertNotNull(node.getChangeset().user); assertEquals("Yeah", node.getChangeset().user.displayName); assertEquals(12503, node.getChangeset().user.id); assertNull(node.getTags()); }
public void testGetChanges() { Node node = new OsmNode(-1, 1, new OsmLatLon(55.12313,50.13221), null); List<Element> elements = new ArrayList<>(); elements.add(node); long changesetId = mapDataDao.updateMap("test", "test", elements, null); SimpleMapDataChangesHandler handler = new SimpleMapDataChangesHandler(); unprivilegedDao.getData(changesetId, handler); List<Element> createdElements = handler.getCreations(); assertEquals(1, createdElements.size()); OsmNode createdNode = (OsmNode) createdElements.get(0); // delete again... (clean up before asserting) createdNode.setDeleted(true); mapDataDao.updateMap("clean up test", "test", createdElements, null); assertNotSame(node.getId(), createdNode.getId()); assertEquals(node.getVersion(), createdNode.getVersion()); assertEquals(node.getPosition(), createdNode.getPosition()); assertEquals(changesetId, createdNode.getChangeset().id); } }
public ElementGeometry create(Node node) { return new ElementGeometry(node.getPosition()); }
@Override protected Object doInBackground(Object[] objects) { if (poi != null) { MapDataDao mapDao = new MapDataDao(osm); Node node = mapDao.getNode(poi.getId()); try { String body = XML_Util.updateNodeXmlBody(tagsToUpdate, node.getId(), changesetId, poi.getLatitude(), poi.getLongitude(), node.getVersion()); response = updateNode(node.getId(), body); //return the new version of the POI } catch (Exception e) { e.printStackTrace(); } } return null; }
@Test public void getNode() { Node node = mock(Node.class); when(node.getId()).thenReturn(1L); dao.get(Element.Type.NODE, 1L); verify(nodeDao).get(1L); }
@Override public void osmOperationSuccessful(String response) { //response is the version number of the node incremented by one if (Integer.parseInt(response) == (editNode.getVersion() + 1)) { //successful update new AppToast(getActivity()).centerViewToast(POI.getPoiName() != null ? POI.getPoiName() : "" + " " + getString(R.string.updated_successfully)); closeFragment(); } else { new AppToast(getActivity()).centerViewToast(getString(R.string.an_error_occurred)); } }
@Override public List<LatLon> getNodePositions(long wayId) { List<Long> nodeIds = ways.get((int) wayId).getNodeIds(); List<LatLon> result = new ArrayList<>(); for(Long nodeId : nodeIds) { result.add(nodes.get(nodeId.intValue()).getPosition()); } return result; }
@Override protected void executeInsert(Node node) { insert.bindLong(1, node.getId()); insert.bindLong(2, node.getVersion()); insert.bindDouble(3, node.getPosition().getLatitude()); insert.bindDouble(4, node.getPosition().getLongitude()); if(node.getTags() != null) { HashMap<String, String> map = new HashMap<>(node.getTags()); insert.bindBlob(5, serializer.toBytes(map)); } else { insert.bindNull(5); } insert.executeInsert(); insert.clearBindings(); }
private static Element copyElement(Element e, int newVersion) { if(e == null) return null; Map<String,String> tagsCopy = new HashMap<>(); if(e.getTags() != null) tagsCopy.putAll(e.getTags()); if(e instanceof Node) { return new OsmNode(e.getId(), newVersion, ((Node)e).getPosition(), tagsCopy); } if(e instanceof Way) { return new OsmWay(e.getId(), newVersion, new ArrayList<>(((Way)e).getNodeIds()), tagsCopy); } if(e instanceof Relation) { return new OsmRelation(e.getId(), newVersion, new ArrayList<>(((Relation)e).getMembers()), tagsCopy); } return null; }
private Map<String, String> createSubmitPoiTags() { Map<String, String> tags; if (editNode != null) tags = new HashMap<>(editNode.getTags()); else tags = new HashMap<>();
@Test public void node() { LatLon pos = new OsmLatLon(51.7463194, 0.2428181); String xml = " <node id='5' version='1' lat='" + pos.getLatitude() + "' lon='" + pos.getLongitude() + "'/>"; Element e = parseOne(xml, null); assertTrue(e instanceof Node); Node node = (Node) e; assertEquals(pos, node.getPosition()); assertEquals(5, node.getId()); assertEquals(1, node.getVersion()); assertNull(node.getTags()); }
@Test public void createForSimpleAreaWay() { ElementGeometry geom = createCreator().create(W2); assertNotNull(geom.polygons); assertEquals(1,geom.polygons.size()); List<LatLon> polygon = geom.polygons.get(0); for(int i=0; i<W2.getNodeIds().size(); ++i) { LatLon shouldBe = nodes.get(W2.getNodeIds().get(i).intValue()).getPosition(); assertEquals(shouldBe, polygon.get(i)); } }
@Test public void createForSimpleNonAreaWay() { ElementGeometry geom = createCreator().create(W0); assertNotNull(geom.polylines); assertEquals(1,geom.polylines.size()); assertEquals(W0.getNodeIds().size(), geom.polylines.get(0).size()); List<LatLon> polyline = geom.polylines.get(0); for(int i=0; i<W0.getNodeIds().size(); ++i) { LatLon shouldBe = nodes.get(W0.getNodeIds().get(i).intValue()).getPosition(); assertEquals(shouldBe, polyline.get(i)); } }
private void writeNodeContents(Node node) throws IOException { LatLon position = node.getPosition(); attribute("lat", position.getLatitude()); attribute("lon", position.getLongitude()); }
public void testDeletedNode() { String xml = "<node id=\"5\" visible=\"false\" version=\"4\" changeset=\"9249514\" " + "timestamp=\"2011-09-08T21:13:24Z\" user=\"mattfromderby\" uid=\"15867\"/>"; Node node = parseOne(xml, Node.class); assertNotNull(node); assertNull(node.getPosition()); }