aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/ApiRestController.java47
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/ApiRestServer.java5
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java689
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyGuardPolicyProvider.java74
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java74
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyProvider.java17
-rw-r--r--main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyTypeProvider.java16
7 files changed, 878 insertions, 44 deletions
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/ApiRestController.java b/main/src/main/java/org/onap/policy/api/main/rest/ApiRestController.java
index e7deb118..0f68882f 100644
--- a/main/src/main/java/org/onap/policy/api/main/rest/ApiRestController.java
+++ b/main/src/main/java/org/onap/policy/api/main/rest/ApiRestController.java
@@ -46,7 +46,6 @@ import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import org.onap.policy.api.main.rest.provider.HealthCheckProvider;
@@ -54,15 +53,17 @@ import org.onap.policy.api.main.rest.provider.PolicyProvider;
import org.onap.policy.api.main.rest.provider.PolicyTypeProvider;
import org.onap.policy.api.main.rest.provider.StatisticsProvider;
import org.onap.policy.common.endpoints.report.HealthCheckReport;
-import org.onap.policy.models.tosca.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
/**
* Class to provide REST API services.
+ *
+ * @author Chenfei Gao (cgao@research.att.com)
*/
@Path("/policy/api/v1")
@Api(value = "Policy Design API")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
+@Produces({"application/json", "application/yaml"})
+@Consumes({"application/json", "application/yaml"})
@SwaggerDefinition(info = @Info(
description = "Policy Design API is publicly exposed for clients to Create/Read/Update/Delete"
+ " policy types, policy type implementation and policies which can be recognized"
@@ -336,14 +337,7 @@ public class ApiRestController {
notes = "Client should provide TOSCA body of the new policy type",
authorizations = @Authorization(value = "basicAuth"),
tags = { "PolicyType", },
- extensions = {
- @Extension(name = "interface info", properties = {
- @ExtensionProperty(name = "api-version", value = "1.0.0"),
- @ExtensionProperty(name = "last-mod-release", value = "Dublin")
- })
- })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Resource successfully created",
+ response = ToscaServiceTemplate.class,
responseHeaders = {
@ResponseHeader(name = "X-MinorVersion",
description = "Used to request or communicate a MINOR version back from the client"
@@ -360,7 +354,14 @@ public class ApiRestController {
@ResponseHeader(name = "X-ONAP-RequestID",
description = "Used to track REST transactions for logging purpose",
response = UUID.class)
- }),
+ },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid Body"),
@ApiResponse(code = 401, message = "Authentication Error"),
@ApiResponse(code = 403, message = "Authorization Error"),
@@ -715,20 +716,11 @@ public class ApiRestController {
*/
@POST
@Path("/policytypes/{policyTypeId}/versions/{policyTypeVersion}/policies")
- @Consumes("application/json")
- @Produces("application/json")
@ApiOperation(value = "Create a new policy for a policy type version",
notes = "Client should provide TOSCA body of the new policy",
authorizations = @Authorization(value = "basicAuth"),
tags = { "Policy", },
- extensions = {
- @Extension(name = "interface info", properties = {
- @ExtensionProperty(name = "api-version", value = "1.0.0"),
- @ExtensionProperty(name = "last-mod-release", value = "Dublin")
- })
- })
- @ApiResponses(value = {
- @ApiResponse(code = 201, message = "Resource successfully created",
+ response = ToscaServiceTemplate.class,
responseHeaders = {
@ResponseHeader(name = "X-MinorVersion",
description = "Used to request or communicate a MINOR version back from the client"
@@ -745,7 +737,14 @@ public class ApiRestController {
@ResponseHeader(name = "X-ONAP-RequestID",
description = "Used to track REST transactions for logging purpose",
response = UUID.class)
- }),
+ },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid Body"),
@ApiResponse(code = 401, message = "Authentication Error"),
@ApiResponse(code = 403, message = "Authorization Error"),
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/ApiRestServer.java b/main/src/main/java/org/onap/policy/api/main/rest/ApiRestServer.java
index a78649d4..46ec34d7 100644
--- a/main/src/main/java/org/onap/policy/api/main/rest/ApiRestServer.java
+++ b/main/src/main/java/org/onap/policy/api/main/rest/ApiRestServer.java
@@ -31,7 +31,7 @@ import org.onap.policy.api.main.rest.aaf.AafApiFilter;
import org.onap.policy.common.capabilities.Startable;
import org.onap.policy.common.endpoints.http.server.HttpServletServer;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
-import org.onap.policy.models.tosca.serialization.simple.ToscaServiceTemplateMessageBodyHandler;
+import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,7 +92,8 @@ public class ApiRestServer implements Startable {
props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_PORT_SUFFIX,
Integer.toString(restServerParameters.getPort()));
props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_REST_CLASSES_SUFFIX,
- ApiRestController.class.getCanonicalName());
+ String.join(",", LegacyApiRestController.class.getCanonicalName(),
+ ApiRestController.class.getCanonicalName()));
props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_MANAGED_SUFFIX, "false");
props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_SWAGGER_SUFFIX, "true");
props.setProperty(svcpfx + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX,
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java b/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java
new file mode 100644
index 00000000..8e00b436
--- /dev/null
+++ b/main/src/main/java/org/onap/policy/api/main/rest/LegacyApiRestController.java
@@ -0,0 +1,689 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy API
+ * ================================================================================
+ * Copyright (C) 2019 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.api.main.rest;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import io.swagger.annotations.Authorization;
+import io.swagger.annotations.Extension;
+import io.swagger.annotations.ExtensionProperty;
+import io.swagger.annotations.ResponseHeader;
+import java.util.UUID;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+import org.onap.policy.api.main.rest.provider.LegacyGuardPolicyProvider;
+import org.onap.policy.api.main.rest.provider.LegacyOperationalPolicyProvider;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
+
+/**
+ * Class to provide legacy REST API services.
+ *
+ * @author Chenfei Gao (cgao@research.att.com)
+ */
+@Path("/policy/api/v1")
+@Api(value = "Legacy Policy Design API")
+@Produces({"application/json; vnd.onap.guard", "application/json; vnd.onap.operational"})
+@Consumes({"application/json; vnd.onap.guard", "application/json; vnd.onap.operational"})
+public class LegacyApiRestController {
+
+ /**
+ * Retrieves all versions of guard policies.
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @GET
+ @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies")
+ @Produces("application/json; vnd.onap.guard")
+ @ApiOperation(value = "Retrieve all versions of guard policies",
+ notes = "Returns a list of all versions of guard policies",
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Guard Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response getAllGuardPolicies(
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyGuardPolicyProvider().fetchGuardPolicies(null, null)).build();
+ }
+
+ /**
+ * Retrieves all versions of a particular guard policy.
+ *
+ * @param policyId the ID of specified guard policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @GET
+ @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}")
+ @Produces("application/json; vnd.onap.guard")
+ @ApiOperation(value = "Retrieve all versions of a particular guard policy",
+ notes = "Returns a list of all versions of the specified guard policy",
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Guard Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response getAllVersionsOfGuardPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyGuardPolicyProvider().fetchGuardPolicies(policyId, null)).build();
+ }
+
+ /**
+ * Retrieves the specified version of a particular guard policy.
+ *
+ * @param policyId the ID of specified policy
+ * @param policyVersion the version of specified policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @GET
+ @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}")
+ @Produces("application/json; vnd.onap.guard")
+ @ApiOperation(value = "Retrieve one version of a particular guard policy",
+ notes = "Returns a particular version of a specified guard policy",
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Guard Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response getSpecificVersionOfGuardPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyGuardPolicyProvider().fetchGuardPolicies(policyId, policyVersion)).build();
+ }
+
+ /**
+ * Creates a new guard policy.
+ *
+ * @param body the body of policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @POST
+ @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies")
+ @Consumes("application/json; vnd.onap.guard")
+ @Produces("application/json; vnd.onap.guard")
+ @ApiOperation(value = "Create a new guard policy",
+ notes = "Client should provide entity body of the new guard policy",
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Guard Policy", },
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 400, message = "Invalid Body"),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response createGuardPolicy(
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId,
+ @ApiParam(value = "Entity body of policy", required = true) LegacyGuardPolicy body) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyGuardPolicyProvider().createGuardPolicy(body)).build();
+ }
+
+ /**
+ * Deletes all versions of a particular guard policy.
+ *
+ * @param policyId the ID of specified policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @DELETE
+ @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}")
+ @ApiOperation(value = "Delete all versions of a guard policy",
+ notes = "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Guard Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 204, message = "Resources successfully deleted, no content returned",
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ }),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response deleteAllVersionsOfGuardPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyGuardPolicyProvider().deleteGuardPolicies(policyId, null)).build();
+ }
+
+ /**
+ * Deletes the specified version of a particular guard policy.
+ *
+ * @param policyId the ID of specified policy
+ * @param policyVersion the version of specified policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @DELETE
+ @Path("/policytypes/onap.policy.controlloop.guard/versions/1.0.0/policies/{policyId}/versions/{policyVersion}")
+ @ApiOperation(value = "Delete a particular version of a guard policy",
+ notes = "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Guard Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 204, message = "Resource successfully deleted, no content returned",
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ }),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response deleteSpecificVersionOfGuardPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyGuardPolicyProvider().deleteGuardPolicies(policyId, policyVersion)).build();
+ }
+
+ /**
+ * Retrieves all versions of operational policies.
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @GET
+ @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies")
+ @Produces("application/json; vnd.onap.operational")
+ @ApiOperation(value = "Retrieve all versions of operational policies",
+ notes = "Returns a list of all versions of operational policies",
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Operational Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response getAllOperationalPolicies(
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyOperationalPolicyProvider().fetchOperationalPolicies(null, null)).build();
+ }
+
+ /**
+ * Retrieves all versions of a particular operational policy.
+ *
+ * @param policyId the ID of specified operational policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @GET
+ @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies/{policyId}")
+ @Produces("application/json; vnd.onap.operational")
+ @ApiOperation(value = "Retrieve all versions of a particular operational policy",
+ notes = "Returns a list of all versions of the specified operational policy",
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Operational Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response getAllVersionsOfOperationalPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyOperationalPolicyProvider().fetchOperationalPolicies(policyId, null)).build();
+ }
+
+ /**
+ * Retrieves the specified version of a particular operational policy.
+ *
+ * @param policyId the ID of specified policy
+ * @param policyVersion the version of specified policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @GET
+ @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/"
+ + "policies/{policyId}/versions/{policyVersion}")
+ @Produces("application/json; vnd.onap.operational")
+ @ApiOperation(value = "Retrieve one version of a particular operational policy",
+ notes = "Returns a particular version of a specified operational policy",
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Operational Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response getSpecificVersionOfOperationalPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyOperationalPolicyProvider().fetchOperationalPolicies(policyId, policyVersion)).build();
+ }
+
+ /**
+ * Creates a new operational policy.
+ *
+ * @param body the body of policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @POST
+ @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies")
+ @Consumes("application/json; vnd.onap.operational")
+ @Produces("application/json; vnd.onap.operational")
+ @ApiOperation(value = "Create a new operational policy",
+ notes = "Client should provide entity body of the new operational policy",
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Operational Policy", },
+ response = ToscaServiceTemplate.class,
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 400, message = "Invalid Body"),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response createOperationalPolicy(
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId,
+ @ApiParam(value = "Entity body of policy", required = true) LegacyOperationalPolicy body) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyOperationalPolicyProvider().createOperationalPolicy(body)).build();
+ }
+
+ /**
+ * Deletes all versions of a particular operational policy.
+ *
+ * @param policyId the ID of specified policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @DELETE
+ @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/policies/{policyId}")
+ @ApiOperation(value = "Delete all versions of a operational policy",
+ notes = "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Operational Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 204, message = "Resources successfully deleted, no content returned",
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ }),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response deleteAllVersionsOfOperationalPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyOperationalPolicyProvider().deleteOperationalPolicies(policyId, null)).build();
+ }
+
+ /**
+ * Deletes the specified version of a particular operational policy.
+ *
+ * @param policyId the ID of specified policy
+ * @param policyVersion the version of specified policy
+ *
+ * @return the Response object containing the results of the API operation
+ */
+ @DELETE
+ @Path("/policytypes/onap.policy.controlloop.operational/versions/1.0.0/"
+ + "policies/{policyId}/versions/{policyVersion}")
+ @ApiOperation(value = "Delete a particular version of a specified operational policy",
+ notes = "Rule: the version that has been deployed in PDP group(s) cannot be deleted",
+ authorizations = @Authorization(value = "basicAuth"),
+ tags = { "Legacy Operational Policy", },
+ extensions = {
+ @Extension(name = "interface info", properties = {
+ @ExtensionProperty(name = "api-version", value = "1.0.0"),
+ @ExtensionProperty(name = "last-mod-release", value = "Dublin")
+ })
+ })
+ @ApiResponses(value = {
+ @ApiResponse(code = 204, message = "Resource successfully deleted, no content returned",
+ responseHeaders = {
+ @ResponseHeader(name = "X-MinorVersion",
+ description = "Used to request or communicate a MINOR version back from the client"
+ + " to the server, and from the server back to the client",
+ response = String.class),
+ @ResponseHeader(name = "X-PatchVersion",
+ description = "Used only to communicate a PATCH version in a response for"
+ + " troubleshooting purposes only, and will not be provided by"
+ + " the client on request",
+ response = String.class),
+ @ResponseHeader(name = "X-LatestVersion",
+ description = "Used only to communicate an API's latest version",
+ response = String.class),
+ @ResponseHeader(name = "X-ONAP-RequestID",
+ description = "Used to track REST transactions for logging purpose",
+ response = UUID.class)
+ }),
+ @ApiResponse(code = 401, message = "Authentication Error"),
+ @ApiResponse(code = 403, message = "Authorization Error"),
+ @ApiResponse(code = 404, message = "Resource Not Found"),
+ @ApiResponse(code = 409, message = "Delete Conflict, Rule Violation"),
+ @ApiResponse(code = 500, message = "Internal Server Error")
+ })
+ public Response deleteSpecificVersionOfOperationalPolicy(
+ @PathParam("policyId") @ApiParam(value = "ID of policy", required = true) String policyId,
+ @PathParam("policyVersion") @ApiParam(value = "Version of policy", required = true) String policyVersion,
+ @HeaderParam("X-ONAP-RequestID") @ApiParam("RequestID for http transaction") UUID requestId) {
+ return addLoggingHeaders(addVersionControlHeaders(Response.status(Response.Status.OK)), requestId)
+ .entity(new LegacyOperationalPolicyProvider().deleteOperationalPolicies(policyId, policyVersion)).build();
+ }
+
+ private ResponseBuilder addVersionControlHeaders(ResponseBuilder rb) {
+ return rb.header("X-MinorVersion", "0").header("X-PatchVersion", "0").header("X-LatestVersion", "1.0.0");
+ }
+
+ private ResponseBuilder addLoggingHeaders(ResponseBuilder rb, UUID requestId) {
+ if (requestId == null) {
+ // Generate a random uuid if client does not embed requestId in rest request
+ return rb.header("X-ONAP-RequestID", UUID.randomUUID());
+ }
+ return rb.header("X-ONAP-RequestID", requestId);
+ }
+} \ No newline at end of file
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyGuardPolicyProvider.java b/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyGuardPolicyProvider.java
new file mode 100644
index 00000000..f627493c
--- /dev/null
+++ b/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyGuardPolicyProvider.java
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy API
+ * ================================================================================
+ * Copyright (C) 2019 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.api.main.rest.provider;
+
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
+
+/**
+ * Class to provide all kinds of legacy guard policy operations.
+ *
+ * @author Chenfei Gao (cgao@research.att.com)
+ */
+public class LegacyGuardPolicyProvider {
+
+ private static final String DELETE_OK = "Successfully deleted";
+
+ /**
+ * Retrieves a list of guard policies matching specified ID and version.
+ *
+ * @param policyId the ID of policy
+ * @param policyVersion the version of policy
+ *
+ * @return the ToscaServiceTemplate object
+ */
+ public ToscaServiceTemplate fetchGuardPolicies(String policyId, String policyVersion) {
+ // placeholder
+ return new ToscaServiceTemplate();
+ }
+
+ /**
+ * Creates a new guard policy.
+ *
+ * @param body the entity body of policy
+ *
+ * @return the ToscaServiceTemplate object
+ */
+ public ToscaServiceTemplate createGuardPolicy(LegacyGuardPolicy body) {
+ // placeholder
+ return new ToscaServiceTemplate();
+ }
+
+ /**
+ * Deletes the guard policies matching specified ID and version.
+ *
+ * @param policyId the ID of policy
+ * @param policyVersion the version of policy
+ *
+ * @return a string message indicating the operation results
+ */
+ public String deleteGuardPolicies(String policyId, String policyVersion) {
+ // placeholder
+ return DELETE_OK;
+ }
+} \ No newline at end of file
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java b/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java
new file mode 100644
index 00000000..7d3e1875
--- /dev/null
+++ b/main/src/main/java/org/onap/policy/api/main/rest/provider/LegacyOperationalPolicyProvider.java
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP Policy API
+ * ================================================================================
+ * Copyright (C) 2019 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.api.main.rest.provider;
+
+import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
+
+/**
+ * Class to provide all kinds of legacy operational policy operations.
+ *
+ * @author Chenfei Gao (cgao@research.att.com)
+ */
+public class LegacyOperationalPolicyProvider {
+
+ private static final String DELETE_OK = "Successfully deleted";
+
+ /**
+ * Retrieves a list of operational policies matching specified ID and version.
+ *
+ * @param policyId the ID of policy
+ * @param policyVersion the version of policy
+ *
+ * @return the ToscaServiceTemplate object
+ */
+ public ToscaServiceTemplate fetchOperationalPolicies(String policyId, String policyVersion) {
+ // placeholder
+ return new ToscaServiceTemplate();
+ }
+
+ /**
+ * Creates a new operational policy.
+ *
+ * @param body the entity body of policy
+ *
+ * @return the LegacyOperationalPolicy object
+ */
+ public LegacyOperationalPolicy createOperationalPolicy(LegacyOperationalPolicy body) {
+ // placeholder
+ return new LegacyOperationalPolicy();
+ }
+
+ /**
+ * Deletes the operational policies matching specified ID and version.
+ *
+ * @param policyId the ID of policy
+ * @param policyVersion the version of policy
+ *
+ * @return a string message indicating the operation results
+ */
+ public String deleteOperationalPolicies(String policyId, String policyVersion) {
+ // placeholder
+ return DELETE_OK;
+ }
+} \ No newline at end of file
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyProvider.java b/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyProvider.java
index 2c5e63a9..690bdbd0 100644
--- a/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyProvider.java
+++ b/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyProvider.java
@@ -22,14 +22,15 @@
package org.onap.policy.api.main.rest.provider;
-import org.onap.policy.models.tosca.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
/**
* Class to provide all kinds of policy operations.
+ *
+ * @author Chenfei Gao (cgao@research.att.com)
*/
public class PolicyProvider {
- private static final String POST_OK = "Successfully created";
private static final String DELETE_OK = "Successfully deleted";
/**
@@ -40,12 +41,11 @@ public class PolicyProvider {
* @param policyId the ID of policy
* @param policyVersion the version of policy
*
- * @return the ToscaPolicyList object containing a list of policies matching specified fields
+ * @return the ToscaServiceTemplate object
*/
public ToscaServiceTemplate fetchPolicies(String policyTypeId, String policyTypeVersion,
String policyId, String policyVersion) {
// placeholder
- // something like return new PolicyModelProvider().getPolicies(<blah>);
return new ToscaServiceTemplate();
}
@@ -56,12 +56,12 @@ public class PolicyProvider {
* @param policyTypeVersion the version of policy type
* @param body the entity body of policy
*
- * @return a string message indicating the operation results
+ * @return the ToscaServiceTemplate object
*/
- public String createPolicy(String policyTypeId, String policyTypeVersion, ToscaServiceTemplate body) {
+ public ToscaServiceTemplate createPolicy(String policyTypeId, String policyTypeVersion,
+ ToscaServiceTemplate body) {
// placeholder
- // something like return new PolicyModelProvider().createPolicies(<blah>);
- return POST_OK;
+ return new ToscaServiceTemplate();
}
/**
@@ -77,7 +77,6 @@ public class PolicyProvider {
public String deletePolicies(String policyTypeId, String policyTypeVersion,
String policyId, String policyVersion) {
// placeholder
- // something like return new PolicyModelProvider().deletePolicies(<blah>);
return DELETE_OK;
}
} \ No newline at end of file
diff --git a/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyTypeProvider.java b/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyTypeProvider.java
index 32d16dd7..5038e315 100644
--- a/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyTypeProvider.java
+++ b/main/src/main/java/org/onap/policy/api/main/rest/provider/PolicyTypeProvider.java
@@ -22,14 +22,15 @@
package org.onap.policy.api.main.rest.provider;
-import org.onap.policy.models.tosca.concepts.ToscaServiceTemplate;
+import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
/**
* Class to provide all kinds of policy type operations.
+ *
+ * @author Chenfei Gao (cgao@research.att.com)
*/
public class PolicyTypeProvider {
- private static final String POST_OK = "Successfully created";
private static final String DELETE_OK = "Successfully deleted";
/**
@@ -38,11 +39,10 @@ public class PolicyTypeProvider {
* @param policyTypeId the ID of policy type
* @param policyTypeVersion the version of policy type
*
- * @return the ToscaPolicyTypeList object containing a list of policy types matching specified fields
+ * @return the ToscaServiceTemplate object
*/
public ToscaServiceTemplate fetchPolicyTypes(String policyTypeId, String policyTypeVersion) {
// placeholder
- // something like return new PolicyModelProvider().getPolicyTypes(<blah>);
return new ToscaServiceTemplate();
}
@@ -51,12 +51,11 @@ public class PolicyTypeProvider {
*
* @param body the entity body of policy type
*
- * @return a string message indicating the operation results
+ * @return the ToscaServiceTemplate objects
*/
- public String createPolicyType(ToscaServiceTemplate body) {
+ public ToscaServiceTemplate createPolicyType(ToscaServiceTemplate body) {
// placeholder
- // something like return new PolicyModelProvider().createPolicyTypes(<blah>);
- return POST_OK;
+ return new ToscaServiceTemplate();
}
/**
@@ -69,7 +68,6 @@ public class PolicyTypeProvider {
*/
public String deletePolicyTypes(String policyTypeId, String policyTypeVersion) {
// placeholder
- // something like return new PolicyModelProvider().deletePolicyTypes(<blah>);
return DELETE_OK;
}
}