/** * Update the date of last use of a PoiType. * * @param id The id of the PoiType to update. */ public void updatePoiTypeLastUse(long id) { PoiType poiType = poiTypeDao.queryForId(id); if (poiType != null) { poiType.setLastUse(new DateTime()); Timber.d("Update date of : %s", poiType); poiTypeDao.createOrUpdate(poiType); } }
/** * Send a {@link io.mapsquare.osmcontributor.core.events.PoiForEditionLoadedEvent} containing the * suggestions for the PoiTypeTags and a new Poi to complete. * * @param event Event containing the position, level and PoiType of the Poi to create. */ private void loadPoiForCreation(PleaseLoadPoiForCreationEvent event) { Poi poi = new Poi(); Set<Double> level = new HashSet<>(); level.add(event.getLevel()); poi.setLevel(level); poi.setLatitude(event.getLat()); poi.setLongitude(event.getLng()); poi.setType(poiTypeDao.queryForId(event.getPoiType())); Map<String, String> defaultTags = new HashMap<>(); for (PoiTypeTag poiTypeTag : poi.getType().getTags()) { if (poiTypeTag.getValue() != null) { // default tags should be set in the corresponding POI defaultTags.put(poiTypeTag.getKey(), poiTypeTag.getValue()); } } poi.applyChanges(defaultTags); bus.post(new PoiForEditionLoadedEvent(poi, suggestionsForTagsValue(poi.getType().getTags()))); }
/** * Get the PoiType with the given id. * * @param id The id of the PoiType. * @return The PoiType. */ public PoiType getPoiType(Long id) { return poiTypeDao.queryForId(id); }