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

rebuild client

parent 4cf842b3
......@@ -46,3 +46,4 @@
/manager-services/target/
/drip-manager-services/nbproject/
/drip-manager-services/target/
/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;
import java.util.ArrayList;
import java.util.List;
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.ToscaTemplate;
import nl.uva.sne.drip.sure_tosca.DefaultApi;
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 {
return interfaceDefinitions;
}
public List<NodeTemplate> getVMTopologyTemplates(ToscaTemplate toscaTemplate) throws ApiException {
List<NodeTemplate> vmTopologyTemplates = api.getNodeTemplates(String.valueOf(id), "tosca.nodes.ARTICONF.VM.topology", null, null, null, null, null, null, null, null);
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);
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 Simple qUeRy sErvice (SURE).
......@@ -11,6 +9,7 @@ package nl.uva.sne.drip.commons.sure_tosca.client;
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package nl.uva.sne.drip.sure_tosca;
import com.google.gson.reflect.TypeToken;
......@@ -26,6 +25,14 @@ import java.util.Map;
import nl.uva.sne.drip.model.NodeTemplate;
import nl.uva.sne.drip.model.TopologyTemplate;
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 {
......@@ -1193,13 +1200,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @param progressListener Progress listener
* @param progressRequestListener Progress request listener
* @return Call to execute
* @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;
// create path and map variables
......@@ -1232,9 +1238,6 @@ public class DefaultApi {
if (hasArtifacts != null) {
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>();
......@@ -1269,14 +1272,14 @@ public class DefaultApi {
}
@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
if (id == null) {
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;
}
......@@ -1294,13 +1297,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @return List&lt;NodeTemplate&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot
* 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 {
ApiResponse<List<NodeTemplate>> resp = getNodeTemplatesWithHttpInfo(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, derivedFrom);
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);
return resp.getData();
}
......@@ -1317,13 +1319,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (optional)
* @param hasArtifacts filter if has artifacts (optional)
* @param derivedFrom derived from (optional)
* @return ApiResponse&lt;List&lt;NodeTemplate&gt;&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot
* 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 {
com.squareup.okhttp.Call call = getNodeTemplatesValidateBeforeCall(id, typeName, nodeName, hasInterfaces, hasProperties, hasAttributes, hasRequirements, hasCapabilities, hasArtifacts, derivedFrom, null, null);
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, null, null);
Type localVarReturnType = new TypeToken<List<NodeTemplate>>() {
}.getType();
return apiClient.execute(call, localVarReturnType);
......@@ -1341,13 +1342,12 @@ public class DefaultApi {
* @param hasRequirements filter if has requirements (optional)
* @param hasCapabilities filter if has capabilities (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
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing
* 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;
ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
......@@ -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>>() {
}.getType();
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 @@
* 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;
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;
public interface Authentication {
/**
* Apply authentication settings to header and query params.
*
......
......@@ -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 java.util.Map;
import java.util.List;
import java.io.UnsupportedEncodingException;
import nl.uva.sne.drip.sure_tosca.client.Pair;
public class HttpBasicAuth implements Authentication {
private String username;
......
......@@ -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.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 {
private String accessToken;
......
......@@ -11,7 +11,7 @@
*/
package nl.uva.sne.drip.auth;
package nl.uva.sne.drip.sure_tosca.auth;
public enum OAuthFlow {
accessCode, implicit, password, application
......
package nl.uva.sne.drip.commons.sure_tosca.client;
/*
* tosca-sure
* TOSCA Simple qUeRy sErvice (SURE).
......@@ -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.util.Map;
......
package nl.uva.sne.drip.commons.sure_tosca.client;
/*
* tosca-sure
* TOSCA Simple qUeRy sErvice (SURE).
......@@ -11,19 +9,22 @@ package nl.uva.sne.drip.commons.sure_tosca.client;
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package nl.uva.sne.drip.sure_tosca.client;
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.logging.HttpLoggingInterceptor;
import com.squareup.okhttp.logging.HttpLoggingInterceptor.Level;
import okio.BufferedSink;
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.IOException;
import java.io.InputStream;
......@@ -39,16 +40,15 @@ import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.text.DateFormat;
import java.util.*;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import nl.uva.sne.drip.auth.Authentication;
import nl.uva.sne.drip.auth.HttpBasicAuth;
import nl.uva.sne.drip.auth.ApiKeyAuth;
import nl.uva.sne.drip.auth.OAuth;
import nl.uva.sne.drip.sure_tosca.auth.Authentication;
import nl.uva.sne.drip.sure_tosca.auth.HttpBasicAuth;
import nl.uva.sne.drip.sure_tosca.auth.ApiKeyAuth;
import nl.uva.sne.drip.sure_tosca.auth.OAuth;
public class ApiClient {
......@@ -79,7 +79,6 @@ public class ApiClient {
public ApiClient() {
httpClient = new OkHttpClient();
verifyingSsl = true;
json = new JSON();
......@@ -105,7 +104,8 @@ public class ApiClient {
/**
* 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
*/
public ApiClient setBasePath(String basePath) {
......@@ -163,9 +163,9 @@ public class ApiClient {
}
/**
* Configure whether to verify certificate and hostname when making https requests.
* Default to true.
* NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks.
* Configure whether to verify certificate and hostname when making https
* requests. Default to true. NOTE: Do NOT set to false in production code,
* otherwise you would face multiple types of cryptographic attacks.
*
* @param verifyingSsl True to verify TLS/SSL connection
* @return ApiClient
......@@ -203,8 +203,8 @@ public class ApiClient {
}
/**
* Configure client keys to use for authorization in an SSL session.
* Use null to reset to default.
* Configure client keys to use for authorization in an SSL session. Use
* null to reset to default.
*
* @param managers The KeyManagers to use
* @return ApiClient
......@@ -392,11 +392,12 @@ public class ApiClient {
}
/**
* The path of temporary folder used to store downloaded files from endpoints
* with file response. The default value is <code>null</code>, i.e. using
* the system's default tempopary folder.
* The path of temporary folder used to store downloaded files from
* endpoints with file response. The default value is <code>null</code>,
* 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
*/
public String getTempFolderPath() {
......@@ -424,8 +425,8 @@ public class ApiClient {
}
/**
* Sets the connect timeout (in milliseconds).
* A value of 0 means no timeout, otherwise values must be between 1 and
* Sets the connect timeout (in milliseconds). A value of 0 means no
* timeout, otherwise values must be between 1 and
* {@link Integer#MAX_VALUE}.
*
* @param connectionTimeout connection timeout in milliseconds
......@@ -446,9 +447,8 @@ public class ApiClient {
}
/**
* Sets the read timeout (in milliseconds).
* A value of 0 means no timeout, otherwise values must be between 1 and
* {@link Integer#MAX_VALUE}.
* Sets the read timeout (in milliseconds). A value of 0 means no timeout,
* otherwise values must be between 1 and {@link Integer#MAX_VALUE}.
*
* @param readTimeout read timeout in milliseconds
* @return Api client
......@@ -468,9 +468,8 @@ public class ApiClient {
}
/**
* Sets the write timeout (in milliseconds).
* A value of 0 means no timeout, otherwise values must be between 1 and
* {@link Integer#MAX_VALUE}.
* Sets the write timeout (in milliseconds). A value of 0 means no timeout,
* otherwise values must be between 1 and {@link Integer#MAX_VALUE}.
*
* @param writeTimeout connection timeout in milliseconds
* @return Api client
......@@ -495,7 +494,7 @@ public class ApiClient {
return jsonStr.substring(1, jsonStr.length() - 1);
} else if (param instanceof Collection) {
StringBuilder b = new StringBuilder();
for (Object o : (Collection)param) {
for (Object o : (Collection) param) {
if (b.length() > 0) {
b.append(",");
}
......@@ -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.
*
......@@ -517,19 +517,23 @@ public class ApiClient {
* @return A list containing a single {@code Pair} object.
*/
public List<Pair> parameterToPair(String name, Object value) {
List<Pair> params = new ArrayList<Pair>();
List<Pair> params = new ArrayList<>();
// 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)));
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 name The name of the parameter.
......@@ -565,7 +569,7 @@ public class ApiClient {
delimiter = escapeString("|");
}
StringBuilder sb = new StringBuilder() ;
StringBuilder sb = new StringBuilder();
for (Object item : value) {
sb.append(delimiter);
sb.append(escapeString(parameterToString(item)));
......@@ -577,8 +581,7 @@ public class ApiClient {
}
/**
* Sanitize filename by removing path.
* e.g. ../../sun.gif becomes sun.gif
* Sanitize filename by removing path. e.g. ../../sun.gif becomes sun.gif
*
* @param filename The filename to be sanitized
* @return The sanitized filename
......@@ -588,13 +591,10 @@ public class ApiClient {
}
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
* application/vnd.company+json
* "* / *" is also default to JSON
* Check if the given MIME is a JSON MIME. JSON MIME examples:
* application/json application/json; charset=UTF8 APPLICATION/JSON
* application/vnd.company+json "* / *" is also default to JSON
*
* @param mime MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
......@@ -604,13 +604,13 @@ public class ApiClient {
}
/**
* Select the Accept header's value from the given accepts array:
* if JSON exists in the given array, use it;
* otherwise use all of them (joining into a string)
* Select the Accept header's value from the given accepts array: if JSON
* exists in the given array, use it; otherwise use all of them (joining
* into a string)
*
* @param accepts The accepts array to select from
* @return The Accept header to use. If the given array is empty,
* null will be returned (not to set the Accept header explicitly).
* @return The Accept header to use. If the given array is empty, null will
* be returned (not to set the Accept header explicitly).
*/
public String selectHeaderAccept(String[] accepts) {
if (accepts.length == 0) {
......@@ -625,13 +625,13 @@ public class ApiClient {
}
/**
* Select the Content-Type header's value from the given array:
* if JSON exists in the given array, use it;
* otherwise use the first one of the array.
* Select the Content-Type header's value from the given array: if JSON
* exists in the given array, use it; otherwise use the first one of the
* array.
*
* @param contentTypes The Content-Type array to select from
* @return The Content-Type header to use. If the given array is empty,
* or matches "any", JSON will be used.
* @return The Content-Type header to use. If the given array is empty, or
* matches "any", JSON will be used.
*/
public String selectHeaderContentType(String[] contentTypes) {
if (contentTypes.length == 0 || contentTypes[0].equals("*/*")) {
......@@ -660,15 +660,15 @@ public class ApiClient {
}
/**
* Deserialize response body to Java object, according to the return type and
* the Content-Type response header.
* Deserialize response body to Java object, according to the return type
* and the Content-Type response header.
*
* @param <T> Type
* @param response HTTP response
* @param returnType The type of the Java object
* @return The deserialized Java object
* @throws ApiException If fail to deserialize response body, i.e. cannot read response body
* or the Content-Type of the response is not supported.
* @throws ApiException If fail to deserialize response body, i.e. cannot
* read response body or the Content-Type of the response is not supported.
*/
@SuppressWarnings("unchecked")
public <T> T deserialize(Response response, Type returnType) throws ApiException {
......@@ -690,10 +690,11 @@ public class ApiClient {
String respBody;
try {
if (response.body() != null)
if (response.body() != null) {
respBody = response.body().string();
else
} else {
respBody = null;
}
} catch (IOException e) {
throw new ApiException(e);
}
......@@ -722,8 +723,8 @@ public class ApiClient {
}
/**
* Serialize the given Java object into request body according to the object's
* class and the request Content-Type.
* Serialize the given Java object into request body according to the
* object's class and the request Content-Type.
*
* @param obj The Java object
* @param contentType The request Content-Type
......@@ -754,7 +755,8 @@ public class ApiClient {
* Download file from the given response.
*
* @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
*/
public File downloadFileFromResponse(Response response) throws ApiException {
......@@ -802,15 +804,17 @@ public class ApiClient {
suffix = filename.substring(pos);
}
// File.createTempFile requires the prefix to be at least three characters long
if (prefix.length() < 3)
if (prefix.length() < 3) {
prefix = "download-";
}
}
if (tempFolderPath == null)
if (tempFolderPath == null) {
return File.createTempFile(prefix, suffix);
else
} else {
return File.createTempFile(prefix, suffix, new File(tempFolderPath));
}
}
/**
* {@link #execute(Call, Type)}
......@@ -825,13 +829,14 @@ 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 <T> The return type corresponding to (same with) returnType
* @param call Call
* @return ApiResponse object containing response status, headers and
* data, which is a Java object deserialized from response body and would be null
* @return ApiResponse object containing response status, headers and data,
* which is a Java object deserialized from response body and would be null
* when returnType is null.
* @throws ApiException If fail to execute the call
*/
......@@ -888,7 +893,8 @@ 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 response Response
......@@ -930,7 +936,8 @@ public class ApiClient {
* Build HTTP call with the given options.
*
* @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 collectionQueryParams The collection query parameters
* @param body The request body object
......@@ -951,7 +958,8 @@ public class ApiClient {
* Build an HTTP request with the given options.
*
* @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 collectionQueryParams The collection query parameters
* @param body The request body object
......@@ -996,7 +1004,7 @@ public class ApiClient {
Request request = null;
if(progressRequestListener != null && reqBody != null) {
if (progressRequestListener != null && reqBody != null) {
ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener);
request = reqBuilder.method(method, progressRequestBody).build();
} else {
......@@ -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 queryParams The query parameters
......@@ -1082,7 +1091,9 @@ public class ApiClient {
public void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String, String> headerParams) {
for (String authName : authNames) {
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);
}
}
......@@ -1102,8 +1113,8 @@ public class ApiClient {
}
/**
* Build a multipart (file uploading) request body with the given form parameters,
* which could contain text fields and file fields.
* Build a multipart (file uploading) request body with the given form
* parameters, which could contain text fields and file fields.
*
* @param formParams Form parameters in the form of Map
* @return RequestBody
......@@ -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
* @return The guessed Content-Type
......@@ -1140,8 +1152,8 @@ public class ApiClient {
}
/**
* Apply SSL related settings to httpClient according to the current values of
* verifyingSsl and sslCaCert.
* Apply SSL related settings to httpClient according to the current values
* of verifyingSsl and sslCaCert.
*/
private void applySslSettings() {
try {
......@@ -1150,17 +1162,25 @@ public class ApiClient {
if (!verifyingSsl) {
TrustManager trustAll = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() { return null; }
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
SSLContext sslContext = SSLContext.getInstance("TLS");
trustManagers = new TrustManager[]{ trustAll };
trustManagers = new TrustManager[]{trustAll};
hostnameVerifier = new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) { return true; }
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
} else if (sslCaCert != null) {
char[] password = null; // Any password will work.
......
......@@ -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.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 {
private int code = 0;
private Map<String, List<String>> responseHeaders = null;
......
......@@ -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.Map;
......
......@@ -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 {
private static ApiClient defaultApiClient = new ApiClient();
......
......@@ -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 okio.Buffer;
......
......@@ -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.GsonBuilder;
......
......@@ -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 {
private String name = "";
private String value = "";
......
......@@ -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.RequestBody;
......
......@@ -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.ResponseBody;
......
......@@ -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 {
/**
* 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 @@
<version>0.1.54</version>
<type>jar</type>
</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>
......
......@@ -13,14 +13,12 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import nl.uva.sne.drip.commons.sure_tosca.client.ApiException;
import nl.uva.sne.drip.commons.utils.ToscaHelper;
import nl.uva.sne.drip.model.CloudsStormSubTopology;
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.ToscaTemplate;
import org.apache.commons.io.FilenameUtils;
......@@ -36,12 +34,12 @@ class CloudStormService {
private final ToscaTemplate toscaTemplate;
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.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;
File tempInputDir = new File(tempInputDirPath);
if (!(tempInputDir.mkdirs())) {
......@@ -53,7 +51,7 @@ class CloudStormService {
return toscaTemplate;
}
private CloudsStormTopTopology buildCloudStormTopTopology(ToscaTemplate toscaTemplate) throws JSchException, IOException {
private CloudsStormTopTopology buildCloudStormTopTopology(ToscaTemplate toscaTemplate) throws JSchException, IOException, ApiException {
CloudsStormTopTopology topTopology = new CloudsStormTopTopology();
String publicKeyPath = buildSSHKeyPair();
topTopology.setPublicKeyPath(publicKeyPath);
......@@ -82,9 +80,10 @@ class CloudStormService {
}
private List<CloudsStormSubTopology> getCloudsStormSubTopologies(ToscaTemplate toscaTemplate) throws ApiException {
List<NodeTemplate> vmTopologyTemplates = helper.getVMTopologyTemplates(toscaTemplate);
List<NodeTemplate> vmTopologyTemplates = helper.getVMTopologyTemplates();
List<CloudsStormSubTopology> cloudsStormSubTopologies = new ArrayList<>();
for(NodeTemplate nodeTemplate: vmTopologyTemplates){
int i = 0;
for (NodeTemplate nodeTemplate : vmTopologyTemplates) {
CloudsStormSubTopology cloudsStormSubTopology = new CloudsStormSubTopology();
Map<String, Object> properties = nodeTemplate.getProperties();
......@@ -92,12 +91,14 @@ class CloudStormService {
String provider = (String) properties.get("provider");
cloudsStormSubTopology.setCloudProvider(domain);
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<>();
// CloudsStormVM cloudsStormVM = new CloudsStormVM();
......
......@@ -2,3 +2,6 @@ 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
/*
* 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