Commit 3dc7c5e2 authored by Spiros Koulouzis's avatar Spiros Koulouzis

rebuild client

parent 4cf842b3
...@@ -45,4 +45,5 @@ ...@@ -45,4 +45,5 @@
/spring-server-generated/target/ /spring-server-generated/target/
/manager-services/target/ /manager-services/target/
/drip-manager-services/nbproject/ /drip-manager-services/nbproject/
/drip-manager-services/target/ /drip-manager-services/target/
\ No newline at end of file /drip-provisioner/nbproject/
\ No newline at end of file
/*
* tosca-sure
* TOSCA Simple qUeRy sErvice (SURE).
*
* OpenAPI spec version: 1.0.0
* Contact: S.Koulouzis@uva.nl
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package nl.uva.sne.drip.auth;
import nl.uva.sne.drip.commons.sure_tosca.client.Pair;
import java.util.Map;
import java.util.List;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-11-01T13:11:24.211Z")
public class ApiKeyAuth implements Authentication {
private final String location;
private final String paramName;
private String apiKey;
private String apiKeyPrefix;
public ApiKeyAuth(String location, String paramName) {
this.location = location;
this.paramName = paramName;
}
public String getLocation() {
return location;
}
public String getParamName() {
return paramName;
}
public String getApiKey() {
return apiKey;
}
public void setApiKey(String apiKey) {
this.apiKey = apiKey;
}
public String getApiKeyPrefix() {
return apiKeyPrefix;
}
public void setApiKeyPrefix(String apiKeyPrefix) {
this.apiKeyPrefix = apiKeyPrefix;
}
@Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams) {
if (apiKey == null) {
return;
}
String value;
if (apiKeyPrefix != null) {
value = apiKeyPrefix + " " + apiKey;
} else {
value = apiKey;
}
if ("query".equals(location)) {
queryParams.add(new Pair(paramName, value));
} else if ("header".equals(location)) {
headerParams.put(paramName, value);
}
}
}
...@@ -25,12 +25,12 @@ import java.io.IOException; ...@@ -25,12 +25,12 @@ import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import nl.uva.sne.drip.commons.sure_tosca.client.ApiException;
import nl.uva.sne.drip.commons.sure_tosca.client.Configuration;
import nl.uva.sne.drip.commons.sure_tosca.client.DefaultApi;
import nl.uva.sne.drip.model.NodeTemplate; import nl.uva.sne.drip.model.NodeTemplate;
import nl.uva.sne.drip.model.ToscaTemplate; import nl.uva.sne.drip.model.ToscaTemplate;
import nl.uva.sne.drip.sure_tosca.DefaultApi;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import nl.uva.sne.drip.sure_tosca.client.ApiException;
import nl.uva.sne.drip.sure_tosca.client.Configuration;
/** /**
* *
...@@ -80,9 +80,13 @@ public class ToscaHelper { ...@@ -80,9 +80,13 @@ public class ToscaHelper {
return interfaceDefinitions; return interfaceDefinitions;
} }
public List<NodeTemplate> getVMTopologyTemplates(ToscaTemplate toscaTemplate) throws ApiException { public List<NodeTemplate> getVMTopologyTemplates() throws ApiException {
List<NodeTemplate> vmTopologyTemplates = api.getNodeTemplates(String.valueOf(id), "tosca.nodes.ARTICONF.VM.topology", null, null, null, null, null, null, null, null); List<NodeTemplate> vmTopologyTemplates = api.getNodeTemplates(String.valueOf(id), "tosca.nodes.ARTICONF.VM.topology", null, null, null, null, null, null, null);
return vmTopologyTemplates; return vmTopologyTemplates;
} }
public ToscaTemplate execute() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
} }
package nl.uva.sne.drip.commons.sure_tosca.client;
/* /*
* tosca-sure * tosca-sure
* TOSCA Simple qUeRy sErvice (SURE). * TOSCA Simple qUeRy sErvice (SURE).
...@@ -11,6 +9,7 @@ package nl.uva.sne.drip.commons.sure_tosca.client; ...@@ -11,6 +9,7 @@ package nl.uva.sne.drip.commons.sure_tosca.client;
* https://github.com/swagger-api/swagger-codegen.git * https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually. * Do not edit the class manually.
*/ */
package nl.uva.sne.drip.sure_tosca;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
...@@ -26,6 +25,14 @@ import java.util.Map; ...@@ -26,6 +25,14 @@ import java.util.Map;
import nl.uva.sne.drip.model.NodeTemplate; import nl.uva.sne.drip.model.NodeTemplate;
import nl.uva.sne.drip.model.TopologyTemplate; import nl.uva.sne.drip.model.TopologyTemplate;
import nl.uva.sne.drip.model.ToscaTemplate; import nl.uva.sne.drip.model.ToscaTemplate;
import nl.uva.sne.drip.sure_tosca.client.ApiCallback;
import nl.uva.sne.drip.sure_tosca.client.ApiClient;
import nl.uva.sne.drip.sure_tosca.client.ApiException;
import nl.uva.sne.drip.sure_tosca.client.ApiResponse;
import nl.uva.sne.drip.sure_tosca.client.Configuration;
import nl.uva.sne.drip.sure_tosca.client.Pair;
import nl.uva.sne.drip.sure_tosca.client.ProgressRequestBody;
import nl.uva.sne.drip.sure_tosca.client.ProgressResponseBody;
public class DefaultApi { public class DefaultApi {
...@@ -1193,13 +1200,12 @@ public class DefaultApi { ...@@ -1193,13 +1200,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional) * @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional) * @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional) * @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @param progressListener Progress listener * @param progressListener Progress listener
* @param progressRequestListener Progress request listener * @param progressRequestListener Progress request listener
* @return Call to execute * @return Call to execute
* @throws ApiException If fail to serialize the request body object * @throws ApiException If fail to serialize the request body object
*/ */
public com.squareup.okhttp.Call getNodeTemplatesCall(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, String derivedFrom, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { public com.squareup.okhttp.Call getNodeTemplatesCall(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
Object localVarPostBody = null; Object localVarPostBody = null;
// create path and map variables // create path and map variables
...@@ -1232,9 +1238,6 @@ public class DefaultApi { ...@@ -1232,9 +1238,6 @@ public class DefaultApi {
if (hasArtifacts != null) { if (hasArtifacts != null) {
localVarQueryParams.addAll(apiClient.parameterToPair("has_artifacts", hasArtifacts)); localVarQueryParams.addAll(apiClient.parameterToPair("has_artifacts", hasArtifacts));
} }
if (derivedFrom != null) {
localVarQueryParams.addAll(apiClient.parameterToPair("derived_from", derivedFrom));
}
Map<String, String> localVarHeaderParams = new HashMap<String, String>(); Map<String, String> localVarHeaderParams = new HashMap<String, String>();
...@@ -1269,14 +1272,14 @@ public class DefaultApi { ...@@ -1269,14 +1272,14 @@ public class DefaultApi {
} }
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
private com.squareup.okhttp.Call getNodeTemplatesValidateBeforeCall(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, String derivedFrom, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { private com.squareup.okhttp.Call getNodeTemplatesValidateBeforeCall(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
// verify the required parameter 'id' is set // verify the required parameter 'id' is set
if (id == null) { if (id == null) {
throw new ApiException("Missing the required parameter 'id' when calling getNodeTemplates(Async)"); throw new ApiException("Missing the required parameter 'id' when calling getNodeTemplates(Async)");
} }
com.squareup.okhttp.Call call = getNodeTemplatesCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, derivedFrom, progressListener, progressRequestListener); com.squareup.okhttp.Call call = getNodeTemplatesCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, progressListener, progressRequestListener);
return call; return call;
} }
...@@ -1294,13 +1297,12 @@ public class DefaultApi { ...@@ -1294,13 +1297,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional) * @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional) * @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional) * @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @return List&lt;NodeTemplate&gt; * @return List&lt;NodeTemplate&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot * @throws ApiException If fail to call the API, e.g. server error or cannot
* deserialize the response body * deserialize the response body
*/ */
public List<NodeTemplate> getNodeTemplates(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, String derivedFrom) throws ApiException { public List<NodeTemplate> getNodeTemplates(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts) throws ApiException {
ApiResponse<List<NodeTemplate>> resp = getNodeTemplatesWithHttpInfo(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, derivedFrom); ApiResponse<List<NodeTemplate>> resp = getNodeTemplatesWithHttpInfo(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts);
return resp.getData(); return resp.getData();
} }
...@@ -1317,13 +1319,12 @@ public class DefaultApi { ...@@ -1317,13 +1319,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional) * @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional) * @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional) * @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @return ApiResponse&lt;List&lt;NodeTemplate&gt;&gt; * @return ApiResponse&lt;List&lt;NodeTemplate&gt;&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot * @throws ApiException If fail to call the API, e.g. server error or cannot
* deserialize the response body * deserialize the response body
*/ */
public ApiResponse<List<NodeTemplate>> getNodeTemplatesWithHttpInfo(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, String derivedFrom) throws ApiException { public ApiResponse<List<NodeTemplate>> getNodeTemplatesWithHttpInfo(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts) throws ApiException {
com.squareup.okhttp.Call call = getNodeTemplatesValidateBeforeCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, derivedFrom, null, null); com.squareup.okhttp.Call call = getNodeTemplatesValidateBeforeCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, null, null);
Type localVarReturnType = new TypeToken<List<NodeTemplate>>() { Type localVarReturnType = new TypeToken<List<NodeTemplate>>() {
}.getType(); }.getType();
return apiClient.execute(call, localVarReturnType); return apiClient.execute(call, localVarReturnType);
...@@ -1341,13 +1342,12 @@ public class DefaultApi { ...@@ -1341,13 +1342,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional) * @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional) * @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional) * @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @param callback The callback to be executed when the API call finishes * @param callback The callback to be executed when the API call finishes
* @return The request call * @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing * @throws ApiException If fail to process the API call, e.g. serializing
* the request body object * the request body object
*/ */
public com.squareup.okhttp.Call getNodeTemplatesAsync(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, String derivedFrom, final ApiCallback<List<NodeTemplate>> callback) throws ApiException { public com.squareup.okhttp.Call getNodeTemplatesAsync(String id, String typeName, String nodeName, Boolean hasInterfaces, Boolean hasProperties, Boolean hasAttributes, Boolean hasRequirements, Boolean hasCapabilities, Boolean hasArtifacts, final ApiCallback<List<NodeTemplate>> callback) throws ApiException {
ProgressResponseBody.ProgressListener progressListener = null; ProgressResponseBody.ProgressListener progressListener = null;
ProgressRequestBody.ProgressRequestListener progressRequestListener = null; ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
...@@ -1368,7 +1368,7 @@ public class DefaultApi { ...@@ -1368,7 +1368,7 @@ public class DefaultApi {
}; };
} }
com.squareup.okhttp.Call call = getNodeTemplatesValidateBeforeCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, derivedFrom, progressListener, progressRequestListener); com.squareup.okhttp.Call call = getNodeTemplatesValidateBeforeCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, progressListener, progressRequestListener);
Type localVarReturnType = new TypeToken<List<NodeTemplate>>() { Type localVarReturnType = new TypeToken<List<NodeTemplate>>() {
}.getType(); }.getType();
apiClient.executeAsync(call, localVarReturnType, callback); apiClient.executeAsync(call, localVarReturnType, callback);
......
/*
* tosca-sure
* TOSCA Simple qUeRy sErvice (SURE).
*
* OpenAPI spec version: 1.0.0
* Contact: S.Koulouzis@uva.nl
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package nl.uva.sne.drip.sure_tosca.auth;
import java.util.Map;
import java.util.List;
import nl.uva.sne.drip.sure_tosca.client.Pair;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-12-09T20:19:44.689Z")
public class ApiKeyAuth implements Authentication {
private final String location;
private final String paramName;
private String apiKey;
private String apiKeyPrefix;
public ApiKeyAuth(String location, String paramName) {
this.location = location;
this.paramName = paramName;
}
public String getLocation() {
return location;
}
public String getParamName() {
return paramName;
}
public String getApiKey() {
return apiKey;
}
public void setApiKey(String apiKey) {
this.apiKey = apiKey;
}
public String getApiKeyPrefix() {
return apiKeyPrefix;
}
public void setApiKeyPrefix(String apiKeyPrefix) {
this.apiKeyPrefix = apiKeyPrefix;
}
@Override
public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams) {
if (apiKey == null) {
return;
}
String value;
if (apiKeyPrefix != null) {
value = apiKeyPrefix + " " + apiKey;
} else {
value = apiKey;
}
if ("query".equals(location)) {
queryParams.add(new Pair(paramName, value));
} else if ("header".equals(location)) {
headerParams.put(paramName, value);
}
}
}
...@@ -9,16 +9,14 @@ ...@@ -9,16 +9,14 @@
* https://github.com/swagger-api/swagger-codegen.git * https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually. * Do not edit the class manually.
*/ */
package nl.uva.sne.drip.sure_tosca.auth;
package nl.uva.sne.drip.auth;
import nl.uva.sne.drip.commons.sure_tosca.client.Pair;
import java.util.Map; import java.util.Map;
import java.util.List; import java.util.List;
import nl.uva.sne.drip.sure_tosca.client.Pair;
public interface Authentication { public interface Authentication {
/** /**
* Apply authentication settings to header and query params. * Apply authentication settings to header and query params.
* *
......
...@@ -11,16 +11,16 @@ ...@@ -11,16 +11,16 @@
*/ */
package nl.uva.sne.drip.auth; package nl.uva.sne.drip.sure_tosca.auth;
import nl.uva.sne.drip.commons.sure_tosca.client.Pair;
import com.squareup.okhttp.Credentials; import com.squareup.okhttp.Credentials;
import java.util.Map; import java.util.Map;
import java.util.List; import java.util.List;
import java.io.UnsupportedEncodingException; import nl.uva.sne.drip.sure_tosca.client.Pair;
public class HttpBasicAuth implements Authentication { public class HttpBasicAuth implements Authentication {
private String username; private String username;
......
...@@ -11,14 +11,15 @@ ...@@ -11,14 +11,15 @@
*/ */
package nl.uva.sne.drip.auth; package nl.uva.sne.drip.sure_tosca.auth;
import nl.uva.sne.drip.commons.sure_tosca.client.Pair;
import java.util.Map; import java.util.Map;
import java.util.List; import java.util.List;
import nl.uva.sne.drip.sure_tosca.client.Pair;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-11-01T13:11:24.211Z") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-12-09T20:19:44.689Z")
public class OAuth implements Authentication { public class OAuth implements Authentication {
private String accessToken; private String accessToken;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
package nl.uva.sne.drip.auth; package nl.uva.sne.drip.sure_tosca.auth;
public enum OAuthFlow { public enum OAuthFlow {
accessCode, implicit, password, application accessCode, implicit, password, application
......
package nl.uva.sne.drip.commons.sure_tosca.client;
/* /*
* tosca-sure * tosca-sure
* TOSCA Simple qUeRy sErvice (SURE). * TOSCA Simple qUeRy sErvice (SURE).
...@@ -12,6 +11,8 @@ package nl.uva.sne.drip.commons.sure_tosca.client; ...@@ -12,6 +11,8 @@ package nl.uva.sne.drip.commons.sure_tosca.client;
*/ */
package nl.uva.sne.drip.sure_tosca.client;
import java.io.IOException; import java.io.IOException;
import java.util.Map; import java.util.Map;
......
package nl.uva.sne.drip.commons.sure_tosca.client;
/* /*
* tosca-sure * tosca-sure
* TOSCA Simple qUeRy sErvice (SURE). * TOSCA Simple qUeRy sErvice (SURE).
...@@ -11,19 +9,22 @@ package nl.uva.sne.drip.commons.sure_tosca.client; ...@@ -11,19 +9,22 @@ package nl.uva.sne.drip.commons.sure_tosca.client;
* https://github.com/swagger-api/swagger-codegen.git * https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually. * Do not edit the class manually.
*/ */
package nl.uva.sne.drip.sure_tosca.client;
import com.squareup.okhttp.*; import com.squareup.okhttp.*;
import javax.net.ssl.*;
import java.util.*;
import org.threeten.bp.LocalDate;
import org.threeten.bp.OffsetDateTime;
import org.threeten.bp.format.DateTimeFormatter;
import com.squareup.okhttp.internal.http.HttpMethod; import com.squareup.okhttp.internal.http.HttpMethod;
import com.squareup.okhttp.logging.HttpLoggingInterceptor; import com.squareup.okhttp.logging.HttpLoggingInterceptor;
import com.squareup.okhttp.logging.HttpLoggingInterceptor.Level; import com.squareup.okhttp.logging.HttpLoggingInterceptor.Level;
import okio.BufferedSink; import okio.BufferedSink;
import okio.Okio; import okio.Okio;
import org.threeten.bp.LocalDate;
import org.threeten.bp.OffsetDateTime;
import org.threeten.bp.format.DateTimeFormatter;
import javax.net.ssl.*;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
...@@ -39,16 +40,15 @@ import java.security.cert.CertificateException; ...@@ -39,16 +40,15 @@ import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory; import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.*;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import nl.uva.sne.drip.auth.Authentication; import nl.uva.sne.drip.sure_tosca.auth.Authentication;
import nl.uva.sne.drip.auth.HttpBasicAuth; import nl.uva.sne.drip.sure_tosca.auth.HttpBasicAuth;
import nl.uva.sne.drip.auth.ApiKeyAuth; import nl.uva.sne.drip.sure_tosca.auth.ApiKeyAuth;
import nl.uva.sne.drip.auth.OAuth; import nl.uva.sne.drip.sure_tosca.auth.OAuth;
public class ApiClient { public class ApiClient {
...@@ -79,7 +79,6 @@ public class ApiClient { ...@@ -79,7 +79,6 @@ public class ApiClient {
public ApiClient() { public ApiClient() {
httpClient = new OkHttpClient(); httpClient = new OkHttpClient();
verifyingSsl = true; verifyingSsl = true;
json = new JSON(); json = new JSON();
...@@ -105,7 +104,8 @@ public class ApiClient { ...@@ -105,7 +104,8 @@ public class ApiClient {
/** /**
* Set base path * Set base path
* *
* @param basePath Base path of the URL (e.g https://localhost/tosca-sure/1.0.0 * @param basePath Base path of the URL (e.g
* https://localhost/tosca-sure/1.0.0
* @return An instance of OkHttpClient * @return An instance of OkHttpClient
*/ */
public ApiClient setBasePath(String basePath) { public ApiClient setBasePath(String basePath) {
...@@ -163,9 +163,9 @@ public class ApiClient { ...@@ -163,9 +163,9 @@ public class ApiClient {
} }
/** /**
* Configure whether to verify certificate and hostname when making https requests. * Configure whether to verify certificate and hostname when making https
* Default to true. * requests. Default to true. NOTE: Do NOT set to false in production code,
* NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks. * otherwise you would face multiple types of cryptographic attacks.
* *
* @param verifyingSsl True to verify TLS/SSL connection * @param verifyingSsl True to verify TLS/SSL connection
* @return ApiClient * @return ApiClient
...@@ -203,8 +203,8 @@ public class ApiClient { ...@@ -203,8 +203,8 @@ public class ApiClient {
} }
/** /**
* Configure client keys to use for authorization in an SSL session. * Configure client keys to use for authorization in an SSL session. Use
* Use null to reset to default. * null to reset to default.
* *
* @param managers The KeyManagers to use * @param managers The KeyManagers to use
* @return ApiClient * @return ApiClient
...@@ -392,11 +392,12 @@ public class ApiClient { ...@@ -392,11 +392,12 @@ public class ApiClient {
} }
/** /**
* The path of temporary folder used to store downloaded files from endpoints * The path of temporary folder used to store downloaded files from
* with file response. The default value is <code>null</code>, i.e. using * endpoints with file response. The default value is <code>null</code>,
* the system's default tempopary folder. * i.e. using the system's default tempopary folder.
* *
* @see <a href="https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile">createTempFile</a> * @see
* <a href="https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile">createTempFile</a>
* @return Temporary folder path * @return Temporary folder path
*/ */
public String getTempFolderPath() { public String getTempFolderPath() {
...@@ -424,8 +425,8 @@ public class ApiClient { ...@@ -424,8 +425,8 @@ public class ApiClient {
} }
/** /**
* Sets the connect timeout (in milliseconds). * Sets the connect timeout (in milliseconds). A value of 0 means no
* A value of 0 means no timeout, otherwise values must be between 1 and * timeout, otherwise values must be between 1 and
* {@link Integer#MAX_VALUE}. * {@link Integer#MAX_VALUE}.
* *
* @param connectionTimeout connection timeout in milliseconds * @param connectionTimeout connection timeout in milliseconds
...@@ -446,9 +447,8 @@ public class ApiClient { ...@@ -446,9 +447,8 @@ public class ApiClient {
} }
/** /**
* Sets the read timeout (in milliseconds). * Sets the read timeout (in milliseconds). A value of 0 means no timeout,
* A value of 0 means no timeout, otherwise values must be between 1 and * otherwise values must be between 1 and {@link Integer#MAX_VALUE}.
* {@link Integer#MAX_VALUE}.
* *
* @param readTimeout read timeout in milliseconds * @param readTimeout read timeout in milliseconds
* @return Api client * @return Api client
...@@ -468,9 +468,8 @@ public class ApiClient { ...@@ -468,9 +468,8 @@ public class ApiClient {
} }
/** /**
* Sets the write timeout (in milliseconds). * Sets the write timeout (in milliseconds). A value of 0 means no timeout,
* A value of 0 means no timeout, otherwise values must be between 1 and * otherwise values must be between 1 and {@link Integer#MAX_VALUE}.
* {@link Integer#MAX_VALUE}.
* *
* @param writeTimeout connection timeout in milliseconds * @param writeTimeout connection timeout in milliseconds
* @return Api client * @return Api client
...@@ -495,7 +494,7 @@ public class ApiClient { ...@@ -495,7 +494,7 @@ public class ApiClient {
return jsonStr.substring(1, jsonStr.length() - 1); return jsonStr.substring(1, jsonStr.length() - 1);
} else if (param instanceof Collection) { } else if (param instanceof Collection) {
StringBuilder b = new StringBuilder(); StringBuilder b = new StringBuilder();
for (Object o : (Collection)param) { for (Object o : (Collection) param) {
if (b.length() > 0) { if (b.length() > 0) {
b.append(","); b.append(",");
} }
...@@ -508,7 +507,8 @@ public class ApiClient { ...@@ -508,7 +507,8 @@ public class ApiClient {
} }
/** /**
* Formats the specified query parameter to a list containing a single {@code Pair} object. * Formats the specified query parameter to a list containing a single
* {@code Pair} object.
* *
* Note that {@code value} must not be a collection. * Note that {@code value} must not be a collection.
* *
...@@ -517,19 +517,23 @@ public class ApiClient { ...@@ -517,19 +517,23 @@ public class ApiClient {
* @return A list containing a single {@code Pair} object. * @return A list containing a single {@code Pair} object.
*/ */
public List<Pair> parameterToPair(String name, Object value) { public List<Pair> parameterToPair(String name, Object value) {
List<Pair> params = new ArrayList<Pair>(); List<Pair> params = new ArrayList<>();
// preconditions // preconditions
if (name == null || name.isEmpty() || value == null || value instanceof Collection) return params; if (name == null || name.isEmpty() || value == null || value instanceof Collection) {
return params;
}
params.add(new Pair(name, parameterToString(value))); params.add(new Pair(name, parameterToString(value)));
return params; return params;
} }
/** /**
* Formats the specified collection query parameters to a list of {@code Pair} objects. * Formats the specified collection query parameters to a list of
* {@code Pair} objects.
* *
* Note that the values of each of the returned Pair objects are percent-encoded. * Note that the values of each of the returned Pair objects are
* percent-encoded.
* *
* @param collectionFormat The collection format of the parameter. * @param collectionFormat The collection format of the parameter.
* @param name The name of the parameter. * @param name The name of the parameter.
...@@ -565,7 +569,7 @@ public class ApiClient { ...@@ -565,7 +569,7 @@ public class ApiClient {
delimiter = escapeString("|"); delimiter = escapeString("|");
} }
StringBuilder sb = new StringBuilder() ; StringBuilder sb = new StringBuilder();
for (Object item : value) { for (Object item : value) {
sb.append(delimiter); sb.append(delimiter);
sb.append(escapeString(parameterToString(item))); sb.append(escapeString(parameterToString(item)));
...@@ -577,8 +581,7 @@ public class ApiClient { ...@@ -577,8 +581,7 @@ public class ApiClient {
} }
/** /**
* Sanitize filename by removing path. * Sanitize filename by removing path. e.g. ../../sun.gif becomes sun.gif
* e.g. ../../sun.gif becomes sun.gif
* *
* @param filename The filename to be sanitized * @param filename The filename to be sanitized
* @return The sanitized filename * @return The sanitized filename
...@@ -588,29 +591,26 @@ public class ApiClient { ...@@ -588,29 +591,26 @@ public class ApiClient {
} }
/** /**
* Check if the given MIME is a JSON MIME. * Check if the given MIME is a JSON MIME. JSON MIME examples:
* JSON MIME examples: * application/json application/json; charset=UTF8 APPLICATION/JSON
* application/json * application/vnd.company+json "* / *" is also default to JSON
* application/json; charset=UTF8 *
* APPLICATION/JSON
* application/vnd.company+json
* "* / *" is also default to JSON
* @param mime MIME (Multipurpose Internet Mail Extensions) * @param mime MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise. * @return True if the given MIME is JSON, false otherwise.
*/ */
public boolean isJsonMime(String mime) { public boolean isJsonMime(String mime) {
String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$"; String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
return mime != null && (mime.matches(jsonMime) || mime.equals("*/*")); return mime != null && (mime.matches(jsonMime) || mime.equals("*/*"));
} }
/** /**
* Select the Accept header's value from the given accepts array: * Select the Accept header's value from the given accepts array: if JSON
* if JSON exists in the given array, use it; * exists in the given array, use it; otherwise use all of them (joining
* otherwise use all of them (joining into a string) * into a string)
* *
* @param accepts The accepts array to select from * @param accepts The accepts array to select from
* @return The Accept header to use. If the given array is empty, * @return The Accept header to use. If the given array is empty, null will
* null will be returned (not to set the Accept header explicitly). * be returned (not to set the Accept header explicitly).
*/ */
public String selectHeaderAccept(String[] accepts) { public String selectHeaderAccept(String[] accepts) {
if (accepts.length == 0) { if (accepts.length == 0) {
...@@ -625,17 +625,17 @@ public class ApiClient { ...@@ -625,17 +625,17 @@ public class ApiClient {
} }
/** /**
* Select the Content-Type header's value from the given array: * Select the Content-Type header's value from the given array: if JSON
* if JSON exists in the given array, use it; * exists in the given array, use it; otherwise use the first one of the
* otherwise use the first one of the array. * array.
* *
* @param contentTypes The Content-Type array to select from * @param contentTypes The Content-Type array to select from
* @return The Content-Type header to use. If the given array is empty, * @return The Content-Type header to use. If the given array is empty, or
* or matches "any", JSON will be used. * matches "any", JSON will be used.
*/ */
public String selectHeaderContentType(String[] contentTypes) { public String selectHeaderContentType(String[] contentTypes) {
if (contentTypes.length == 0 || contentTypes[0].equals("*/*")) { if (contentTypes.length == 0 || contentTypes[0].equals("*/*")) {
return "application/json"; return "application/json";
} }
for (String contentType : contentTypes) { for (String contentType : contentTypes) {
if (isJsonMime(contentType)) { if (isJsonMime(contentType)) {
...@@ -660,15 +660,15 @@ public class ApiClient { ...@@ -660,15 +660,15 @@ public class ApiClient {
} }
/** /**
* Deserialize response body to Java object, according to the return type and * Deserialize response body to Java object, according to the return type
* the Content-Type response header. * and the Content-Type response header.
* *
* @param <T> Type * @param <T> Type
* @param response HTTP response * @param response HTTP response
* @param returnType The type of the Java object * @param returnType The type of the Java object
* @return The deserialized Java object * @return The deserialized Java object
* @throws ApiException If fail to deserialize response body, i.e. cannot read response body * @throws ApiException If fail to deserialize response body, i.e. cannot
* or the Content-Type of the response is not supported. * read response body or the Content-Type of the response is not supported.
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public <T> T deserialize(Response response, Type returnType) throws ApiException { public <T> T deserialize(Response response, Type returnType) throws ApiException {
...@@ -690,10 +690,11 @@ public class ApiClient { ...@@ -690,10 +690,11 @@ public class ApiClient {
String respBody; String respBody;
try { try {
if (response.body() != null) if (response.body() != null) {
respBody = response.body().string(); respBody = response.body().string();
else } else {
respBody = null; respBody = null;
}
} catch (IOException e) { } catch (IOException e) {
throw new ApiException(e); throw new ApiException(e);
} }
...@@ -722,8 +723,8 @@ public class ApiClient { ...@@ -722,8 +723,8 @@ public class ApiClient {
} }
/** /**
* Serialize the given Java object into request body according to the object's * Serialize the given Java object into request body according to the
* class and the request Content-Type. * object's class and the request Content-Type.
* *
* @param obj The Java object * @param obj The Java object
* @param contentType The request Content-Type * @param contentType The request Content-Type
...@@ -754,7 +755,8 @@ public class ApiClient { ...@@ -754,7 +755,8 @@ public class ApiClient {
* Download file from the given response. * Download file from the given response.
* *
* @param response An instance of the Response object * @param response An instance of the Response object
* @throws ApiException If fail to read file content from response and write to disk * @throws ApiException If fail to read file content from response and write
* to disk
* @return Downloaded file * @return Downloaded file
*/ */
public File downloadFileFromResponse(Response response) throws ApiException { public File downloadFileFromResponse(Response response) throws ApiException {
...@@ -802,14 +804,16 @@ public class ApiClient { ...@@ -802,14 +804,16 @@ public class ApiClient {
suffix = filename.substring(pos); suffix = filename.substring(pos);
} }
// File.createTempFile requires the prefix to be at least three characters long // File.createTempFile requires the prefix to be at least three characters long
if (prefix.length() < 3) if (prefix.length() < 3) {
prefix = "download-"; prefix = "download-";
}
} }
if (tempFolderPath == null) if (tempFolderPath == null) {
return File.createTempFile(prefix, suffix); return File.createTempFile(prefix, suffix);
else } else {
return File.createTempFile(prefix, suffix, new File(tempFolderPath)); return File.createTempFile(prefix, suffix, new File(tempFolderPath));
}
} }
/** /**
...@@ -825,14 +829,15 @@ public class ApiClient { ...@@ -825,14 +829,15 @@ public class ApiClient {
} }
/** /**
* Execute HTTP call and deserialize the HTTP response body into the given return type. * Execute HTTP call and deserialize the HTTP response body into the given
* return type.
* *
* @param returnType The return type used to deserialize HTTP response body * @param returnType The return type used to deserialize HTTP response body
* @param <T> The return type corresponding to (same with) returnType * @param <T> The return type corresponding to (same with) returnType
* @param call Call * @param call Call
* @return ApiResponse object containing response status, headers and * @return ApiResponse object containing response status, headers and data,
* data, which is a Java object deserialized from response body and would be null * which is a Java object deserialized from response body and would be null
* when returnType is null. * when returnType is null.
* @throws ApiException If fail to execute the call * @throws ApiException If fail to execute the call
*/ */
public <T> ApiResponse<T> execute(Call call, Type returnType) throws ApiException { public <T> ApiResponse<T> execute(Call call, Type returnType) throws ApiException {
...@@ -888,13 +893,14 @@ public class ApiClient { ...@@ -888,13 +893,14 @@ public class ApiClient {
} }
/** /**
* Handle the given response, return the deserialized object when the response is successful. * Handle the given response, return the deserialized object when the
* response is successful.
* *
* @param <T> Type * @param <T> Type
* @param response Response * @param response Response
* @param returnType Return type * @param returnType Return type
* @throws ApiException If the response has a unsuccessful status code or * @throws ApiException If the response has a unsuccessful status code or
* fail to deserialize the response body * fail to deserialize the response body
* @return Type * @return Type
*/ */
public <T> T handleResponse(Response response, Type returnType) throws ApiException { public <T> T handleResponse(Response response, Type returnType) throws ApiException {
...@@ -930,7 +936,8 @@ public class ApiClient { ...@@ -930,7 +936,8 @@ public class ApiClient {
* Build HTTP call with the given options. * Build HTTP call with the given options.
* *
* @param path The sub-path of the HTTP URL * @param path The sub-path of the HTTP URL
* @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" * @param method The request method, one of "GET", "HEAD", "OPTIONS",
* "POST", "PUT", "PATCH" and "DELETE"
* @param queryParams The query parameters * @param queryParams The query parameters
* @param collectionQueryParams The collection query parameters * @param collectionQueryParams The collection query parameters
* @param body The request body object * @param body The request body object
...@@ -951,7 +958,8 @@ public class ApiClient { ...@@ -951,7 +958,8 @@ public class ApiClient {
* Build an HTTP request with the given options. * Build an HTTP request with the given options.
* *
* @param path The sub-path of the HTTP URL * @param path The sub-path of the HTTP URL
* @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE" * @param method The request method, one of "GET", "HEAD", "OPTIONS",
* "POST", "PUT", "PATCH" and "DELETE"
* @param queryParams The query parameters * @param queryParams The query parameters
* @param collectionQueryParams The collection query parameters * @param collectionQueryParams The collection query parameters
* @param body The request body object * @param body The request body object
...@@ -959,7 +967,7 @@ public class ApiClient { ...@@ -959,7 +967,7 @@ public class ApiClient {
* @param formParams The form parameters * @param formParams The form parameters
* @param authNames The authentications to apply * @param authNames The authentications to apply
* @param progressRequestListener Progress request listener * @param progressRequestListener Progress request listener
* @return The HTTP request * @return The HTTP request
* @throws ApiException If fail to serialize the request body object * @throws ApiException If fail to serialize the request body object
*/ */
public Request buildRequest(String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, Object> formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { public Request buildRequest(String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, Object> formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
...@@ -996,7 +1004,7 @@ public class ApiClient { ...@@ -996,7 +1004,7 @@ public class ApiClient {
Request request = null; Request request = null;
if(progressRequestListener != null && reqBody != null) { if (progressRequestListener != null && reqBody != null) {
ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener); ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener);
request = reqBuilder.method(method, progressRequestBody).build(); request = reqBuilder.method(method, progressRequestBody).build();
} else { } else {
...@@ -1007,7 +1015,8 @@ public class ApiClient { ...@@ -1007,7 +1015,8 @@ public class ApiClient {
} }
/** /**
* Build full URL by concatenating base path, the given sub path and query parameters. * Build full URL by concatenating base path, the given sub path and query
* parameters.
* *
* @param path The sub path * @param path The sub path
* @param queryParams The query parameters * @param queryParams The query parameters
...@@ -1076,13 +1085,15 @@ public class ApiClient { ...@@ -1076,13 +1085,15 @@ public class ApiClient {
* Update query and header parameters based on authentication settings. * Update query and header parameters based on authentication settings.
* *
* @param authNames The authentications to apply * @param authNames The authentications to apply
* @param queryParams List of query parameters * @param queryParams List of query parameters
* @param headerParams Map of header parameters * @param headerParams Map of header parameters
*/ */
public void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String, String> headerParams) { public void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String, String> headerParams) {
for (String authName : authNames) { for (String authName : authNames) {
Authentication auth = authentications.get(authName); Authentication auth = authentications.get(authName);
if (auth == null) throw new RuntimeException("Authentication undefined: " + authName); if (auth == null) {
throw new RuntimeException("Authentication undefined: " + authName);
}
auth.applyToParams(queryParams, headerParams); auth.applyToParams(queryParams, headerParams);
} }
} }
...@@ -1094,7 +1105,7 @@ public class ApiClient { ...@@ -1094,7 +1105,7 @@ public class ApiClient {
* @return RequestBody * @return RequestBody
*/ */
public RequestBody buildRequestBodyFormEncoding(Map<String, Object> formParams) { public RequestBody buildRequestBodyFormEncoding(Map<String, Object> formParams) {
FormEncodingBuilder formBuilder = new FormEncodingBuilder(); FormEncodingBuilder formBuilder = new FormEncodingBuilder();
for (Entry<String, Object> param : formParams.entrySet()) { for (Entry<String, Object> param : formParams.entrySet()) {
formBuilder.add(param.getKey(), parameterToString(param.getValue())); formBuilder.add(param.getKey(), parameterToString(param.getValue()));
} }
...@@ -1102,8 +1113,8 @@ public class ApiClient { ...@@ -1102,8 +1113,8 @@ public class ApiClient {
} }
/** /**
* Build a multipart (file uploading) request body with the given form parameters, * Build a multipart (file uploading) request body with the given form
* which could contain text fields and file fields. * parameters, which could contain text fields and file fields.
* *
* @param formParams Form parameters in the form of Map * @param formParams Form parameters in the form of Map
* @return RequestBody * @return RequestBody
...@@ -1125,7 +1136,8 @@ public class ApiClient { ...@@ -1125,7 +1136,8 @@ public class ApiClient {
} }
/** /**
* Guess Content-Type header from the given file (defaults to "application/octet-stream"). * Guess Content-Type header from the given file (defaults to
* "application/octet-stream").
* *
* @param file The given file * @param file The given file
* @return The guessed Content-Type * @return The guessed Content-Type
...@@ -1140,8 +1152,8 @@ public class ApiClient { ...@@ -1140,8 +1152,8 @@ public class ApiClient {
} }
/** /**
* Apply SSL related settings to httpClient according to the current values of * Apply SSL related settings to httpClient according to the current values
* verifyingSsl and sslCaCert. * of verifyingSsl and sslCaCert.
*/ */
private void applySslSettings() { private void applySslSettings() {
try { try {
...@@ -1150,17 +1162,25 @@ public class ApiClient { ...@@ -1150,17 +1162,25 @@ public class ApiClient {
if (!verifyingSsl) { if (!verifyingSsl) {
TrustManager trustAll = new X509TrustManager() { TrustManager trustAll = new X509TrustManager() {
@Override @Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {} public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override @Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {} public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override @Override
public X509Certificate[] getAcceptedIssuers() { return null; } public X509Certificate[] getAcceptedIssuers() {
return null;
}
}; };
SSLContext sslContext = SSLContext.getInstance("TLS"); SSLContext sslContext = SSLContext.getInstance("TLS");
trustManagers = new TrustManager[]{ trustAll }; trustManagers = new TrustManager[]{trustAll};
hostnameVerifier = new HostnameVerifier() { hostnameVerifier = new HostnameVerifier() {
@Override @Override
public boolean verify(String hostname, SSLSession session) { return true; } public boolean verify(String hostname, SSLSession session) {
return true;
}
}; };
} else if (sslCaCert != null) { } else if (sslCaCert != null) {
char[] password = null; // Any password will work. char[] password = null; // Any password will work.
......
...@@ -11,12 +11,12 @@ ...@@ -11,12 +11,12 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
import java.util.Map; import java.util.Map;
import java.util.List; import java.util.List;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-11-01T13:11:24.211Z") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-12-09T20:19:44.689Z")
public class ApiException extends Exception { public class ApiException extends Exception {
private int code = 0; private int code = 0;
private Map<String, List<String>> responseHeaders = null; private Map<String, List<String>> responseHeaders = null;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-11-01T13:11:24.211Z") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-12-09T20:19:44.689Z")
public class Configuration { public class Configuration {
private static ApiClient defaultApiClient = new ApiClient(); private static ApiClient defaultApiClient = new ApiClient();
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
import com.squareup.okhttp.*; import com.squareup.okhttp.*;
import okio.Buffer; import okio.Buffer;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-11-01T13:11:24.211Z") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-12-09T20:19:44.689Z")
public class Pair { public class Pair {
private String name = ""; private String name = "";
private String value = ""; private String value = "";
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
import com.squareup.okhttp.MediaType; import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.RequestBody; import com.squareup.okhttp.RequestBody;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
import com.squareup.okhttp.MediaType; import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.ResponseBody; import com.squareup.okhttp.ResponseBody;
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
*/ */
package nl.uva.sne.drip.commons.sure_tosca.client; package nl.uva.sne.drip.sure_tosca.client;
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-11-01T13:11:24.211Z") @javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2019-12-09T20:19:44.689Z")
public class StringUtil { public class StringUtil {
/** /**
* Check if the given array contains the given value (with case-insensitive comparison). * Check if the given array contains the given value (with case-insensitive comparison).
......
/*
* Copyright 2019 S. Koulouzis
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package nl.uva.sne.drip.commons.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import java.io.File;
import java.io.FileInputStream;
import java.nio.file.Files;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import nl.uva.sne.drip.model.NodeTemplate;
import nl.uva.sne.drip.model.ToscaTemplate;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import nl.uva.sne.drip.sure_tosca.client.ApiException;
/**
*
* @author S.Koulouzis
*/
public class ToscaHelperTest {
private static ObjectMapper objectMapper;
private static final String testUpdatedApplicationExampleToscaFilePath = ".." + File.separator + "TOSCA" + File.separator + "application_example_2_topologies.yaml";
private static ToscaHelper instance;
private static ToscaTemplate toscaTemplate;
public ToscaHelperTest() {
}
@BeforeClass
public static void setUpClass() throws UnsupportedEncodingException, JsonProcessingException, IOException, ApiException {
Properties prop = new Properties();
String resourceName = "src/test/resources/application.properties";
prop.load(new FileInputStream(resourceName));
byte[] bytes = Files.readAllBytes(Paths.get(testUpdatedApplicationExampleToscaFilePath));
String ymlStr = new String(bytes, "UTF-8");
objectMapper = new ObjectMapper(new YAMLFactory().disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER));
toscaTemplate = objectMapper.readValue(ymlStr, ToscaTemplate.class);
instance = new ToscaHelper(toscaTemplate, prop.getProperty("sure-tosca.base.path"));
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
/**
* Test of getId method, of class ToscaHelper.
*/
@Test
public void testGetId() {
System.out.println("getId");
Integer result = instance.getId();
assertNotNull(result);
}
/**
* Test of getProvisionInterfaceDefinitions method, of class ToscaHelper.
*/
@Test
public void testGetProvisionInterfaceDefinitions() throws Exception {
System.out.println("getProvisionInterfaceDefinitions");
List<String> toscaInterfaceTypes = new ArrayList<>();
toscaInterfaceTypes.add("tosca.interfaces.ARTICONF.CloudsStorm");
List<Map<String, Object>> result = instance.getProvisionInterfaceDefinitions(toscaInterfaceTypes);
assertNotNull(result);
}
/**
* Test of getVMTopologyTemplates method, of class ToscaHelper.
*/
@Test
public void testGetVMTopologyTemplates() throws Exception {
System.out.println("getVMTopologyTemplates");
List<NodeTemplate> result = instance.getVMTopologyTemplates();
assertNotNull(result);
for(NodeTemplate nodeTemplate:result){
assertEquals(nodeTemplate.getType(), "tosca.nodes.ARTICONF.VM.topology");
}
}
}
message.broker.host=127.0.0.1
message.broker.username=guest
message.broker.password=guest
message.broker.queue.provisioner=provisioner
message.broker.queue.planner=planner
message.broker.queue.deployer=deployer
sure-tosca.base.path=http://localhost:8081/tosca-sure/1.0.0
...@@ -49,6 +49,18 @@ ...@@ -49,6 +49,18 @@
<version>0.1.54</version> <version>0.1.54</version>
<type>jar</type> <type>jar</type>
</dependency> </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
......
...@@ -13,14 +13,12 @@ import java.io.File; ...@@ -13,14 +13,12 @@ import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import nl.uva.sne.drip.commons.sure_tosca.client.ApiException; import nl.uva.sne.drip.commons.sure_tosca.client.ApiException;
import nl.uva.sne.drip.commons.utils.ToscaHelper; import nl.uva.sne.drip.commons.utils.ToscaHelper;
import nl.uva.sne.drip.model.CloudsStormSubTopology; import nl.uva.sne.drip.model.CloudsStormSubTopology;
import nl.uva.sne.drip.model.CloudsStormTopTopology; import nl.uva.sne.drip.model.CloudsStormTopTopology;
import nl.uva.sne.drip.model.CloudsStormVM;
import nl.uva.sne.drip.model.NodeTemplate; import nl.uva.sne.drip.model.NodeTemplate;
import nl.uva.sne.drip.model.ToscaTemplate; import nl.uva.sne.drip.model.ToscaTemplate;
import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.FilenameUtils;
...@@ -30,41 +28,41 @@ import org.apache.commons.io.FilenameUtils; ...@@ -30,41 +28,41 @@ import org.apache.commons.io.FilenameUtils;
* @author S. Koulouzis * @author S. Koulouzis
*/ */
class CloudStormService { class CloudStormService {
private List<Map.Entry> vmTopologies; private List<Map.Entry> vmTopologies;
private String tempInputDirPath; private String tempInputDirPath;
private final ToscaTemplate toscaTemplate; private final ToscaTemplate toscaTemplate;
private final ToscaHelper helper; private final ToscaHelper helper;
CloudStormService(String sureToscaBasePath,ToscaTemplate toscaTemplate) throws IOException, JsonProcessingException, ApiException { CloudStormService(String sureToscaBasePath, ToscaTemplate toscaTemplate) throws IOException, JsonProcessingException, ApiException {
this.toscaTemplate = toscaTemplate; this.toscaTemplate = toscaTemplate;
this.helper = new ToscaHelper(toscaTemplate, sureToscaBasePath); this.helper = new ToscaHelper(toscaTemplate, sureToscaBasePath);
} }
ToscaTemplate execute() throws FileNotFoundException, JSchException, IOException { public ToscaTemplate execute() throws FileNotFoundException, JSchException, IOException, ApiException {
tempInputDirPath = System.getProperty("java.io.tmpdir") + File.separator + "Input-" + Long.toString(System.nanoTime()) + File.separator; tempInputDirPath = System.getProperty("java.io.tmpdir") + File.separator + "Input-" + Long.toString(System.nanoTime()) + File.separator;
File tempInputDir = new File(tempInputDirPath); File tempInputDir = new File(tempInputDirPath);
if (!(tempInputDir.mkdirs())) { if (!(tempInputDir.mkdirs())) {
throw new FileNotFoundException("Could not create input directory: " + tempInputDir.getAbsolutePath()); throw new FileNotFoundException("Could not create input directory: " + tempInputDir.getAbsolutePath());
} }
buildCloudStormTopTopology(toscaTemplate); buildCloudStormTopTopology(toscaTemplate);
return toscaTemplate; return toscaTemplate;
} }
private CloudsStormTopTopology buildCloudStormTopTopology(ToscaTemplate toscaTemplate) throws JSchException, IOException { private CloudsStormTopTopology buildCloudStormTopTopology(ToscaTemplate toscaTemplate) throws JSchException, IOException, ApiException {
CloudsStormTopTopology topTopology = new CloudsStormTopTopology(); CloudsStormTopTopology topTopology = new CloudsStormTopTopology();
String publicKeyPath = buildSSHKeyPair(); String publicKeyPath = buildSSHKeyPair();
topTopology.setPublicKeyPath(publicKeyPath); topTopology.setPublicKeyPath(publicKeyPath);
topTopology.setUserName(getUserName()); topTopology.setUserName(getUserName());
List<CloudsStormSubTopology> topologies = getCloudsStormSubTopologies(toscaTemplate); List<CloudsStormSubTopology> topologies = getCloudsStormSubTopologies(toscaTemplate);
topTopology.setTopologies(topologies); topTopology.setTopologies(topologies);
return topTopology; return topTopology;
} }
private String buildSSHKeyPair() throws JSchException, IOException { private String buildSSHKeyPair() throws JSchException, IOException {
String userPublicKeyName = "id_rsa.pub"; String userPublicKeyName = "id_rsa.pub";
String publicKeyPath = "name@" + userPublicKeyName; String publicKeyPath = "name@" + userPublicKeyName;
...@@ -76,29 +74,32 @@ class CloudStormService { ...@@ -76,29 +74,32 @@ class CloudStormService {
kpair.dispose(); kpair.dispose();
return publicKeyPath; return publicKeyPath;
} }
private String getUserName() { private String getUserName() {
return "vm_user"; return "vm_user";
} }
private List<CloudsStormSubTopology> getCloudsStormSubTopologies(ToscaTemplate toscaTemplate) throws ApiException { private List<CloudsStormSubTopology> getCloudsStormSubTopologies(ToscaTemplate toscaTemplate) throws ApiException {
List<NodeTemplate> vmTopologyTemplates = helper.getVMTopologyTemplates(toscaTemplate); List<NodeTemplate> vmTopologyTemplates = helper.getVMTopologyTemplates();
List<CloudsStormSubTopology> cloudsStormSubTopologies = new ArrayList<>(); List<CloudsStormSubTopology> cloudsStormSubTopologies = new ArrayList<>();
for(NodeTemplate nodeTemplate: vmTopologyTemplates){ int i = 0;
for (NodeTemplate nodeTemplate : vmTopologyTemplates) {
CloudsStormSubTopology cloudsStormSubTopology = new CloudsStormSubTopology(); CloudsStormSubTopology cloudsStormSubTopology = new CloudsStormSubTopology();
Map<String, Object> properties = nodeTemplate.getProperties(); Map<String, Object> properties = nodeTemplate.getProperties();
String domain = (String) properties.get("domain"); String domain = (String) properties.get("domain");
String provider = (String) properties.get("provider"); String provider = (String) properties.get("provider");
cloudsStormSubTopology.setCloudProvider(domain); cloudsStormSubTopology.setCloudProvider(domain);
cloudsStormSubTopology.setCloudProvider(provider); cloudsStormSubTopology.setCloudProvider(provider);
cloudsStormSubTopology.setTopology("vm"); cloudsStormSubTopology.setTopology("vm_topology" + i);
// List<NodeTemplate> vmTopologyTemplates = helper.getVMTemplatesForTopology();
// CloudsStormVM cloudsStormVM = new CloudsStormVM();
// cloudsStormVM.setName("node"+i);
// cloudsStormVM.setNodeType(domain);
i++;
} }
// List<CloudsStormVM> vms = new ArrayList<>(); // List<CloudsStormVM> vms = new ArrayList<>();
// CloudsStormVM cloudsStormVM = new CloudsStormVM(); // CloudsStormVM cloudsStormVM = new CloudsStormVM();
// cloudsStormVM.setName("Node1"); // cloudsStormVM.setName("Node1");
...@@ -106,5 +107,5 @@ class CloudStormService { ...@@ -106,5 +107,5 @@ class CloudStormService {
// vms.add(cloudsStormVM); // vms.add(cloudsStormVM);
return cloudsStormSubTopologies; return cloudsStormSubTopologies;
} }
} }
message.broker.host=127.0.0.1 message.broker.host=127.0.0.1
message.broker.username=guest message.broker.username=guest
message.broker.password=guest message.broker.password=guest
message.broker.queue.provisioner=provisioner message.broker.queue.provisioner=provisioner
\ No newline at end of file message.broker.queue.planner=planner
message.broker.queue.deployer=deployer
sure-tosca.base.path=http://localhost:8081/tosca-sure/1.0.0
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package nl.uva.sne.drip.provisioner;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Properties;
import nl.uva.sne.drip.commons.sure_tosca.client.ApiException;
import nl.uva.sne.drip.commons.utils.ToscaHelper;
import nl.uva.sne.drip.model.ToscaTemplate;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author alogo
*/
public class CloudStormServiceTest {
private static ObjectMapper objectMapper;
private static final String testUpdatedApplicationExampleToscaFilePath = ".." + File.separator + "TOSCA" + File.separator + "application_example_2_topologies.yaml";
private static CloudStormService instance;
private static ToscaTemplate toscaTemplate;
public CloudStormServiceTest() {
}
@BeforeClass
public static void setUpClass() throws FileNotFoundException, IOException, JsonProcessingException, ApiException {
Properties prop = new Properties();
String resourceName = "src/test/resources/application.properies";
prop.load(new FileInputStream(resourceName));
byte[] bytes = Files.readAllBytes(Paths.get(testUpdatedApplicationExampleToscaFilePath));
String ymlStr = new String(bytes, "UTF-8");
objectMapper = new ObjectMapper(new YAMLFactory().disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER));
toscaTemplate = objectMapper.readValue(ymlStr, ToscaTemplate.class);
instance = new CloudStormService(prop.getProperty("sure-tosca.base.path"), toscaTemplate);
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
/**
* Test of execute method, of class CloudStormService.
*/
@Test
public void testExecute() throws Exception {
System.out.println("execute");
ToscaTemplate expResult = null;
ToscaTemplate result = instance.execute();
}
}
message.broker.host=127.0.0.1
message.broker.username=guest
message.broker.password=guest
message.broker.queue.provisioner=provisioner
message.broker.queue.planner=planner
message.broker.queue.deployer=deployer
sure-tosca.base.path=http://localhost:8081/tosca-sure/1.0.0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment