import java.util.List;\r
import java.util.UUID;\r
import javax.ws.rs.core.Response.Status;\r
+import lombok.RequiredArgsConstructor;\r
import org.onap.policy.api.main.exception.PolicyApiRuntimeException;\r
import org.onap.policy.api.main.rest.provider.HealthCheckProvider;\r
-import org.onap.policy.api.main.rest.provider.PolicyProvider;\r
-import org.onap.policy.api.main.rest.provider.PolicyTypeProvider;\r
import org.onap.policy.api.main.rest.provider.StatisticsProvider;\r
+import org.onap.policy.api.main.service.ToscaServiceTemplateService;\r
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;\r
import org.onap.policy.common.endpoints.report.HealthCheckReport;\r
import org.onap.policy.common.endpoints.utils.NetLoggerUtil;\r
import org.onap.policy.models.base.PfModelException;\r
import org.onap.policy.models.base.PfModelRuntimeException;\r
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.http.HttpMethod;\r
import org.springframework.http.HttpStatus;\r
import org.springframework.http.ResponseEntity;\r
@ExtensionProperty(name = "component", value = "Policy Framework")})}),\r
schemes = {SwaggerDefinition.Scheme.HTTP, SwaggerDefinition.Scheme.HTTPS},\r
securityDefinition = @SecurityDefinition(basicAuthDefinitions = {@BasicAuthDefinition(key = "basicAuth")}))\r
+@RequiredArgsConstructor\r
public class ApiRestController extends CommonRestController {\r
\r
private enum Target {\r
OTHER\r
}\r
\r
- @Autowired\r
- private PolicyProvider policyProvider;\r
-\r
- @Autowired\r
- private HealthCheckProvider healthCheckProvider;\r
-\r
- @Autowired\r
- private PolicyTypeProvider policyTypeProvider;\r
-\r
- @Autowired\r
- private ApiStatisticsManager mgr;\r
-\r
- @Autowired\r
- private StatisticsProvider statisticsProvider;\r
+ private final ToscaServiceTemplateService toscaServiceTemplateService;\r
+ private final HealthCheckProvider healthCheckProvider;\r
+ private final ApiStatisticsManager mgr;\r
+ private final StatisticsProvider statisticsProvider;\r
\r
/**\r
* Retrieves the healthcheck status of the API component.\r
@RequestHeader(name = REQUEST_ID_NAME, required = false)\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchPolicyTypes(null, null);\r
+ ToscaServiceTemplate serviceTemplate = toscaServiceTemplateService.fetchPolicyTypes(null, null);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
@RequestHeader(name = REQUEST_ID_NAME, required = false)\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchPolicyTypes(policyTypeId, null);\r
+ ToscaServiceTemplate serviceTemplate = toscaServiceTemplateService.fetchPolicyTypes(policyTypeId, null);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
@RequestHeader(name = REQUEST_ID_NAME, required = false)\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchPolicyTypes(policyTypeId, versionId);\r
+ ToscaServiceTemplate serviceTemplate =\r
+ toscaServiceTemplateService.fetchPolicyTypes(policyTypeId, versionId);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
@RequestHeader(name = REQUEST_ID_NAME, required = false)\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyTypeProvider.fetchLatestPolicyTypes(policyTypeId);\r
+ ToscaServiceTemplate serviceTemplate = toscaServiceTemplateService.fetchLatestPolicyTypes(policyTypeId);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, "/policytypes", toJson(body));\r
}\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyTypeProvider.createPolicyType(body);\r
+ ToscaServiceTemplate serviceTemplate = toscaServiceTemplateService.createPolicyType(body);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.OK, HttpMethod.POST);\r
return makeOkResponse(requestId, serviceTemplate);\r
- } catch (PfModelException | PfModelRuntimeException pfme) {\r
+ } catch (PfModelRuntimeException pfme) {\r
final var msg = "POST /policytypes";\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
.getStatusCode()), HttpMethod.POST);\r
@RequestHeader(name = REQUEST_ID_NAME, required = false)\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyTypeProvider.deletePolicyType(policyTypeId, versionId);\r
+ ToscaServiceTemplate serviceTemplate =\r
+ toscaServiceTemplateService.deletePolicyType(policyTypeId, versionId);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.OK, HttpMethod.DELETE);\r
return makeOkResponse(requestId, serviceTemplate);\r
- } catch (PfModelException | PfModelRuntimeException pfme) {\r
+ } catch (PfModelRuntimeException pfme) {\r
var msg = String.format("DELETE /policytypes/%s/versions/%s", policyTypeId, versionId);\r
updateApiStatisticsCounter(Target.POLICY_TYPE, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
.getStatusCode()), HttpMethod.DELETE);\r
+ " policies (default), REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.fetchPolicies(policyTypeId, policyTypeVersion, null, null, mode);\r
+ toscaServiceTemplateService.fetchPolicies(policyTypeId, policyTypeVersion, null, null, mode);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
+ " REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.fetchPolicies(policyTypeId, policyTypeVersion, policyId, null, mode);\r
+ toscaServiceTemplateService.fetchPolicies(policyTypeId, policyTypeVersion, policyId, null, mode);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
- var msg = String.format("/policytypes/%s/versions/$s/policies/%s",\r
+ var msg = String.format("/policytypes/%s/versions/%s/policies/%s",\r
policyTypeId, policyTypeVersion, policyId);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
.getStatusCode()), HttpMethod.GET);\r
@RequestParam(name = "mode", defaultValue = "bare") @ApiParam("Fetch mode for policies, BARE for bare policies"\r
+ " (default), REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
try {\r
- ToscaServiceTemplate serviceTemplate =\r
- policyProvider.fetchPolicies(policyTypeId, policyTypeVersion, policyId, policyVersion, mode);\r
+ ToscaServiceTemplate serviceTemplate = toscaServiceTemplateService\r
+ .fetchPolicies(policyTypeId, policyTypeVersion, policyId, policyVersion, mode);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
+ "policies (default), REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.fetchLatestPolicies(policyTypeId, policyTypeVersion, policyId, mode);\r
+ toscaServiceTemplateService.fetchLatestPolicies(policyTypeId, policyTypeVersion, policyId, mode);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
"/policytypes/" + policyTypeId + "/versions/" + policyTypeVersion + "/policies", toJson(body));\r
}\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(policyTypeId, policyTypeVersion, body);\r
+ ToscaServiceTemplate serviceTemplate =\r
+ toscaServiceTemplateService.createPolicy(policyTypeId, policyTypeVersion, body);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.POST);\r
return makeOkResponse(requestId, serviceTemplate);\r
- } catch (PfModelException | PfModelRuntimeException pfme) {\r
+ } catch (PfModelRuntimeException pfme) {\r
var msg = String.format("POST /policytypes/%s/versions/%s/policies", policyTypeId, policyTypeVersion);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
.getStatusCode()), HttpMethod.POST);\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.deletePolicy(policyTypeId, policyTypeVersion, policyId, policyVersion);\r
+ toscaServiceTemplateService.deletePolicy(policyTypeId, policyTypeVersion, policyId, policyVersion);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.DELETE);\r
return makeOkResponse(requestId, serviceTemplate);\r
- } catch (PfModelException | PfModelRuntimeException pfme) {\r
+ } catch (PfModelRuntimeException pfme) {\r
var msg = String.format("DELETE /policytypes/%s/versions/%s/policies/%s/versions/%s",\r
policyTypeId, policyTypeVersion, policyId, policyVersion);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
+ " policies (default), REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.fetchPolicies(null, null, null, null, mode);\r
+ toscaServiceTemplateService.fetchPolicies(null, null, null, null, mode);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
+ " policies (default), REFERENCED for fully referenced policies") PolicyFetchMode mode) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.fetchPolicies(null, null, policyId, policyVersion, mode);\r
+ toscaServiceTemplateService.fetchPolicies(null, null, policyId, policyVersion, mode);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.GET);\r
return makeOkResponse(requestId, serviceTemplate);\r
} catch (PfModelException | PfModelRuntimeException pfme) {\r
NetLoggerUtil.log(EventType.IN, CommInfrastructure.REST, "/policies", toJson(body));\r
}\r
try {\r
- ToscaServiceTemplate serviceTemplate = policyProvider.createPolicies(body);\r
+ ToscaServiceTemplate serviceTemplate = toscaServiceTemplateService.createPolicies(body);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.POST);\r
return makeOkResponse(requestId, serviceTemplate);\r
- } catch (PfModelException | PfModelRuntimeException pfme) {\r
+ } catch (PfModelRuntimeException pfme) {\r
final var msg = "POST /policies";\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
.getStatusCode()), HttpMethod.POST);\r
@ApiParam(REQUEST_ID_PARAM_DESCRIPTION) UUID requestId) {\r
try {\r
ToscaServiceTemplate serviceTemplate =\r
- policyProvider.deletePolicy(null, null, policyId, policyVersion);\r
+ toscaServiceTemplateService.deletePolicy(null, null, policyId, policyVersion);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.OK, HttpMethod.DELETE);\r
return makeOkResponse(requestId, serviceTemplate);\r
- } catch (PfModelException | PfModelRuntimeException pfme) {\r
+ } catch (PfModelRuntimeException pfme) {\r
var msg = String.format("DELETE /policies/%s/versions/%s", policyId, policyVersion);\r
updateApiStatisticsCounter(Target.POLICY, HttpStatus.resolve(pfme.getErrorResponse().getResponseCode()\r
.getStatusCode()), HttpMethod.DELETE);\r