org.osmtools.api.OsmApiBinding Maven / Gradle / Ivy
package org.osmtools.api;
import java.util.ArrayList;
import java.util.List;
import org.osm.schema.Osm;
import org.osmtools.oauth.OauthCredentials;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter;
import org.springframework.social.oauth1.AbstractOAuth1ApiBinding;
public abstract class OsmApiBinding extends AbstractOAuth1ApiBinding {
protected String osmApiBaseUrl;
public OsmApiBinding(String osmApiBaseUrl, OauthCredentials oauthCredentials) {
super(oauthCredentials.getConsumerKey(), oauthCredentials.getConsumerSecret(), oauthCredentials
.getAccessToken(), oauthCredentials.getAccessTokenSecret());
this.osmApiBaseUrl = osmApiBaseUrl;
}
@Override
protected List> getMessageConverters() {
List> messageConverters = new ArrayList>();
messageConverters.add(new Jaxb2RootElementHttpMessageConverter());
messageConverters.add(new StringHttpMessageConverter());
return messageConverters;
}
protected long putForId(String url, Osm osm) {
HttpEntity entity = new HttpEntity(osm);
ResponseEntity response = getRestTemplate().exchange(url, HttpMethod.PUT, entity, String.class);
if (response.getStatusCode() == HttpStatus.OK) {
return Long.parseLong(response.getBody());
}
else {
throw new OsmApiException(response.getStatusCode().getReasonPhrase());
}
}
protected void deleteForId(String url) {
getRestTemplate().delete(url);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy