Autoformat, constants, make the server instance variable

This commit is contained in:
mrok 2019-09-29 23:33:22 +02:00
parent a93cd4692a
commit af74b269e4

View file

@ -19,87 +19,87 @@
package biz.nellemann.libcvrapi; package biz.nellemann.libcvrapi;
import java.io.IOException;
import biz.nellemann.libcvrapi.pojo.Company; import biz.nellemann.libcvrapi.pojo.Company;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException; import com.google.gson.JsonSyntaxException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import okhttp3.Credentials; import okhttp3.Credentials;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import okhttp3.Request; import okhttp3.Request;
import okhttp3.Response; import okhttp3.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
public class CvrApi { public class CvrApi {
private final static Logger log = LoggerFactory.getLogger(CvrApi.class); private static final Logger log = LoggerFactory.getLogger(CvrApi.class);
private final OkHttpClient client; private final OkHttpClient client = new OkHttpClient();
private final String userAgent; private final String userAgent;
private final String authenticationToken; private final String authenticationToken;
protected String baseUrl = "https://rest.cvrapi.dk/v1/dk"; private static final String BASE_URL = "https://rest.cvrapi.dk/v1/dk";
public CvrApi(String userAgent, String authenticationToken) { public CvrApi(String userAgent, String authenticationToken) {
this.userAgent = userAgent; this.userAgent = userAgent;
this.authenticationToken = authenticationToken; this.authenticationToken = authenticationToken;
client = new OkHttpClient(); }
}
protected String get(String url) throws IOException, Exception { protected String get(String url) throws Exception {
String credential = Credentials.basic(authenticationToken, ""); String credential = Credentials.basic(authenticationToken, "");
Request request = new Request.Builder().url(url).header("User-Agent", userAgent) Request request = new Request
.header("Authorization", credential).addHeader("Accept", "application/json;").build(); .Builder()
.url(url)
.header("User-Agent", userAgent)
.header("Authorization", credential)
.addHeader("Accept", "application/json;")
.build();
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
switch (response.code()) { switch (response.code()) {
case 200: case 200:
return response.body().string(); return response.body().string();
case 401: case 401:
log.warn("get() - 401 - Access Denied"); log.warn("get() - 401 - Access Denied");
throw new Exception("Access Denied"); throw new Exception("Access Denied");
case 404: case 404:
log.warn("get() - 404 - Not Found"); log.warn("get() - 404 - Not Found");
throw new Exception("Not Found"); throw new Exception("Not Found");
default: default:
throw new Exception("get() - Unknown Error - status code: " + response.code()); throw new Exception("get() - Unknown Error - status code: " + response.code());
} }
}
}
/** /**
* Query the API: https://rest.cvrapi.dk/v1/dk/company/vatNumber * Query the API: https://rest.cvrapi.dk/v1/dk/company/vatNumber
* *
* @param vatNumber * @param vatNumber
* @return * @return
* @throws IOException * @throws IOException
*/ */
protected String getCompanyJson(String vatNumber) throws IOException, Exception { protected String getCompanyJson(String vatNumber) throws Exception {
String response = get(baseUrl + "/company/" + vatNumber); String response = get(BASE_URL + "/company/" + vatNumber);
log.debug("getCompanyJson() response: " + response); log.debug("getCompanyJson() response: {}", response);
return response; return response;
} }
/** /**
* Use GSON to deserialize JSON into POJO's. * Use GSON to deserialize JSON into POJO's.
* *
* @param json * @param json
* @return * @return
*/ */
protected Company parseJsonIntoCompany(String json) throws JsonSyntaxException { protected Company parseJsonIntoCompany(String json) {
Gson gson = new Gson(); Gson gson = new Gson();
Company company = gson.fromJson(json, Company.class); return gson.fromJson(json, Company.class);
return company; }
}
/** /**
@ -108,22 +108,22 @@ public class CvrApi {
* @param vatNumber * @param vatNumber
* @return * @return
*/ */
public Company getCompanyByVatNumber(String vatNumber) { public Company getCompanyByVatNumber(String vatNumber) {
try { try {
String json = getCompanyJson(vatNumber); String json = getCompanyJson(vatNumber);
return parseJsonIntoCompany(json); return parseJsonIntoCompany(json);
} catch (JsonSyntaxException e) { } catch (JsonSyntaxException e) {
log.error("Error parsing JSON", e); log.error("Error parsing JSON", e);
return null; return null;
} catch (IOException e) { } catch (IOException e) {
log.error("IO Error", e); log.error("IO Error", e);
return null; return null;
} catch (Exception e) { } catch (Exception e) {
log.error("Unknown Error", e); log.error("Unknown Error", e);
return null; return null;
} }
} }
} }