From ffc60638fba7475b4cb6a863aa8f27c7e5a9b059 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Wed, 22 Oct 2014 17:07:40 +0000
Subject: [PATCH] #2021 feature - Updated JSON library to the latest version
---
src/main/java/net/curisit/securis/ConnectionManager.java | 107 +++++++++++++++++++++++++----------------------------
1 files changed, 51 insertions(+), 56 deletions(-)
diff --git a/src/main/java/net/curisit/securis/ConnectionManager.java b/src/main/java/net/curisit/securis/ConnectionManager.java
index dde3e6f..56c7ce9 100644
--- a/src/main/java/net/curisit/securis/ConnectionManager.java
+++ b/src/main/java/net/curisit/securis/ConnectionManager.java
@@ -1,6 +1,5 @@
package net.curisit.securis;
-import java.awt.PageAttributes.MediaType;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.KeyManagementException;
@@ -9,8 +8,6 @@
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
-
-import javax.activation.MimeType;
import net.curisit.securis.beans.RequestBean;
import net.curisit.securis.utils.JsonUtils;
@@ -36,57 +33,56 @@
*/
public class ConnectionManager {
- private static final Logger LOG = LogManager.getLogger(ConnectionManager.class);
- private static final int HTTP_STATUS_APP_ERRROR = 418;
- private static final String JSON_MEDIA_TYPE= "application/json";
+ private static final Logger LOG = LogManager.getLogger(ConnectionManager.class);
+ private static final int HTTP_STATUS_APP_ERRROR = 418;
+ private static final String JSON_MEDIA_TYPE = "application/json";
private static final String ERROR_MESSAGE_HEADER = "X-SECURIS-ERROR-MSG";
private static final String ERROR_CODE_MESSAGE_HEADER = "X-SECURIS-ERROR-CODE";
- private static ConnectionManager singleton;
+ private static ConnectionManager singleton;
- private final String serverUrl;
- private final CloseableHttpClient httpClient;
-
- private ConnectionManager() throws SeCurisException {
- String aux = Params.get(Params.KEYS.LICENSE_SERVER_URL, Params.DEFAUT_SERVER_URL);
- if (aux.endsWith("/")) {
- serverUrl = aux.substring(0, aux.length()-2);
- } else {
- serverUrl = aux;
- }
- httpClient = createHttpClient();
- }
-
- private CloseableHttpClient createHttpClient() throws SeCurisException {
- SSLContextBuilder builder = new SSLContextBuilder();
- SSLConnectionSocketFactory sslsf = null;
- try {
- builder.loadTrustMaterial((KeyStore)null, new TrustStrategy() {
- @Override
- public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- return true;
- }
- });
- sslsf = new SSLConnectionSocketFactory(builder.build());
- } catch (NoSuchAlgorithmException | KeyStoreException | KeyManagementException e1) {
- LOG.error(e1);
- throw new SeCurisException("Error creating SSL socket factory");
- }
- return HttpClientBuilder.create().setSSLSocketFactory(sslsf).build();
- }
+ private final String serverUrl;
+ private final CloseableHttpClient httpClient;
- public synchronized static ConnectionManager getInstance() throws SeCurisException {
- if (singleton == null) {
- singleton = new ConnectionManager();
- }
- return singleton;
- }
+ private ConnectionManager() throws SeCurisException {
+ String aux = Params.get(Params.KEYS.LICENSE_SERVER_URL, Params.DEFAUT_SERVER_URL);
+ if (aux.endsWith("/")) {
+ serverUrl = aux.substring(0, aux.length() - 2);
+ } else {
+ serverUrl = aux;
+ }
+ httpClient = createHttpClient();
+ }
+ private CloseableHttpClient createHttpClient() throws SeCurisException {
+ SSLContextBuilder builder = new SSLContextBuilder();
+ SSLConnectionSocketFactory sslsf = null;
+ try {
+ builder.loadTrustMaterial((KeyStore) null, new TrustStrategy() {
+ @Override
+ public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ return true;
+ }
+ });
+ sslsf = new SSLConnectionSocketFactory(builder.build());
+ } catch (NoSuchAlgorithmException | KeyStoreException | KeyManagementException e1) {
+ LOG.error(e1);
+ throw new SeCurisException("Error creating SSL socket factory");
+ }
+ return HttpClientBuilder.create().setSSLSocketFactory(sslsf).build();
+ }
- public <T> T executePost(String command, Class<T> returnType, RequestBean req) throws SeCurisException {
+ public synchronized static ConnectionManager getInstance() throws SeCurisException {
+ if (singleton == null) {
+ singleton = new ConnectionManager();
+ }
+ return singleton;
+ }
+
+ public <T> T executePost(String command, Class<T> returnType, RequestBean req) throws SeCurisException {
HttpPost postRequest = new HttpPost(String.format("%s/%s", serverUrl, command));
postRequest.addHeader("accept", JSON_MEDIA_TYPE);
-
+
postRequest.addHeader("content-type", JSON_MEDIA_TYPE);
try {
postRequest.setEntity(new StringEntity(JsonUtils.toJSON(req)));
@@ -96,23 +92,23 @@
HttpResponse response;
try {
response = httpClient.execute(postRequest);
-
+
checkErrors(command, response);
-
+
String jsonLic = IOUtils.toString(response.getEntity().getContent());
LOG.debug("Response content read OK: {}", jsonLic);
T responseBean = JsonUtils.json2object(jsonLic, returnType);
LOG.debug("Response bean read OK: {}", responseBean);
-
+
return responseBean;
} catch (IOException e) {
LOG.error("Error accessing SeCuris server", e);
throw new SeCurisException("Error accessing SeCuris server");
}
- }
+ }
- private void checkErrors(String command, HttpResponse response) throws SeCurisException {
+ private void checkErrors(String command, HttpResponse response) throws SeCurisException {
if (response.getStatusLine().getStatusCode() != 200) {
if (response.getStatusLine().getStatusCode() == HTTP_STATUS_APP_ERRROR) {
String errorCode = response.getFirstHeader(ERROR_CODE_MESSAGE_HEADER).getValue();
@@ -123,7 +119,7 @@
throw new SeCurisException("Error executing command " + command + ", status: " + response.getStatusLine().getStatusCode());
}
- }
+ }
public <T> T executeGet(String command, Class<T> returnType) throws SeCurisException {
HttpGet getRequest = new HttpGet(String.format("%s/%s", serverUrl, command));
@@ -140,19 +136,18 @@
T responseBean = JsonUtils.json2object(jsonLic, returnType);
LOG.debug("Response bean read OK: {}", responseBean);
-
+
return responseBean;
} catch (IOException e) {
LOG.error("Error acessing SeCuris server", e);
throw new SeCurisException("Error accessing SeCuris server");
}
}
-
- public static class Command {
+
+ public static class Command {
public static final String TEST = "ping";
public static final String CREATE_LIC = "request";
public static final String RENEW_LIC = "renew";
- }
-
+ }
}
--
Gitblit v1.3.2