Exemplo n.º 1
0
 /**
  * Query for a Poi with a given id eagerly.
  *
  * @param id The id of the Poi to load.
  * @return The queried Poi.
  */
 public Poi queryForId(Long id) {
   Poi poi = poiDao.queryForId(id);
   if (poi == null) {
     return null;
   }
   poiTypeDao.refresh(poi.getType());
   poi.setTags(loadLazyForeignCollection(poi.getTags()));
   poi.getType().setTags(loadLazyForeignCollection(poi.getType().getTags()));
   return poi;
 }
Exemplo n.º 2
0
  /**
   * 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())));
  }
Exemplo n.º 3
0
  /**
   * Send a {@link io.mapsquare.osmcontributor.core.events.PoiForEditionLoadedEvent} containing the
   * Poi to edit and the suggestions for the PoiTypeTags.
   *
   * @param id The id of the Poi to edit.
   */
  private void loadPoiForEdition(Long id) {
    Poi poi = queryForId(id);

    bus.post(new PoiForEditionLoadedEvent(poi, suggestionsForTagsValue(poi.getType().getTags())));
  }