deleted all cloudify support from so 17/111917/1
authorBenjamin, Max <max.benjamin@att.com>
Mon, 31 Aug 2020 19:14:39 +0000 (15:14 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Mon, 31 Aug 2020 19:14:39 +0000 (15:14 -0400)
deleted all cloudify support from so
unmaintained client causing dependency issues

Issue-ID: SO-3209
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I6e15ac0b9d031e13a13e0053bbe61855d725c773

78 files changed:
adapters/mso-adapter-utils/pom.xml
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentInfo.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentInfoBuilder.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentStatus.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoBlueprintAlreadyExists.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyException.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyManagerNotFound.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyTimeout.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyWorkflowException.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoDeploymentAlreadyExists.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java [deleted file]
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MulticloudCreateHeatResponse.java
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MulticloudCreateLinkResponse.java
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MulticloudCreateResponse.java
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MulticloudQueryResponse.java
adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MulticloudRequest.java
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/beans/DeploymentInfoBuilderTest.java [deleted file]
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyExceptionTest.java [deleted file]
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyTest.java [deleted file]
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyTimeoutTest.java [deleted file]
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyWorkflowExceptionTest.java [deleted file]
adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java [deleted file]
cloudify-client/.gitignore [deleted file]
cloudify-client/pom.xml [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyBaseException.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClient.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClientConnector.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClientTokenProvider.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyConnectException.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyRequest.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponse.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponseException.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponseStatus.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifySimpleTokenProvider.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyTokenProvider.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/Entity.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/base/client/HttpMethod.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientConnector.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientException.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientRedirectStrategy.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientResponse.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/BlueprintsResource.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/Cloudify.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/DeploymentsResource.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/ExecutionsResource.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/NodeInstancesResource.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/TokensResource.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/AzureConfig.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Blueprint.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Blueprints.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CancelExecutionParams.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CloudifyError.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CreateDeploymentParams.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Deployment.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/DeploymentOutputs.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Deployments.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Execution.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Executions.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Metadata.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/NodeInstance.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/NodeInstances.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/OpenstackConfig.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Pagination.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/ParameterDefinition.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/StartExecutionParams.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Token.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/UpdateExecutionParams.java [deleted file]
cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/UpdateNodeInstanceParams.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/BeanMultiTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/base/client/CloudifyClientTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/base/client/CloudifyClientTokenProviderTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/connector/http/HttpClientConnectorTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/connector/http/HttpClientRedirectStrategyTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/BlueprintsResourceTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/DeploymentsResourceTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/ExecutionsResourceTest.java [deleted file]
cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/NodeInstancesResourceTest.java [deleted file]
pom.xml

index 6346983..2453c18 100644 (file)
       <artifactId>mso-catalog-db</artifactId>
       <version>${project.version}</version>
     </dependency>
-    <dependency>
-      <groupId>org.onap.so</groupId>
-      <artifactId>cloudify-client</artifactId>
-      <version>${project.version}</version>
-    </dependency>
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentInfo.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentInfo.java
deleted file mode 100644 (file)
index 42b77ba..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2018 Nokia.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.beans;
-
-import java.util.Map;
-
-/*
- * This Java bean class relays Heat stack status information to ActiveVOS processes.
- *
- * This bean is returned by all Heat-specific adapter operations (create, query, delete)
- */
-
-public final class DeploymentInfo {
-
-    private final String id;
-    private final DeploymentStatus status;
-    private final Map<String, Object> outputs;
-    private final Map<String, Object> inputs;
-    private final String lastAction;
-    private final String actionStatus;
-    private final String errorMessage;
-
-    DeploymentInfo(String id, DeploymentStatus deploymentStatus, Map<String, Object> deploymentOutputs,
-            Map<String, Object> deploymentInputs, String lastAction, String actionStatus, String errorMessage) {
-
-        this.id = id;
-        this.status = deploymentStatus;
-        this.outputs = deploymentOutputs;
-        this.inputs = deploymentInputs;
-        this.lastAction = lastAction;
-        this.actionStatus = actionStatus;
-        this.errorMessage = errorMessage;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public DeploymentStatus getStatus() {
-        return status;
-    }
-
-    public Map<String, Object> getOutputs() {
-        return outputs;
-    }
-
-    public Map<String, Object> getInputs() {
-        return inputs;
-    }
-
-    public String getLastAction() {
-        return lastAction;
-    }
-
-    public String getActionStatus() {
-        return actionStatus;
-    }
-
-    public String getErrorMessage() {
-        return errorMessage;
-    }
-
-    @Override
-    public String toString() {
-        return "DeploymentInfo {" + "id='" + id + '\'' + ", inputs='" + inputs + '\'' + ", outputs='" + outputs + '\''
-                + ", lastAction='" + lastAction + '\'' + ", status='" + status + '\'' + ", errorMessage='"
-                + errorMessage + '\'' + '}';
-    }
-
-}
-
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentInfoBuilder.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentInfoBuilder.java
deleted file mode 100644 (file)
index 072bf40..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 Nokia.
- * ============================================================================= 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.beans;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.onap.so.cloudify.v3.model.Execution;
-
-public final class DeploymentInfoBuilder {
-
-    private String id = "";
-    private DeploymentStatus deploymentStatus = DeploymentStatus.NOTFOUND;
-    private Map<String, Object> deploymentOutputs = new HashMap<>();
-    private Map<String, Object> deploymentInputs = new HashMap<>();
-    private String lastAction;
-    private String actionStatus;
-    private String errorMessage;
-
-    public DeploymentInfoBuilder withId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public DeploymentInfoBuilder withStatus(DeploymentStatus deploymentStatus) {
-        this.deploymentStatus = deploymentStatus;
-        return this;
-    }
-
-    public DeploymentInfoBuilder withDeploymentOutputs(Map<String, Object> deploymentOutputs) {
-        if (deploymentOutputs != null) {
-            this.deploymentOutputs = deploymentOutputs;
-        }
-        return this;
-    }
-
-    public DeploymentInfoBuilder withDeploymentInputs(Map<String, Object> deploymentInputs) {
-        this.deploymentInputs = deploymentInputs;
-        return this;
-    }
-
-    public DeploymentInfoBuilder withLastAction(String lastAction) {
-        this.lastAction = lastAction;
-        return this;
-    }
-
-    public DeploymentInfoBuilder withActionStatus(String actionStatus) {
-        this.actionStatus = actionStatus;
-        return this;
-    }
-
-    public DeploymentInfoBuilder withErrorMessage(String errorMessage) {
-        this.errorMessage = errorMessage;
-        return this;
-    }
-
-    public DeploymentInfoBuilder fromExecution(Execution execution) {
-        if (execution != null) {
-            this.lastAction = execution.getWorkflowId();
-            this.actionStatus = execution.getStatus();
-            this.errorMessage = execution.getError();
-
-            // Compute the status based on the last workflow
-            if (("install").equals(lastAction)) {
-                if (("terminated").equals(actionStatus)) {
-                    this.deploymentStatus = DeploymentStatus.INSTALLED;
-                } else if (("failed").equals(actionStatus)) {
-                    this.deploymentStatus = DeploymentStatus.FAILED;
-                } else if (("started").equals(actionStatus) || ("pending").equals(actionStatus)) {
-                    this.deploymentStatus = DeploymentStatus.INSTALLING;
-                } else {
-                    this.deploymentStatus = DeploymentStatus.UNKNOWN;
-                }
-            } else if (("uninstall").equals(lastAction)) {
-                if (("terminated").equals(actionStatus)) {
-                    this.deploymentStatus = DeploymentStatus.CREATED;
-                } else if (("failed").equals(actionStatus)) {
-                    this.deploymentStatus = DeploymentStatus.FAILED;
-                } else if (("started").equals(actionStatus) || ("pending").equals(actionStatus)) {
-                    this.deploymentStatus = DeploymentStatus.UNINSTALLING;
-                } else {
-                    this.deploymentStatus = DeploymentStatus.UNKNOWN;
-                }
-            } else {
-                // Could have more cases in the future for different actions.
-                this.deploymentStatus = DeploymentStatus.UNKNOWN;
-            }
-        } else {
-            this.deploymentStatus = DeploymentStatus.CREATED;
-        }
-
-        return this;
-    }
-
-    public DeploymentInfo build() {
-        return new DeploymentInfo(id, deploymentStatus, deploymentOutputs, deploymentInputs, lastAction, actionStatus,
-                errorMessage);
-    }
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentStatus.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/beans/DeploymentStatus.java
deleted file mode 100644 (file)
index f7d6a9d..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.beans;
-
-
-/*
- * Enum status values to capture the state of a deployment, based on last known workflow (assume only INSTALL and
- * UNINSTALL at this point).
- */
-public enum DeploymentStatus {
-    NOTFOUND, CREATED, INSTALLED, FAILED, INSTALLING, UNINSTALLING, UNKNOWN
-}
-
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoBlueprintAlreadyExists.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoBlueprintAlreadyExists.java
deleted file mode 100644 (file)
index 9591299..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-public class MsoBlueprintAlreadyExists extends MsoCloudifyException {
-
-    private static final long serialVersionUID = 1L;
-
-    // Constructor to create a new MsoCloudifyException instance
-    public MsoBlueprintAlreadyExists(String blueprintId, String cloud) {
-        // Set the detailed error as the Exception 'message'
-        super(409, "Conflict",
-                "Blueprint " + blueprintId + " already exists in Cloudify Manager supporting cloud site + " + cloud);
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyException.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyException.java
deleted file mode 100644 (file)
index 441bd4d..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-import org.onap.so.openstack.exceptions.MsoException;
-import org.onap.so.openstack.exceptions.MsoExceptionCategory;
-
-/**
- * OpenStack exception.
- */
-public class MsoCloudifyException extends MsoException {
-
-    /**
-     * Serialization id.
-     */
-    private static final long serialVersionUID = 3313636124141766495L;
-
-    private int statusCode;
-    private String statusMessage;
-    private String errorDetail;
-    private boolean pendingWorkflow;
-
-    /**
-     * Constructor to create a new MsoOpenstackException instance
-     * 
-     * @param code the error code
-     * @param message the error message
-     * @param detail error details
-     */
-    public MsoCloudifyException(int code, String message, String detail) {
-        // Set the detailed error as the Exception 'message'
-        super(detail);
-        super.category = MsoExceptionCategory.OPENSTACK;
-
-        this.statusCode = code;
-        this.statusMessage = message;
-        this.errorDetail = detail;
-        this.pendingWorkflow = false;
-    }
-
-    /**
-     * Constructor to propagate the caught exception (mostly for stack trace)
-     * 
-     * @param code the error code
-     * @param message the error message
-     * @param detail error details
-     * @param e the cause
-     */
-    public MsoCloudifyException(int code, String message, String detail, Exception e) {
-        // Set the detailed error as the Exception 'message'
-        super(detail, e);
-        super.category = MsoExceptionCategory.OPENSTACK;
-
-        this.statusCode = code;
-        this.statusMessage = message;
-        this.errorDetail = detail;
-        this.pendingWorkflow = false;
-    }
-
-    public void setPendingWorkflow(boolean pendingWorkflow) {
-        this.pendingWorkflow = pendingWorkflow;
-    }
-
-    @Override
-    public String toString() {
-        String error = "" + statusCode + " " + statusMessage + ": " + errorDetail
-                + (pendingWorkflow ? " [workflow pending]" : "");
-        return error;
-    }
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyManagerNotFound.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyManagerNotFound.java
deleted file mode 100644 (file)
index bc6fd62..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-public class MsoCloudifyManagerNotFound extends MsoCloudifyException {
-
-    private static final long serialVersionUID = 1L;
-
-    // Constructor to create a new MsoCloudifyException instance
-    public MsoCloudifyManagerNotFound(String cloudSiteId) {
-        // Set the detailed error as the Exception 'message'
-        super(0, "Cloudify Manager Not Found", "No Cloudify Manager configured for cloud site " + cloudSiteId);
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyTimeout.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyTimeout.java
deleted file mode 100644 (file)
index 99b6ade..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-import org.onap.so.cloudify.v3.model.Execution;
-import org.onap.so.openstack.exceptions.MsoException;
-import org.onap.so.openstack.exceptions.MsoExceptionCategory;
-
-/**
- * MSO Exception when a Cloudify workflow execution times out waiting for completion. Exception includes the last known
- * state of the workflow execution.
- */
-public class MsoCloudifyTimeout extends MsoException {
-
-    /**
-     * Serialization id.
-     */
-    private static final long serialVersionUID = 3313636124141766495L;
-
-    private Execution execution;
-
-    /**
-     * Constructor to create a new MsoOpenstackException instance
-     * 
-     * @param code the error code
-     * @param message the error message
-     * @param detail error details
-     */
-    public MsoCloudifyTimeout(Execution execution) {
-        // Set the detailed error as the Exception 'message'
-        super("Cloudify Workflow Timeout for workflow " + execution.getWorkflowId() + " on deployment "
-                + execution.getDeploymentId());
-        super.category = MsoExceptionCategory.OPENSTACK;
-
-        this.execution = execution;
-    }
-
-    public Execution getExecution() {
-        return this.execution;
-    }
-
-    @Override
-    public String toString() {
-        String error = "Workflow timeout: workflow=" + execution.getWorkflowId() + ",deployment="
-                + execution.getDeploymentId();
-        return error;
-    }
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyWorkflowException.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoCloudifyWorkflowException.java
deleted file mode 100644 (file)
index 2251575..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-/**
- * Reports an error with a Cloudify Workflow execution.
- * 
- * @author JC1348
- *
- */
-public class MsoCloudifyWorkflowException extends MsoCloudifyException {
-
-    private static final long serialVersionUID = 1L;
-
-    private String workflowStatus;
-    private boolean workflowStillRunning = false;
-
-    // Constructor to create a new MsoCloudifyException instance
-    public MsoCloudifyWorkflowException(String message, String deploymentId, String workflowId, String workflowStatus) {
-        super(0, "Workflow Exception",
-                "Workflow " + workflowId + " failed on deployment " + deploymentId + ": " + message);
-        this.workflowStatus = workflowStatus;
-        if (("pending").equals(workflowStatus) || ("started").equals(workflowStatus)
-                || ("cancelling").equals(workflowStatus) || ("force_cancelling").equals(workflowStatus)) {
-            workflowStillRunning = true;
-        }
-    }
-
-    public String getWorkflowStatus() {
-        return workflowStatus;
-    }
-
-    public boolean isWorkflowStillRunning() {
-        return workflowStillRunning;
-    }
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoDeploymentAlreadyExists.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/exceptions/MsoDeploymentAlreadyExists.java
deleted file mode 100644 (file)
index 62112f4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-public class MsoDeploymentAlreadyExists extends MsoCloudifyException {
-
-    private static final long serialVersionUID = 1L;
-
-    // Constructor to create a new MsoCloudifyException instance
-    public MsoDeploymentAlreadyExists(String deploymentId, String cloud) {
-        // Set the detailed error as the Exception 'message'
-        super(409, "Conflict",
-                "Deployment " + deploymentId + " already exists in Cloudify Manager suppporting cloud " + cloud);
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/cloudify/utils/MsoCloudifyUtils.java
deleted file mode 100644 (file)
index 446c725..0000000
+++ /dev/null
@@ -1,1356 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2018 Nokia.
- * ================================================================================
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.utils;
-
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-import org.onap.so.adapters.vdu.CloudInfo;
-import org.onap.so.adapters.vdu.PluginAction;
-import org.onap.so.adapters.vdu.VduArtifact;
-import org.onap.so.adapters.vdu.VduArtifact.ArtifactType;
-import org.onap.so.adapters.vdu.VduException;
-import org.onap.so.adapters.vdu.VduInstance;
-import org.onap.so.adapters.vdu.VduModelInfo;
-import org.onap.so.adapters.vdu.VduPlugin;
-import org.onap.so.adapters.vdu.VduStateType;
-import org.onap.so.adapters.vdu.VduStatus;
-import org.onap.so.cloud.CloudConfig;
-import org.onap.so.cloudify.base.client.CloudifyBaseException;
-import org.onap.so.cloudify.base.client.CloudifyClientTokenProvider;
-import org.onap.so.cloudify.base.client.CloudifyConnectException;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-import org.onap.so.cloudify.base.client.CloudifyResponseException;
-import org.onap.so.cloudify.beans.DeploymentInfo;
-import org.onap.so.cloudify.beans.DeploymentInfoBuilder;
-import org.onap.so.cloudify.beans.DeploymentStatus;
-import org.onap.so.cloudify.exceptions.MsoCloudifyException;
-import org.onap.so.cloudify.exceptions.MsoCloudifyManagerNotFound;
-import org.onap.so.cloudify.exceptions.MsoDeploymentAlreadyExists;
-import org.onap.so.cloudify.v3.client.BlueprintsResource.GetBlueprint;
-import org.onap.so.cloudify.v3.client.BlueprintsResource.UploadBlueprint;
-import org.onap.so.cloudify.v3.client.Cloudify;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.CreateDeployment;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.DeleteDeployment;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.GetDeployment;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.GetDeploymentOutputs;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.CancelExecution;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.GetExecution;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.ListExecutions;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.StartExecution;
-import org.onap.so.cloudify.v3.model.AzureConfig;
-import org.onap.so.cloudify.v3.model.Blueprint;
-import org.onap.so.cloudify.v3.model.CancelExecutionParams;
-import org.onap.so.cloudify.v3.model.CloudifyError;
-import org.onap.so.cloudify.v3.model.CreateDeploymentParams;
-import org.onap.so.cloudify.v3.model.Deployment;
-import org.onap.so.cloudify.v3.model.DeploymentOutputs;
-import org.onap.so.cloudify.v3.model.Execution;
-import org.onap.so.cloudify.v3.model.Executions;
-import org.onap.so.cloudify.v3.model.OpenstackConfig;
-import org.onap.so.cloudify.v3.model.StartExecutionParams;
-import org.onap.so.config.beans.PoConfig;
-import org.onap.so.db.catalog.beans.CloudSite;
-import org.onap.so.db.catalog.beans.CloudifyManager;
-import org.onap.so.db.catalog.beans.HeatTemplateParam;
-import org.onap.logging.filter.base.ErrorCode;
-import org.onap.so.logger.MessageEnum;
-import org.onap.so.openstack.exceptions.MsoAdapterException;
-import org.onap.so.openstack.exceptions.MsoCloudSiteNotFound;
-import org.onap.so.openstack.exceptions.MsoException;
-import org.onap.so.openstack.exceptions.MsoExceptionCategory;
-import org.onap.so.openstack.exceptions.MsoIOException;
-import org.onap.so.openstack.exceptions.MsoOpenstackException;
-import org.onap.so.openstack.utils.MsoCommonUtils;
-import org.onap.so.utils.CryptoUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Component;
-
-@Component
-public class MsoCloudifyUtils extends MsoCommonUtils implements VduPlugin {
-
-    private static final String CLOUDIFY = "Cloudify";
-    private static final String CREATE_DEPLOYMENT = "CreateDeployment";
-    private static final String DELETE_DEPLOYMENT = "DeleteDeployment";
-    private static final String TERMINATED = "terminated";
-    private static final String CANCELLED = "cancelled";
-    private static final String UNINSTALL = "uninstall";
-    private static final String UPLOAD_BLUEPRINT = "UPLOAD_BLUEPRINT";
-
-    // Fetch cloud configuration each time (may be cached in CloudConfig class)
-    @Autowired
-    protected CloudConfig cloudConfig;
-
-    @Autowired
-    private Environment environment;
-
-    @Autowired
-    private PoConfig poConfig;
-
-    private static final Logger logger = LoggerFactory.getLogger(MsoCloudifyUtils.class);
-
-    // Properties names and variables (with default values)
-    protected String createPollIntervalProp = "org.onap.so.adapters.po.pollInterval";
-    private String deletePollIntervalProp = "org.onap.so.adapters.po.pollInterval";
-
-    protected String createPollIntervalDefault = "15";
-    private String deletePollIntervalDefault = "15";
-
-    private static final ObjectMapper JSON_MAPPER = new ObjectMapper();
-
-    /**
-     * Create a new Deployment from a specified blueprint, and install it in the specified cloud location and tenant.
-     * The blueprint identifier and parameter map are passed in as arguments, along with the cloud access credentials.
-     * The blueprint should have been previously uploaded to Cloudify.
-     *
-     * It is expected that parameters have been validated and contain at minimum the required parameters for the given
-     * template with no extra (undefined) parameters..
-     *
-     * The deployment ID supplied by the caller must be unique in the scope of the Cloudify tenant (not the Openstack
-     * tenant). However, it should also be globally unique, as it will be the identifier for the resource going forward
-     * in Inventory. This latter is managed by the higher levels invoking this function.
-     *
-     * This function executes the "install" workflow on the newly created workflow. Cloudify will be polled for
-     * completion unless the client requests otherwise.
-     *
-     * An error will be thrown if the requested Deployment already exists in the specified Cloudify instance.
-     *
-     * @param cloudSiteId The cloud (may be a region) in which to create the stack.
-     * @param tenantId The Openstack ID of the tenant in which to create the Stack
-     * @param deploymentId The identifier (name) of the deployment to create
-     * @param blueprintId The blueprint from which to create the deployment.
-     * @param inputs A map of key/value inputs
-     * @param pollForCompletion Indicator that polling should be handled in Java vs. in the client
-     * @param timeoutMinutes Timeout after which the "install" will be cancelled
-     * @param backout Flag to delete deployment on install Failure - defaulted to True
-     * @return A DeploymentInfo object
-     * @throws MsoCloudifyException Thrown if the Cloudify API call returns an exception.
-     * @throws MsoIOException Thrown on Cloudify connection errors.
-     */
-
-    public DeploymentInfo createAndInstallDeployment(String cloudSiteId, String tenantId, String deploymentId,
-            String blueprintId, Map<String, ? extends Object> inputs, boolean pollForCompletion, int timeoutMinutes,
-            boolean backout) throws MsoException {
-        // Obtain the cloud site information where we will create the stack
-        Optional<CloudSite> cloudSite = cloudConfig.getCloudSite(cloudSiteId);
-        if (!cloudSite.isPresent()) {
-            throw new MsoCloudSiteNotFound(cloudSiteId);
-        }
-
-        Cloudify cloudify = getCloudifyClient(cloudSite.get());
-
-        logger.debug("Ready to Create Deployment ({}) with input params: {}", deploymentId, inputs);
-
-        // Build up the inputs, including:
-        // - from provided "environment" file
-        // - passed in by caller
-        // - special input for cloud-specific Credentials
-        Map<String, Object> expandedInputs = new HashMap<>(inputs);
-
-        String platform = cloudSite.get().getPlatform();
-        if (platform == null || platform.isEmpty() || ("OPENSTACK").equalsIgnoreCase(platform)) {
-            // Create the Cloudify OpenstackConfig with the credentials
-            OpenstackConfig openstackConfig = getOpenstackConfig(cloudSite.get(), tenantId);
-            expandedInputs.put("openstack_config", openstackConfig);
-        } else if (("AZURE").equalsIgnoreCase(platform)) {
-            // Create Cloudify AzureConfig with the credentials
-            AzureConfig azureConfig = getAzureConfig(cloudSite.get(), tenantId);
-            expandedInputs.put("azure_config", azureConfig);
-        }
-
-        // Build up the parameters to create a new deployment
-        CreateDeploymentParams deploymentParams = new CreateDeploymentParams();
-        deploymentParams.setBlueprintId(blueprintId);
-        deploymentParams.setInputs(expandedInputs);
-
-        Deployment deployment = null;
-        try {
-            CreateDeployment createDeploymentRequest = cloudify.deployments().create(deploymentId, deploymentParams);
-            logger.debug(createDeploymentRequest.toString());
-
-            deployment = executeAndRecordCloudifyRequest(createDeploymentRequest);
-        } catch (CloudifyResponseException e) {
-            // Since this came on the 'Create Deployment' command, nothing was changed
-            // in the cloud. Return the error as an exception.
-            if (e.getStatus() == 409) {
-                // Deployment already exists. Return a specific error for this case
-                MsoException me = new MsoDeploymentAlreadyExists(deploymentId, cloudSiteId);
-                me.addContext(CREATE_DEPLOYMENT);
-                throw me;
-            } else {
-                // Convert the CloudifyResponseException to an MsoException
-                logger.debug("ERROR STATUS = {},\n{}\n{}", e.getStatus(), e.getMessage(), e.getLocalizedMessage());
-                MsoException me = cloudifyExceptionToMsoException(e, CREATE_DEPLOYMENT);
-                me.setCategory(MsoExceptionCategory.OPENSTACK);
-                throw me;
-            }
-        } catch (CloudifyConnectException e) {
-            // Error connecting to Cloudify instance. Convert to an MsoException
-            throw cloudifyExceptionToMsoException(e, CREATE_DEPLOYMENT);
-        } catch (RuntimeException e) {
-            // Catch-all
-            throw runtimeExceptionToMsoException(e, CREATE_DEPLOYMENT);
-        }
-
-        /*
-         * It can take some time for Cloudify to be ready to execute a workflow on the deployment. Sleep 30 seconds
-         * based on observation of behavior in a Cloudify VM instance (delay due to "create_deployment_environment").
-         */
-        sleep(30000);
-
-        /*
-         * Next execute the "install" workflow. Note - this assumes there are no additional parameters required for the
-         * workflow.
-         */
-        int createPollInterval =
-                Integer.parseInt(this.environment.getProperty(createPollIntervalProp, createPollIntervalDefault));
-        int pollTimeout = (timeoutMinutes * 60) + createPollInterval;
-
-        Execution installWorkflow = null;
-
-        try {
-            installWorkflow = executeWorkflow(cloudify, deploymentId, "install", null, pollForCompletion, pollTimeout,
-                    createPollInterval);
-
-            if (installWorkflow.getStatus().equals(TERMINATED)) {
-                // Success!
-                // Create and return a DeploymentInfo structure. Include the Runtime outputs
-                return new DeploymentInfoBuilder().withId(deployment.getId())
-                        .withDeploymentInputs(deployment.getInputs())
-                        .withDeploymentOutputs(getDeploymentOutputs(cloudify, deploymentId).get())
-                        .fromExecution(installWorkflow).build();
-            } else {
-                // The workflow completed with errors. Must try to back it out.
-                if (!backout) {
-                    logger.warn("{} Deployment installation failed, backout deletion suppressed {} {}",
-                            MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue(),
-                            "Exception in Deployment Installation, backout suppressed");
-                } else {
-                    // Poll on delete if we rollback - use same values for now
-                    int deletePollInterval = createPollInterval;
-                    int deletePollTimeout = pollTimeout;
-
-                    try {
-                        // Run the uninstall to undo the install
-                        Execution uninstallWorkflow = executeWorkflow(cloudify, deploymentId, UNINSTALL, null,
-                                pollForCompletion, deletePollTimeout, deletePollInterval);
-
-                        if (uninstallWorkflow.getStatus().equals(TERMINATED)) {
-                            // The uninstall completed. Delete the deployment itself
-                            DeleteDeployment deleteRequest = cloudify.deployments().deleteByName(deploymentId);
-                            executeAndRecordCloudifyRequest(deleteRequest);
-                        } else {
-                            // Didn't uninstall successfully. Log this error
-                            logger.error("{} Create Deployment: Cloudify error rolling back deployment install: {} {}",
-                                    MessageEnum.RA_CREATE_STACK_ERR, installWorkflow.getError(),
-                                    ErrorCode.BusinessProcessError.getValue());
-                        }
-                    } catch (Exception e) {
-                        // Catch-all for backout errors trying to uninstall/delete
-                        // Log this error, and return the original exception
-                        logger.error("{} Create Stack: Nested exception rolling back deployment install: {}",
-                                MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue(), e);
-                    }
-                }
-
-                MsoCloudifyException me =
-                        new MsoCloudifyException(0, "Workflow Execution Failed", installWorkflow.getError());
-                me.addContext(CREATE_DEPLOYMENT);
-
-                throw me;
-            }
-        } catch (MsoException me) {
-            // Install failed. Unless requested otherwise, back out the deployment
-
-            if (!backout) {
-                logger.warn("{} Deployment installation failed, backout deletion suppressed {}",
-                        MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue());
-            } else {
-                // Poll on delete if we rollback - use same values for now
-                int deletePollInterval = createPollInterval;
-                int deletePollTimeout = pollTimeout;
-
-                try {
-                    // Run the uninstall to undo the install.
-                    // Always try to run it, as it should be idempotent
-                    executeWorkflow(cloudify, deploymentId, UNINSTALL, null, pollForCompletion, deletePollTimeout,
-                            deletePollInterval);
-
-                    // Delete the deployment itself
-                    DeleteDeployment deleteRequest = cloudify.deployments().deleteByName(deploymentId);
-                    executeAndRecordCloudifyRequest(deleteRequest);
-                } catch (Exception e) {
-                    // Catch-all for backout errors trying to uninstall/delete
-                    // Log this error, and return the original exception
-                    logger.error("{} Create Stack: Nested exception rolling back deployment install: {} ",
-                            MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue(), e);
-                }
-            }
-
-            // Propagate the original exception from Stack Query.
-            me.addContext(CREATE_DEPLOYMENT);
-
-            throw me;
-        }
-    }
-
-
-    /*
-     * Get the runtime Outputs of a deployment. Return the Map of tag/value outputs.
-     */
-    private Optional<Map<String, Object>> getDeploymentOutputs(Cloudify cloudify, String deploymentId)
-            throws MsoException {
-        // Build and send the Cloudify request
-        DeploymentOutputs deploymentOutputs;
-        try {
-            GetDeploymentOutputs queryDeploymentOutputs = cloudify.deployments().outputsById(deploymentId);
-            logger.debug(queryDeploymentOutputs.toString());
-
-            deploymentOutputs = executeAndRecordCloudifyRequest(queryDeploymentOutputs);
-            if (deploymentOutputs != null) {
-                return Optional.ofNullable(deploymentOutputs.getOutputs());
-            } else {
-                return Optional.empty();
-            }
-        } catch (CloudifyConnectException ce) {
-            // Couldn't connect to Cloudify
-            logger.error("{} QueryDeploymentOutputs: Cloudify connection failure: {} ", MessageEnum.RA_CREATE_STACK_ERR,
-                    ErrorCode.BusinessProcessError.getValue(), ce);
-            throw new MsoIOException(ce.getMessage(), ce);
-        } catch (CloudifyResponseException re) {
-            if (re.getStatus() == 404) {
-                // No Outputs
-                return Optional.empty();
-            }
-            throw new MsoCloudifyException(re.getStatus(), re.getMessage(), re.getLocalizedMessage(), re);
-        } catch (Exception e) {
-            // Catch-all
-            throw new MsoAdapterException(e.getMessage(), e);
-        }
-    }
-
-    /*
-     * Execute a workflow on a deployment. Handle polling for completion with timeout. Return the final Execution object
-     * with status. Throw an exception on Errors. Question - how does the client know whether rollback needs to be done?
-     */
-    private Execution executeWorkflow(Cloudify cloudify, String deploymentId, String workflowId,
-            Map<String, Object> workflowParams, boolean pollForCompletion, int timeout, int pollInterval)
-            throws MsoCloudifyException {
-        logger.debug("Executing '{}' workflow on deployment '{}'", workflowId, deploymentId);
-
-        StartExecutionParams executeParams = new StartExecutionParams();
-        executeParams.setWorkflowId(workflowId);
-        executeParams.setDeploymentId(deploymentId);
-        executeParams.setParameters(workflowParams);
-
-        Execution execution = null;
-        String executionId = null;
-        String command = "start";
-        Exception savedException = null;
-
-        try {
-            StartExecution executionRequest = cloudify.executions().start(executeParams);
-            logger.debug(executionRequest.toString());
-            execution = executeAndRecordCloudifyRequest(executionRequest);
-            executionId = execution.getId();
-
-            if (!pollForCompletion) {
-                // Client did not request polling, so just return the Execution object
-                return execution;
-            }
-
-            // Enter polling loop
-            boolean timedOut = false;
-            int pollTimeout = timeout;
-
-            String status = execution.getStatus();
-
-            // Create a reusable cloudify query request
-            GetExecution queryExecution = cloudify.executions().byId(executionId);
-            command = "query";
-
-            while (!timedOut && !(status.equals(TERMINATED) || ("failed").equals(status) || status.equals(CANCELLED))) {
-                // workflow is still running; check for timeout
-                if (pollTimeout <= 0) {
-                    logger.debug("workflow {} timed out on deployment {}", execution.getWorkflowId(),
-                            execution.getDeploymentId());
-                    timedOut = true;
-                    continue;
-                }
-
-                sleep(pollInterval * 1000L);
-
-                pollTimeout -= pollInterval;
-                logger.debug("pollTimeout remaining: " + pollTimeout);
-
-                execution = queryExecution.execute();
-                if (execution != null) {
-                    status = execution.getStatus();
-                } else {
-                    status = TERMINATED;
-                }
-            }
-
-            // Broke the loop. Check again for a terminal state
-            if (status.equals(TERMINATED)) {
-                // Success!
-                logger.debug("Workflow '{}' completed successfully on deployment '{}'", workflowId, deploymentId);
-                return execution;
-            } else if (("failed").equals(status)) {
-                // Workflow failed. Log it and return the execution object (don't throw exception here)
-                logger.error("{} Cloudify workflow failure: {} {} Execute Workflow: Failed: {}",
-                        MessageEnum.RA_CREATE_STACK_ERR, execution.getError(),
-                        ErrorCode.BusinessProcessError.getValue(), execution.getError());
-                return execution;
-            } else if (status.equals(CANCELLED)) {
-                // Workflow was cancelled, leaving the deployment in an indeterminate state. Log it and return the
-                // execution object (don't throw exception here)
-                logger.error("{} Cloudify workflow cancelled. Deployment is in an indeterminate state {} {} {}",
-                        MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue(),
-                        "Execute Workflow cancelled: ", workflowId);
-                return execution;
-            } else {
-                // Can only get here after a timeout
-                logger.error("{} Cloudify workflow timeout {} Execute Workflow: Timed Out",
-                        MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue());
-            }
-        } catch (CloudifyConnectException ce) {
-            logger.error("{} {} Execute Workflow ({} {}): Cloudify connection failure {} ",
-                    MessageEnum.RA_CREATE_STACK_ERR, ErrorCode.BusinessProcessError.getValue(), command, ce);
-            savedException = ce;
-        } catch (CloudifyResponseException re) {
-            logger.error("{} {} Execute Workflow ({}): Cloudify response error {} ", MessageEnum.RA_CREATE_STACK_ERR,
-                    ErrorCode.BusinessProcessError.getValue(), command, re.getMessage(), re);
-            savedException = re;
-        } catch (RuntimeException e) {
-            // Catch-all
-            logger.error("{} {} Execute Workflow ({}): Internal error {}", MessageEnum.RA_CREATE_STACK_ERR,
-                    ErrorCode.BusinessProcessError.getValue(), command, e.getMessage(), e);
-            savedException = e;
-        }
-
-        // Get to this point ONLY on an error or timeout
-        // The cloudify execution is still running (we've not received a terminal status),
-        // so try to Cancel it.
-        CancelExecutionParams cancelParams = new CancelExecutionParams();
-        cancelParams.setAction("cancel");
-        // TODO: Use force_cancel?
-
-        Execution cancelExecution = null;
-
-        try {
-            CancelExecution cancelRequest = cloudify.executions().cancel(executionId, cancelParams);
-            logger.debug(cancelRequest.toString());
-            cancelExecution = cancelRequest.execute();
-
-            // Enter polling loop
-            boolean timedOut = false;
-            int cancelTimeout = timeout; // TODO: For now, just use same timeout
-
-            String status = null;
-            if (cancelExecution != null) {
-                status = cancelExecution.getStatus();
-            }
-            // Poll for completion. Create a reusable cloudify query request
-            GetExecution queryExecution = cloudify.executions().byId(executionId);
-
-            while (!timedOut && !CANCELLED.equals(status)) {
-                // workflow is still running; check for timeout
-                if (cancelTimeout <= 0) {
-                    logger.debug("Cancel timeout for workflow {} on deployment {}", workflowId, deploymentId);
-                    timedOut = true;
-                    continue;
-                }
-
-                sleep(pollInterval * 1000L);
-
-                cancelTimeout -= pollInterval;
-                logger.debug("pollTimeout remaining: {}", cancelTimeout);
-
-                execution = queryExecution.execute();
-                if (execution != null) {
-                    status = execution.getStatus();
-                }
-            }
-
-            // Broke the loop. Check again for a terminal state
-            if (CANCELLED.equals(status)) {
-                // Finished cancelling. Return the original exception
-                logger.debug("Cancel workflow {} completed on deployment {}", workflowId, deploymentId);
-                throw new MsoCloudifyException(-1, "", "", savedException);
-            } else {
-                // Can only get here after a timeout
-                logger.debug("Cancel workflow {} timeout out on deployment {}", workflowId, deploymentId);
-                MsoCloudifyException exception = new MsoCloudifyException(-1, "", "", savedException);
-                exception.setPendingWorkflow(true);
-                throw exception;
-            }
-        } catch (Exception e) {
-            // Catch-all. Log the message and throw the original exception
-            logger.debug("Cancel workflow {} failed for deployment {} :", workflowId, deploymentId, e);
-            MsoCloudifyException exception = new MsoCloudifyException(-1, "", "", savedException);
-            exception.setPendingWorkflow(true);
-            throw exception;
-        }
-    }
-
-
-
-    /**
-     * Query for a Cloudify Deployment (by Name). This call will always return a DeploymentInfo object. If the
-     * deployment does not exist, an "empty" DeploymentInfo will be returned - containing only the deployment ID and a
-     * special status of NOTFOUND.
-     *
-     * @param tenantId The Openstack ID of the tenant in which to query
-     * @param cloudSiteId The cloud identifier (may be a region) in which to query
-     * @return A StackInfo object
-     * @throws MsoOpenstackException Thrown if the Openstack API call returns an exception.
-     */
-    public DeploymentInfo queryDeployment(String cloudSiteId, String tenantId, String deploymentId)
-            throws MsoException {
-        logger.debug("Query Cloudify Deployment: {} in tenant {}", deploymentId, tenantId);
-
-        // Obtain the cloud site information where we will create the stack
-        Optional<CloudSite> cloudSite = cloudConfig.getCloudSite(cloudSiteId);
-        if (!cloudSite.isPresent()) {
-            throw new MsoCloudSiteNotFound(cloudSiteId);
-        }
-
-        Cloudify cloudify = getCloudifyClient(cloudSite.get());
-
-        // Build and send the Cloudify request
-        Deployment deployment = new Deployment();
-        try {
-            GetDeployment queryDeployment = cloudify.deployments().byId(deploymentId);
-            logger.debug(queryDeployment.toString());
-            deployment = executeAndRecordCloudifyRequest(queryDeployment);
-
-            // Next look for the latest execution
-            ListExecutions listExecutions =
-                    cloudify.executions().listFiltered("deployment_id=" + deploymentId, "-created_at");
-            Executions executions = listExecutions.execute();
-
-            // If no executions, does this give NOT_FOUND or empty set?
-            if (executions == null || executions.getItems().isEmpty()) {
-                return new DeploymentInfoBuilder().withId(deployment.getId())
-                        .withDeploymentInputs(deployment.getInputs()).build();
-            } else {
-                return new DeploymentInfoBuilder().withId(deployment.getId())
-                        .withDeploymentInputs(deployment.getInputs())
-                        .withDeploymentOutputs(getDeploymentOutputs(cloudify, deploymentId).get())
-                        .fromExecution(executions.getItems().get(0)).build();
-            }
-        } catch (CloudifyConnectException ce) {
-            // Couldn't connect to Cloudify
-            logger.error("{} QueryDeployment: Cloudify connection failure: {} ", MessageEnum.RA_CREATE_STACK_ERR,
-                    ErrorCode.BusinessProcessError.getValue(), ce);
-            throw new MsoIOException(ce.getMessage(), ce);
-        } catch (CloudifyResponseException re) {
-            if (re.getStatus() == 404) {
-                // Got a NOT FOUND error. React differently based on deployment vs. execution
-                if (deployment != null) {
-                    // Got NOT_FOUND on the executions. Assume this is a valid "empty" set
-                    return new DeploymentInfoBuilder().withId(deployment.getId())
-                            .withDeploymentInputs(deployment.getInputs())
-                            .withDeploymentOutputs(getDeploymentOutputs(cloudify, deploymentId).get()).build();
-                } else {
-                    // Deployment not found. Default status of a DeploymentInfo object is NOTFOUND
-                    return new DeploymentInfoBuilder().withId(deploymentId).build();
-                }
-            }
-            throw new MsoCloudifyException(re.getStatus(), re.getMessage(), re.getLocalizedMessage(), re);
-        } catch (Exception e) {
-            // Catch-all
-            throw new MsoAdapterException(e.getMessage(), e);
-        }
-    }
-
-
-    /**
-     * Delete a Cloudify deployment (by ID). If the deployment is not found, it will be considered a successful
-     * deletion. The return value is a DeploymentInfo object which contains the last deployment status.
-     *
-     * There is no rollback from a successful deletion. A deletion failure will also result in an undefined deployment
-     * state - the components may or may not have been all or partially deleted, so the resulting deployment must be
-     * considered invalid.
-     *
-     * @param tenantId The Openstack ID of the tenant in which to perform the delete
-     * @param cloudSiteId The cloud identifier (may be a region) from which to delete the stack.
-     * @return A StackInfo object
-     * @throws MsoOpenstackException Thrown if the Openstack API call returns an exception.
-     * @throws MsoCloudSiteNotFound
-     */
-    public DeploymentInfo uninstallAndDeleteDeployment(String cloudSiteId, String tenantId, String deploymentId,
-            int timeoutMinutes) throws MsoException {
-        // Obtain the cloud site information where we will create the stack
-        Optional<CloudSite> cloudSite = cloudConfig.getCloudSite(cloudSiteId);
-        if (!cloudSite.isPresent()) {
-            throw new MsoCloudSiteNotFound(cloudSiteId);
-        }
-
-        Cloudify cloudify = getCloudifyClient(cloudSite.get());
-
-        logger.debug("Ready to Uninstall/Delete Deployment ({})", deploymentId);
-
-        // Query first to save the trouble if deployment not found
-        try {
-            GetDeployment queryDeploymentRequest = cloudify.deployments().byId(deploymentId);
-            logger.debug(queryDeploymentRequest.toString());
-
-            // deployment = executeAndRecordCloudifyRequest (queryDeploymentRequest);
-        } catch (CloudifyResponseException e) {
-            // Since this came on the 'Create Deployment' command, nothing was changed
-            // in the cloud. Return the error as an exception.
-            if (e.getStatus() == 404) {
-                // Deployment doesn't exist. Return a "NOTFOUND" DeploymentInfo object
-                // TODO: Should return NULL?
-                logger.debug("Deployment requested for deletion does not exist: {}", deploymentId);
-                return new DeploymentInfoBuilder().withId(deploymentId).withStatus(DeploymentStatus.NOTFOUND).build();
-            } else {
-                // Convert the CloudifyResponseException to an MsoOpenstackException
-                logger.debug("ERROR STATUS = {}, \n {}\n {}\n {}", e.getStatus(), e.getMessage(),
-                        e.getLocalizedMessage(), e);
-                MsoException me = cloudifyExceptionToMsoException(e, DELETE_DEPLOYMENT);
-                me.setCategory(MsoExceptionCategory.INTERNAL);
-                throw me;
-            }
-        } catch (CloudifyConnectException e) {
-            // Error connecting to Cloudify instance. Convert to an MsoException
-            throw cloudifyExceptionToMsoException(e, DELETE_DEPLOYMENT);
-        } catch (RuntimeException e) {
-            // Catch-all
-            throw runtimeExceptionToMsoException(e, DELETE_DEPLOYMENT);
-        }
-
-        /*
-         * Query the outputs before deleting so they can be returned as well
-         */
-        // DeploymentOutputs outputs = getDeploymentOutputs (cloudify, deploymentId);
-
-        /*
-         * Next execute the "uninstall" workflow. Note - this assumes there are no additional parameters required for
-         * the workflow.
-         */
-        // TODO: No deletePollInterval that I'm aware of. Use the create interval
-        int deletePollInterval =
-                Integer.parseInt(this.environment.getProperty(deletePollIntervalProp, deletePollIntervalDefault));
-        int pollTimeout = (timeoutMinutes * 60) + deletePollInterval;
-
-        Execution uninstallWorkflow = null;
-
-        try {
-            uninstallWorkflow =
-                    executeWorkflow(cloudify, deploymentId, UNINSTALL, null, true, pollTimeout, deletePollInterval);
-
-            if (uninstallWorkflow.getStatus().equals(TERMINATED)) {
-                // Successful uninstall.
-                logger.debug("Uninstall successful for deployment {}", deploymentId);
-            } else {
-                // The uninstall workflow completed with an error. Must fail the request, but will
-                // leave the deployment in an indeterminate state, as cloud resources may still exist.
-                MsoCloudifyException me =
-                        new MsoCloudifyException(0, "Uninstall Workflow Failed", uninstallWorkflow.getError());
-                me.addContext(DELETE_DEPLOYMENT);
-
-                throw me;
-            }
-        } catch (MsoException me) {
-            // Uninstall workflow has failed.
-            // Must fail the deletion... may leave the deployment in an inconclusive state
-            me.addContext(DELETE_DEPLOYMENT);
-
-            throw me;
-        }
-
-        // At this point, the deployment has been successfully uninstalled.
-        // Next step is to delete the deployment itself
-        Deployment deployment;
-        try {
-            DeleteDeployment deleteRequest = cloudify.deployments().deleteByName(deploymentId);
-            logger.debug(deleteRequest.toString());
-
-            // The delete request returns the deleted deployment
-            deployment = deleteRequest.execute();
-
-        } catch (CloudifyConnectException ce) {
-            // Failed to delete. Must fail the request, but will leave the (uninstalled)
-            // deployment in Cloudify DB.
-            MsoCloudifyException me = new MsoCloudifyException(0, "Deployment Delete Failed", ce.getMessage(), ce);
-            me.addContext(DELETE_DEPLOYMENT);
-
-            throw me;
-        } catch (CloudifyResponseException re) {
-            // Failed to delete. Must fail the request, but will leave the (uninstalled)
-            // deployment in the Cloudify DB.
-            MsoCloudifyException me = new MsoCloudifyException(re.getStatus(), re.getMessage(), re.getMessage(), re);
-            me.addContext(DELETE_DEPLOYMENT);
-
-            throw me;
-        } catch (Exception e) {
-            // Catch-all
-            MsoAdapterException ae = new MsoAdapterException(e.getMessage(), e);
-            ae.addContext(DELETE_DEPLOYMENT);
-
-            throw ae;
-        }
-
-        // Return the deleted deployment info (with runtime outputs) along with the completed uninstall workflow status
-        return new DeploymentInfoBuilder().withId(deployment.getId()).withDeploymentInputs(deployment.getInputs())
-                .withDeploymentOutputs(getDeploymentOutputs(cloudify, deploymentId).get())
-                .fromExecution(uninstallWorkflow).build();
-    }
-
-
-    /**
-     * Check if a blueprint is available for use at a targeted cloud site. This requires checking the Cloudify Manager
-     * which is servicing that cloud site to see if the specified blueprint has been loaded.
-     *
-     * @param cloudSiteId The cloud site where the blueprint is needed
-     * @param blueprintId The ID for the blueprint in Cloudify
-     */
-    public boolean isBlueprintLoaded(String cloudSiteId, String blueprintId) throws MsoException {
-        // Obtain the cloud site information where we will load the blueprint
-        Optional<CloudSite> cloudSite = cloudConfig.getCloudSite(cloudSiteId);
-        if (!cloudSite.isPresent()) {
-            throw new MsoCloudSiteNotFound(cloudSiteId);
-        }
-
-        Cloudify cloudify = getCloudifyClient(cloudSite.get());
-
-        GetBlueprint getRequest = cloudify.blueprints().getMetadataById(blueprintId);
-        try {
-            Blueprint bp = getRequest.execute();
-            if (bp != null) {
-                logger.debug("Blueprint exists: {}", bp.getId());
-                return true;
-            } else {
-                logger.debug("Null blueprint!");
-                return false;
-            }
-        } catch (CloudifyResponseException ce) {
-            if (ce.getStatus() == 404) {
-                return false;
-            } else {
-                throw ce;
-            }
-        }
-    }
-
-    /**
-     * Upload a blueprint to the Cloudify Manager that is servicing a Cloud Site. The blueprint currently must be
-     * structured as a single directory with all of the required files. One of those files is designated the "main file"
-     * for the blueprint. Files are provided as byte arrays, though expect only text files will be distributed from ASDC
-     * and stored by MSO.
-     *
-     * Cloudify requires a single root directory in its blueprint zip files. The requested blueprint ID will also be
-     * used as the directory. All of the files will be added to this directory in the zip file.
-     */
-    public void uploadBlueprint(String cloudSiteId, String blueprintId, String mainFileName,
-            Map<String, byte[]> blueprintFiles, boolean failIfExists) throws MsoException {
-        // Obtain the cloud site information where we will load the blueprint
-        Optional<CloudSite> cloudSite = cloudConfig.getCloudSite(cloudSiteId);
-        if (!cloudSite.isPresent()) {
-            throw new MsoCloudSiteNotFound(cloudSiteId);
-        }
-
-        Cloudify cloudify = getCloudifyClient(cloudSite.get());
-
-        boolean blueprintUploaded = uploadBlueprint(cloudify, blueprintId, mainFileName, blueprintFiles);
-
-        if (!blueprintUploaded && failIfExists) {
-            throw new MsoAdapterException("Blueprint already exists");
-        }
-    }
-
-    /*
-     * Common method to load a blueprint. May be called from
-     */
-    protected boolean uploadBlueprint(Cloudify cloudify, String blueprintId, String mainFileName,
-            Map<String, byte[]> blueprintFiles) throws MsoException {
-        // Check if it already exists. If so, return false.
-        GetBlueprint getRequest = cloudify.blueprints().getMetadataById(blueprintId);
-        try {
-            Blueprint bp = getRequest.execute();
-            if (bp != null) {
-                logger.debug("Blueprint {} already exists.", bp.getId());
-                return false;
-            } else {
-                logger.debug("Null blueprint!");
-            }
-        } catch (CloudifyResponseException ce) {
-            if (ce.getStatus() == 404) {
-                // This is the expected result.
-                logger.debug("Verified that Blueprint doesn't exist yet");
-            } else {
-                throw ce;
-            }
-        }
-
-        // Create a blueprint ZIP file in memory
-        ByteArrayOutputStream zipBuffer = new ByteArrayOutputStream();
-        ZipOutputStream zipOut = new ZipOutputStream(zipBuffer);
-
-        try {
-            // Put the root directory
-            String rootDir = blueprintId + (blueprintId.endsWith("/") ? "" : "/");
-            zipOut.putNextEntry(new ZipEntry(rootDir));
-            zipOut.closeEntry();
-
-            for (String fileName : blueprintFiles.keySet()) {
-                ZipEntry ze = new ZipEntry(rootDir + fileName);
-                zipOut.putNextEntry(ze);
-                zipOut.write(blueprintFiles.get(fileName));
-                zipOut.closeEntry();
-            }
-            zipOut.close();
-        } catch (IOException e) {
-            // Since we're writing to a byte array, this should never happen
-        }
-        logger.debug("Blueprint zip file size: {}", zipBuffer.size());
-
-        // Ready to upload the blueprint zip
-
-        try (InputStream blueprintStream = new ByteArrayInputStream(zipBuffer.toByteArray())) {
-            UploadBlueprint uploadRequest =
-                    cloudify.blueprints().uploadFromStream(blueprintId, mainFileName, blueprintStream);
-            Blueprint blueprint = uploadRequest.execute();
-            logger.debug("Successfully uploaded blueprint {}", blueprint.getId());
-        } catch (CloudifyResponseException | CloudifyConnectException e) {
-            throw cloudifyExceptionToMsoException(e, UPLOAD_BLUEPRINT);
-        } catch (RuntimeException e) {
-            // Catch-all
-            throw runtimeExceptionToMsoException(e, UPLOAD_BLUEPRINT);
-        } catch (IOException e) {
-            // for try-with-resources
-            throw ioExceptionToMsoException(e, UPLOAD_BLUEPRINT);
-        }
-
-        return true;
-    }
-
-
-
-    // ---------------------------------------------------------------
-    // PRIVATE FUNCTIONS FOR USE WITHIN THIS CLASS
-
-    /**
-     * Get a Cloudify client for the specified cloud site. Everything that is required can be found in the Cloud Config.
-     *
-     * @param cloudSite
-     * @return a Cloudify object
-     */
-    public Cloudify getCloudifyClient(CloudSite cloudSite) throws MsoException {
-        CloudifyManager cloudifyConfig = cloudConfig.getCloudifyManager(cloudSite.getCloudifyId());
-        if (cloudifyConfig == null) {
-            throw new MsoCloudifyManagerNotFound(cloudSite.getId());
-        }
-
-        // Get a Cloudify client
-        // Set a Token Provider to fetch tokens from Cloudify itself.
-        String cloudifyUrl = cloudifyConfig.getCloudifyUrl();
-        Cloudify cloudify = new Cloudify(cloudifyUrl);
-        cloudify.setTokenProvider(new CloudifyClientTokenProvider(cloudifyUrl, cloudifyConfig.getUsername(),
-                CryptoUtils.decryptCloudConfigPassword(cloudifyConfig.getPassword())));
-
-        return cloudify;
-    }
-
-
-    /*
-     * Query for a Cloudify Deployment. This function is needed in several places, so a common method is useful. This
-     * method takes an authenticated CloudifyClient (which internally identifies the cloud & tenant to search), and
-     * returns a Deployment object if found, Null if not found, or an MsoCloudifyException if the Cloudify API call
-     * fails.
-     *
-     * @param cloudifyClient an authenticated Cloudify client
-     *
-     * @param deploymentId the deployment to query
-     *
-     * @return a Deployment object or null if the requested deployment doesn't exist.
-     *
-     * @throws MsoCloudifyException Thrown if the Cloudify API call returns an exception
-     */
-    protected Deployment queryDeployment(Cloudify cloudify, String deploymentId) throws MsoException {
-        if (deploymentId == null) {
-            return null;
-        }
-        try {
-            GetDeployment request = cloudify.deployments().byId(deploymentId);
-            return executeAndRecordCloudifyRequest(request);
-        } catch (CloudifyResponseException e) {
-            if (e.getStatus() == 404) {
-                logger.debug("queryDeployment - not found: {}", deploymentId);
-                return null;
-            } else {
-                // Convert the CloudifyResponseException to an MsoCloudifyException
-                throw cloudifyExceptionToMsoException(e, "QueryDeployment");
-            }
-        } catch (CloudifyConnectException e) {
-            // Connection to Openstack failed
-            throw cloudifyExceptionToMsoException(e, "QueryDeployment");
-        }
-    }
-
-
-    public void copyStringOutputsToInputs(Map<String, String> inputs, Map<String, Object> otherStackOutputs,
-            boolean overWrite) {
-        if (inputs == null || otherStackOutputs == null)
-            return;
-
-        for (Map.Entry<String, Object> entry : otherStackOutputs.entrySet()) {
-            String key = entry.getKey();
-            Object value = entry.getValue();
-
-            if (value instanceof JsonNode) {
-                // This is a bit of mess - but I think it's the least impacting
-                // let's convert it BACK to a string - then it will get converted back later
-                try {
-                    inputs.put(key, this.convertNode((JsonNode) value));
-                } catch (Exception e) {
-                    logger.debug("WARNING: unable to convert JsonNode output value for {}", key);
-                    // effect here is this value will not have been copied to the inputs - and therefore will error out
-                    // downstream
-                }
-            } else if (value instanceof java.util.LinkedHashMap) {
-                logger.debug("LinkedHashMap - this is showing up as a LinkedHashMap instead of JsonNode");
-                try {
-                    inputs.put(key, JSON_MAPPER.writeValueAsString(value));
-                } catch (Exception e) {
-                    logger.debug("WARNING: unable to convert LinkedHashMap output value for {}", key);
-                }
-            } else {
-                // just try to cast it - could be an integer or some such
-                try {
-                    inputs.put(key, (String) value);
-                } catch (Exception e) {
-                    logger.debug("WARNING: unable to convert output value for {}", key);
-                    // effect here is this value will not have been copied to the inputs - and therefore will error out
-                    // downstream
-                }
-            }
-        }
-        return;
-    }
-
-    /*
-     * Normalize an input value to an Object, based on the target parameter type. If the type is not recognized, it will
-     * just be returned unchanged (as a string).
-     */
-    public Object convertInputValue(Object inputValue, HeatTemplateParam templateParam) {
-        String type = templateParam.getParamType();
-        logger.debug("Parameter: {} is of type {}", templateParam.getParamName(), type);
-
-        if (("number").equalsIgnoreCase(type)) {
-            try {
-                return Integer.valueOf(inputValue.toString());
-            } catch (Exception e) {
-                logger.debug("Unable to convert {} to an integer!", inputValue);
-                return null;
-            }
-        } else if (("json").equalsIgnoreCase(type)) {
-            try {
-                if (inputValue instanceof String) {
-                    return JSON_MAPPER.readTree(inputValue.toString());
-                }
-                // will already marshal to json without intervention
-                return inputValue;
-            } catch (Exception e) {
-                logger.debug("Unable to convert {} to a JsonNode!", inputValue);
-                return null;
-            }
-        } else if (("boolean").equalsIgnoreCase(type)) {
-            return Boolean.valueOf(inputValue.toString());
-        }
-
-        // Nothing else matched. Return the original string
-        return inputValue;
-    }
-
-
-    private String convertNode(final JsonNode node) {
-        try {
-            final Object obj = JSON_MAPPER.treeToValue(node, Object.class);
-            return JSON_MAPPER.writeValueAsString(obj);
-        } catch (JsonParseException jpe) {
-            logger.debug("Error converting json to string {}", jpe);
-        } catch (Exception e) {
-            logger.debug("Error converting json to string {}", e);
-        }
-        return "[Error converting json to string]";
-    }
-
-
-    /*
-     * Method to execute a Cloudify command and track its execution time. For the metrics log, a category of "Cloudify"
-     * is used along with a sub-category that identifies the specific call (using the real cloudify-client classname of
-     * the CloudifyRequest<T> parameter).
-     */
-
-
-    protected <T> T executeAndRecordCloudifyRequest(CloudifyRequest<T> request) {
-
-        String requestType;
-        if (request.getClass().getEnclosingClass() != null) {
-            requestType =
-                    request.getClass().getEnclosingClass().getSimpleName() + "." + request.getClass().getSimpleName();
-        } else {
-            requestType = request.getClass().getSimpleName();
-        }
-
-        int retryDelay = poConfig.getRetryDelay();
-        int retryCount = poConfig.getRetryCount();
-        String retryCodes = poConfig.getRetryCodes();
-
-        // Run the actual command. All exceptions will be propagated
-        while (true) {
-            try {
-                return request.execute();
-            } catch (CloudifyResponseException e) {
-                boolean retry = false;
-                if (retryCodes != null) {
-                    int code = e.getStatus();
-                    logger.debug("Config values RetryDelay: {} RetryCount:{} RetryCodes:{} ResponseCode:{}", retryDelay,
-                            retryCount, retryCodes, code);
-                    for (String rCode : retryCodes.split(",")) {
-                        try {
-                            if (retryCount > 0 && code == Integer.parseInt(rCode)) {
-                                retryCount--;
-                                retry = true;
-                                logger.debug(
-                                        "CloudifyResponseException ResponseCode:{} request:{} Retry indicated. Attempts remaining:{}",
-                                        code, requestType, retryCount);
-                                break;
-                            }
-                        } catch (NumberFormatException e1) {
-                            logger.error("{} No retries. Exception in parsing retry code in config:{} {}",
-                                    MessageEnum.RA_CONFIG_EXC, rCode, ErrorCode.SchemaError.getValue());
-                            throw e;
-                        }
-                    }
-                }
-                if (retry) {
-                    sleep(retryDelay * 1000L);
-                } else
-                    throw e; // exceeded retryCount or code is not retryable
-            } catch (CloudifyConnectException e) {
-                // Connection to Cloudify failed
-                if (retryCount > 0) {
-                    retryCount--;
-                    logger.debug(" request: {} Retry indicated. Attempts remaining:{}", requestType, retryCount);
-                    sleep(retryDelay * 1000L);
-                } else
-                    throw e;
-
-            }
-        }
-    }
-
-    /*
-     * Convert an Exception on a Cloudify call to an MsoCloudifyException. This method supports
-     * CloudifyResponseException and CloudifyConnectException.
-     */
-    protected MsoException cloudifyExceptionToMsoException(CloudifyBaseException e, String context) {
-        MsoException me = null;
-
-        if (e instanceof CloudifyResponseException) {
-            CloudifyResponseException re = (CloudifyResponseException) e;
-
-            try {
-                // Failed Cloudify calls return an error entity body.
-                CloudifyError error = re.getResponse().getErrorEntity(CloudifyError.class);
-                logger.error("{} {} {} Exception - Cloudify Error on {}: {}", MessageEnum.RA_CONNECTION_EXCEPTION,
-                        CLOUDIFY, ErrorCode.DataError.getValue(), context, error.getErrorCode());
-                String fullError = error.getErrorCode() + ": " + error.getMessage();
-                logger.debug(fullError);
-                me = new MsoCloudifyException(re.getStatus(), re.getMessage(), fullError);
-            } catch (Exception e2) {
-                // Couldn't parse the body as a "CloudifyError". Report the original HTTP error.
-                logger.error("{} {} {} Exception - HTTP Error on {}: {}, {} ", MessageEnum.RA_CONNECTION_EXCEPTION,
-                        CLOUDIFY, ErrorCode.DataError.getValue(), context, re.getStatus(), e.getMessage(), e2);
-                me = new MsoCloudifyException(re.getStatus(), re.getMessage(), "");
-            }
-
-            // Add the context of the error
-            me.addContext(context);
-
-            // Generate an alarm for 5XX and higher errors.
-            if (re.getStatus() >= 500) {
-
-            }
-        } else if (e instanceof CloudifyConnectException) {
-            CloudifyConnectException ce = (CloudifyConnectException) e;
-
-            me = new MsoIOException(ce.getMessage());
-            me.addContext(context);
-
-            // Generate an alarm for all connection errors.
-
-            logger.error("{} {} {} Cloudify connection error on {}: ", MessageEnum.RA_CONNECTION_EXCEPTION, CLOUDIFY,
-                    ErrorCode.DataError.getValue(), context, e);
-        }
-
-        return me;
-    }
-
-
-
-    /*******************************************************************************
-     *
-     * Methods (and associated utilities) to implement the VduPlugin interface
-     *
-     *******************************************************************************/
-
-    /**
-     * VduPlugin interface for instantiate function.
-     *
-     * This one is a bit more complex, in that it will first upload the blueprint if needed, then create the Cloudify
-     * deployment and execute the install workflow.
-     *
-     * This implementation also merges any parameters defined in the ENV file with the other other input parameters for
-     * any undefined parameters). The basic MsoCloudifyUtils separates blueprint management from deploument actions, but
-     * the VduPlugin does not declare blueprint management operations.
-     */
-    @Override
-    public VduInstance instantiateVdu(CloudInfo cloudInfo, String instanceName, Map<String, Object> inputs,
-            VduModelInfo vduModel, boolean rollbackOnFailure) throws VduException {
-        String cloudSiteId = cloudInfo.getCloudSiteId();
-        String tenantId = cloudInfo.getTenantId();
-
-        // Translate the VDU ModelInformation structure to that which is needed for
-        // creating and uploading a blueprint. Use the model customization UUID as
-        // the blueprint identifier.
-
-        String blueprintId = vduModel.getModelCustomizationUUID();
-
-        try {
-
-            if (!isBlueprintLoaded(cloudSiteId, blueprintId)) {
-                logger.debug("Blueprint {} is not loaded.  Will upload it now.", blueprintId);
-
-                // Prepare the blueprint inputs. Need the set of blueprint templates and files,
-                // plus the main blueprint name.
-                Map<String, byte[]> blueprintFiles = new HashMap<>();
-                String mainTemplate = "";
-
-                // Add all of the blueprint artifacts from the VDU model
-                List<VduArtifact> vduArtifacts = vduModel.getArtifacts();
-                for (VduArtifact vduArtifact : vduArtifacts) {
-                    // Add all artifacts to the blueprint, with one exception.
-                    // ENVIRONMENT files will be processed later as additional parameters.
-
-                    ArtifactType artifactType = vduArtifact.getType();
-                    if (artifactType != ArtifactType.ENVIRONMENT) {
-                        blueprintFiles.put(vduArtifact.getName(), vduArtifact.getContent());
-
-                        if (artifactType == ArtifactType.MAIN_TEMPLATE) {
-                            mainTemplate = vduArtifact.getName();
-                        }
-                    }
-                }
-
-                // Upload the blueprint package
-                uploadBlueprint(cloudSiteId, blueprintId, mainTemplate, blueprintFiles, false);
-            }
-        } catch (Exception e) {
-            throw new VduException("CloudifyUtils (instantiateVDU): blueprint Exception", e);
-        }
-
-
-        // Next, create and install a new deployment based on the blueprint.
-        // For Cloudify, the deploymentId is specified by the client. Just use the instance name
-        // as the ID.
-
-        try {
-            // Query the Cloudify Deployment object and populate a VduInstance
-            DeploymentInfo deployment =
-                    createAndInstallDeployment(cloudSiteId, tenantId, instanceName, blueprintId, inputs, true, // (poll
-                                                                                                               // for
-                                                                                                               // completion)
-                            vduModel.getTimeoutMinutes(), rollbackOnFailure);
-
-            return deploymentInfoToVduInstance(deployment);
-        } catch (Exception e) {
-            throw new VduException("CloudifyUtils (instantiateVDU): Create-and-install-deployment Exception", e);
-        }
-    }
-
-
-    /**
-     * VduPlugin interface for query function.
-     */
-    @Override
-    public VduInstance queryVdu(CloudInfo cloudInfo, String instanceId) throws VduException {
-        String cloudSiteId = cloudInfo.getCloudSiteId();
-        String tenantId = cloudInfo.getTenantId();
-
-        try {
-            // Query the Cloudify Deployment object and populate a VduInstance
-            DeploymentInfo deployment = queryDeployment(cloudSiteId, tenantId, instanceId);
-
-            return deploymentInfoToVduInstance(deployment);
-        } catch (Exception e) {
-            throw new VduException("Query VDU Exception", e);
-        }
-    }
-
-
-    /**
-     * VduPlugin interface for delete function.
-     */
-    @Override
-    public VduInstance deleteVdu(CloudInfo cloudInfo, String instanceId, int timeoutMinutes) throws VduException {
-        String cloudSiteId = cloudInfo.getCloudSiteId();
-        String tenantId = cloudInfo.getTenantId();
-
-        try {
-            // Uninstall and delete the Cloudify Deployment
-            DeploymentInfo deployment = uninstallAndDeleteDeployment(cloudSiteId, tenantId, instanceId, timeoutMinutes);
-
-            // Populate a VduInstance based on the deleted Cloudify Deployment object
-            return deploymentInfoToVduInstance(deployment);
-        } catch (Exception e) {
-            throw new VduException("Delete VDU Exception", e);
-        }
-    }
-
-
-    /**
-     * VduPlugin interface for update function.
-     *
-     * Update is currently not supported in the MsoCloudifyUtils implementation. Just return a VduException.
-     *
-     */
-    @Override
-    public VduInstance updateVdu(CloudInfo cloudInfo, String instanceId, Map<String, Object> inputs,
-            VduModelInfo vduModel, boolean rollbackOnFailure) throws VduException {
-        throw new VduException("CloudifyUtils: updateVDU interface not supported");
-    }
-
-
-    /*
-     * Convert the local DeploymentInfo object (Cloudify-specific) to a generic VduInstance object
-     */
-    protected VduInstance deploymentInfoToVduInstance(DeploymentInfo deployment) {
-        VduInstance vduInstance = new VduInstance();
-
-        // only one ID in Cloudify, use for both VDU name and ID
-        vduInstance.setVduInstanceId(deployment.getId());
-        vduInstance.setVduInstanceName(deployment.getId());
-
-        // Copy inputs and outputs
-        vduInstance.setInputs(deployment.getInputs());
-        vduInstance.setOutputs(deployment.getOutputs());
-
-        // Translate the status elements
-        vduInstance.setStatus(deploymentStatusToVduStatus(deployment));
-
-        return vduInstance;
-    }
-
-    protected VduStatus deploymentStatusToVduStatus(DeploymentInfo deployment) {
-        VduStatus vduStatus = new VduStatus();
-
-        // Determine the status based on last action & status
-        // DeploymentInfo object should be enhanced to report a better status internally.
-        DeploymentStatus status = deployment.getStatus();
-
-        if (status == null) {
-            vduStatus.setState(VduStateType.UNKNOWN);
-        } else if (status == DeploymentStatus.NOTFOUND) {
-            vduStatus.setState(VduStateType.NOTFOUND);
-        } else if (status == DeploymentStatus.INSTALLED) {
-            vduStatus.setState(VduStateType.INSTANTIATED);
-        } else if (status == DeploymentStatus.CREATED) {
-            // Deployment exists but is not installed. This shouldn't really happen,
-            // since create + install or uninstall + delete are always done together.
-            // But account for it anyway, assuming the operation is still in progress.
-            String lastAction = deployment.getLastAction();
-            if (lastAction == null)
-                vduStatus.setState(VduStateType.INSTANTIATING);
-            else
-                vduStatus.setState(VduStateType.DELETING);
-        } else if (status == DeploymentStatus.FAILED) {
-            vduStatus.setState(VduStateType.FAILED);
-        } else {
-            vduStatus.setState(VduStateType.UNKNOWN);
-        }
-
-        vduStatus.setErrorMessage(deployment.getErrorMessage());
-        vduStatus.setLastAction(new PluginAction(deployment.getLastAction(), deployment.getActionStatus(),
-                deployment.getErrorMessage()));
-
-        return vduStatus;
-    }
-
-    /*
-     * Return an OpenstackConfig object as expected by Cloudify Openstack Plug-in. Base the values on the CloudSite
-     * definition.
-     */
-    protected OpenstackConfig getOpenstackConfig(CloudSite cloudSite, String tenantId) {
-        OpenstackConfig openstackConfig = new OpenstackConfig();
-        openstackConfig.setRegion(cloudSite.getRegionId());
-        openstackConfig.setAuthUrl(cloudSite.getIdentityService().getIdentityUrl());
-        openstackConfig.setUsername(cloudSite.getIdentityService().getMsoId());
-        openstackConfig
-                .setPassword(CryptoUtils.decryptCloudConfigPassword(cloudSite.getIdentityService().getMsoPass()));
-        openstackConfig.setTenantName(tenantId);
-        return openstackConfig;
-    }
-
-    /*
-     * Return an Azure object as expected by Cloudify Azure Plug-in. Base the values on the CloudSite definition.
-     */
-    protected AzureConfig getAzureConfig(CloudSite cloudSite, String tenantId) {
-        AzureConfig azureConfig = new AzureConfig();
-        // TODO: Use adminTenant for now, instead of adding another element
-        azureConfig.setSubscriptionId(cloudSite.getIdentityService().getAdminTenant());
-        azureConfig.setTenantId(tenantId);
-        azureConfig.setClientId(cloudSite.getIdentityService().getMsoId());
-        azureConfig.setClientSecret(cloudSite.getIdentityService().getMsoPass());
-        return azureConfig;
-    }
-
-    private void sleep(long time) {
-        try {
-            Thread.sleep(time);
-        } catch (InterruptedException e) {
-            logger.debug("Thread interrupted while sleeping!", e);
-            Thread.currentThread().interrupt();
-        }
-    }
-}
index 16671bb..6eb7e3d 100644 (file)
@@ -22,11 +22,11 @@ package org.onap.so.openstack.utils;
 
 import java.io.Serializable;
 import java.util.List;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import org.apache.commons.lang.builder.ToStringBuilder;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonPropertyOrder({"id", "links"})
index 1f55aa9..f9a8093 100644 (file)
 package org.onap.so.openstack.utils;
 
 import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
-import org.apache.commons.lang.builder.ToStringBuilder;
 
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
index 9fa4557..dcc4f50 100644 (file)
 package org.onap.so.openstack.utils;
 
 import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 import com.fasterxml.jackson.databind.JsonNode;
-import org.apache.commons.lang.builder.ToStringBuilder;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonIgnoreProperties(ignoreUnknown = true)
index c575304..ba5e449 100644 (file)
 package org.onap.so.openstack.utils;
 
 import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 import com.fasterxml.jackson.databind.JsonNode;
-import org.apache.commons.lang.builder.ToStringBuilder;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonPropertyOrder({"template_type", "workload_id", "workload_status", "workload_status_reason"})
index 95dd48c..d679b03 100644 (file)
 package org.onap.so.openstack.utils;
 
 import java.io.Serializable;
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.woorea.openstack.heat.model.CreateStackParam;
-import org.apache.commons.lang.builder.ToStringBuilder;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @JsonPropertyOrder({"generic-vnf-id", "vf-module-id", "vf-module-model-invariant-id", "vf-module-model-version-id",
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/beans/DeploymentInfoBuilderTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/beans/DeploymentInfoBuilderTest.java
deleted file mode 100644 (file)
index 9fbb45a..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 Nokia.
- * ============================================================================= 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.beans;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import com.google.common.collect.ImmutableMap;
-import org.junit.Test;
-import org.onap.so.cloudify.v3.model.Execution;
-
-public class DeploymentInfoBuilderTest {
-
-    private static final String ERROR_MESSAGE = "something went wrong";
-    private static final String INSTALL_WORKFLOW_ID = "install";
-    private static final String UNINSTALL_WORKFLOW_ID = "uninstall";
-
-    @Test
-    public void shouldConstructDeploymentInfo_withBasicValues() {
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().withId("id").withStatus(DeploymentStatus.CREATED)
-                .withDeploymentOutputs(ImmutableMap.of()).withDeploymentInputs(ImmutableMap.of())
-                .withActionStatus("started").withLastAction(INSTALL_WORKFLOW_ID).withErrorMessage(ERROR_MESSAGE)
-                .build();
-
-        assertThat(deploymentInfo.getId()).isEqualTo("id");
-        assertThat(deploymentInfo.getStatus()).isEqualTo(DeploymentStatus.CREATED);
-        assertThat(deploymentInfo.getOutputs()).isEqualTo(ImmutableMap.of());
-        assertThat(deploymentInfo.getInputs()).isEqualTo(ImmutableMap.of());
-        assertThat(deploymentInfo.getActionStatus()).isEqualTo("started");
-        assertThat(deploymentInfo.getLastAction()).isEqualTo(INSTALL_WORKFLOW_ID);
-        assertThat(deploymentInfo.getErrorMessage()).isEqualTo(ERROR_MESSAGE);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withCreateDeploymentStatus_fromNullExecution() {
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().fromExecution(null).build();
-
-        assertThat(deploymentInfo.getStatus()).isEqualTo(DeploymentStatus.CREATED);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withInstalledDeploymentStatus_fromTerminatedExecution() {
-        String workflowIdLastAction = INSTALL_WORKFLOW_ID;
-        String status = "terminated";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.INSTALLED;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withFailedDeploymentStatus_fromFailedInstallExecution() {
-        String workflowIdLastAction = INSTALL_WORKFLOW_ID;
-        String status = "failed";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.FAILED;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withInstallingDeploymentStatus_fromStartedExecution() {
-        String workflowIdLastAction = INSTALL_WORKFLOW_ID;
-        String status = "started";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.INSTALLING;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withInstallingDeploymentStatus_fromPendingExecution() {
-        String workflowIdLastAction = INSTALL_WORKFLOW_ID;
-        String status = "pending";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.INSTALLING;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withUnknownDeploymentStatus_fromUnmappableExecution() {
-        String workflowIdLastAction = INSTALL_WORKFLOW_ID;
-        String status = "strangeStatus";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.UNKNOWN;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withCreatedDeploymentStatus_fromTerminatedExecution() {
-        String workflowIdLastAction = UNINSTALL_WORKFLOW_ID;
-        String status = "terminated";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.CREATED;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withFailedDeploymentStatus_fromFailedUninstallExecution() {
-        String workflowIdLastAction = UNINSTALL_WORKFLOW_ID;
-        String status = "failed";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.FAILED;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withUninstallingDeploymentStatus_fromStartedUninstallExecution() {
-        String workflowIdLastAction = UNINSTALL_WORKFLOW_ID;
-        String status = "started";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.UNINSTALLING;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withUninstallingDeploymentStatus_fromPendingUninstallExecution() {
-        String workflowIdLastAction = UNINSTALL_WORKFLOW_ID;
-        String status = "pending";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.UNINSTALLING;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withUnknownDeploymentStatus_fromUnmappableUninstallExecution() {
-        String workflowIdLastAction = UNINSTALL_WORKFLOW_ID;
-        String status = "strangeStatus";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.UNKNOWN;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldConstructDeploymentInfo_withUnknownDeploymentStatus_forUnknownExecutionWorkflowId() {
-        String workflowIdLastAction = "strangeWorkflowIdLastAction";
-        String status = "strangeStatus";
-        DeploymentStatus expectedDeploymentStatus = DeploymentStatus.UNKNOWN;
-        verifyDeploymentInfoConstruction(workflowIdLastAction, status, expectedDeploymentStatus);
-    }
-
-    @Test
-    public void shouldSetEmptyOutputsMapWhenInputIsNull() {
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().withDeploymentOutputs(null).build();
-        assertThat(deploymentInfo.getOutputs()).isEmpty();
-    }
-
-    private void verifyDeploymentInfoConstruction(String workflowIdLastAction, String actionStatus,
-            DeploymentStatus expectedDeploymentStatus) {
-
-        Execution execution = new Execution();
-        execution.setWorkflowId(workflowIdLastAction);
-        execution.setStatus(actionStatus);
-        execution.setError(ERROR_MESSAGE);
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().fromExecution(execution).build();
-
-        assertThat(deploymentInfo.getLastAction()).isEqualTo(workflowIdLastAction);
-        assertThat(deploymentInfo.getActionStatus()).isEqualTo(actionStatus);
-        assertThat(deploymentInfo.getErrorMessage()).isEqualTo(ERROR_MESSAGE);
-        assertThat(deploymentInfo.getStatus()).isEqualTo(expectedDeploymentStatus);
-    }
-}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyExceptionTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyExceptionTest.java
deleted file mode 100644 (file)
index 1506fda..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 TechMahindra
- * ================================================================================ 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.exceptions;
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-public class MsoCloudifyExceptionTest {
-
-    @Test
-    public void test() {
-        Exception e = null;
-        boolean pendingWorkflow = true;
-        MsoCloudifyException mce = new MsoCloudifyException(200, "message", "detail");
-        MsoCloudifyException mcl = new MsoCloudifyException(200, "message", "detail", e);
-        mce.setPendingWorkflow(pendingWorkflow);
-        assert (mcl.toString() != null);
-        assertNotNull(mce);
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyTest.java
deleted file mode 100644 (file)
index 25dcae3..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 TechMahindra
- * ================================================================================ 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.exceptions;
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-public class MsoCloudifyTest {
-
-    @Test
-    public void test() {
-        MsoBlueprintAlreadyExists mbae = new MsoBlueprintAlreadyExists("blueprintId", "cloud");
-        MsoCloudifyManagerNotFound mcm = new MsoCloudifyManagerNotFound("cloudSiteId");
-        MsoDeploymentAlreadyExists mdae = new MsoDeploymentAlreadyExists("deploymentId", "cloud");
-        assertNotNull((mbae));
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyTimeoutTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyTimeoutTest.java
deleted file mode 100644 (file)
index dc74d83..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 TechMahindra
- * ================================================================================ 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.exceptions;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.mock;
-import org.junit.Test;
-import org.onap.so.cloudify.v3.model.Execution;
-
-public class MsoCloudifyTimeoutTest {
-
-    @Test
-    public void test() {
-        Execution execution = mock(Execution.class);
-        MsoCloudifyTimeout mct = new MsoCloudifyTimeout(execution);
-        mct.getExecution();
-        assert (mct.toString() != null);
-        assertNotNull(mct);
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyWorkflowExceptionTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/exceptions/MsoCloudifyWorkflowExceptionTest.java
deleted file mode 100644 (file)
index b8b2c97..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 TechMahindra
- * ================================================================================ 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.exceptions;
-
-import static org.junit.Assert.*;
-import org.junit.Test;
-
-public class MsoCloudifyWorkflowExceptionTest {
-
-    @Test
-    public void test() {
-        MsoCloudifyWorkflowException mcw =
-                new MsoCloudifyWorkflowException("message", "id", "workflowId", "workflowStatus");
-        mcw.getWorkflowStatus();
-        assertFalse(mcw.isWorkflowStillRunning());
-
-    }
-
-}
diff --git a/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java b/adapters/mso-adapter-utils/src/test/java/org/onap/so/cloudify/utils/MsoCloudifyUtilsTest.java
deleted file mode 100644 (file)
index d141159..0000000
+++ /dev/null
@@ -1,336 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2018 Nokia.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.utils;
-
-import static com.shazam.shazamcrest.MatcherAssert.assertThat;
-import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import org.junit.Assert;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.onap.so.adapters.vdu.CloudInfo;
-import org.onap.so.adapters.vdu.PluginAction;
-import org.onap.so.adapters.vdu.VduArtifact;
-import org.onap.so.adapters.vdu.VduArtifact.ArtifactType;
-import org.onap.so.adapters.vdu.VduInstance;
-import org.onap.so.adapters.vdu.VduModelInfo;
-import org.onap.so.adapters.vdu.VduStateType;
-import org.onap.so.adapters.vdu.VduStatus;
-import org.onap.so.cloud.CloudConfig;
-import org.onap.so.cloudify.beans.DeploymentInfo;
-import org.onap.so.cloudify.beans.DeploymentInfoBuilder;
-import org.onap.so.cloudify.beans.DeploymentStatus;
-import org.onap.so.cloudify.v3.client.Cloudify;
-import org.onap.so.cloudify.v3.model.AzureConfig;
-import org.onap.so.db.catalog.beans.CloudIdentity;
-import org.onap.so.db.catalog.beans.CloudSite;
-import org.onap.so.db.catalog.beans.CloudifyManager;
-import org.onap.so.db.catalog.beans.HeatTemplateParam;
-import org.onap.so.openstack.exceptions.MsoAdapterException;
-import org.onap.so.openstack.exceptions.MsoException;
-import org.skyscreamer.jsonassert.JSONAssert;
-import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class MsoCloudifyUtilsTest {
-
-    private static final String CLOUD_SITE_ID = "cloudSiteIdTest";
-    private static final String BLUEPRINT_ID = "bluePrintIdTest";
-    private static final String FILE_NAME = "fileName";
-
-    @Test
-    public void instantiateVduTest() throws MsoException {
-        VduInstance expected = new VduInstance();
-        expected.setVduInstanceId("id");
-        expected.setVduInstanceName("id");
-        VduStatus status = new VduStatus();
-        status.setState(VduStateType.INSTANTIATED);
-        status.setLastAction(new PluginAction(null, null, null));
-        expected.setStatus(status);
-
-        MsoCloudifyUtils cloudify = Mockito.spy(MsoCloudifyUtils.class);
-        CloudSite site = new CloudSite();
-        Optional<CloudSite> opSite = Optional.ofNullable(site);
-        CloudConfig config = Mockito.mock(CloudConfig.class);
-        cloudify.cloudConfig = config;
-        Cloudify cloudifyClient = new Cloudify("cloudSite");
-        CloudInfo cloudInfo = new CloudInfo();
-        cloudInfo.setCloudSiteId("cloudSiteId");
-        cloudInfo.setTenantId("tenantId");
-        VduModelInfo vduModel = new VduModelInfo();
-        vduModel.setModelCustomizationUUID("blueprintId");
-        vduModel.setTimeoutMinutes(1);
-        VduArtifact artifact = new VduArtifact();
-        artifact.setName("name");
-        artifact.setType(ArtifactType.MAIN_TEMPLATE);
-        byte[] content = new byte[1];
-        artifact.setContent(content);
-        List<VduArtifact> artifacts = new ArrayList<>();
-        artifacts.add(artifact);
-        vduModel.setArtifacts(artifacts);
-        DeploymentInfo deployment =
-                new DeploymentInfoBuilder().withId("id").withStatus(DeploymentStatus.INSTALLED).build();
-        Map<String, byte[]> blueprintFiles = new HashMap<>();
-        blueprintFiles.put(artifact.getName(), artifact.getContent());
-        String instanceName = "instanceName";
-        Map<String, Object> inputs = new HashMap<>();
-        boolean rollbackOnFailure = true;
-
-        when(config.getCloudSite(cloudInfo.getCloudSiteId())).thenReturn(opSite);
-        doReturn(false).when(cloudify).isBlueprintLoaded(cloudInfo.getCloudSiteId(),
-                vduModel.getModelCustomizationUUID());
-        doReturn(cloudifyClient).when(cloudify).getCloudifyClient(site);
-        doReturn(true).when(cloudify).uploadBlueprint(cloudifyClient, vduModel.getModelCustomizationUUID(),
-                artifact.getName(), blueprintFiles);
-        doReturn(deployment).when(cloudify).createAndInstallDeployment(cloudInfo.getCloudSiteId(),
-                cloudInfo.getTenantId(), instanceName, vduModel.getModelCustomizationUUID(), inputs, true,
-                vduModel.getTimeoutMinutes(), rollbackOnFailure);
-
-        VduInstance actual = cloudify.instantiateVdu(cloudInfo, instanceName, inputs, vduModel, rollbackOnFailure);
-        assertThat(actual, sameBeanAs(expected));
-    }
-
-    @Test
-    public void queryVduTest() throws MsoException {
-        VduInstance expected = new VduInstance();
-        expected.setVduInstanceId("id");
-        expected.setVduInstanceName("id");
-        VduStatus status = new VduStatus();
-        status.setState(VduStateType.INSTANTIATED);
-        status.setLastAction(new PluginAction(null, null, null));
-        expected.setStatus(status);
-
-        CloudInfo cloudInfo = new CloudInfo();
-        cloudInfo.setCloudSiteId("cloudSiteId");
-        cloudInfo.setTenantId("tenantId");
-        DeploymentInfo deployment =
-                new DeploymentInfoBuilder().withId("id").withStatus(DeploymentStatus.INSTALLED).build();
-        String instanceId = "instanceId";
-
-        MsoCloudifyUtils cloudify = Mockito.spy(MsoCloudifyUtils.class);
-
-        doReturn(deployment).when(cloudify).queryDeployment(cloudInfo.getCloudSiteId(), cloudInfo.getTenantId(),
-                instanceId);
-
-        VduInstance actual = cloudify.queryVdu(cloudInfo, instanceId);
-
-        assertThat(actual, sameBeanAs(expected));
-    }
-
-    @Test
-    public void deleteVduTest() throws MsoException {
-        VduInstance expected = new VduInstance();
-        expected.setVduInstanceId("id");
-        expected.setVduInstanceName("id");
-        VduStatus status = new VduStatus();
-        status.setState(VduStateType.DELETING);
-        status.setLastAction(new PluginAction("deleting", null, null));
-        expected.setStatus(status);
-
-        CloudInfo cloudInfo = new CloudInfo();
-        cloudInfo.setCloudSiteId("cloudSiteId");
-        cloudInfo.setTenantId("tenantId");
-        String instanceId = "instanceId";
-        int timeoutMinutes = 1;
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().withId("id").withStatus(DeploymentStatus.CREATED)
-                .withLastAction("deleting").build();
-        MsoCloudifyUtils cloudify = Mockito.spy(MsoCloudifyUtils.class);
-        doReturn(deploymentInfo).when(cloudify).uninstallAndDeleteDeployment(cloudInfo.getCloudSiteId(),
-                cloudInfo.getTenantId(), instanceId, timeoutMinutes);
-
-        VduInstance actual = cloudify.deleteVdu(cloudInfo, instanceId, timeoutMinutes);
-
-        assertThat(actual, sameBeanAs(expected));
-    }
-
-    @Test
-    public void deploymentInfoToVduInstanceTest() {
-        VduInstance expected = new VduInstance();
-        expected.setVduInstanceId("id");
-        expected.setVduInstanceName("id");
-        VduStatus status = new VduStatus();
-        status.setState(VduStateType.DELETING);
-        status.setLastAction(new PluginAction("deleting", null, null));
-        expected.setStatus(status);
-
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().withId("id").withStatus(DeploymentStatus.CREATED)
-                .withLastAction("deleting").build();
-
-        MsoCloudifyUtils cloudify = new MsoCloudifyUtils();
-
-        VduInstance actual = cloudify.deploymentInfoToVduInstance(deploymentInfo);
-
-        assertThat(actual, sameBeanAs(expected));
-    }
-
-    @Test
-    public void deploymentStatusToVduStatusTest() {
-        VduStatus expected = new VduStatus();
-        expected.setState(VduStateType.DELETING);
-        expected.setLastAction(new PluginAction("deleting", null, null));
-
-        DeploymentInfo deploymentInfo = new DeploymentInfoBuilder().withId("id").withStatus(DeploymentStatus.CREATED)
-                .withLastAction("deleting").build();
-
-        MsoCloudifyUtils cloudify = new MsoCloudifyUtils();
-
-        VduStatus actual = cloudify.deploymentStatusToVduStatus(deploymentInfo);
-
-        assertThat(actual, sameBeanAs(expected));
-    }
-
-    @Test
-    public void getAzureConfigTest() {
-        AzureConfig expected = new AzureConfig();
-        expected.setSubscriptionId("subscriptionId");
-        expected.setTenantId("tenantId");
-        expected.setClientId("msoId");
-        expected.setClientSecret("msoPass");
-
-        MsoCloudifyUtils cloudify = new MsoCloudifyUtils();
-        CloudSite cloudSite = Mockito.mock(CloudSite.class);
-        CloudIdentity cloudIdentity = Mockito.mock(CloudIdentity.class);
-        when(cloudSite.getIdentityService()).thenReturn(cloudIdentity);
-        when(cloudIdentity.getAdminTenant()).thenReturn("subscriptionId");
-        when(cloudIdentity.getMsoId()).thenReturn("msoId");
-        when(cloudIdentity.getMsoPass()).thenReturn("msoPass");
-        String tenantId = "tenantId";
-        AzureConfig actual = cloudify.getAzureConfig(cloudSite, tenantId);
-
-        assertThat(actual, sameBeanAs(expected));
-    }
-
-    @Test
-    public void uploadBlueprintSuccessful() throws MsoException {
-        // given
-        MsoCloudifyUtils testedObjectSpy = spy(MsoCloudifyUtils.class);
-        testedObjectSpy.cloudConfig = mock(CloudConfig.class);
-        Map<String, byte[]> blueprints = new HashMap<>();
-
-        mockCloudConfig(testedObjectSpy);
-        doReturn(true).when(testedObjectSpy).uploadBlueprint(any(Cloudify.class), eq(BLUEPRINT_ID), eq(FILE_NAME),
-                eq(blueprints));
-        // when
-        testedObjectSpy.uploadBlueprint(CLOUD_SITE_ID, BLUEPRINT_ID, FILE_NAME, blueprints, true);
-        // then
-        verify(testedObjectSpy).uploadBlueprint(any(Cloudify.class), eq(BLUEPRINT_ID), eq(FILE_NAME), eq(blueprints));
-    }
-
-    @Test
-    public void uploadBlueprint_exceptionThrown_blueprintExists() throws MsoException {
-        // given
-        MsoCloudifyUtils testedObjectSpy = spy(MsoCloudifyUtils.class);
-        testedObjectSpy.cloudConfig = mock(CloudConfig.class);
-        Map<String, byte[]> blueprints = new HashMap<>();
-
-        mockCloudConfig(testedObjectSpy);
-        doReturn(false).when(testedObjectSpy).uploadBlueprint(any(Cloudify.class), eq(BLUEPRINT_ID), eq(FILE_NAME),
-                eq(blueprints));
-        // when
-        try {
-            testedObjectSpy.uploadBlueprint(CLOUD_SITE_ID, BLUEPRINT_ID, FILE_NAME, blueprints, true);
-            // then
-            fail("MsoAdapterException should be thrown");
-        } catch (MsoAdapterException e) {
-            Assert.assertEquals(e.getMessage(), "Blueprint already exists");
-        }
-        verify(testedObjectSpy).uploadBlueprint(any(Cloudify.class), eq(BLUEPRINT_ID), eq(FILE_NAME), eq(blueprints));
-    }
-
-    @Test
-    public void convertInputValueTest() throws JsonParseException, JsonMappingException, IOException {
-        MsoCloudifyUtils utils = new MsoCloudifyUtils();
-        ObjectMapper mapper = new ObjectMapper();
-        HeatTemplateParam paramNum = new HeatTemplateParam();
-        paramNum.setParamType("number");
-        paramNum.setParamName("my-number");
-
-        HeatTemplateParam paramString = new HeatTemplateParam();
-        paramString.setParamType("string");
-        paramString.setParamName("my-string");
-
-        HeatTemplateParam paramJson = new HeatTemplateParam();
-        paramJson.setParamType("json");
-        paramJson.setParamName("my-json");
-
-        HeatTemplateParam paramJsonEscaped = new HeatTemplateParam();
-        paramJsonEscaped.setParamType("json");
-        paramJsonEscaped.setParamName("my-json-escaped");
-
-        Map<String, Object> jsonMap =
-                mapper.readValue(getJson("free-form.json"), new TypeReference<Map<String, Object>>() {});
-
-        assertEquals(3, utils.convertInputValue("3", paramNum));
-        assertEquals("hello", utils.convertInputValue("hello", paramString));
-        assertTrue("expect no change in type", utils.convertInputValue(jsonMap, paramJson) instanceof Map);
-        assertTrue("expect string to become jsonNode",
-                utils.convertInputValue(getJson("free-form.json"), paramJsonEscaped) instanceof JsonNode);
-
-        JSONAssert.assertEquals(getJson("free-form.json"),
-                mapper.writeValueAsString(utils.convertInputValue(getJson("free-form.json"), paramJsonEscaped)), false);
-
-    }
-
-    private String getJson(String filename) throws IOException {
-        return new String(Files.readAllBytes(Paths.get("src/test/resources/__files/MsoHeatUtils/" + filename)));
-    }
-
-    private void mockCloudConfig(MsoCloudifyUtils testedObjectSpy) {
-        CloudifyManager cloudifyManager = createCloudifyManager();
-        when(testedObjectSpy.cloudConfig.getCloudSite(CLOUD_SITE_ID)).thenReturn(Optional.of(createCloudSite()));
-        when(testedObjectSpy.cloudConfig.getCloudifyManager(CLOUD_SITE_ID)).thenReturn(cloudifyManager);
-    }
-
-    private CloudifyManager createCloudifyManager() {
-        CloudifyManager cloudifyManager = new CloudifyManager();
-        cloudifyManager.setCloudifyUrl("cloudUrlTest");
-        cloudifyManager.setPassword("546573746F736973546573746F736973");
-        return cloudifyManager;
-    }
-
-    private CloudSite createCloudSite() {
-        CloudSite cloudSite = new CloudSite();
-        cloudSite.setCloudifyId(CLOUD_SITE_ID);
-        return cloudSite;
-    }
-
-}
diff --git a/cloudify-client/.gitignore b/cloudify-client/.gitignore
deleted file mode 100644 (file)
index ae3c172..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/bin/
diff --git a/cloudify-client/pom.xml b/cloudify-client/pom.xml
deleted file mode 100644 (file)
index ccf2c42..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.onap.so</groupId>
-    <artifactId>so</artifactId>
-    <version>1.7.1-SNAPSHOT</version>
-  </parent>
-
-  <groupId>org.onap.so</groupId>
-  <artifactId>cloudify-client</artifactId>
-  <packaging>jar</packaging>
-  <name>Cloudify Rest Client</name>
-  <description>Java client for Cloudify REST interface</description>
-
-  <build>
-    <finalName>${project.artifactId}-${project.version}</finalName>
-    <plugins>
-      <plugin>
-        <artifactId>maven-jar-plugin</artifactId>
-        <!--<version>2.6</version>-->
-        <version>3.0.2</version>
-        <configuration>
-          <classesDirectory>target/classes</classesDirectory>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.onap.so</groupId>
-      <artifactId>common</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpcore</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.6</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyBaseException.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyBaseException.java
deleted file mode 100644 (file)
index b8006cb..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-/**
- * A common abstract parent of all Openstack Exception types, allowing calling classes the choice to catch all error
- * exceptions together.
- */
-public abstract class CloudifyBaseException extends RuntimeException {
-    private static final long serialVersionUID = 1L;
-
-    /*
-     * Implement only the basic constructors
-     */
-    public CloudifyBaseException() {}
-
-    public CloudifyBaseException(String message) {
-        super(message);
-    }
-
-    public CloudifyBaseException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClient.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClient.java
deleted file mode 100644 (file)
index d15fbf9..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import java.util.Properties;
-import org.onap.so.cloudify.connector.http.HttpClientConnector;
-
-public class CloudifyClient {
-
-    protected String managerEndpoint;
-    protected String tenant = "default_tenant"; // Note - only default_tenant supported in community edition
-
-    protected CloudifyTokenProvider tokenProvider;
-
-    protected static int AUTHENTICATION_RETRIES = 1;
-
-    protected CloudifyClientConnector connector;
-
-    protected Properties properties = new Properties();
-
-    public CloudifyClient(String managerEndpoint) {
-        this.managerEndpoint = managerEndpoint;
-        this.connector = new HttpClientConnector();
-    }
-
-    public CloudifyClient(String managerEndpoint, String tenant) {
-        this.managerEndpoint = managerEndpoint;
-        this.tenant = tenant;
-        this.connector = new HttpClientConnector();
-    }
-
-    public CloudifyClient(String managerEndpoint, CloudifyClientConnector connector) {
-        this.managerEndpoint = managerEndpoint;
-        this.connector = connector;
-    }
-
-    /**
-     * Execute a Cloudify request by making the REST API call. Return the complete CloudifyResponse structure, which
-     * includes the complete HTTP response.
-     * 
-     * @param request a CloudifyRequest object
-     * @return a CloudifyResponse object
-     */
-    public <T> CloudifyResponse request(CloudifyRequest<T> request) {
-        CloudifyResponseException authException = null;
-
-        for (int i = 0; i <= AUTHENTICATION_RETRIES; i++) {
-            request.endpoint(managerEndpoint);
-            request.header("Tenant", tenant);
-            if (tokenProvider != null)
-                request.header("Authentication-Token", tokenProvider.getToken());
-
-            try {
-                return connector.request(request);
-            } catch (CloudifyResponseException e) {
-                if (e.getStatus() != CloudifyResponseStatus.NOT_AUTHORIZED || tokenProvider == null) {
-                    throw e;
-                }
-                authException = e;
-                tokenProvider.expireToken();
-            }
-        }
-
-        if (authException != null) {
-            throw authException;
-        }
-
-        return null;
-    }
-
-    /**
-     * Execute a CloudifyRequest by sending the REST API call to the Cloudify Manager endpoint. The return type is a
-     * JSON POJO object containing the response body entity.
-     * 
-     * @param request
-     * @return a JSON POJO object specific to the request type
-     */
-    public <T> T execute(CloudifyRequest<T> request) {
-        CloudifyResponse response = request(request);
-
-        if (null == response) {
-            return null;
-        }
-
-        return (request.returnType() != null && request.returnType() != Void.class)
-                ? response.getEntity(request.returnType())
-                : null;
-    }
-
-    public void property(String property, String value) {
-        properties.put(property, value);
-    }
-
-    /**
-     * Set a Token Provider. This class should be able to produce an authentication token on-demand.
-     * 
-     * @param tokenProvider
-     */
-    public void setTokenProvider(CloudifyTokenProvider tokenProvider) {
-        this.tokenProvider = tokenProvider;
-    }
-
-    /**
-     * Manually set the authentication token to use for this client.
-     * 
-     * @param token
-     */
-    public void setToken(String token) {
-        setTokenProvider(new CloudifySimpleTokenProvider(token));
-    }
-
-    /**
-     * Perform a simple GET request with no request message body
-     * 
-     * @param path
-     * @param returnType
-     * @return An object of Class <R>
-     */
-    public <R> CloudifyRequest<R> get(String path, Class<R> returnType) {
-        return new CloudifyRequest<>(this, HttpMethod.GET, path, null, returnType);
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClientConnector.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClientConnector.java
deleted file mode 100644 (file)
index 652df6f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-@FunctionalInterface
-public interface CloudifyClientConnector {
-
-    public <T> CloudifyResponse request(CloudifyRequest<T> request);
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClientTokenProvider.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyClientTokenProvider.java
deleted file mode 100644 (file)
index c4dcc89..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import java.util.Date;
-import org.apache.commons.lang.time.DateUtils;
-import org.onap.so.cloudify.v3.client.Cloudify;
-import org.onap.so.cloudify.v3.client.TokensResource.GetToken;
-import org.onap.so.cloudify.v3.model.Token;
-
-/**
- * Cloudify Token Provider that uses the Cloudify client API itself to obtain a token
- * 
- * @author JC1348
- *
- */
-public class CloudifyClientTokenProvider implements CloudifyTokenProvider {
-
-    String user;
-    String password;
-    String token;
-    Date expiration;
-    Cloudify cloudify = null;
-
-    public CloudifyClientTokenProvider(String cloudifyEndpoint, String user, String password) {
-        this.user = user;
-        this.password = password;
-
-        cloudify = new Cloudify(cloudifyEndpoint);
-    }
-
-    @Override
-    public String getToken() {
-        Date now = new Date();
-        if (token != null && expiration != null && expiration.after(now)) {
-            return token;
-        }
-
-        // Create a "Get Token" request. Force basic authentication to acquire the token itself.
-        GetToken tokenRequest = cloudify.tokens().token();
-        tokenRequest.setBasicAuthentication(user, password);
-        Token newToken = tokenRequest.execute();
-
-        if (newToken != null) {
-            token = newToken.getValue();
-        }
-
-        if (expiration == null) {
-            expiration = new Date();
-        }
-        // TODO: Make this property driven (or see if it comes back somehow in response)
-        expiration = DateUtils.addMinutes(expiration, 10);
-
-        return token;
-    }
-
-    @Override
-    /**
-     * This doesn't actually expire the token in Cloudify. It just prevents this token provider from using it.
-     */
-    public void expireToken() {
-        expiration = null;
-        token = null;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyConnectException.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyConnectException.java
deleted file mode 100644 (file)
index 5bcc27b..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-/**
- * Custom RuntimeException to report connection errors to Openstack endpoints. Must be a RuntimeException to conform
- * with OpenstackClient interface, which does not declare specific Exceptions.
- */
-public class CloudifyConnectException extends CloudifyBaseException {
-
-    private static final long serialVersionUID = 7294957362769575271L;
-
-    public CloudifyConnectException(String message) {
-        super(message);
-    }
-
-    public CloudifyConnectException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyRequest.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyRequest.java
deleted file mode 100644 (file)
index 006768f..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-
-public class CloudifyRequest<R> {
-
-    private CloudifyClient client;
-
-    private String endpoint;
-
-    private HttpMethod method;
-
-    private StringBuilder path = new StringBuilder();
-
-    private Map<String, List<Object>> headers = new HashMap<>();
-
-    private Entity<?> entity;
-
-    private Class<R> returnType;
-
-    private boolean basicAuth = false;
-    private String user = null;
-    private String password = null;
-
-    public CloudifyRequest() {
-
-    }
-
-    public CloudifyRequest(CloudifyClient client, HttpMethod method, CharSequence path, Entity<?> entity,
-            Class<R> returnType) {
-        this.client = client;
-        this.method = method;
-        this.path = new StringBuilder(path);
-        this.entity = entity;
-        this.returnType = returnType;
-        header("Accept", "application/json");
-    }
-
-    public CloudifyRequest<R> endpoint(String endpoint) {
-        this.endpoint = endpoint;
-        return this;
-    }
-
-    public String endpoint() {
-        return endpoint;
-    }
-
-    public CloudifyRequest<R> method(HttpMethod method) {
-        this.method = method;
-        return this;
-    }
-
-    public HttpMethod method() {
-        return method;
-    }
-
-    public CloudifyRequest<R> path(String path) {
-        this.path.append(path);
-        return this;
-    }
-
-    public String path() {
-        return path.toString();
-    }
-
-    public CloudifyRequest<R> header(String name, Object value) {
-        if (value != null) {
-            headers.put(name, Arrays.asList(value));
-        }
-        return this;
-    }
-
-    public Map<String, List<Object>> headers() {
-        return headers;
-    }
-
-    public <T> Entity<T> entity(T entity, String contentType) {
-        return new Entity<>(entity, contentType);
-    }
-
-    public Entity<?> entity() {
-        return entity;
-    }
-
-    public <T> Entity<T> json(T entity) {
-        return entity(entity, "application/json");
-    }
-
-    public void returnType(Class<R> returnType) {
-        this.returnType = returnType;
-    }
-
-    public Class<R> returnType() {
-        return returnType;
-    }
-
-    /*
-     * Use Basic Authentication for this request. If not set, the client will use Token authentication if a token
-     * provider is defined. Otherwise, no authentication will be applied.
-     */
-    public void setBasicAuthentication(String user, String password) {
-        this.basicAuth = true;
-        this.user = user;
-        this.password = password;
-    }
-
-    public boolean isBasicAuth() {
-        return this.basicAuth;
-    }
-
-    public String getUser() {
-        return user;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public R execute() {
-        return client.execute(this);
-    }
-
-    public CloudifyResponse request() {
-        return client.request(this);
-    }
-
-    /*
-     * (non-Javadoc)
-     *
-     * @see java.lang.Object#toString()
-     */
-    @Override
-    public String toString() {
-        return "CloudifyRequest [endpoint=" + endpoint + ", method=" + method + ", path=" + path + ", headers="
-                + headers + ", entity=" + entity + ", returnType=" + returnType + "]";
-    }
-
-    private Map<String, List<Object>> queryParams = new LinkedHashMap<>();
-
-    public Map<String, List<Object>> queryParams() {
-        return queryParams;
-    }
-
-    public CloudifyRequest<R> queryParam(String key, Object value) {
-        if (queryParams.containsKey(key)) {
-            List<Object> values = queryParams.get(key);
-            values.add(value);
-        } else {
-            List<Object> values = new ArrayList<>();
-            values.add(value);
-            queryParams.put(key, values);
-        }
-
-        return this;
-    }
-
-    protected static String buildPath(String... elements) {
-        StringBuilder stringBuilder = new StringBuilder();
-        for (String element : elements) {
-            stringBuilder.append(element);
-        }
-
-        return stringBuilder.toString();
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponse.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponse.java
deleted file mode 100644 (file)
index 6b70e5f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import java.io.InputStream;
-import java.io.Serializable;
-import java.util.Map;
-
-public interface CloudifyResponse extends Serializable {
-
-    public <T> T getEntity(Class<T> returnType);
-
-    public <T> T getErrorEntity(Class<T> returnType);
-
-    public InputStream getInputStream();
-
-    public String getHeader(String name);
-
-    public Map<String, String> headers();
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponseException.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponseException.java
deleted file mode 100644 (file)
index 0ca3212..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import org.onap.so.cloudify.v3.model.CloudifyError;
-
-public class CloudifyResponseException extends CloudifyBaseException {
-
-    private static final long serialVersionUID = 7294957362769575271L;
-
-    private final String message;
-    private final int status;
-
-    // Make the response available for exception handling (includes body)
-    private final CloudifyResponse response;
-
-    public CloudifyResponseException(String message, int status) {
-        this.message = message;
-        this.status = status;
-        this.response = null;
-    }
-
-    // Include the response message itself. The body is a CloudifyError JSON structure.
-    public CloudifyResponseException(String message, int status, CloudifyResponse response) {
-        CloudifyError error = response.getErrorEntity(CloudifyError.class);
-        this.message = message + ": " + error.getErrorCode();
-        this.status = status;
-        this.response = response;
-    }
-
-    public String getMessage() {
-        return message;
-    }
-
-    public int getStatus() {
-        return status;
-    }
-
-    public CloudifyResponse getResponse() {
-        return response;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponseStatus.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyResponseStatus.java
deleted file mode 100644 (file)
index ccdd7a4..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-public class CloudifyResponseStatus {
-
-    public static final int OK = 200;
-
-    public static final int ACCEPTED = 201;
-
-    public static final int BAD_REQUEST = 400;
-
-    public static final int NOT_AUTHORIZED = 401;
-
-    public static final int NOT_FOUND = 404;
-
-    public static final int CONFLICT = 409;
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifySimpleTokenProvider.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifySimpleTokenProvider.java
deleted file mode 100644 (file)
index 0c1e42d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-public class CloudifySimpleTokenProvider implements CloudifyTokenProvider {
-
-    String token;
-
-    public CloudifySimpleTokenProvider(String token) {
-        this.token = token;
-    }
-
-    @Override
-    public String getToken() {
-        return this.token;
-    }
-
-    @Override
-    public void expireToken() {}
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyTokenProvider.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/CloudifyTokenProvider.java
deleted file mode 100644 (file)
index 7c31d92..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-public interface CloudifyTokenProvider {
-
-    String getToken();
-
-    void expireToken();
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/Entity.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/Entity.java
deleted file mode 100644 (file)
index 095582f..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-public class Entity<T> {
-
-    private T entity;
-
-    private String contentType;
-
-    public static <T> Entity<T> json(T entity) {
-        return new Entity<T>(entity, "application/json");
-    }
-
-    public static <T> Entity<T> stream(T entity) {
-        return new Entity<T>(entity, "application/octet-stream");
-    }
-
-    public Entity(T entity, String contentType) {
-        super();
-        this.entity = entity;
-        this.contentType = contentType;
-    }
-
-    /**
-     * @return the entity
-     */
-    public T getEntity() {
-        return entity;
-    }
-
-    /**
-     * @param entity the entity to set
-     */
-    public void setEntity(T entity) {
-        this.entity = entity;
-    }
-
-    /**
-     * @return the contentType
-     */
-    public String getContentType() {
-        return contentType;
-    }
-
-    /**
-     * @param contentType the contentType to set
-     */
-    public void setContentType(String contentType) {
-        this.contentType = contentType;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/HttpMethod.java b/cloudify-client/src/main/java/org/onap/so/cloudify/base/client/HttpMethod.java
deleted file mode 100644 (file)
index 2c5097f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-public enum HttpMethod {
-    HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientConnector.java b/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientConnector.java
deleted file mode 100644 (file)
index 54519ba..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.connector.http;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.UnknownHostException;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpStatus;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.client.HttpResponseException;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.entity.ContentType;
-import org.apache.http.entity.InputStreamEntity;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.onap.so.cloudify.base.client.CloudifyClientConnector;
-import org.onap.so.cloudify.base.client.CloudifyConnectException;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-import org.onap.so.cloudify.base.client.CloudifyResponse;
-import org.onap.so.cloudify.base.client.CloudifyResponseException;
-import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import com.fasterxml.jackson.annotation.JsonRootName;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class HttpClientConnector implements CloudifyClientConnector {
-
-    private static ObjectMapper DEFAULT_MAPPER;
-    private static ObjectMapper WRAPPED_MAPPER;
-
-    private static Logger logger = LoggerFactory.getLogger(HttpClientConnector.class);
-
-    static {
-        DEFAULT_MAPPER = new ObjectMapper();
-
-        DEFAULT_MAPPER.setSerializationInclusion(Include.NON_NULL);
-        DEFAULT_MAPPER.disable(SerializationFeature.INDENT_OUTPUT);
-        DEFAULT_MAPPER.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
-        DEFAULT_MAPPER.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
-
-        WRAPPED_MAPPER = new ObjectMapper();
-
-        WRAPPED_MAPPER.setSerializationInclusion(Include.NON_NULL);
-        WRAPPED_MAPPER.disable(SerializationFeature.INDENT_OUTPUT);
-        WRAPPED_MAPPER.enable(SerializationFeature.WRAP_ROOT_VALUE);
-        WRAPPED_MAPPER.enable(DeserializationFeature.UNWRAP_ROOT_VALUE);
-        WRAPPED_MAPPER.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
-        WRAPPED_MAPPER.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
-    }
-
-    protected static <T> ObjectMapper getObjectMapper(Class<T> type) {
-        return type.getAnnotation(JsonRootName.class) == null ? DEFAULT_MAPPER : WRAPPED_MAPPER;
-    }
-
-    public <T> CloudifyResponse request(CloudifyRequest<T> request) {
-
-        CloseableHttpClient httpClient = null;
-
-        if (request.isBasicAuth()) {
-            // Use Basic Auth for this request.
-            CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-            credentialsProvider.setCredentials(AuthScope.ANY,
-                    new UsernamePasswordCredentials(request.getUser(), request.getPassword()));
-
-            httpClient = HttpClients.custom().setRedirectStrategy(new HttpClientRedirectStrategy())
-                    .setDefaultCredentialsProvider(credentialsProvider).build();
-        } else {
-            // Don't use basic authentication. The Client will attempt Token-based authentication
-            httpClient = HttpClients.custom().setRedirectStrategy(new HttpClientRedirectStrategy()).build();
-        }
-
-        URI uri = null;
-
-        // Build the URI with query params
-        try {
-            URIBuilder uriBuilder = new URIBuilder(request.endpoint() + request.path());
-
-            for (Map.Entry<String, List<Object>> entry : request.queryParams().entrySet()) {
-                for (Object o : entry.getValue()) {
-                    uriBuilder.setParameter(entry.getKey(), String.valueOf(o));
-                }
-            }
-
-            uri = uriBuilder.build();
-        } catch (URISyntaxException e) {
-            throw new HttpClientException(e);
-        }
-
-        HttpEntity entity = null;
-        if (request.entity() != null) {
-            // Special handling for streaming input
-            if (request.entity().getEntity() instanceof InputStream) {
-                // Entity is an InputStream
-                entity = new InputStreamEntity((InputStream) request.entity().getEntity());
-            } else {
-                // Assume to be JSON. Flatten the entity to a Json string
-                try {
-                    // Get appropriate mapper, based on existence of a root element in Entity class
-                    ObjectMapper mapper = getObjectMapper(request.entity().getEntity().getClass());
-
-                    String entityJson = mapper.writeValueAsString(request.entity().getEntity());
-                    entity = new StringEntity(entityJson, ContentType.create(request.entity().getContentType()));
-
-                    logger.debug("Request JSON Body: {}",
-                            entityJson.replaceAll("\"password\":\"[^\"]*\"", "\"password\":\"***\""));
-
-                } catch (JsonProcessingException e) {
-                    throw new HttpClientException("Json processing error on request entity", e);
-                } catch (IOException e) {
-                    throw new HttpClientException("Json IO error on request entity", e);
-                }
-            }
-        }
-
-        // Determine the HttpRequest class based on the method
-        HttpUriRequest httpRequest;
-
-        switch (request.method()) {
-            case POST:
-                HttpPost post = new HttpPost(uri);
-                post.setEntity(entity);
-                httpRequest = post;
-                break;
-
-            case GET:
-                httpRequest = new HttpGet(uri);
-                break;
-
-            case PUT:
-                HttpPut put = new HttpPut(uri);
-                put.setEntity(entity);
-                httpRequest = put;
-                break;
-
-            case DELETE:
-                httpRequest = new HttpDelete(uri);
-                break;
-
-            default:
-                throw new HttpClientException("Unrecognized HTTP Method: " + request.method());
-        }
-
-        for (Entry<String, List<Object>> h : request.headers().entrySet()) {
-            StringBuilder sb = new StringBuilder();
-            for (Object v : h.getValue()) {
-                sb.append(String.valueOf(v));
-            }
-            httpRequest.addHeader(h.getKey(), sb.toString());
-        }
-
-        // Get the Response. But don't get the body entity yet, as this response
-        // will be wrapped in an HttpClientResponse. The HttpClientResponse
-        // buffers the body in constructor, so can close the response here.
-        HttpClientResponse httpClientResponse = null;
-        CloseableHttpResponse httpResponse = null;
-
-        // Catch known HttpClient exceptions, and wrap them in OpenStack Client Exceptions
-        // so calling functions can distinguish. Only RuntimeExceptions are allowed.
-        try {
-            httpResponse = httpClient.execute(httpRequest);
-
-            logger.debug("Response status: {}", httpResponse.getStatusLine().getStatusCode());
-
-            httpClientResponse = new HttpClientResponse(httpResponse);
-
-            int status = httpResponse.getStatusLine().getStatusCode();
-            if (status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED || status == HttpStatus.SC_NO_CONTENT
-                    || status == HttpStatus.SC_ACCEPTED) {
-                return httpClientResponse;
-            }
-        } catch (HttpResponseException e) {
-            // What exactly does this mean? It does not appear to get thrown for
-            // non-2XX responses as documented.
-            logger.error("Client HttpResponseException", e);
-            throw new CloudifyResponseException(e.getMessage(), e.getStatusCode());
-        } catch (UnknownHostException e) {
-            logger.error("Client UnknownHostException", e);
-            throw new CloudifyConnectException("Unknown Host: " + e.getMessage());
-        } catch (IOException e) {
-            // Catch all other IOExceptions and throw as OpenStackConnectException
-            logger.error("Client IOException", e);
-            throw new CloudifyConnectException(e.getMessage());
-        } catch (Exception e) {
-            // Catchall for anything else, must throw as a RuntimeException
-            logger.error("Client exception", e);
-            throw new RuntimeException("Unexpected client exception", e);
-        } finally {
-            // Have the body. Close the stream
-            if (httpResponse != null)
-                try {
-                    httpResponse.close();
-                } catch (IOException e) {
-                    logger.debug("Unable to close HTTP Response: ", e);
-                }
-        }
-
-        // Get here on an error response (4XX-5XX)
-        if (httpResponse != null) {
-            throw new CloudifyResponseException(httpResponse.getStatusLine().getReasonPhrase(),
-                    httpResponse.getStatusLine().getStatusCode(), httpClientResponse);
-        } else {
-            throw new CloudifyResponseException("Null httpResponse", 0, httpClientResponse);
-        }
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientException.java b/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientException.java
deleted file mode 100644 (file)
index 6f170ba..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.connector.http;
-
-/*
- * Declare a RuntimeException since the Interface does not declare any throwables. Any caught exception will be wrapped
- * in HttpClientException
- */
-public class HttpClientException extends RuntimeException {
-
-    private static final long serialVersionUID = 1L;
-
-    public HttpClientException(String s) {
-        super(s);
-    }
-
-    public HttpClientException(Exception e) {
-        super("Caught nested exception in HttpClient", e);
-    }
-
-    public HttpClientException(String s, Exception e) {
-        super(s, e);
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientRedirectStrategy.java b/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientRedirectStrategy.java
deleted file mode 100644 (file)
index b8b4a5b..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.connector.http;
-
-import java.net.URI;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.ProtocolException;
-import org.apache.http.annotation.Immutable;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpHead;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.client.methods.RequestBuilder;
-import org.apache.http.impl.client.DefaultRedirectStrategy;
-import org.apache.http.protocol.HttpContext;
-
-/**
- * Custom {@link org.apache.http.client.RedirectStrategy} implementation that automatically redirects all HEAD, GET and
- * DELETE requests. The {@link org.apache.http.client.DefaultRedirectStrategy} only redirects GET and HEAD
- * automatically, per the HTTP specification (POST and PUT typically have bodies and thus cannot be redirected).
- * 
- * A custom strategy is needed for the Openstack API, which can also send 302 on a DELETE (by name) request, expecting
- * the client to follow the redirect to perform the actual deletion.
- */
-@Immutable
-public class HttpClientRedirectStrategy extends DefaultRedirectStrategy {
-
-    /**
-     * Redirectable methods.
-     */
-    private static final String[] REDIRECT_METHODS =
-            new String[] {HttpGet.METHOD_NAME, HttpDelete.METHOD_NAME, HttpHead.METHOD_NAME};
-
-    /**
-     * Determine if the request should be redirected. This may not actually be needed, since the REDIRECT_METHODS array
-     * has been updated with the DELETE.
-     */
-    @Override
-    protected boolean isRedirectable(final String method) {
-        for (final String m : REDIRECT_METHODS) {
-            if (m.equalsIgnoreCase(method)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Override the default redirect handling method. As implemented in HttpClient, it does not preserve the method on
-     * 301 or 302 responses, always redirecting to a GET.
-     */
-    @Override
-    public HttpUriRequest getRedirect(final HttpRequest request, final HttpResponse response, final HttpContext context)
-            throws ProtocolException {
-
-        final URI uri = getLocationURI(request, response, context);
-        final String method = request.getRequestLine().getMethod();
-        if (method.equalsIgnoreCase(HttpHead.METHOD_NAME)) {
-            return new HttpHead(uri);
-        } else if (method.equalsIgnoreCase(HttpGet.METHOD_NAME)) {
-            return new HttpGet(uri);
-        } else {
-
-            final int status = response.getStatusLine().getStatusCode();
-
-            HttpUriRequest newRequest = null;
-            if (status == HttpStatus.SC_TEMPORARY_REDIRECT || status == HttpStatus.SC_MOVED_TEMPORARILY) {
-                newRequest = RequestBuilder.copy(request).setUri(uri).build();
-            } else {
-                newRequest = new HttpGet(uri);
-            }
-            return newRequest;
-        }
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientResponse.java b/cloudify-client/src/main/java/org/onap/so/cloudify/connector/http/HttpClientResponse.java
deleted file mode 100644 (file)
index f1aa06c..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Modifications Copyright (c) 2019 Samsung
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.connector.http;
-
-import org.apache.http.Header;
-import org.apache.http.HttpResponse;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.onap.so.cloudify.base.client.CloudifyResponse;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-public class HttpClientResponse implements CloudifyResponse {
-
-    private static Logger logger = LoggerFactory.getLogger(HttpClientResponse.class);
-
-    private transient HttpResponse response = null;
-    private String entityBody = null;
-
-    public HttpClientResponse(HttpResponse response) {
-        this.response = response;
-
-        // Read the body so InputStream can be closed
-        if (response.getEntity() == null) {
-            // No body
-            logger.debug("No Response Body");
-            return;
-        }
-
-        ByteArrayOutputStream responseBody = new ByteArrayOutputStream();
-        try {
-            response.getEntity().writeTo(responseBody);
-        } catch (IOException e) {
-            throw new HttpClientException("Error Reading Response Body", e);
-        }
-        entityBody = responseBody.toString();
-        logger.debug(entityBody);
-    }
-
-
-    @Override
-    public <T> T getEntity(Class<T> returnType) {
-        // Get appropriate mapper, based on existence of a root element
-        ObjectMapper mapper = HttpClientConnector.getObjectMapper(returnType);
-
-        T resp = null;
-        try {
-            resp = mapper.readValue(entityBody, returnType);
-        } catch (Exception e) {
-            throw new HttpClientException("Caught exception in getEntity", e);
-        }
-        return resp;
-    }
-
-    @Override
-    public <T> T getErrorEntity(Class<T> returnType) {
-        return getEntity(returnType);
-    }
-
-    @Override
-    public InputStream getInputStream() {
-        return new ByteArrayInputStream(entityBody.getBytes());
-    }
-
-    @Override
-    public String getHeader(String name) {
-        return response.getFirstHeader(name).getValue();
-    }
-
-    @Override
-    public Map<String, String> headers() {
-        Map<String, String> headers = new HashMap<>();
-
-        Header responseHeaders[] = response.getAllHeaders();
-        for (Header h : responseHeaders) {
-            headers.put(h.getName(), h.getValue());
-        }
-
-        return headers;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/BlueprintsResource.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/BlueprintsResource.java
deleted file mode 100644 (file)
index 9877eb9..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import java.io.InputStream;
-import org.onap.so.cloudify.v3.model.Blueprint;
-import org.onap.so.cloudify.v3.model.Blueprints;
-import org.onap.so.cloudify.base.client.Entity;
-import org.onap.so.cloudify.base.client.HttpMethod;
-import org.onap.so.cloudify.base.client.CloudifyClient;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-
-public class BlueprintsResource {
-
-    private final CloudifyClient client;
-    private static final String BLUEPRINTS_PATH = "/api/v3/blueprints/";
-
-    public BlueprintsResource(CloudifyClient client) {
-        this.client = client;
-    }
-
-    /*
-     * Upload a blueprint package directly. The blueprint must be a ZIP archive. However, this method will not validate
-     * this.
-     */
-    public UploadBlueprint uploadFromStream(String blueprintId, String mainFileName, InputStream blueprint) {
-        return new UploadBlueprint(blueprintId, mainFileName, blueprint, null);
-    }
-
-    public UploadBlueprint uploadFromUrl(String blueprintId, String mainFileName, String blueprintUrl) {
-        return new UploadBlueprint(blueprintId, mainFileName, null, blueprintUrl);
-    }
-
-    public ListBlueprints list() {
-        return new ListBlueprints();
-    }
-
-    public GetBlueprint getById(String id) {
-        return new GetBlueprint(id, "");
-    }
-
-    // Return all of the metadata, but not the plan
-    public GetBlueprint getMetadataById(String id) {
-        return new GetBlueprint(id, "?_include=id,main_file_name,description,tenant_name,created_at,updated_at");
-    }
-
-    public DeleteBlueprint deleteById(String id) {
-        return new DeleteBlueprint(id);
-    }
-
-    public class UploadBlueprint extends CloudifyRequest<Blueprint> {
-        public UploadBlueprint(String blueprintId, String mainFileName, InputStream blueprint, String blueprintUrl) {
-            // Initialize the request elements dynamically.
-            // Either a blueprint input stream or a URL will be provided.
-            // If a URL is provided, add it to the query string
-            // If a Stream is provided, set it as the Entity body
-            super(client, HttpMethod.PUT,
-                    BLUEPRINTS_PATH + blueprintId + "?application_file_name=" + mainFileName
-                            + ((blueprintUrl != null) ? "&blueprint_archive=" + blueprintUrl : ""),
-                    ((blueprint != null) ? Entity.stream(blueprint) : null), Blueprint.class);
-        }
-    }
-
-    public class DeleteBlueprint extends CloudifyRequest<Blueprint> {
-        public DeleteBlueprint(String blueprintId) {
-            super(client, HttpMethod.DELETE, BLUEPRINTS_PATH + blueprintId, null, Blueprint.class);
-        }
-    }
-
-    public class GetBlueprint extends CloudifyRequest<Blueprint> {
-        public GetBlueprint(String id, String queryArgs) {
-            super(client, HttpMethod.GET, BLUEPRINTS_PATH + id + queryArgs, null, Blueprint.class);
-        }
-    }
-
-    public class ListBlueprints extends CloudifyRequest<Blueprints> {
-        public ListBlueprints() {
-            super(client, HttpMethod.GET, "/api/v3/blueprints", null, Blueprints.class);
-        }
-    }
-
-    // TODO: DownloadBlueprint is not supported, as it needs to return an input stream
-    // containing the full blueprint ZIP.
-    // For a full client library, this will require returning an open stream as the entity...
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/Cloudify.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/Cloudify.java
deleted file mode 100644 (file)
index 2fdd61c..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import org.onap.so.cloudify.base.client.CloudifyClient;
-import org.onap.so.cloudify.base.client.CloudifyClientConnector;
-
-/**
- * Reference: http://docs.getcloudify.org/api/v3/
- */
-public class Cloudify extends CloudifyClient {
-
-    private final DeploymentsResource deployments;
-    private final BlueprintsResource blueprints;
-    private final TokensResource tokens;
-    private final NodeInstancesResource nodeInstances;
-    private final ExecutionsResource executions;
-
-    /*
-     * Not supporting dynamic connectors public Cloudify(String endpoint, CloudifyClientConnector connector) {
-     * super(endpoint, connector); deployments = new DeploymentsResource(this); blueprints = new
-     * BlueprintsResource(this); nodeInstances = new NodeInstancesResource(this); tokens = new TokensResource(this); }
-     */
-    public Cloudify(String endpoint, String tenant) {
-        super(endpoint, tenant);
-        deployments = new DeploymentsResource(this);
-        blueprints = new BlueprintsResource(this);
-        nodeInstances = new NodeInstancesResource(this);
-        executions = new ExecutionsResource(this);
-        tokens = new TokensResource(this);
-    }
-
-    public Cloudify(String endpoint) {
-        super(endpoint);
-        deployments = new DeploymentsResource(this);
-        blueprints = new BlueprintsResource(this);
-        nodeInstances = new NodeInstancesResource(this);
-        executions = new ExecutionsResource(this);
-        tokens = new TokensResource(this);
-    }
-
-    public DeploymentsResource deployments() {
-        return this.deployments;
-    }
-
-    public BlueprintsResource blueprints() {
-        return this.blueprints;
-    }
-
-    public NodeInstancesResource nodeInstances() {
-        return this.nodeInstances;
-    }
-
-    public ExecutionsResource executions() {
-        return this.executions;
-    }
-
-    public TokensResource tokens() {
-        return this.tokens;
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/DeploymentsResource.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/DeploymentsResource.java
deleted file mode 100644 (file)
index 335f6b1..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import org.onap.so.cloudify.v3.model.CreateDeploymentParams;
-import org.onap.so.cloudify.v3.model.Deployment;
-import org.onap.so.cloudify.v3.model.DeploymentOutputs;
-import org.onap.so.cloudify.v3.model.Deployments;
-import org.onap.so.cloudify.base.client.Entity;
-import org.onap.so.cloudify.base.client.HttpMethod;
-import org.onap.so.cloudify.base.client.CloudifyClient;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-
-public class DeploymentsResource {
-
-    private final CloudifyClient client;
-    private static final String DEPLOYMENT_PATH = "/api/v3/deployments/";
-
-    public DeploymentsResource(CloudifyClient client) {
-        this.client = client;
-    }
-
-    public CreateDeployment create(String deploymentId, CreateDeploymentParams body) {
-        return new CreateDeployment(deploymentId, body);
-    }
-
-    public ListDeployments list() {
-        return new ListDeployments();
-    }
-
-    public GetDeployment byId(String id) {
-        return new GetDeployment(id);
-    }
-
-    public GetDeploymentOutputs outputsById(String id) {
-        return new GetDeploymentOutputs(id);
-    }
-
-    public DeleteDeployment deleteByName(String name) {
-        return new DeleteDeployment(name);
-    }
-
-    public class CreateDeployment extends CloudifyRequest<Deployment> {
-        public CreateDeployment(String deploymentId, CreateDeploymentParams body) {
-            super(client, HttpMethod.PUT, DEPLOYMENT_PATH + deploymentId, Entity.json(body), Deployment.class);
-        }
-    }
-
-    public class DeleteDeployment extends CloudifyRequest<Deployment> {
-        public DeleteDeployment(String deploymentId) {
-            super(client, HttpMethod.DELETE, DEPLOYMENT_PATH + deploymentId, null, Deployment.class);
-        }
-    }
-
-    public class GetDeployment extends CloudifyRequest<Deployment> {
-        public GetDeployment(String id) {
-            super(client, HttpMethod.GET, DEPLOYMENT_PATH + id, null, Deployment.class);
-        }
-    }
-
-    public class GetDeploymentOutputs extends CloudifyRequest<DeploymentOutputs> {
-        public GetDeploymentOutputs(String id) {
-            super(client, HttpMethod.GET, DEPLOYMENT_PATH + id + "/outputs", null, DeploymentOutputs.class);
-        }
-    }
-
-    public class ListDeployments extends CloudifyRequest<Deployments> {
-        public ListDeployments() {
-            super(client, HttpMethod.GET, "/api/v3/deployments", null, Deployments.class);
-        }
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/ExecutionsResource.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/ExecutionsResource.java
deleted file mode 100644 (file)
index 34251bf..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import org.onap.so.cloudify.v3.model.CancelExecutionParams;
-import org.onap.so.cloudify.v3.model.Execution;
-import org.onap.so.cloudify.v3.model.Executions;
-import org.onap.so.cloudify.v3.model.StartExecutionParams;
-import org.onap.so.cloudify.v3.model.UpdateExecutionParams;
-import org.onap.so.cloudify.base.client.Entity;
-import org.onap.so.cloudify.base.client.HttpMethod;
-import org.onap.so.cloudify.base.client.CloudifyClient;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-
-public class ExecutionsResource {
-
-    private final CloudifyClient client;
-    private static final String EXECUTIONS_PATH = "/api/v3/executions/";
-
-    public ExecutionsResource(CloudifyClient client) {
-        this.client = client;
-    }
-
-    public ListExecutions list() {
-        return new ListExecutions(null);
-    }
-
-    public ListExecutions listSorted(String sortBy) {
-        return new ListExecutions("?_sort=" + sortBy);
-    }
-
-    // Return a filtered list.
-    // The filter parameter should be a query string of filter criteria (without leading "?")
-    public ListExecutions listFiltered(String filter, String sortBy) {
-        String listParams = "?" + filter;
-        if (sortBy != null)
-            listParams += "&_sort=" + sortBy;
-        return new ListExecutions(listParams);
-    }
-
-    public GetExecution byId(String id) {
-        return new GetExecution(id);
-    }
-
-    public StartExecution start(StartExecutionParams params) {
-        return new StartExecution(params);
-    }
-
-    public UpdateExecution updateStatus(String id, String status) {
-        UpdateExecutionParams params = new UpdateExecutionParams();
-        params.setStatus(status);
-        return new UpdateExecution(id, params);
-    }
-
-    public CancelExecution cancel(String executionId, CancelExecutionParams params) {
-        return new CancelExecution(executionId, params);
-    }
-
-
-    public class GetExecution extends CloudifyRequest<Execution> {
-        public GetExecution(String id) {
-            super(client, HttpMethod.GET, EXECUTIONS_PATH + id, null, Execution.class);
-        }
-    }
-
-    public class ListExecutions extends CloudifyRequest<Executions> {
-        public ListExecutions(String listParams) {
-            super(client, HttpMethod.GET, "/api/v3/executions" + ((listParams != null) ? listParams : ""), null,
-                    Executions.class);
-        }
-    }
-
-    public class StartExecution extends CloudifyRequest<Execution> {
-        public StartExecution(StartExecutionParams body) {
-            super(client, HttpMethod.POST, "/api/v3/executions", Entity.json(body), Execution.class);
-        }
-    }
-
-    public class UpdateExecution extends CloudifyRequest<Execution> {
-        public UpdateExecution(String executionId, UpdateExecutionParams body) {
-            super(client, HttpMethod.PATCH, EXECUTIONS_PATH + executionId, Entity.json(body), Execution.class);
-        }
-    }
-
-    public class CancelExecution extends CloudifyRequest<Execution> {
-        public CancelExecution(String executionId, CancelExecutionParams body) {
-            super(client, HttpMethod.POST, EXECUTIONS_PATH + executionId, Entity.json(body), Execution.class);
-        }
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/NodeInstancesResource.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/NodeInstancesResource.java
deleted file mode 100644 (file)
index bc82c77..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import org.onap.so.cloudify.v3.model.UpdateNodeInstanceParams;
-import org.onap.so.cloudify.v3.model.NodeInstance;
-import org.onap.so.cloudify.v3.model.NodeInstances;
-import org.onap.so.cloudify.base.client.Entity;
-import org.onap.so.cloudify.base.client.HttpMethod;
-import org.onap.so.cloudify.base.client.CloudifyClient;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-
-public class NodeInstancesResource {
-
-    private final CloudifyClient client;
-
-    public NodeInstancesResource(CloudifyClient client) {
-        this.client = client;
-    }
-
-    public ListNodeInstances list() {
-        return new ListNodeInstances();
-    }
-
-    public GetNodeInstance byId(String id) {
-        return new GetNodeInstance(id);
-    }
-
-    public UpdateNodeInstance update(String id, UpdateNodeInstanceParams params) {
-        return new UpdateNodeInstance(id, params);
-    }
-
-
-    public class GetNodeInstance extends CloudifyRequest<NodeInstance> {
-        public GetNodeInstance(String id) {
-            super(client, HttpMethod.GET, "/api/v3/node-instances/" + id, null, NodeInstance.class);
-        }
-    }
-
-    public class ListNodeInstances extends CloudifyRequest<NodeInstances> {
-        public ListNodeInstances() {
-            super(client, HttpMethod.GET, "/api/v3/node-instances", null, NodeInstances.class);
-        }
-    }
-
-    public class UpdateNodeInstance extends CloudifyRequest<NodeInstance> {
-        public UpdateNodeInstance(String nodeInstanceId, UpdateNodeInstanceParams body) {
-            super(client, HttpMethod.PATCH, "/api/v3/node-instances/" + nodeInstanceId, Entity.json(body),
-                    NodeInstance.class);
-        }
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/TokensResource.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/client/TokensResource.java
deleted file mode 100644 (file)
index 417d7c6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import org.onap.so.cloudify.v3.model.Token;
-import org.onap.so.cloudify.base.client.HttpMethod;
-import org.onap.so.cloudify.base.client.CloudifyClient;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-
-public class TokensResource {
-
-    private final CloudifyClient client;
-
-    public TokensResource(CloudifyClient client) {
-        this.client = client;
-    }
-
-    /*
-     * Get a new token for a user TODO: User ID/Password logic need to be in the Client. Results of a token query should
-     * also be able to add to the Client
-     */
-    public GetToken token() {
-        return new GetToken();
-    }
-
-    public class GetToken extends CloudifyRequest<Token> {
-        public GetToken() {
-            super(client, HttpMethod.GET, "/api/v3/tokens", null, Token.class);
-        }
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/AzureConfig.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/AzureConfig.java
deleted file mode 100644 (file)
index 8fd6b7c..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class AzureConfig implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("subscription_id")
-    String subscriptionId;
-
-    @JsonProperty("tenant_id")
-    String tenantId;
-
-    @JsonProperty("client_id")
-    String clientId;
-
-    @JsonProperty("client_secret")
-    String clientSecret;
-
-    public String getSubscriptionId() {
-        return subscriptionId;
-    }
-
-    public void setSubscriptionId(String subscriptionId) {
-        this.subscriptionId = subscriptionId;
-    }
-
-    public String getTenantId() {
-        return tenantId;
-    }
-
-    public void setTenantId(String tenantId) {
-        this.tenantId = tenantId;
-    }
-
-    public String getClientId() {
-        return clientId;
-    }
-
-    public void setClientId(String clientId) {
-        this.clientId = clientId;
-    }
-
-    public String getClientSecret() {
-        return clientSecret;
-    }
-
-    public void setClientSecret(String clientSecret) {
-        this.clientSecret = clientSecret;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Blueprint.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Blueprint.java
deleted file mode 100644 (file)
index 873816d..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-// @JsonRootName("blueprint")
-public class Blueprint implements Serializable {
-
-
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 938604986548763151L;
-
-    @JsonProperty("created_at")
-    private Date createdAt;
-
-    @JsonProperty("description")
-    private String description;
-
-    @JsonProperty("id")
-    private String id;
-
-    @JsonProperty("main_file_name")
-    private String mainFileName;
-
-    @JsonProperty("plan")
-    private Map<String, Object> plan = null;
-
-    @JsonProperty("tenant_name")
-    private String tenantName;
-
-    @JsonProperty("updated_at")
-    private Date updatedAt;
-
-    public Date getCreatedAt() {
-        return createdAt;
-    }
-
-    public void setCreatedAt(Date createdAt) {
-        this.createdAt = createdAt;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getMainFileName() {
-        return mainFileName;
-    }
-
-    public void setMainFileName(String mainFileName) {
-        this.mainFileName = mainFileName;
-    }
-
-    public Map<String, Object> getPlan() {
-        return this.plan;
-    }
-
-    public void setPlan(Map<String, Object> plan) {
-        this.plan = plan;
-    }
-
-    public String getTenantName() {
-        return tenantName;
-    }
-
-    public void setTenantName(String tenantName) {
-        this.tenantName = tenantName;
-    }
-
-    public Date getUpdatedAt() {
-        return updatedAt;
-    }
-
-    public void setUpdatedAt(Date updatedAt) {
-        this.updatedAt = updatedAt;
-    }
-
-
-    /*
-     * Return an output as a Json-mapped Object of the provided type. This is useful for json-object outputs.
-     */
-    public <T> T getMapValue(Map<String, Object> map, String key, Class<T> type) {
-
-        ObjectMapper mapper = new ObjectMapper();
-
-        if (map.containsKey(key)) {
-            try {
-                String s = mapper.writeValueAsString(map.get(key));
-                return (mapper.readValue(s, type));
-            } catch (IOException e) {
-                return null;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public String toString() {
-        return "Deployment{" + "id='" + id + '\'' + ", description='" + description + '\'' + ", createdAt=" + createdAt
-                + ", updatedAt=" + updatedAt + ", mainFileName='" + mainFileName + '\'' + ", tenantName='" + tenantName
-                + '\'' + '}';
-    }
-
-    /*
-     * Add a definition of the Cloudify "plan" attribute once we know what it is.
-     * 
-     * @JsonIgnoreProperties(ignoreUnknown=true) public static final class Plan { }
-     * 
-     */
-
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Blueprints.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Blueprints.java
deleted file mode 100644 (file)
index aebf1e5..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import java.util.List;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class Blueprints implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("items")
-    private List<Blueprint> items;
-
-    @JsonProperty("metadata")
-    private Metadata metadata;
-
-    public List<Blueprint> getItems() {
-        return items;
-    }
-
-    public void setItems(List<Blueprint> items) {
-        this.items = items;
-    }
-
-    public Metadata getMetadata() {
-        return metadata;
-    }
-
-    public void setMetadata(Metadata metadata) {
-        this.metadata = metadata;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CancelExecutionParams.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CancelExecutionParams.java
deleted file mode 100644 (file)
index 7f96b8f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class CancelExecutionParams implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("action")
-    private String action;
-
-    public static final String CANCEL_ACTION = "cancel";
-    public static final String FORCE_CANCEL_ACTION = "force-cancel";
-
-    public String getAction() {
-        return action;
-    }
-
-    public void setAction(String action) {
-        this.action = action;
-    }
-
-
-    @Override
-    public String toString() {
-        return "CancelExecutionParams{" + "action='" + action + '\'' + '}';
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CloudifyError.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CloudifyError.java
deleted file mode 100644 (file)
index 1638199..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-/**
- * This class represents a generic Cloudify error response body. These responses have a common format: { "message":
- * "<error message>", "error_code": "<cloudify error id string>". "server_traceback": "<Python traceback>" }
- * 
- * @author jc1348
- */
-public class CloudifyError implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("message")
-    private String message;
-
-    @JsonProperty("error_code")
-    private String errorCode;
-
-    @JsonProperty("server_traceback")
-    private String serverTraceback;
-
-    public String getMessage() {
-        return message;
-    }
-
-    public void setMessage(String message) {
-        this.message = message;
-    }
-
-    public String getErrorCode() {
-        return errorCode;
-    }
-
-    public void setErrorCode(String errorCode) {
-        this.errorCode = errorCode;
-    }
-
-    public String getServerTraceback() {
-        return serverTraceback;
-    }
-
-    public void setServerTraceback(String serverTraceback) {
-        this.serverTraceback = serverTraceback;
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CreateDeploymentParams.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/CreateDeploymentParams.java
deleted file mode 100644 (file)
index 66e9b61..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
-import java.util.Map;
-
-public class CreateDeploymentParams implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("blueprint_id")
-    private String blueprintId;
-
-    @JsonProperty("inputs")
-    private Map<String, Object> inputs;
-
-    public String getBlueprintId() {
-        return blueprintId;
-    }
-
-    public void setBlueprintId(String blueprintId) {
-        this.blueprintId = blueprintId;
-    }
-
-    public Map<String, Object> getInputs() {
-        return inputs;
-    }
-
-    public void setInputs(Map<String, Object> inputs) {
-        this.inputs = inputs;
-    }
-
-    @Override
-    public String toString() {
-        return "CreateDeploymentBody{" + "blueprintId='" + blueprintId + '\'' + ", inputs=" + inputs + '}';
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Deployment.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Deployment.java
deleted file mode 100644 (file)
index 86a2b5f..0000000
+++ /dev/null
@@ -1,358 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-// @JsonRootName("deployment")
-public class Deployment implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("blueprint_id")
-    private String blueprintId;
-
-    @JsonProperty("created_at")
-    private Date createdAt;
-
-    @JsonProperty("created_by")
-    private String createdBy;
-
-    @JsonProperty("description")
-    private String description;
-
-    @JsonProperty("groups")
-    private Map<String, Group> groups = null;
-
-    @JsonProperty("id")
-    private String id;
-
-    @JsonProperty("inputs")
-    private Map<String, Object> inputs = null;
-
-    // TODO: Expand the definition of a PolicyTrigger
-    @JsonProperty("policy_triggers")
-    private List<Object> policyTriggers;
-
-    // TODO: Expand the definition of a PolicyType
-    @JsonProperty("policy_types")
-    private List<Object> policyTypes;
-
-    @JsonProperty("scaling_groups")
-    private Map<String, ScalingGroup> scalingGroups = null;
-
-    @JsonProperty("tenant_name")
-    private String tenantName;
-
-    @JsonProperty("updated_at")
-    private Date updatedAt;
-
-    @JsonProperty("workflows")
-    private List<Workflow> workflows;
-
-    public List<Object> getPolicyTriggers() {
-        return policyTriggers;
-    }
-
-    public void setPolicyTriggers(List<Object> policyTriggers) {
-        this.policyTriggers = policyTriggers;
-    }
-
-    public List<Object> getPolicyTypes() {
-        return policyTypes;
-    }
-
-    public void setPolicyTypes(List<Object> policyTypes) {
-        this.policyTypes = policyTypes;
-    }
-
-    public String getBlueprintId() {
-        return blueprintId;
-    }
-
-    public void setBlueprintId(String blueprintId) {
-        this.blueprintId = blueprintId;
-    }
-
-    public Date getCreatedAt() {
-        return createdAt;
-    }
-
-    public void setCreatedAt(Date createdAt) {
-        this.createdAt = createdAt;
-    }
-
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    public void setCreatedBy(String createdBy) {
-        this.createdBy = createdBy;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public Map<String, Group> getGroups() {
-        return this.groups;
-    }
-
-    public void setGroups(Map<String, Group> groups) {
-        this.groups = groups;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public Map<String, Object> getInputs() {
-        return this.inputs;
-    }
-
-    public void setInputs(Map<String, Object> inputs) {
-        this.inputs = inputs;
-    }
-
-    public String getTenantName() {
-        return tenantName;
-    }
-
-    public void setTenantName(String tenantName) {
-        this.tenantName = tenantName;
-    }
-
-    public Map<String, ScalingGroup> getScalingGroups() {
-        return scalingGroups;
-    }
-
-    public void setScalingGroups(Map<String, ScalingGroup> scalingGroups) {
-        this.scalingGroups = scalingGroups;
-    }
-
-    public Date getUpdatedAt() {
-        return updatedAt;
-    }
-
-    public void setUpdatedAt(Date updatedAt) {
-        this.updatedAt = updatedAt;
-    }
-
-    public List<Workflow> getWorkflows() {
-        return workflows;
-    }
-
-    public void setWorkflows(List<Workflow> workflows) {
-        this.workflows = workflows;
-    }
-
-    /*
-     * Nested subclasses for Group definitions
-     */
-    public static final class Group {
-        @JsonProperty("policies")
-        Object policies;
-
-        @JsonProperty("members")
-        List<String> members;
-
-        public Object getPolicies() {
-            return policies;
-        }
-
-        public void setPolicies(Object policies) {
-            this.policies = policies;
-        }
-
-        public List<String> getMembers() {
-            return members;
-        }
-
-        public void setMembers(List<String> members) {
-            this.members = members;
-        }
-    }
-
-    /*
-     * Nested subclasses for Scaling Group definitions
-     */
-    public static final class ScalingGroup {
-        @JsonProperty("properties")
-        ScalingGroupProperties properties;
-
-        @JsonProperty("members")
-        List<String> members;
-
-        public ScalingGroupProperties getProperties() {
-            return properties;
-        }
-
-        public void setProperties(ScalingGroupProperties properties) {
-            this.properties = properties;
-        }
-
-        public List<String> getMembers() {
-            return members;
-        }
-
-        public void setMembers(List<String> members) {
-            this.members = members;
-        }
-    }
-
-    public static final class ScalingGroupProperties {
-        @JsonProperty("current_instances")
-        int currentInstances;
-
-        @JsonProperty("default_instances")
-        int defaultInstances;
-
-        @JsonProperty("max_instances")
-        int maxInstances;
-
-        @JsonProperty("min_instances")
-        int minInstances;
-
-        @JsonProperty("planned_instances")
-        int plannedInstances;
-
-        public int getCurrentInstances() {
-            return currentInstances;
-        }
-
-        public void setCurrentInstances(int currentInstances) {
-            this.currentInstances = currentInstances;
-        }
-
-        public int getDefaultInstances() {
-            return defaultInstances;
-        }
-
-        public void setDefaultInstances(int defaultInstances) {
-            this.defaultInstances = defaultInstances;
-        }
-
-        public int getMaxInstances() {
-            return maxInstances;
-        }
-
-        public void setMaxInstances(int maxInstances) {
-            this.maxInstances = maxInstances;
-        }
-
-        public int getMinInstances() {
-            return minInstances;
-        }
-
-        public void setMinInstances(int minInstances) {
-            this.minInstances = minInstances;
-        }
-
-        public int getPlannedInstances() {
-            return plannedInstances;
-        }
-
-        public void setPlannedInstances(int plannedInstances) {
-            this.plannedInstances = plannedInstances;
-        }
-    }
-
-    /*
-     * Nested subclass for Deployment Workflow entities. Note that Blueprint class also contains a slightly different
-     * Workflow structure.
-     */
-    public static final class Workflow {
-        @JsonProperty("name")
-        private String name;
-        @JsonProperty("created_at")
-        private Date createdAt;
-        @JsonProperty("parameters")
-        private Map<String, ParameterDefinition> parameters;
-
-        public Workflow() {}
-
-        public String getName() {
-            return name;
-        }
-
-        public void setName(String name) {
-            this.name = name;
-        }
-
-        public Date getCreatedAt() {
-            return createdAt;
-        }
-
-        public void setCreatedAt(Date createdAt) {
-            this.createdAt = createdAt;
-        }
-
-        public Map<String, ParameterDefinition> getParameters() {
-            return parameters;
-        }
-
-        public void setParameters(Map<String, ParameterDefinition> parameters) {
-            this.parameters = parameters;
-        }
-    }
-
-    /*
-     * Return an output as a Json-mapped Object of the provided type. This is useful for json-object outputs.
-     */
-    public <T> T getMapValue(Map<String, Object> map, String key, Class<T> type) {
-
-        ObjectMapper mapper = new ObjectMapper();
-        if (map.containsKey(key)) {
-            try {
-                String s = mapper.writeValueAsString(map.get(key));
-                return (mapper.readValue(s, type));
-            } catch (IOException e) {
-                return null;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public String toString() {
-        return "Deployment{" + "id='" + id + '\'' + ", description='" + description + '\'' + ", blueprintId='"
-                + blueprintId + '\'' + ", createdBy='" + createdBy + '\'' + ", tenantName='" + tenantName + '\''
-                + ", createdAt=" + createdAt + ", updatedAt=" + updatedAt + ", inputs='" + inputs + '\''
-                + ", workflows=" + workflows + ", groups=" + groups + '}';
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/DeploymentOutputs.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/DeploymentOutputs.java
deleted file mode 100644 (file)
index 1f34534..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.IOException;
-import java.io.Serializable;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-// @JsonRootName("outputs")
-public class DeploymentOutputs implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("deployment_id")
-    private String deploymentId;
-
-    @JsonProperty("outputs")
-    private Map<String, Object> outputs = null;
-
-    public Map<String, Object> getOutputs() {
-        return this.outputs;
-    }
-
-    public void setOutputs(Map<String, Object> outputs) {
-        this.outputs = outputs;
-    }
-
-    public String getDeploymentId() {
-        return deploymentId;
-    }
-
-    public void setDeploymentId(String deploymentId) {
-        this.deploymentId = deploymentId;
-    }
-
-    /*
-     * Return an output as a Json-mapped Object of the provided type. This is useful for json-object outputs.
-     */
-    public <T> T getMapValue(Map<String, Object> map, String key, Class<T> type) {
-
-        ObjectMapper mapper = new ObjectMapper();
-
-        if (map.containsKey(key)) {
-            try {
-                String s = mapper.writeValueAsString(map.get(key));
-                return (mapper.readValue(s, type));
-            } catch (IOException e) {
-                return null;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public String toString() {
-        return "DeploymentOutputs{" + "deploymentId='" + deploymentId + '\'' + ", outputs='" + outputs + '\'' + '}';
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Deployments.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Deployments.java
deleted file mode 100644 (file)
index b97164f..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
-import java.util.List;
-
-public class Deployments implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("items")
-    private List<Deployment> items;
-
-    @JsonProperty("metadata")
-    private Metadata metadata;
-
-    public List<Deployment> getItems() {
-        return items;
-    }
-
-    public void setItems(List<Deployment> items) {
-        this.items = items;
-    }
-
-    public Metadata getMetadata() {
-        return metadata;
-    }
-
-    public void setMetadata(Metadata metadata) {
-        this.metadata = metadata;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Execution.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Execution.java
deleted file mode 100644 (file)
index 258d8e5..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-// @JsonRootName("execution")
-public class Execution implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("blueprint_id")
-    private String blueprintId;
-
-    @JsonProperty("created_at")
-    private Date createdAt;
-
-    @JsonProperty("created_by")
-    private String createdBy;
-
-    @JsonProperty("deployment_id")
-    private String deploymentId;
-
-    @JsonProperty("error")
-    private String error;
-
-    @JsonProperty("id")
-    private String id;
-
-    @JsonProperty("is_system_workflow")
-    private boolean isSystemWorkflow;
-
-    @JsonProperty("parameters")
-    private Map<String, Object> parameters;
-
-    @JsonProperty("status")
-    private String status;
-
-    @JsonProperty("tenant_name")
-    private String tenantName;
-
-    @JsonProperty("workflow_id")
-    private String workflowId;
-
-    public String getBlueprintId() {
-        return blueprintId;
-    }
-
-    public void setBlueprintId(String blueprintId) {
-        this.blueprintId = blueprintId;
-    }
-
-    public Date getCreatedAt() {
-        return createdAt;
-    }
-
-    public void setCreatedAt(Date createdAt) {
-        this.createdAt = createdAt;
-    }
-
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    public void setCreatedBy(String createdBy) {
-        this.createdBy = createdBy;
-    }
-
-    public String getDeploymentId() {
-        return deploymentId;
-    }
-
-    public void setDeploymentId(String deploymentId) {
-        this.deploymentId = deploymentId;
-    }
-
-    public String getError() {
-        return error;
-    }
-
-    public void setError(String error) {
-        this.error = error;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public boolean isSystemWorkflow() {
-        return isSystemWorkflow;
-    }
-
-    public void setSystemWorkflow(boolean isSystemWorkflow) {
-        this.isSystemWorkflow = isSystemWorkflow;
-    }
-
-    public Map<String, Object> getParameters() {
-        return parameters;
-    }
-
-    public void setParameters(Map<String, Object> parameters) {
-        this.parameters = parameters;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getTenantName() {
-        return tenantName;
-    }
-
-    public void setTenantName(String tenantName) {
-        this.tenantName = tenantName;
-    }
-
-    public String getWorkflowId() {
-        return workflowId;
-    }
-
-    public void setWorkflowId(String workflowId) {
-        this.workflowId = workflowId;
-    }
-
-    @Override
-    public String toString() {
-        return "Execution{" + "id='" + id + '\'' + ", blueprintId='" + blueprintId + '\'' + ", createdBy='" + createdBy
-                + '\'' + ", createdAt=" + createdAt + ", deploymentId='" + deploymentId + '\'' + ", error=" + error
-                + ", isSystemWorkflow=" + isSystemWorkflow + ", status=" + status + ", tenantName='" + tenantName + '\''
-                + ", parameters=" + parameters + '}';
-    }
-
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Executions.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Executions.java
deleted file mode 100644 (file)
index e238bc7..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
-import java.util.List;
-
-public class Executions implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("items")
-    private List<Execution> items;
-
-    @JsonProperty("metadata")
-    private Metadata metadata;
-
-    public List<Execution> getItems() {
-        return items;
-    }
-
-    public void setItems(List<Execution> items) {
-        this.items = items;
-    }
-
-    public Metadata getMetadata() {
-        return metadata;
-    }
-
-    public void setMetadata(Metadata metadata) {
-        this.metadata = metadata;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Metadata.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Metadata.java
deleted file mode 100644 (file)
index 269ed9d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
-
-/**
- * This class represents a generic Cloudify response to a GET command. These responses have a common format: { "items":
- * [ List of objects of the requested type ], "metadata": { } }
- * 
- * @author jc1348
- *
- */
-public class Metadata implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("pagination")
-    private Pagination pagination;
-
-
-    public Pagination getPagination() {
-        return pagination;
-    }
-
-    public void setPagination(Pagination pagination) {
-        this.pagination = pagination;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/NodeInstance.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/NodeInstance.java
deleted file mode 100644 (file)
index 4d7f8fb..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonRootName;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-@JsonRootName("node_instance")
-public class NodeInstance implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("created_by")
-    private String createdBy;
-
-    @JsonProperty("deployment_id")
-    private String deploymentId;
-
-    @JsonProperty("host_id")
-    private String hostId;
-
-    @JsonProperty("id")
-    private String id;
-
-    @JsonProperty("node_id")
-    private String nodeId;
-
-    @JsonProperty("relationships")
-    private List<Object> relationships = null;
-
-    @JsonProperty("runtime_properties")
-    private Map<String, Object> runtimeProperties = null;
-
-    @JsonProperty("scaling_groups")
-    private List<ScalingGroupIdentifier> scalingGroups;
-
-    @JsonProperty("state")
-    private String state;
-
-    @JsonProperty("tenant_name")
-    private String tenantName;
-
-    @JsonProperty("version")
-    private String version;
-
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    public void setCreatedBy(String createdBy) {
-        this.createdBy = createdBy;
-    }
-
-    public String getDeploymentId() {
-        return deploymentId;
-    }
-
-    public void setDeploymentId(String deploymentId) {
-        this.deploymentId = deploymentId;
-    }
-
-    public String getHostId() {
-        return hostId;
-    }
-
-    public void setHostId(String hostId) {
-        this.hostId = hostId;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getNodeId() {
-        return nodeId;
-    }
-
-    public void setNodeId(String nodeId) {
-        this.nodeId = nodeId;
-    }
-
-    public List<Object> getRelationships() {
-        return relationships;
-    }
-
-    public void setRelationships(List<Object> relationships) {
-        this.relationships = relationships;
-    }
-
-    public Map<String, Object> getRuntimeProperties() {
-        return runtimeProperties;
-    }
-
-    public void setRuntimeProperties(Map<String, Object> runtimeProperties) {
-        this.runtimeProperties = runtimeProperties;
-    }
-
-    public List<ScalingGroupIdentifier> getScalingGroups() {
-        return scalingGroups;
-    }
-
-    public void setScalingGroups(List<ScalingGroupIdentifier> scalingGroups) {
-        this.scalingGroups = scalingGroups;
-    }
-
-    public String getState() {
-        return state;
-    }
-
-    public void setState(String state) {
-        this.state = state;
-    }
-
-    public String getTenantName() {
-        return tenantName;
-    }
-
-    public void setTenantName(String tenantName) {
-        this.tenantName = tenantName;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    /*
-     * Nested structure representing scaling groups in which this node is a member
-     */
-    public static final class ScalingGroupIdentifier {
-        @JsonProperty("name")
-        private String name;
-
-        @JsonProperty("id")
-        private String id;
-
-        public String getName() {
-            return name;
-        }
-
-        public void setName(String name) {
-            this.name = name;
-        }
-
-        public String getId() {
-            return id;
-        }
-
-        public void setId(String id) {
-            this.id = id;
-        }
-
-        public String toString() {
-            return "Scaling Group{ name=" + name + ", id=" + id + "}";
-        }
-    }
-
-    @Override
-    public String toString() {
-        return "Deployment{" + "id='" + id + '\'' + "nodeId='" + nodeId + '\'' + ", createdBy='" + createdBy + '\''
-                + ", tenantName='" + tenantName + '\'' + ", state=" + state + ", deploymentId=" + deploymentId
-                + ", hostId='" + hostId + '\'' + ", version='" + version + '\'' + ", relationships=" + relationships
-                + ", runtimeProperties=" + runtimeProperties + ", scalingGroups=" + scalingGroups + '}';
-    }
-
-    // TODO: Need an object structure for Relationships
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/NodeInstances.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/NodeInstances.java
deleted file mode 100644 (file)
index 8dd30d9..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
-import java.util.List;
-
-public class NodeInstances implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("items")
-    private List<NodeInstance> items;
-
-    @JsonProperty("metadata")
-    private Metadata metadata;
-
-    public List<NodeInstance> getItems() {
-        return items;
-    }
-
-    public void setItems(List<NodeInstance> items) {
-        this.items = items;
-    }
-
-    public Metadata getMetadata() {
-        return metadata;
-    }
-
-    public void setMetadata(Metadata metadata) {
-        this.metadata = metadata;
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/OpenstackConfig.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/OpenstackConfig.java
deleted file mode 100644 (file)
index 8914a83..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class OpenstackConfig implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("username")
-    String username;
-
-    @JsonProperty("password")
-    String password;
-
-    @JsonProperty("tenant_name")
-    String tenantName;
-
-    @JsonProperty("auth_url")
-    String authUrl;
-
-    @JsonProperty("region")
-    String region;
-
-    // NOTE: Not supporting "custom_configuration"
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public String getTenantName() {
-        return tenantName;
-    }
-
-    public void setTenantName(String tenantName) {
-        this.tenantName = tenantName;
-    }
-
-    public String getAuthUrl() {
-        return authUrl;
-    }
-
-    public void setAuthUrl(String authUrl) {
-        this.authUrl = authUrl;
-    }
-
-    public String getRegion() {
-        return region;
-    }
-
-    public void setRegion(String region) {
-        this.region = region;
-    }
-
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Pagination.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Pagination.java
deleted file mode 100644 (file)
index a292b13..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class Pagination {
-    @JsonProperty("total")
-    private int total;
-    @JsonProperty("offset")
-    private int offset;
-    @JsonProperty("size")
-    private int size;
-
-    public int getTotal() {
-        return total;
-    }
-
-    public void setTotal(int total) {
-        this.total = total;
-    }
-
-    public int getOffset() {
-        return offset;
-    }
-
-    public void setOffset(int offset) {
-        this.offset = offset;
-    }
-
-    public int getSize() {
-        return size;
-    }
-
-    public void setSize(int size) {
-        this.size = size;
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/ParameterDefinition.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/ParameterDefinition.java
deleted file mode 100644 (file)
index 1ff70b6..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class ParameterDefinition implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("type")
-    private String type;
-    @JsonProperty("description")
-    private String description;
-    @JsonProperty("default")
-    private Object defaultValue;
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public Object getDefaultValue() {
-        return defaultValue;
-    }
-
-    public void setDefaultValue(Object defaultValue) {
-        this.defaultValue = defaultValue;
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/StartExecutionParams.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/StartExecutionParams.java
deleted file mode 100644 (file)
index e12b7d0..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class StartExecutionParams implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("workflow_id")
-    private String workflowId;
-
-    @JsonProperty("deployment_id")
-    private String deploymentId;
-
-    @JsonProperty("allow_custom_parameters")
-    private boolean allowCustomParameters;
-
-    @JsonProperty("force")
-    private boolean force;
-
-    @JsonProperty("parameters")
-    private Map<String, Object> parameters;
-
-    public String getWorkflowId() {
-        return workflowId;
-    }
-
-    public void setWorkflowId(String workflowId) {
-        this.workflowId = workflowId;
-    }
-
-    public String getDeploymentId() {
-        return deploymentId;
-    }
-
-    public void setDeploymentId(String deploymentId) {
-        this.deploymentId = deploymentId;
-    }
-
-    public boolean isAllowCustomParameters() {
-        return allowCustomParameters;
-    }
-
-    public void setAllowCustomParameters(boolean allowCustomParameters) {
-        this.allowCustomParameters = allowCustomParameters;
-    }
-
-    public boolean isForce() {
-        return force;
-    }
-
-    public void setForce(boolean force) {
-        this.force = force;
-    }
-
-    public Map<String, Object> getParameters() {
-        return parameters;
-    }
-
-    public void setParameters(Map<String, Object> parameters) {
-        this.parameters = parameters;
-    }
-
-    @Override
-    public String toString() {
-        return "UpdateExecutionParams{" + "workflowId='" + workflowId + '\'' + "deploymentId='" + deploymentId + '\''
-                + "allowCustomParameters='" + allowCustomParameters + '\'' + "force='" + force + '\'' + "parameters='"
-                + parameters + '\'' + '}';
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Token.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/Token.java
deleted file mode 100644 (file)
index c5809d4..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-// @JsonRootName("token")
-// The Token object is returned without a root element
-public class Token implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("role")
-    private String role;
-
-    @JsonProperty("value")
-    private String value;
-
-    // Any expiration? Maybe something in the Headers?
-
-    public String getRole() {
-        return role;
-    }
-
-    public void setRole(String role) {
-        this.role = role;
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
-
-
-    @Override
-    public String toString() {
-        return "Token{" + "role='" + role + '\'' + ", value='" + value + '\'' + '}';
-    }
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/UpdateExecutionParams.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/UpdateExecutionParams.java
deleted file mode 100644 (file)
index 3f49b90..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import java.io.Serializable;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class UpdateExecutionParams implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("status")
-    private String status;
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-
-    @Override
-    public String toString() {
-        return "UpdateExecutionParams{" + "status='" + status + '\'' + '}';
-    }
-
-}
diff --git a/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/UpdateNodeInstanceParams.java b/cloudify-client/src/main/java/org/onap/so/cloudify/v3/model/UpdateNodeInstanceParams.java
deleted file mode 100644 (file)
index fabb70a..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.io.Serializable;
-import java.util.Map;
-
-public class UpdateNodeInstanceParams implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @JsonProperty("state")
-    private String state;
-
-    @JsonProperty("version")
-    private String version;
-
-    @JsonProperty("runtime_properties")
-    private Map<String, Object> runtimeProperties;
-
-
-    public String getState() {
-        return state;
-    }
-
-    public void setState(String state) {
-        this.state = state;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    public Map<String, Object> getRuntimeProperties() {
-        return runtimeProperties;
-    }
-
-    public void setRuntimeProperties(Map<String, Object> runtimeProperties) {
-        this.runtimeProperties = runtimeProperties;
-    }
-
-
-    @Override
-    public String toString() {
-        return "UpdateNodeInstanceParams{" + "state='" + state + '\'' + "version='" + version + '\''
-                + ", runtimeProperties=" + runtimeProperties + '}';
-    }
-
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/BeanMultiTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/BeanMultiTest.java
deleted file mode 100644 (file)
index 4028b71..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify;
-
-import org.junit.Before;
-import org.junit.Test;
-import com.openpojo.reflection.PojoClass;
-import com.openpojo.reflection.PojoClassFilter;
-import com.openpojo.reflection.filters.FilterEnum;
-import com.openpojo.reflection.impl.PojoClassFactory;
-import com.openpojo.validation.Validator;
-import com.openpojo.validation.ValidatorBuilder;
-import com.openpojo.validation.rule.impl.GetterMustExistRule;
-import com.openpojo.validation.rule.impl.SetterMustExistRule;
-import com.openpojo.validation.test.impl.GetterTester;
-import com.openpojo.validation.test.impl.SetterTester;
-
-public class BeanMultiTest {
-
-    Validator validator;
-    PojoClassFilter enumFilter;
-    private PojoClassFilter filterTestClasses = new FilterTestClasses();
-
-    @Before
-    public void setup() {
-        enumFilter = new FilterEnum();
-        validator = ValidatorBuilder.create().with(new SetterMustExistRule(), new GetterMustExistRule())
-                .with(new SetterTester(), new GetterTester()).build();
-    }
-
-    @Test
-    public void validateBeansMsoApihandlerBeans() {
-
-        validator.validate("org.onap.so.cloudify.v3.model", enumFilter);
-    }
-
-    private static class FilterTestClasses implements PojoClassFilter {
-        public boolean include(PojoClass pojoClass) {
-            return !pojoClass.getSourcePath().contains("/src/test/java");
-        }
-    }
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/base/client/CloudifyClientTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/base/client/CloudifyClientTest.java
deleted file mode 100644 (file)
index 88974ac..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import static org.junit.Assert.assertEquals;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onap.so.cloudify.v3.model.Execution;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-public class CloudifyClientTest {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void clientCreate() {
-        wireMockRule.stubFor(
-                get(urlPathEqualTo("/testUrl")).willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{\"id\": \"123\"}").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        CloudifyClient cc = new CloudifyClient("http://localhost:" + port);
-        cc.setToken("token");
-        CloudifyRequest<Execution> crx = cc.get("/testUrl", Execution.class);
-        Execution x = crx.execute();
-        assertEquals("123", x.getId());
-    }
-
-    @Test
-    public void clientCreateWithBadConnector() {
-        thrown.expect(CloudifyResponseException.class);
-        wireMockRule.stubFor(
-                get(urlPathEqualTo("/testUrl")).willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{\"id\": \"123\"}").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        CloudifyClientConnector ccc = new CloudifyClientConnector() {
-            @Override
-            public <T> CloudifyResponse request(CloudifyRequest<T> request) {
-                throw new CloudifyResponseException("test case", 401);
-            }
-        };
-        CloudifyClient cc = new CloudifyClient("http://localhost:" + port, ccc);
-        // cc.setToken("token");
-        CloudifyRequest<Execution> crx = cc.get("/testUrl", Execution.class);
-        Execution x = crx.execute();
-    }
-
-    @Test
-    public void clientCreateWithBadConnectorAndToken() {
-        thrown.expect(CloudifyResponseException.class);
-        wireMockRule.stubFor(
-                get(urlPathEqualTo("/testUrl")).willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{\"id\": \"123\"}").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        CloudifyClientConnector ccc = new CloudifyClientConnector() {
-            @Override
-            public <T> CloudifyResponse request(CloudifyRequest<T> request) {
-                throw new CloudifyResponseException("test case", 401);
-            }
-        };
-        CloudifyClient cc = new CloudifyClient("http://localhost:" + port, ccc);
-        cc.setToken("token");
-        CloudifyRequest<Execution> crx = cc.get("/testUrl", Execution.class);
-        Execution x = crx.execute();
-    }
-
-    @Test
-    public void clientCreateWithTenant() {
-        wireMockRule.stubFor(
-                get(urlPathEqualTo("/testUrl")).willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{\"id\": \"123\"}").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        CloudifyClient cc = new CloudifyClient("http://localhost:" + port, "other_tenant");
-        cc.setToken("token");
-        cc.property("property", "value");
-        CloudifyRequest<Execution> crx = cc.get("/testUrl", Execution.class);
-        Execution x = crx.execute();
-        assertEquals("123", x.getId());
-    }
-
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/base/client/CloudifyClientTokenProviderTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/base/client/CloudifyClientTokenProviderTest.java
deleted file mode 100644 (file)
index 77152a2..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.base.client;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import static org.junit.Assert.assertEquals;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-public class CloudifyClientTokenProviderTest {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void createTokenProvider() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/testUrl/api/v3/tokens"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{\"role\": \"user\", \"value\": \"tokenVal\"}").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-
-        CloudifyClientTokenProvider cctp =
-                new CloudifyClientTokenProvider("http://localhost:" + port + "/testUrl", "user", "pswd");
-        String token = cctp.getToken();
-        assertEquals("tokenVal", token);
-        token = cctp.getToken();
-        assertEquals("tokenVal", token);
-        cctp.expireToken();
-    }
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/connector/http/HttpClientConnectorTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/connector/http/HttpClientConnectorTest.java
deleted file mode 100644 (file)
index c85b88f..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.connector.http;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.post;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import com.github.tomakehurst.wiremock.http.Fault;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.delete;
-import static com.github.tomakehurst.wiremock.client.WireMock.put;
-import static com.github.tomakehurst.wiremock.client.WireMock.equalTo;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
-import static com.github.tomakehurst.wiremock.client.WireMock.postRequestedFor;
-import static com.github.tomakehurst.wiremock.client.WireMock.verify;
-import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor;
-import static com.github.tomakehurst.wiremock.client.WireMock.putRequestedFor;
-import static com.github.tomakehurst.wiremock.client.WireMock.deleteRequestedFor;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertEquals;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import org.onap.so.cloudify.base.client.CloudifyConnectException;
-import org.onap.so.cloudify.base.client.CloudifyRequest;
-import org.onap.so.cloudify.base.client.CloudifyResponseException;
-import org.onap.so.cloudify.base.client.Entity;
-import org.onap.so.cloudify.base.client.HttpMethod;
-import org.onap.so.cloudify.v3.model.Deployment;
-
-public class HttpClientConnectorTest {
-
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void sunnyDay_POST() {
-        wireMockRule.stubFor(post(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        Deployment deployment = new Deployment();
-        deployment.setId("id");
-        request.entity(deployment, "application/json");
-        request.endpoint("http://localhost:" + port + "/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.header("Content-Type", "application/json");
-        request.method(HttpMethod.POST);
-        conector.request(request);
-        verify(postRequestedFor(urlEqualTo("/testUrl")));
-    }
-
-
-    @Test
-    public void sunnyDay_GET() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:" + port + "/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.GET);
-        conector.request(request);
-        verify(getRequestedFor(urlEqualTo("/testUrl")));
-    }
-
-    @Test
-    public void sunnyDay_PUT() {
-        wireMockRule.stubFor(put(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:" + port + "/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.PUT);
-        conector.request(request);
-        verify(putRequestedFor(urlEqualTo("/testUrl")));
-    }
-
-
-    @Test
-    public void sunnyDay_DELETE() {
-        wireMockRule.stubFor(delete(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:" + port + "/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.DELETE);
-        conector.request(request);
-        verify(deleteRequestedFor(urlEqualTo("/testUrl")));
-    }
-
-
-    @Test
-    public void rainyDay_PATCH() {
-        thrown.expect(HttpClientException.class);
-        thrown.expectMessage("Unrecognized HTTP Method: PATCH");
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:123123/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.PATCH);
-        conector.request(request);
-
-    }
-
-    @Test
-    public void rainyDayRunTimeException() {
-        wireMockRule.stubFor(post(urlEqualTo("/503"))
-                .willReturn(aResponse().withStatus(503).withHeader("Content-Type", "text/plain").withBody("failure")));
-        thrown.expect(RuntimeException.class);
-        thrown.expectMessage("Unexpected client exception");
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:123123/503");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.POST);
-        conector.request(request);
-
-    }
-
-    @Test
-    public void rainyDayBadUri() {
-        wireMockRule.stubFor(post(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        thrown.expect(HttpClientException.class);
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        Deployment deployment = new Deployment();
-        deployment.setId("id");
-        request.entity(deployment, "application/json");
-        request.endpoint("(@#$@(#*$&asfasdf");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.header("Content-Type", "application/json");
-        request.method(HttpMethod.POST);
-        conector.request(request);
-    }
-
-    @Test
-    public void sunnyDayWithJsonEntity_POST() {
-        wireMockRule.stubFor(post(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-
-        Deployment deployment = new Deployment();
-        deployment.setId("id");
-
-        CloudifyRequest<Deployment> request =
-                new CloudifyRequest<Deployment>(null, HttpMethod.POST, "/", Entity.json(deployment), null);
-
-        request.endpoint("http://localhost:" + port);
-        request.path("testUrl");
-        request.header("Content-Type", "application/json");
-        request.header("Content-Type", null);
-
-        request.returnType(Deployment.class);
-        assertEquals(Deployment.class, request.returnType());
-
-        Entity<Deployment> t = request.json(deployment);
-        assertEquals(t.getEntity().getId(), "id");
-
-        request.queryParam("test", "one").queryParam("test", "two");
-
-        conector.request(request);
-
-        verify(postRequestedFor(urlEqualTo("/testUrl?test=two")));
-    }
-
-    @Test
-    public void sunnyDayWithStreamEntity_POST() {
-        wireMockRule.stubFor(post(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_OK)));
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-
-        InputStream is = new ByteArrayInputStream("{}".getBytes(StandardCharsets.UTF_8));
-
-        CloudifyRequest<Deployment> request =
-                new CloudifyRequest<Deployment>(null, HttpMethod.POST, "/testUrl", Entity.stream(is), null);
-
-        request.endpoint("http://localhost:" + port);
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.header("Content-Type", "application/json");
-
-        conector.request(request);
-        verify(postRequestedFor(urlEqualTo("/testUrl")));
-    }
-
-    @Test
-    public void rainyDayGarbageData() {
-        wireMockRule.stubFor(
-                get(urlPathEqualTo("/testUrl")).willReturn(aResponse().withFault(Fault.RANDOM_DATA_THEN_CLOSE)));
-        thrown.expect(CloudifyConnectException.class);
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:" + port + "/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.GET);
-        conector.request(request);
-    }
-
-    @Test
-    public void rainyDayEmptyResponse() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/testUrl")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json").withBody("TEST").withStatus(HttpStatus.SC_NOT_FOUND)));
-
-        thrown.expect(HttpClientException.class);
-        int port = wireMockRule.port();
-        HttpClientConnector conector = new HttpClientConnector();
-        CloudifyRequest<Deployment> request = new CloudifyRequest<Deployment>();
-        request.endpoint("http://localhost:" + port + "/testUrl");
-        request.setBasicAuthentication("USER", "PASSWORD");
-        request.method(HttpMethod.GET);
-        conector.request(request); // gets down to "Get here on an error response (4XX-5XX)", then tries to throw a
-                                   // CloudifyResponseException, which calls getEntity, which tries to parse an HTML
-                                   // error page as a JSON, which causes the HttpClientException.
-    }
-
-
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/connector/http/HttpClientRedirectStrategyTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/connector/http/HttpClientRedirectStrategyTest.java
deleted file mode 100644 (file)
index 6010726..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * ============LICENSE_START======================================================= ONAP : SO
- * ================================================================================ Copyright (C) 2018 Nokia.
- * ============================================================================= 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.
- * ============LICENSE_END=========================================================
- */
-package org.onap.so.cloudify.connector.http;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.BDDMockito.given;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.mock;
-import java.net.URI;
-import java.net.URISyntaxException;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpStatus;
-import org.apache.http.ProtocolException;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpHead;
-import org.apache.http.client.methods.HttpOptions;
-import org.apache.http.client.methods.HttpPatch;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpTrace;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.protocol.HttpContext;
-import org.junit.Test;
-
-public class HttpClientRedirectStrategyTest {
-
-    private HttpClientRedirectStrategy httpClientRedirectStrategy = new HttpClientRedirectStrategy();
-
-    @Test
-    public void isRedirectable_shouldReturnFalse_forNonRedirectableHttpMethods() {
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpPost.METHOD_NAME)).isFalse();
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpPatch.METHOD_NAME)).isFalse();
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpPut.METHOD_NAME)).isFalse();
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpOptions.METHOD_NAME)).isFalse();
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpTrace.METHOD_NAME)).isFalse();
-    }
-
-    @Test
-    public void isRedirectable_shouldReturnTrue_forRedirectableHttpMethods() {
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpGet.METHOD_NAME)).isTrue();
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpDelete.METHOD_NAME)).isTrue();
-        assertThat(httpClientRedirectStrategy.isRedirectable(HttpHead.METHOD_NAME)).isTrue();
-    }
-
-    @Test
-    public void getRedirect_shouldReturnHttpHeadUriRequest() throws URISyntaxException, ProtocolException {
-        assertHttpUriRequestFor(HttpHead.METHOD_NAME, HttpHead.class);
-    }
-
-    @Test
-    public void getRedirect_shouldReturnHttpGetUriRequest() throws URISyntaxException, ProtocolException {
-        assertHttpUriRequestFor(HttpGet.METHOD_NAME, HttpGet.class);
-    }
-
-    private void assertHttpUriRequestFor(String methodName, Class<? extends HttpUriRequest> expectedHttpMethodClass)
-            throws URISyntaxException, ProtocolException {
-        // GIVEN
-        HttpRequest request = mock(HttpRequest.class, RETURNS_DEEP_STUBS);
-        given(request.getRequestLine().getMethod()).willReturn(methodName);
-        HttpResponse response = null;
-        HttpContext context = null;
-        URI expectedUri = new URI("http://localhost/host");
-        // WHEN
-        HttpUriRequest httpUriRequest =
-                new TestableHttpClientRedirectStrategy(expectedUri).getRedirect(request, response, context);
-        // THEN
-        assertThat(httpUriRequest).isInstanceOf(expectedHttpMethodClass);
-        assertThat(httpUriRequest.getURI()).isEqualTo(expectedUri);
-    }
-
-    @Test
-    public void getRedirect_shouldReturnHttpGetUri_byDefault() throws URISyntaxException, ProtocolException {
-        // GIVEN
-        HttpRequest request = mock(HttpRequest.class, RETURNS_DEEP_STUBS);
-        given(request.getRequestLine().getMethod()).willReturn(HttpPost.METHOD_NAME);
-        HttpResponse response = mock(HttpResponse.class, RETURNS_DEEP_STUBS);
-        given(response.getStatusLine().getStatusCode()).willReturn(HttpStatus.SC_ACCEPTED);
-        URI expectedUri = new URI("http://localhost/host");
-        HttpContext context = null;
-        // WHEN
-        HttpUriRequest httpUriRequest =
-                new TestableHttpClientRedirectStrategy(expectedUri).getRedirect(request, response, context);
-        // THEN
-        assertThat(httpUriRequest).isInstanceOf(HttpGet.class);
-        assertThat(httpUriRequest.getURI()).isEqualTo(expectedUri);
-    }
-
-    @Test
-    public void getRedirect_shouldCopyHttpRequestAndSetNewUri_forMovedTemporarilyStatus()
-            throws URISyntaxException, ProtocolException {
-        assertHttpRequestIsCopied(HttpStatus.SC_MOVED_TEMPORARILY);
-    }
-
-    @Test
-    public void getRedirect_shouldCopyHttpRequestAndSetNewUri_forTemporaryRedirectStatus()
-            throws URISyntaxException, ProtocolException {
-        assertHttpRequestIsCopied(HttpStatus.SC_TEMPORARY_REDIRECT);
-    }
-
-    private void assertHttpRequestIsCopied(int expectedHttpStatus) throws URISyntaxException, ProtocolException {
-        // GIVEN
-        HttpRequest request = mock(HttpRequest.class, RETURNS_DEEP_STUBS);
-        given(request.getRequestLine().getMethod()).willReturn(HttpGet.METHOD_NAME);
-        given(request.getRequestLine().getUri()).willReturn("http://hostname");
-        HttpResponse response = mock(HttpResponse.class, RETURNS_DEEP_STUBS);
-        given(response.getStatusLine().getStatusCode()).willReturn(expectedHttpStatus);
-        URI expectedUri = new URI("http://localhost/host");
-        HttpContext context = null;
-        // WHEN
-        HttpUriRequest httpUriRequest =
-                new TestableHttpClientRedirectStrategy(expectedUri).getRedirect(request, response, context);
-        // THEN
-        assertThat(httpUriRequest).isInstanceOf(HttpGet.class);
-        assertThat(httpUriRequest.getURI()).isEqualTo(expectedUri);
-    }
-
-    private static class TestableHttpClientRedirectStrategy extends HttpClientRedirectStrategy {
-
-        private final URI expectedUri;
-
-        public TestableHttpClientRedirectStrategy(URI expectedUri) {
-            this.expectedUri = expectedUri;
-        }
-
-        @Override
-        public URI getLocationURI(HttpRequest request, HttpResponse response, HttpContext context) {
-            return expectedUri;
-        }
-    }
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/BlueprintsResourceTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/BlueprintsResourceTest.java
deleted file mode 100644 (file)
index cba3bf8..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.delete;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.put;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import static org.junit.Assert.assertEquals;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onap.so.cloudify.v3.client.BlueprintsResource.DeleteBlueprint;
-import org.onap.so.cloudify.v3.client.BlueprintsResource.GetBlueprint;
-import org.onap.so.cloudify.v3.client.BlueprintsResource.ListBlueprints;
-import org.onap.so.cloudify.v3.client.BlueprintsResource.UploadBlueprint;
-import org.onap.so.cloudify.v3.model.Blueprint;
-import org.onap.so.cloudify.v3.model.Blueprints;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-public class BlueprintsResourceTest {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void cloudifyClientBlueprintFromStream() {
-        wireMockRule.stubFor(put(urlPathEqualTo("/api/v3/blueprints/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{\"id\": \"123\"}")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        BlueprintsResource br = c.blueprints();
-        InputStream is = new ByteArrayInputStream("{}".getBytes(StandardCharsets.UTF_8));
-        UploadBlueprint ub = br.uploadFromStream("123", "blueprint.json", is);
-        Blueprint b = ub.execute();
-        assertEquals("123", b.getId());
-    }
-
-    @Test
-    public void cloudifyClientBlueprintFromUrl() {
-        wireMockRule.stubFor(put(urlPathEqualTo("/api/v3/blueprints/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{\"id\": \"123\"}")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        BlueprintsResource br = c.blueprints();
-        UploadBlueprint ub = br.uploadFromUrl("123", "blueprint.json", "http://localhost:" + port + "/blueprint");
-        Blueprint b = ub.execute();
-        assertEquals("123", b.getId());
-    }
-
-    @Test
-    public void cloudifyClientBlueprintDelete() {
-        wireMockRule.stubFor(delete(urlPathEqualTo("/api/v3/blueprints/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{\"id\": \"123\"}")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        BlueprintsResource br = c.blueprints();
-        DeleteBlueprint db = br.deleteById("123");
-        Blueprint b = db.execute();
-        assertEquals("123", b.getId());
-    }
-
-    @Test
-    public void cloudifyClientBlueprintList() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/blueprints"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{\"items\": [{\"id\": \"123\"}]}").withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        BlueprintsResource br = c.blueprints();
-        ListBlueprints lb = br.list();
-        Blueprints b = lb.execute();
-        assertEquals("123", b.getItems().get(0).getId());
-    }
-
-    @Test
-    public void cloudifyClientBlueprintGetById() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/blueprints/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{\"id\": \"123\"}")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        BlueprintsResource br = c.blueprints();
-        GetBlueprint gb = br.getById("123");
-        Blueprint b = gb.execute();
-        assertEquals("123", b.getId());
-    }
-
-    @Test
-    public void cloudifyClientBlueprintGetMetadataById() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/blueprints/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{\"id\": \"123\"}")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        BlueprintsResource br = c.blueprints();
-        GetBlueprint gb = br.getMetadataById("123");
-        Blueprint b = gb.execute();
-        assertEquals("123", b.getId());
-    }
-
-
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/DeploymentsResourceTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/DeploymentsResourceTest.java
deleted file mode 100644 (file)
index 2acd4ba..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.delete;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.put;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import java.util.HashMap;
-import java.util.Map;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.CreateDeployment;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.DeleteDeployment;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.GetDeployment;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.GetDeploymentOutputs;
-import org.onap.so.cloudify.v3.client.DeploymentsResource.ListDeployments;
-import org.onap.so.cloudify.v3.model.CreateDeploymentParams;
-import org.onap.so.cloudify.v3.model.Deployment;
-import org.onap.so.cloudify.v3.model.Deployments;
-import org.onap.so.cloudify.v3.model.DeploymentOutputs;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-public class DeploymentsResourceTest {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void cloudifyDeploymentsCreate() {
-        wireMockRule.stubFor(put(urlPathEqualTo("/api/v3/deployments/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        DeploymentsResource br = c.deployments();
-
-        CreateDeploymentParams cdp = new CreateDeploymentParams();
-        cdp.setBlueprintId("123");
-        Map<String, Object> inputs = new HashMap<String, Object>();
-        cdp.setInputs(inputs);
-        CreateDeployment cd = br.create("123", cdp);
-        Deployment d = cd.execute();
-        assertEquals("123", d.getId());
-    }
-
-    @Test
-    public void cloudifyDeploymentsList() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/deployments"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{ \"items\": {\"id\": \"123\" } } ").withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        DeploymentsResource br = c.deployments();
-        ListDeployments ld = br.list();
-        Deployments d = ld.execute();
-        assertEquals("123", d.getItems().get(0).getId());
-    }
-
-    @Test
-    public void cloudifyDeploymentsGet() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/deployments/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        DeploymentsResource br = c.deployments();
-        GetDeployment gd = br.byId("123");
-        Deployment d = gd.execute();
-        assertEquals("123", d.getId());
-    }
-
-    @Test
-    public void cloudifyDeploymentsGetOutputs() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/deployments/123/outputs"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{ \"deployment_id\": \"123\" }").withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        DeploymentsResource br = c.deployments();
-        GetDeploymentOutputs gdo = br.outputsById("123");
-        DeploymentOutputs d = gdo.execute();
-        assertEquals("123", d.getDeploymentId());
-
-        Map<String, Object> map = new HashMap<String, Object>();
-        map.put("test", "answer");
-        assertEquals("answer", d.getMapValue(map, "test", String.class));
-
-        Integer i = d.getMapValue(map, "nil", Integer.class);
-        assertNull(i);
-
-        i = d.getMapValue(map, "test", Integer.class);
-        assertNull(i);
-    }
-
-    @Test
-    public void cloudifyDeploymentsDelete() {
-        wireMockRule.stubFor(delete(urlPathEqualTo("/api/v3/deployments/name"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        DeploymentsResource br = c.deployments();
-        DeleteDeployment cd = br.deleteByName("name");
-        Deployment d = cd.execute();
-        assertEquals("123", d.getId());
-    }
-
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/ExecutionsResourceTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/ExecutionsResourceTest.java
deleted file mode 100644 (file)
index 7b63c6e..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.patch;
-import static com.github.tomakehurst.wiremock.client.WireMock.post;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import static org.junit.Assert.assertEquals;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onap.so.cloudify.connector.http.HttpClientException;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.CancelExecution;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.GetExecution;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.ListExecutions;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.StartExecution;
-import org.onap.so.cloudify.v3.client.ExecutionsResource.UpdateExecution;
-import org.onap.so.cloudify.v3.model.CancelExecutionParams;
-import org.onap.so.cloudify.v3.model.Execution;
-import org.onap.so.cloudify.v3.model.Executions;
-import org.onap.so.cloudify.v3.model.StartExecutionParams;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-public class ExecutionsResourceTest {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void cloudifyClientExecutions() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/executions")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json")
-                .withBody(
-                        "{\"items\": [{ \"id\": \"345\" }, { \"id\": \"123\" }], \"metadata\": {\"pagination\": {\"total\": 100, \"offset\": 0, \"size\": 25}}}")
-                .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-        ListExecutions lx = xr.list();
-        Executions x = lx.execute();
-        assertEquals("123", x.getItems().get(1).getId());
-    }
-
-    @Test
-    public void cloudifyClientExecutionsSorted() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/executions")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json")
-                .withBody(
-                        "{\"items\": [{ \"id\": \"123\" }, { \"id\": \"345\" }], \"metadata\": {\"pagination\": {\"total\": 100, \"offset\": 0, \"size\": 25}}}")
-                .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-        ListExecutions lx = xr.listSorted("id");
-        Executions x = lx.execute();
-        assertEquals("345", x.getItems().get(1).getId());
-    }
-
-    @Test
-    public void cloudifyClientExecutionsFilter() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/executions")).willReturn(aResponse()
-                .withHeader("Content-Type", "application/json")
-                .withBody(
-                        "{\"items\": [{ \"id\": \"121\" }, { \"id\": \"123\" }], \"metadata\": {\"pagination\": {\"total\": 100, \"offset\": 0, \"size\": 25}}}")
-                .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-        ListExecutions lx = xr.listFiltered("a=b", "id");
-        Executions x = lx.execute();
-        assertEquals("123", x.getItems().get(1).getId());
-    }
-
-    @Test
-    public void cloudifyClientExecutionById() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/executions/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-        GetExecution gx = xr.byId("123");
-        Execution x = gx.execute();
-        assertEquals("123", x.getId());
-    }
-
-    @Test
-    public void cloudifyClientStartExecution() {
-        wireMockRule.stubFor(post(urlPathEqualTo("/api/v3/executions"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-
-        StartExecutionParams params = new StartExecutionParams();
-        StartExecution sx = xr.start(params);
-        Execution x = sx.execute();
-        assertEquals("123", x.getId());
-    }
-
-    @Test
-    public void cloudifyClientUpdateExecution() {
-        thrown.expect(HttpClientException.class);
-        thrown.expectMessage("Unrecognized HTTP Method: PATCH");
-
-        wireMockRule.stubFor(patch(urlPathEqualTo("/api/v3/executions"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-
-        UpdateExecution ux = xr.updateStatus("123", "good");
-        Execution x = ux.execute();
-        assertEquals("123", x.getId());
-    }
-
-    @Test
-    public void cloudifyClientCancelExecution() {
-        wireMockRule.stubFor(post(urlPathEqualTo("/api/v3/executions/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json").withBody("{ \"id\": \"123\" }")
-                        .withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        ExecutionsResource xr = c.executions();
-
-        CancelExecutionParams params = new CancelExecutionParams();
-        CancelExecution cx = xr.cancel("123", params);
-        Execution x = cx.execute();
-        assertEquals("123", x.getId());
-    }
-
-
-
-}
diff --git a/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/NodeInstancesResourceTest.java b/cloudify-client/src/test/java/org/onap/so/cloudify/v3/client/NodeInstancesResourceTest.java
deleted file mode 100644 (file)
index d38d040..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.so.cloudify.v3.client;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
-import static com.github.tomakehurst.wiremock.client.WireMock.get;
-import static com.github.tomakehurst.wiremock.client.WireMock.patch;
-import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
-import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;
-import static org.junit.Assert.assertEquals;
-import org.apache.http.HttpStatus;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.onap.so.cloudify.connector.http.HttpClientException;
-import org.onap.so.cloudify.v3.client.NodeInstancesResource.GetNodeInstance;
-import org.onap.so.cloudify.v3.client.NodeInstancesResource.ListNodeInstances;
-import org.onap.so.cloudify.v3.client.NodeInstancesResource.UpdateNodeInstance;
-import org.onap.so.cloudify.v3.model.NodeInstance;
-import org.onap.so.cloudify.v3.model.NodeInstances;
-import org.onap.so.cloudify.v3.model.UpdateNodeInstanceParams;
-import com.github.tomakehurst.wiremock.junit.WireMockRule;
-
-public class NodeInstancesResourceTest {
-    @Rule
-    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().dynamicPort());
-
-    @Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-    @Test
-    public void nodeInstanceGet() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/node-instances/123"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{ \"node_instance\": { \"id\": \"123\" } }").withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        NodeInstancesResource nir = c.nodeInstances();
-        GetNodeInstance gni = nir.byId("123");
-        NodeInstance ni = gni.execute();
-        assertEquals("123", ni.getId());
-    }
-
-    @Test
-    public void nodeInstanceList() {
-        wireMockRule.stubFor(get(urlPathEqualTo("/api/v3/node-instances"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        // .withBody(" { \"items\": [ { \"node_instance\": { \"id\": \"123\" } } ] } ")
-                        .withBody(" { \"items\": [ { \"id\": \"123\" } ] } ").withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        NodeInstancesResource nir = c.nodeInstances();
-        ListNodeInstances lni = nir.list();
-        NodeInstances ni = lni.execute();
-        assertEquals("123", ni.getItems().get(0).getId());
-    }
-
-    @Test
-    public void nodeInstanceUpdate() {
-        wireMockRule.stubFor(patch(urlPathEqualTo("/api/v3/node-instances/"))
-                .willReturn(aResponse().withHeader("Content-Type", "application/json")
-                        .withBody("{ \"node_instance\": { \"id\": \"123\" } }").withStatus(HttpStatus.SC_OK)));
-
-        int port = wireMockRule.port();
-
-        Cloudify c = new Cloudify("http://localhost:" + port, "tenant");
-        NodeInstancesResource nir = c.nodeInstances();
-        UpdateNodeInstanceParams params = new UpdateNodeInstanceParams();
-
-        UpdateNodeInstance uni = nir.update("123", params);
-        thrown.expect(HttpClientException.class); /// ???????
-        NodeInstance ni = uni.execute();
-    }
-}
diff --git a/pom.xml b/pom.xml
index 2fed5a8..e8abf26 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,6 @@
     <module>so-optimization-clients</module>
     <module>so-sdn-clients</module>
     <module>bpmn</module>
-    <module>cloudify-client</module>
     <module>cxf-logging</module>
     <module>so-monitoring</module>
     <module>so-simulator</module>