![JAR search and dependency download from the Maven repository](/logo.png)
org.osmtools.api.OsmSchemaService Maven / Gradle / Ivy
package org.osmtools.api;
import java.math.BigDecimal;
import org.osm.schema.ObjectFactory;
import org.osm.schema.Osm;
import org.osm.schema.OsmChangeset;
import org.osm.schema.OsmTag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
@Service
public class OsmSchemaService {
private ObjectFactory of = new ObjectFactory();
private String applicationName;
@Autowired
public OsmSchemaService(@Value("${applicationName}") String applicationName) {
this.applicationName = applicationName;
}
public Osm createOsmNode() {
Osm osm = of.createOsm();
osm.setVersion(BigDecimal.valueOf(0.6));
osm.setGenerator(applicationName);
return osm;
}
public Osm createChangeset(String comment) {
Osm osm = createOsmNode();
OsmChangeset changeset = of.createOsmChangeset();
osm.getChangeset().add(changeset);
addTagValue("comment", comment, changeset);
if (StringUtils.hasText(applicationName)) {
addTagValue("created_by", applicationName, changeset);
}
return osm;
}
private void addTagValue(String key, String value, OsmChangeset changeset) {
OsmTag tag = of.createOsmTag();
tag.setK(key);
tag.setV(value);
changeset.getTag().add(tag);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy