# ==================================================================================
-# Copyright (c) 2019 Nokia
-# Copyright (c) 2018-2019 AT&T Intellectual Property.
+# Copyright (c) 2019 Nordix Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
responses:
'200':
description: >
- Successfully got the list of all nearRT-RICs.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_NRRids_list_schema"
-
+ "$ref": "#/components/schemas/output_NRRids_list_code_schema"
+
'/A1-ADAPTER-API:getHealthCheck':
post:
description: >
responses:
'200':
description: >
- Successfully got the health status.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_healthstatus_schema"
-
+ "$ref": "#/components/schemas/output_healthstatus_code_schema"
+
'/A1-ADAPTER-API:getPolicyTypes':
post:
description: >
responses:
'200':
description: >
- Successfully got the list of all policy-type-ids.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_PTids_list_schema"
-
+ "$ref": "#/components/schemas/output_PTids_list_code_schema"
+
'/A1-ADAPTER-API:createPolicyType':
post:
description: >
schema:
"$ref": "#/components/schemas/input_NRRid_PTid_desc_name_PT_schema"
responses:
- '201':
+ '200':
description: >
- Successfully created the policy type.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_status_code_schema"
- '400':
- description: >
- illegal policy_type_id, or this policy type already exists
-
+ "$ref": "#/components/schemas/output_code_schema"
+
'/A1-ADAPTER-API:getPolicyType':
post:
description: >
responses:
'200':
description: >
- Successfully got the policy type.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_desc_name_PT_schema"
- '404':
- description: >
- there is no policy type with this policy_type_id
-
+ "$ref": "#/components/schemas/output_desc_name_PT_code_schema"
+
'/A1-ADAPTER-API:deletePolicyType':
post:
description: >
schema:
"$ref": "#/components/schemas/input_NRRid_PTid_schema"
responses:
- '204':
- description: >
- Successfully deleted the policy type.
- '400':
- description: >
- Policy type cannot be deleted because there are instances. All instances must be removed before a policy type can be deleted.
- '404':
+ '200':
description: >
- there is no policy type with this policy_type_id
-
+ Successfully got the response.
+ content:
+ application/json:
+ schema:
+ "$ref": "#/components/schemas/output_code_schema"
+
'/A1-ADAPTER-API:getPolicyInstances':
post:
description: >
responses:
'200':
description: >
- Successfully got the list of all policy-instance-ids for this policy-type-id.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_PIids_list_schema"
- '404':
- description: >
- there is no policy type with this policy_type_id
-
+ "$ref": "#/components/schemas/output_PIids_list_code_schema"
+
'/A1-ADAPTER-API:createPolicyInstance':
post:
description: >
schema:
"$ref": "#/components/schemas/input_NRRid_PTid_PIid_PI_schema"
responses:
- '201':
- description: >
- Successfully created the policy instance.
- '400':
- description: >
- Bad input data for this policy instance.
- '404':
+ '200':
description: >
- there is no policy type with this policy_type_id
-
+ Successfully got the response.
+ content:
+ application/json:
+ schema:
+ "$ref": "#/components/schemas/output_code_schema"
+
'/A1-ADAPTER-API:getPolicyInstance':
post:
description: >
responses:
'200':
description: >
- Successfully got the policy instance.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_PI_schema"
- '404':
- description: >
- there is no policy instance with this policy_instance_id or there is no policy type with this policy_type_id
+ "$ref": "#/components/schemas/output_PI_code_schema"
'/A1-ADAPTER-API:deletePolicyInstance':
post:
schema:
"$ref": "#/components/schemas/input_NRRid_PTid_PIid_schema"
responses:
- '204':
- description: >
- Successfully deleted the policy instance.
- '404':
+ '200':
description: >
- there is no policy instance with this policy_instance_id or there is no policy type with this policy_type_id
-
+ Successfully got the response.
+ content:
+ application/json:
+ schema:
+ "$ref": "#/components/schemas/output_code_schema"
+
'/A1-ADAPTER-API:getStatus':
post:
description: >
responses:
'200':
description: >
- Successfully got the policy instance status.
+ Successfully got the response.
content:
application/json:
schema:
- "$ref": "#/components/schemas/output_status_schema"
- '404':
- description: >
- there is no policy instance with this policy_instance_id or there is no policy type with this policy_type_id
+ "$ref": "#/components/schemas/output_status_code_schema"
-components:
+components:
schemas:
input_NRRid_schema:
type: object
properties:
near-rt-ric-id:
"$ref": "#/components/schemas/near_rt_ric_id"
-
+
input_NRRid_PTid_schema:
type: object
required:
"$ref": "#/components/schemas/near_rt_ric_id"
policy-type-id:
"$ref": "#/components/schemas/policy_type_id"
-
+
input_NRRid_PTid_PIid_schema:
type: object
required:
"$ref": "#/components/schemas/policy_type_id"
policy-instance-id:
"$ref": "#/components/schemas/policy_instance_id"
-
+
input_NRRid_PTid_PIid_PI_schema:
type: object
required:
"$ref": "#/components/schemas/policy_instance_id"
policy-instance:
"$ref": "#/components/schemas/policy_instance"
-
+
input_NRRid_PTid_desc_name_PT_schema:
type: object
required:
type: string
policy-type:
"$ref": "#/components/schemas/policy_type"
-
- output_NRRids_list_schema:
+
+ output_NRRids_list_code_schema:
type: object
required:
- output
type: object
required:
- near-rt-ric-id-list
+ - code
additionalProperties: false
properties:
near-rt-ric-id-list:
type: array
items:
"$ref": "#/components/schemas/near_rt_ric_id"
-
- output_healthstatus_schema:
+ code:
+ type: string
+
+ output_healthstatus_code_schema:
type: object
required:
- output
type: object
required:
- health-status
+ - code
additionalProperties: false
properties:
health-status:
type: boolean
-
- output_desc_name_PT_schema:
+ code:
+ type: string
+
+ output_desc_name_PT_code_schema:
type: object
required:
- output
- description
- name
- policy_type
+ - code
additionalProperties: false
properties:
description:
type: string
policy-type:
"$ref": "#/components/schemas/policy_type"
-
- output_PTids_list_schema:
+ code:
+ type: string
+
+ output_PTids_list_code_schema:
type: object
required:
- output
type: object
required:
- policy-type-id-list
+ - code
additionalProperties: false
properties:
policy-type-id-list:
type: array
items:
"$ref": "#/components/schemas/policy_type_id"
-
- output_PIids_list_schema:
+ code:
+ type: string
+
+ output_PIids_list_code_schema:
type: object
required:
- output
type: object
required:
- policy-instance-id-list
+ - code
additionalProperties: false
properties:
policy-instance-id-list:
type: array
items:
"$ref": "#/components/schemas/policy_instance_id"
-
- output_PI_schema:
+ code:
+ type: string
+
+ output_PI_code_schema:
type: object
required:
- output
type: object
required:
- policy-instance
+ - code
additionalProperties: false
properties:
policy-instance:
"$ref": "#/components/schemas/policy_instance"
-
- output_status_schema:
+ code:
+ type: string
+
+ output_code_schema:
type: object
required:
- output
output:
type: object
required:
- - status
+ - code
additionalProperties: false
properties:
- status:
+ code:
type: string
-
+
output_status_code_schema:
type: object
required:
type: string
code:
type: string
-
+
near_rt_ric_id:
description: >
represents a near RT RIC identifier. Currently this can be any string.
type: string
example: near-rt-ric-1
-
+
policy_type_id:
description: >
- represents a policy type identifier. Currently this is restricted to an integer range.
+ represents a policy type identifier. Currently this is an integer.
type: integer
- minimum: 20000
- maximum: 21023
example: 20000
policy_instance_id:
represents a policy instance identifier. UUIDs are advisable but can be any string
type: string
example: 3d2157af-6a8f-4a7c-810f-38c2f824bf12
-
+
policy_type:
description: >
represents a policy type. String is used for now to represent this
type: string
- example:
+ example:
"{type: A}"
-
+
policy_instance:
description: >
represents a policy instance. String is used for now to represent this
type: string
- example:
+ example:
"{slice_id: slice-1, priority_level: high}"
-
+
securitySchemes:
basicAuth:
type: http
scheme: basic
-
+
security:
- basicAuth: []
\ No newline at end of file
/target/
/logs/
/.mvn/wrapper/maven-wrapper.jar
-/logs/
+bin/
### STS ###
.apt_generated
import org.oransc.ric.a1controller.client.model.InputNRRidPTidSchemaInput;
import org.oransc.ric.a1controller.client.model.InputNRRidSchema;
import org.oransc.ric.a1controller.client.model.InputNRRidSchemaInput;
-import org.oransc.ric.a1controller.client.model.OutputDescNamePTSchema;
-import org.oransc.ric.a1controller.client.model.OutputDescNamePTSchemaOutput;
-import org.oransc.ric.a1controller.client.model.OutputPISchema;
-import org.oransc.ric.a1controller.client.model.OutputPIidsListSchema;
-import org.oransc.ric.a1controller.client.model.OutputPTidsListSchema;
+import org.oransc.ric.a1controller.client.model.OutputCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputDescNamePTCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputDescNamePTCodeSchemaOutput;
+import org.oransc.ric.a1controller.client.model.OutputPICodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputPIidsListCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputPTidsListCodeSchema;
import org.oransc.ric.portal.dashboard.DashboardApplication;
import org.oransc.ric.portal.dashboard.DashboardConstants;
+import org.oransc.ric.portal.dashboard.exceptions.HttpBadRequestException;
+import org.oransc.ric.portal.dashboard.exceptions.HttpInternalServerErrorException;
+import org.oransc.ric.portal.dashboard.exceptions.HttpNotFoundException;
+import org.oransc.ric.portal.dashboard.exceptions.HttpNotImplementedException;
import org.oransc.ric.portal.dashboard.model.PolicyInstance;
import org.oransc.ric.portal.dashboard.model.PolicyInstances;
import org.oransc.ric.portal.dashboard.model.PolicyType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.security.access.annotation.Secured;
import org.springframework.util.Assert;
nrrid.setNearRtRicId(NEAR_RT_RIC_ID);
InputNRRidSchema inputSchema = new InputNRRidSchema();
inputSchema.setInput(nrrid);
- OutputPTidsListSchema outputPTidsListSchema =
+ OutputPTidsListCodeSchema outputPTidsListCodeSchema =
a1ControllerApi.a1ControllerGetAllPolicyTypes(inputSchema);
- List<Integer> policyTypeIds = outputPTidsListSchema.getOutput().getPolicyTypeIdList();
+ checkHttpError(outputPTidsListCodeSchema.getOutput().getCode());
+ List<Integer> policyTypeIds = outputPTidsListCodeSchema.getOutput().getPolicyTypeIdList();
PolicyTypes policyTypes = new PolicyTypes();
InputNRRidPTidSchema typeSchema = new InputNRRidPTidSchema();
InputNRRidPTidSchemaInput typeId = new InputNRRidPTidSchemaInput();
for (Integer policyTypeId : policyTypeIds) {
typeId.setPolicyTypeId(policyTypeId);
typeSchema.setInput(typeId);
- OutputDescNamePTSchema controllerGetPolicyType =
+ OutputDescNamePTCodeSchema controllerGetPolicyType =
a1ControllerApi.a1ControllerGetPolicyType(typeSchema);
- OutputDescNamePTSchemaOutput policyTypeSchema = controllerGetPolicyType.getOutput();
+ checkHttpError(controllerGetPolicyType.getOutput().getCode());
+ OutputDescNamePTCodeSchemaOutput policyTypeSchema = controllerGetPolicyType.getOutput();
PolicyType type = new PolicyType(policyTypeId, policyTypeSchema.getName(),
policyTypeSchema.getDescription(), policyTypeSchema.getPolicyType().toString());
policyTypes.add(type);
typeIdInput.setPolicyTypeId(policyTypeId);
InputNRRidPTidSchema inputSchema = new InputNRRidPTidSchema();
inputSchema.setInput(typeIdInput);
- OutputPIidsListSchema controllerGetAllInstancesForType =
+ OutputPIidsListCodeSchema controllerGetAllInstancesForType =
a1ControllerApi.a1ControllerGetAllInstancesForType(inputSchema);
+ checkHttpError(controllerGetAllInstancesForType.getOutput().getCode());
List<String> instancesForType = controllerGetAllInstancesForType.getOutput().getPolicyInstanceIdList();
PolicyInstances instances = new PolicyInstances();
InputNRRidPTidPIidSchemaInput instanceIdInput = new InputNRRidPTidPIidSchemaInput();
for (String instanceId : instancesForType) {
instanceIdInput.setPolicyInstanceId(instanceId);
instanceInputSchema.setInput(instanceIdInput);
- OutputPISchema policyInstance =
+ OutputPICodeSchema policyInstance =
a1ControllerApi.a1ControllerGetPolicyInstance(instanceInputSchema);
+ checkHttpError(policyInstance.getOutput().getCode());
PolicyInstance instance =
new PolicyInstance(instanceId, policyInstance.getOutput().getPolicyInstance());
instances.add(instance);
instanceIdInput.setPolicyInstanceId(policyInstanceId);
InputNRRidPTidPIidSchema inputSchema = new InputNRRidPTidPIidSchema();
inputSchema.setInput(instanceIdInput);
- OutputPISchema policyInstance = a1ControllerApi.a1ControllerGetPolicyInstance(inputSchema);
+ OutputPICodeSchema policyInstance = a1ControllerApi.a1ControllerGetPolicyInstance(inputSchema);
+ checkHttpError(policyInstance.getOutput().getCode());
return policyInstance.getOutput().getPolicyInstance();
}
createInstanceInput.setPolicyInstance(instance);
InputNRRidPTidPIidPISchema inputSchema = new InputNRRidPTidPIidPISchema();
inputSchema.setInput(createInstanceInput);
- a1ControllerApi.a1ControllerCreatePolicyInstance(inputSchema);
+ OutputCodeSchema outputCodeSchema = a1ControllerApi.a1ControllerCreatePolicyInstance(inputSchema);
+ checkHttpError(outputCodeSchema.getOutput().getCode());
}
@ApiOperation(value = "Deletes the policy instances for the given policy type.")
instanceIdInput.setPolicyInstanceId(policyInstanceId);
InputNRRidPTidPIidSchema inputSchema = new InputNRRidPTidPIidSchema();
inputSchema.setInput(instanceIdInput);
- a1ControllerApi.a1ControllerDeletePolicyInstance(inputSchema);
+ OutputCodeSchema outputCodeSchema = a1ControllerApi.a1ControllerDeletePolicyInstance(inputSchema);
+ checkHttpError(outputCodeSchema.getOutput().getCode());
+ }
+
+ private void checkHttpError(String httpCode) {
+ logger.debug("Http Response Code: {}", httpCode);
+ if (httpCode.equals(String.valueOf(HttpStatus.NOT_FOUND.value()))) {
+ logger.error("Caught HttpNotFoundException");
+ throw new HttpNotFoundException("Not Found Exception");
+ } else if (httpCode.equals(String.valueOf(HttpStatus.BAD_REQUEST.value()))) {
+ logger.error("Caught HttpBadRequestException");
+ throw new HttpBadRequestException("Bad Request Exception");
+ } else if (httpCode.equals(String.valueOf(HttpStatus.INTERNAL_SERVER_ERROR.value()))) {
+ logger.error("Caught HttpInternalServerErrorException");
+ throw new HttpInternalServerErrorException("Internal Server Error Exception");
+ } else if (httpCode.equals(String.valueOf(HttpStatus.NOT_IMPLEMENTED.value()))) {
+ logger.error("Caught HttpNotImplementedException");
+ throw new HttpNotImplementedException("Not Implemented Exception");
+ }
}
}
--- /dev/null
+/*-
+ * ========================LICENSE_START=================================
+ * O-RAN-SC
+ * %%
+ * Copyright (C) 2019 Nordix Foundation
+ * %%
+ * 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.oransc.ric.portal.dashboard.exceptions;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(value = HttpStatus.BAD_REQUEST)
+public class HttpBadRequestException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1402302710014461941L;
+
+ public HttpBadRequestException(String message) {
+ super(message);
+ }
+
+}
--- /dev/null
+/*-
+ * ========================LICENSE_START=================================
+ * O-RAN-SC
+ * %%
+ * Copyright (C) 2019 Nordix Foundation
+ * %%
+ * 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.oransc.ric.portal.dashboard.exceptions;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
+public class HttpInternalServerErrorException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 6821547799515184764L;
+
+ public HttpInternalServerErrorException(String message) {
+ super(message);
+ }
+
+}
--- /dev/null
+/*-
+ * ========================LICENSE_START=================================
+ * O-RAN-SC
+ * %%
+ * Copyright (C) 2019 Nordix Foundation
+ * %%
+ * 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.oransc.ric.portal.dashboard.exceptions;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(value = HttpStatus.NOT_FOUND)
+public class HttpNotFoundException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4755191883669549764L;
+
+ public HttpNotFoundException(String message) {
+ super(message);
+ }
+
+}
--- /dev/null
+/*-
+ * ========================LICENSE_START=================================
+ * O-RAN-SC
+ * %%
+ * Copyright (C) 2019 Nordix Foundation
+ * %%
+ * 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.oransc.ric.portal.dashboard.exceptions;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(value = HttpStatus.NOT_IMPLEMENTED)
+public class HttpNotImplementedException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 2697666454489763009L;
+
+ public HttpNotImplementedException(String message) {
+ super(message);
+ }
+
+}
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-
+import com.fasterxml.jackson.core.JsonProcessingException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-
import org.oransc.ric.a1controller.client.api.A1ControllerApi;
import org.oransc.ric.a1controller.client.invoker.ApiClient;
import org.oransc.ric.a1controller.client.model.InputNRRidPTidPIidPISchema;
import org.oransc.ric.a1controller.client.model.InputNRRidPTidPIidSchema;
import org.oransc.ric.a1controller.client.model.InputNRRidPTidSchema;
import org.oransc.ric.a1controller.client.model.InputNRRidSchema;
-import org.oransc.ric.a1controller.client.model.OutputDescNamePTSchema;
-import org.oransc.ric.a1controller.client.model.OutputDescNamePTSchemaOutput;
-import org.oransc.ric.a1controller.client.model.OutputPISchema;
-import org.oransc.ric.a1controller.client.model.OutputPISchemaOutput;
-import org.oransc.ric.a1controller.client.model.OutputPIidsListSchema;
-import org.oransc.ric.a1controller.client.model.OutputPIidsListSchemaOutput;
-import org.oransc.ric.a1controller.client.model.OutputPTidsListSchema;
-import org.oransc.ric.a1controller.client.model.OutputPTidsListSchemaOutput;
+import org.oransc.ric.a1controller.client.model.OutputCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputCodeSchemaOutput;
+import org.oransc.ric.a1controller.client.model.OutputDescNamePTCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputDescNamePTCodeSchemaOutput;
+import org.oransc.ric.a1controller.client.model.OutputPICodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputPICodeSchemaOutput;
+import org.oransc.ric.a1controller.client.model.OutputPIidsListCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputPIidsListCodeSchemaOutput;
+import org.oransc.ric.a1controller.client.model.OutputPTidsListCodeSchema;
+import org.oransc.ric.a1controller.client.model.OutputPTidsListCodeSchemaOutput;
import org.oransc.ric.portal.dashboard.model.PolicyType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Profile;
import org.springframework.http.HttpStatus;
-import com.fasterxml.jackson.core.JsonProcessingException;
-
/**
* Creates a mock implementation of the A1 controller client API.
*/
Thread.sleep(delayMs);
}
List<Integer> types = database.getTypes();
- OutputPTidsListSchemaOutput output = new OutputPTidsListSchemaOutput();
+ OutputPTidsListCodeSchemaOutput output = new OutputPTidsListCodeSchemaOutput();
output.setPolicyTypeIdList(types);
- OutputPTidsListSchema outputSchema = new OutputPTidsListSchema();
+ output.setCode(String.valueOf(HttpStatus.OK.value()));
+ OutputPTidsListCodeSchema outputSchema = new OutputPTidsListCodeSchema();
outputSchema.setOutput(output);
return outputSchema;
}).when(mockApi).a1ControllerGetAllPolicyTypes(any(InputNRRidSchema.class));
}
InputNRRidPTidSchema input = inv.<InputNRRidPTidSchema>getArgument(0);
PolicyType policyType = database.getPolicyType(input.getInput().getPolicyTypeId());
- OutputDescNamePTSchemaOutput type = new OutputDescNamePTSchemaOutput();
+ OutputDescNamePTCodeSchemaOutput type = new OutputDescNamePTCodeSchemaOutput();
type.setName(policyType.getName());
type.setDescription(policyType.getDescription());
type.setPolicyType(database.normalize(policyType.getCreateSchema()));
- OutputDescNamePTSchema outputSchema = new OutputDescNamePTSchema();
+ type.setCode(String.valueOf(HttpStatus.OK.value()));
+ OutputDescNamePTCodeSchema outputSchema = new OutputDescNamePTCodeSchema();
outputSchema.setOutput(type);
return outputSchema;
}).when(mockApi).a1ControllerGetPolicyType(any(InputNRRidPTidSchema.class));
}
InputNRRidPTidSchema input = inv.<InputNRRidPTidSchema>getArgument(0);
List<String> instances = database.getInstances(Optional.of(input.getInput().getPolicyTypeId()));
- OutputPIidsListSchemaOutput instancesOutput = new OutputPIidsListSchemaOutput();
+ OutputPIidsListCodeSchemaOutput instancesOutput = new OutputPIidsListCodeSchemaOutput();
instancesOutput.setPolicyInstanceIdList(instances);
- OutputPIidsListSchema outputSchema = new OutputPIidsListSchema();
+ instancesOutput.setCode(String.valueOf(HttpStatus.OK.value()));
+ OutputPIidsListCodeSchema outputSchema = new OutputPIidsListCodeSchema();
outputSchema.setOutput(instancesOutput);
return outputSchema;
}).when(mockApi).a1ControllerGetAllInstancesForType(any(InputNRRidPTidSchema.class));
Integer polcyTypeId = input.getInput().getPolicyTypeId();
String instanceId = input.getInput().getPolicyInstanceId();
String instance = database.normalize(database.getInstance(polcyTypeId, instanceId));
- OutputPISchemaOutput instanceOutput = new OutputPISchemaOutput();
+ OutputPICodeSchemaOutput instanceOutput = new OutputPICodeSchemaOutput();
instanceOutput.setPolicyInstance(instance);
- OutputPISchema outputSchema = new OutputPISchema();
+ instanceOutput.setCode(String.valueOf(HttpStatus.OK.value()));
+ OutputPICodeSchema outputSchema = new OutputPICodeSchema();
outputSchema.setOutput(instanceOutput);
return outputSchema;
}).when(mockApi).a1ControllerGetPolicyInstance(any(InputNRRidPTidPIidSchema.class));
String instanceId = input.getInput().getPolicyInstanceId();
String instance = input.getInput().getPolicyInstance();
database.putInstance(polcyTypeId, instanceId, instance);
- return null;
+ OutputCodeSchemaOutput outputCodeSchemaOutput = new OutputCodeSchemaOutput();
+ outputCodeSchemaOutput.setCode(String.valueOf(HttpStatus.CREATED.value()));
+ OutputCodeSchema outputCodeSchema = new OutputCodeSchema();
+ outputCodeSchema.setOutput(outputCodeSchemaOutput);
+ return outputCodeSchema;
}).when(mockApi).a1ControllerCreatePolicyInstance(any(InputNRRidPTidPIidPISchema.class));
doAnswer(inv -> {
Integer polcyTypeId = input.getInput().getPolicyTypeId();
String instanceId = input.getInput().getPolicyInstanceId();
database.deleteInstance(polcyTypeId, instanceId);
- return null;
+ OutputCodeSchemaOutput outputCodeSchemaOutput = new OutputCodeSchemaOutput();
+ outputCodeSchemaOutput.setCode(String.valueOf(HttpStatus.NO_CONTENT.value()));
+ OutputCodeSchema outputCodeSchema = new OutputCodeSchema();
+ outputCodeSchema.setOutput(outputCodeSchemaOutput);
+ return outputCodeSchema;
}).when(mockApi).a1ControllerDeletePolicyInstance(any(InputNRRidPTidPIidSchema.class));
return mockApi;
--- /dev/null
+#####standard .git ignore entries#####
+
+## IDE Specific Files ##
+org.eclipse.core.resources.prefs
+.classpath
+.project
+.settings
+.idea
+.externalToolBuilders
+.checkstyle
+maven-eclipse.xml
+workspace
+
+## Compilation Files ##
+*.class
+**/target
+target
+target-ide
+MANIFEST.MF
+
+## Misc Ignores (OS specific etc) ##
+bin/
+dist
+*~
+*.ipr
+*.iml
+*.iws
+classes
+out/
+.DS_STORE
+.metadata
Please see the documentation in the docs/ folder
-For more information about the NONRTRIC project please see the [project website](https://wiki.o-ran-sc.org/display/RICNR "O-RAN-SC NONRTRIC project")
+The backend server publishes live API documentation at the
+URL `http://your-host-name-here:8080/swagger-ui.html`
## License
--- /dev/null
+
+FROM openjdk:11-jre-slim
+
+ARG JAR_FILE
+
+WORKDIR /opt/app/nearricsimulator
+
+COPY ${JAR_FILE} nearric-simulator.jar
+
+ENTRYPOINT ["java", "-jar", "/opt/app/nearricsimulator/nearric-simulator.jar"]
\ No newline at end of file
--- /dev/null
+# The Jenkins job requires a tag to build the Docker image.
+# Global-JJB script assumes this file is in the repo root.
+---
+tag: 1.0.0
\ No newline at end of file
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <java.version>1.8</java.version>
<okhttp-version>2.7.5</okhttp-version>
<gson-version>2.8.1</gson-version>
<dockerfile-maven-version>1.4.2</dockerfile-maven-version>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
+ <dependencies>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
</build>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/java-8-openjdk-amd64"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>NearRic-simulator</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
+++ /dev/null
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
+++ /dev/null
-# O-RAN-SC Near-RealTime RIC Simulator
-
-The O-RAN SC Near-RealTime RIC simulates the A1 as an generic REST API which can receive and send northbound messages. The simulator validates the payload and applies policy.
-
-Please see the documentation in the docs/ folder
-
-The backend server publishes live API documentation at the
-URL `http://your-host-name-here:8080/swagger-ui.html`
-
-## License
-
-Copyright (C) 2019 Nordix Foundation.
-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.
-
-For more information about license please see the [LICENSE](LICENSE.txt) file for details.
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- <attribute name="test" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>a1-med-api</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-eclipse.preferences.version=1
-encoding//src/main/resources=UTF-8
-encoding/<project>=UTF-8
+++ /dev/null
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+++ /dev/null
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
--->
-<module version="4" relativePaths="false" type="JAVA_MODULE">
- <component name="NewModuleRootManager">
- <exclude-output/>
- <orderEntry type="inheritedJdk"/>
- <!-- output url="file://$$MODULE_DIR$$/${maven.build.dest}"/ -->
- <!-- output-test url="file://$$MODULE_DIR$$/${maven.test.dest}"/ -->
- <content url="file://$MODULE_DIR$">
- <!-- sourceFolder url="file://$$MODULE_DIR$$/${pom.build.sourceDirectory}" isTestSource="false"/ -->
- <!-- sourceFolder url="file://$$MODULE_DIR$$/${pom.build.testSourceDirectory}" isTestSource="true"/ -->
- <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/a1med/src/gen/java/main" isTestSource="false"/>
- <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false"/>
- <excludeFolder url="file://$MODULE_DIR$/target/classes"/>
- <excludeFolder url="file://$MODULE_DIR$/target/generated-sources/a1med/.swagger-codegen"/>
- <excludeFolder url="file://$MODULE_DIR$/target/generated-sources/a1med/src/main"/>
- <excludeFolder url="file://$MODULE_DIR$/target/generated-sources/a1med/src/test"/>
- <excludeFolder url="file://$MODULE_DIR$/target/test-classes"/>
- </content>
- <orderEntry type="sourceFolder" forTests="false"/>
- <!-- Next include each dependency:
- <orderEntry type="module" module-name="${dep.artifactId}"/>
- <orderEntry type="module-library">
- <library name="${dep.artifactId}">
- <CLASSES>
- <root url="jar://${lib.path}!/"/>
- </CLASSES>
- <JAVADOC/>
- <SOURCES/>
- </library>
- </orderEntry>
- -->
- <output url="file://$MODULE_DIR$/target/classes"/>
- <output-test url="file://$MODULE_DIR$/target/test-classes"/>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.9.RELEASE/spring-boot-autoconfigure-2.1.9.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.9.RELEASE/spring-boot-autoconfigure-2.1.9.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/boot/spring-boot/2.1.9.RELEASE/spring-boot-2.1.9.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/boot/spring-boot/2.1.9.RELEASE/spring-boot-2.1.9.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-core/5.1.10.RELEASE/spring-core-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-core/5.1.10.RELEASE/spring-core-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-jcl/5.1.10.RELEASE/spring-jcl-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-jcl/5.1.10.RELEASE/spring-jcl-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-context/5.1.10.RELEASE/spring-context-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-context/5.1.10.RELEASE/spring-context-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-aop/5.1.10.RELEASE/spring-aop-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-aop/5.1.10.RELEASE/spring-aop-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-beans/5.1.10.RELEASE/spring-beans-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-beans/5.1.10.RELEASE/spring-beans-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-expression/5.1.10.RELEASE/spring-expression-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-expression/5.1.10.RELEASE/spring-expression-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/core/v3/swagger-annotations/2.0.8/swagger-annotations-2.0.8.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/core/v3/swagger-annotations/2.0.8/swagger-annotations-2.0.8-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-codegen-maven-plugin/2.4.8/swagger-codegen-maven-plugin-2.4.8.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-codegen-maven-plugin/2.4.8/swagger-codegen-maven-plugin-2.4.8-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-core/3.2.5/maven-core-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-core/3.2.5/maven-core-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-model/3.2.5/maven-model-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-model/3.2.5/maven-model-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.20/plexus-utils-3.0.20-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-settings/3.2.5/maven-settings-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-settings/3.2.5/maven-settings-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-settings-builder/3.2.5/maven-settings-builder-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-settings-builder/3.2.5/maven-settings-builder-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.21/plexus-interpolation-1.21-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-repository-metadata/3.2.5/maven-repository-metadata-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-repository-metadata/3.2.5/maven-repository-metadata-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-artifact/3.2.5/maven-artifact-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-artifact/3.2.5/maven-artifact-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-plugin-api/3.2.5/maven-plugin-api-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-plugin-api/3.2.5/maven-plugin-api-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.0.M1/org.eclipse.sisu.plexus-0.3.0.M1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.0.M1/org.eclipse.sisu.plexus-0.3.0.M1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/inject/javax.inject/1/javax.inject-1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.0.M1/org.eclipse.sisu.inject-0.3.0.M1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.0.M1/org.eclipse.sisu.inject-0.3.0.M1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-model-builder/3.2.5/maven-model-builder-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-model-builder/3.2.5/maven-model-builder-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-aether-provider/3.2.5/maven-aether-provider-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-aether-provider/3.2.5/maven-aether-provider-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-spi/1.0.0.v20140518/aether-spi-1.0.0.v20140518.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-spi/1.0.0.v20140518/aether-spi-1.0.0.v20140518-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-util/1.0.0.v20140518/aether-util-1.0.0.v20140518.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-util/1.0.0.v20140518/aether-util-1.0.0.v20140518-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-impl/1.0.0.v20140518/aether-impl-1.0.0.v20140518.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/eclipse/aether/aether-impl/1.0.0.v20140518/aether-impl-1.0.0.v20140518-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/sonatype/sisu/sisu-guice/3.2.3/sisu-guice-3.2.3-no_aop.jar!/"/>
- </CLASSES>
- <SOURCES/>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/google/guava/guava/16.0.1/guava-16.0.1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/google/guava/guava/16.0.1/guava-16.0.1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-compat/3.2.5/maven-compat-3.2.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/maven-compat/3.2.5/maven-compat-3.2.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/wagon/wagon-provider-api/2.8/wagon-provider-api-2.8.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/wagon/wagon-provider-api/2.8/wagon-provider-api-2.8-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.4/maven-plugin-annotations-3.4.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.4/maven-plugin-annotations-3.4-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-codegen/2.4.8/swagger-codegen-2.4.8.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-codegen/2.4.8/swagger-codegen-2.4.8-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-parser/1.0.46/swagger-parser-1.0.46.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-parser/1.0.46/swagger-parser-1.0.46-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-core/1.5.23/swagger-core-1.5.23.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-core/1.5.23/swagger-core-1.5.23-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/slf4j/slf4j-api/1.7.28/slf4j-api-1.7.28-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9.3/jackson-databind-2.9.9.3.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9.3/jackson-databind-2.9.9.3-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.9/jackson-dataformat-yaml-2.9.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.9/jackson-dataformat-yaml-2.9.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/yaml/snakeyaml/1.23/snakeyaml-1.23-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-models/1.5.23/swagger-models-1.5.23.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-models/1.5.23/swagger-models-1.5.23-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-annotations/1.5.23/swagger-annotations-1.5.23.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-annotations/1.5.23/swagger-annotations-1.5.23-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/slf4j/slf4j-ext/1.7.28/slf4j-ext-1.7.28.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/slf4j/slf4j-ext/1.7.28/slf4j-ext-1.7.28-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-compat-spec-parser/1.0.46/swagger-compat-spec-parser-1.0.46.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/swagger/swagger-compat-spec-parser/1.0.46/swagger-compat-spec-parser-1.0.46-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/java-json-tools/json-schema-validator/2.2.8/json-schema-validator-2.2.8.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/java-json-tools/json-schema-validator/2.2.8/json-schema-validator-2.2.8-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/java-json-tools/json-schema-core/1.2.8/json-schema-core-1.2.8.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/java-json-tools/json-schema-core/1.2.8/json-schema-core-1.2.8-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/mozilla/rhino/1.7R4/rhino-1.7R4-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/fge/jackson-coreutils/1.6/jackson-coreutils-1.6.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/fge/jackson-coreutils/1.6/jackson-coreutils-1.6-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/fge/msg-simple/1.1/msg-simple-1.1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/fge/msg-simple/1.1/msg-simple-1.1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/fge/btf/1.2/btf-1.2.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/fge/btf/1.2/btf-1.2-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/fge/uri-template/0.9/uri-template-0.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/fge/uri-template/0.9/uri-template-0.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/mail/mailapi/1.4.3/mailapi-1.4.3.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/mail/mailapi/1.4.3/mailapi-1.4.3-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/javax/activation/activation/1.1/activation-1.1-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/joda-time/joda-time/2.10.4/joda-time-2.10.4.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/joda-time/joda-time/2.10.4/joda-time-2.10.4-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/googlecode/libphonenumber/libphonenumber/8.0.0/libphonenumber-8.0.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/googlecode/libphonenumber/libphonenumber/8.0.0/libphonenumber-8.0.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/github/fge/json-patch/1.6/json-patch-1.6.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/github/fge/json-patch/1.6/json-patch-1.6-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/samskivert/jmustache/1.14/jmustache-1.14.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/samskivert/jmustache/1.14/jmustache-1.14-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/slf4j/slf4j-simple/1.7.28/slf4j-simple-1.7.28.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/slf4j/slf4j-simple/1.7.28/slf4j-simple-1.7.28-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/atlassian/commonmark/commonmark/0.9.0/commonmark-0.9.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/atlassian/commonmark/commonmark/0.9.0/commonmark-0.9.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.9.9/jackson-jaxrs-json-provider-2.9.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.9.9/jackson-jaxrs-json-provider-2.9.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.9.9/jackson-jaxrs-base-2.9.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.9.9/jackson-jaxrs-base-2.9.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.9.9/jackson-module-jaxb-annotations-2.9.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.9.9/jackson-module-jaxb-annotations-2.9.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/squareup/okio/okio/1.6.0/okio-1.6.0-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/squareup/okhttp/logging-interceptor/2.7.5/logging-interceptor-2.7.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/squareup/okhttp/logging-interceptor/2.7.5/logging-interceptor-2.7.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/io/gsonfire/gson-fire/1.8.2/gson-fire-1.8.2.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/io/gsonfire/gson-fire/1.8.2/gson-fire-1.8.2-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/com/google/code/gson/gson/2.8.5/gson-2.8.5-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/threeten/threetenbp/1.3.6/threetenbp-1.3.6.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/threeten/threetenbp/1.3.6/threetenbp-1.3.6-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- <orderEntry type="module-library" exported="">
- <library>
- <CLASSES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-web/5.1.10.RELEASE/spring-web-5.1.10.RELEASE.jar!/"/>
- </CLASSES>
- <SOURCES>
- <root url="jar:///root/.m2/repository/org/springframework/spring-web/5.1.10.RELEASE/spring-web-5.1.10.RELEASE-sources.jar!/"/>
- </SOURCES>
- </library>
- </orderEntry>
- </component>
- <component name="ModuleRootManager"/>
- <!-- If it's a war project:
- <component name="WebModuleProperties">
- <containerElement type="module" name="${dep.artifactId}">
- <attribute name="method" value="1" />
- <attribute name="URI" value="/WEB-INF/classes" />
- </containerElement>
- <containerElement type="library" level="module" name="${dep.artifactId}">
- <attribute name="method" value="1" />
- <attribute name="URI" value="/WEB-INF/lib/${dep.systemPath.name}" />
- </containerElement>
- <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/${pom.build.warSourceDirectory}/WEB-INF/web.xml" version="" />
- <webroots>
- <root url="file://$MODULE_DIR$/${pom.build.warSourceDirectory}" relative="/" />
- </webroots>
- </component>
- -->
-</module>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
--->
-<project version="4" relativePaths="false">
- <component name="ProjectRootManager" version="2" assert-keyword="true" project-jdk-name="1.8" jdk-15="true" languageLevel="JDK_1_8"/>
- <component name="CodeStyleManager">
- <option name="USE_DEFAULT_CODE_STYLE_SCHEME" value="true"/>
- <option name="CODE_STYLE_SCHEME" value=""/>
- </component>
- <component name="libraryTable"/>
- <component name="CompilerConfiguration">
- <option name="DEFAULT_COMPILER" value="Javac"/>
- <option name="CLEAR_OUTPUT_DIRECTORY" value="false"/>
- <!--
- <wildcardResourcePatterns>
- <entry name="${wildcardResourcePattern}"/>
- </wildcardResourcePatterns>
- -->
- <wildcardResourcePatterns>
- <entry name="!?*.java"/>
- </wildcardResourcePatterns>
- </component>
- <component name="JavacSettings">
- <option name="DEBUGGING_INFO" value="true"/>
- <option name="GENERATE_NO_WARNINGS" value="false"/>
- <option name="DEPRECATION" value="true"/>
- <option name="ADDITIONAL_OPTIONS_STRING" value=""/>
- <option name="MAXIMUM_HEAP_SIZE" value="128"/>
- <option name="USE_GENERICS_COMPILER" value="false"/>
- </component>
- <component name="JikesSettings">
- <option name="DEBUGGING_INFO" value="true"/>
- <option name="DEPRECATION" value="true"/>
- <option name="GENERATE_NO_WARNINGS" value="false"/>
- <option name="GENERATE_MAKE_FILE_DEPENDENCIES" value="false"/>
- <option name="DO_FULL_DEPENDENCE_CHECK" value="false"/>
- <option name="IS_INCREMENTAL_MODE" value="false"/>
- <option name="IS_EMACS_ERRORS_MODE" value="true"/>
- <option name="ADDITIONAL_OPTIONS_STRING" value=""/>
- <option name="MAXIMUM_HEAP_SIZE" value="128"/>
- </component>
- <component name="AntConfiguration">
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
- <option name="FILTER_TARGETS" value="false"/>
- </component>
- <component name="JavadocGenerationManager">
- <option name="OUTPUT_DIRECTORY"/>
- <option name="OPTION_SCOPE" value="protected"/>
- <option name="OPTION_HIERARCHY" value="false"/>
- <option name="OPTION_NAVIGATOR" value="false"/>
- <option name="OPTION_INDEX" value="false"/>
- <option name="OPTION_SEPARATE_INDEX" value="false"/>
- <option name="OPTION_USE_1_1" value="false"/>
- <option name="OPTION_DOCUMENT_TAG_USE" value="false"/>
- <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false"/>
- <option name="OPTION_DOCUMENT_TAG_VERSION" value="false"/>
- <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="false"/>
- <option name="OPTION_DEPRECATED_LIST" value="false"/>
- <option name="OTHER_OPTIONS"/>
- <option name="HEAP_SIZE"/>
- <option name="OPEN_IN_BROWSER" value="false"/>
- </component>
- <component name="JUnitProjectSettings">
- <option name="TEST_RUNNER" value="UI"/>
- </component>
- <component name="EntryPointsManager">
- <entry_points/>
- </component>
- <component name="DataSourceManager"/>
- <component name="ExportToHTMLSettings">
- <option name="PRINT_LINE_NUMBERS" value="false"/>
- <option name="OPEN_IN_BROWSER" value="false"/>
- <option name="OUTPUT_DIRECTORY"/>
- </component>
- <component name="ImportConfiguration">
- <option name="VENDOR"/>
- <option name="RELEASE_TAG"/>
- <option name="LOG_MESSAGE"/>
- <option name="CHECKOUT_AFTER_IMPORT" value="true"/>
- </component>
- <component name="ProjectModuleManager">
- <modules>
- <!-- module filepath="$$PROJECT_DIR$$/${pom.artifactId}.iml"/ -->
- <module filepath="$PROJECT_DIR$/a1-med-api.iml"/>
- </modules>
- </component>
- <UsedPathMacros>
- <!--<macro name="cargo"></macro>-->
- </UsedPathMacros>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you 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.
--->
-<project version="4" relativePaths="false">
- <component name="LvcsProjectConfiguration">
- <option name="ADD_LABEL_ON_PROJECT_OPEN" value="true"/>
- <option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true"/>
- <option name="ADD_LABEL_ON_FILE_PACKAGE_COMPILATION" value="true"/>
- <option name="ADD_LABEL_ON_PROJECT_MAKE" value="true"/>
- <option name="ADD_LABEL_ON_RUNNING" value="true"/>
- <option name="ADD_LABEL_ON_DEBUGGING" value="true"/>
- <option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true"/>
- <option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true"/>
- </component>
- <component name="PropertiesComponent">
- <property name="MemberChooser.copyJavadoc" value="false"/>
- <property name="GoToClass.includeLibraries" value="false"/>
- <property name="MemberChooser.showClasses" value="true"/>
- <property name="MemberChooser.sorted" value="false"/>
- <property name="GoToFile.includeJavaFiles" value="false"/>
- <property name="GoToClass.toSaveIncludeLibraries" value="false"/>
- </component>
- <component name="ToolWindowManager">
- <frame x="-4" y="-4" width="1032" height="746" extended-state="6"/>
- <editor active="false"/>
- <layout>
- <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
- <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7"/>
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="0"/>
- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="1"/>
- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1"/>
- <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
- <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6"/>
- <window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1"/>
- <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="2"/>
- <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2"/>
- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="4"/>
- <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0"/>
- <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2"/>
- <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="0"/>
- <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="3"/>
- <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="5"/>
- </layout>
- </component>
- <component name="ErrorTreeViewConfiguration">
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
- <option name="HIDE_WARNINGS" value="false"/>
- </component>
- <component name="StructureViewFactory">
- <option name="SORT_MODE" value="0"/>
- <option name="GROUP_INHERITED" value="true"/>
- <option name="AUTOSCROLL_MODE" value="true"/>
- <option name="SHOW_FIELDS" value="true"/>
- <option name="AUTOSCROLL_FROM_SOURCE" value="false"/>
- <option name="GROUP_GETTERS_AND_SETTERS" value="true"/>
- <option name="SHOW_INHERITED" value="false"/>
- <option name="HIDE_NOT_PUBLIC" value="false"/>
- </component>
- <component name="ProjectViewSettings">
- <navigator currentView="ProjectPane" flattenPackages="false" showMembers="false" showStructure="false" autoscrollToSource="false" splitterProportion="0.5"/>
- <view id="ProjectPane">
- <expanded_node type="directory" url="file://$PROJECT_DIR$"/>
- </view>
- <view id="SourcepathPane"/>
- <view id="ClasspathPane"/>
- </component>
- <component name="Commander">
- <leftPanel view="Project"/>
- <rightPanel view="Project"/>
- <splitter proportion="0.5"/>
- </component>
- <component name="AspectsView"/>
- <component name="SelectInManager"/>
- <component name="HierarchyBrowserManager">
- <option name="SHOW_PACKAGES" value="false"/>
- <option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
- <option name="SORT_ALPHABETICALLY" value="false"/>
- </component>
- <component name="TodoView" selected-index="0">
- <todo-panel id="selected-file">
- <are-packages-shown value="false"/>
- <flatten-packages value="false"/>
- <is-autoscroll-to-source value="true"/>
- </todo-panel>
- <todo-panel id="all">
- <are-packages-shown value="true"/>
- <flatten-packages value="false"/>
- <is-autoscroll-to-source value="true"/>
- </todo-panel>
- </component>
- <component name="editorManager"/>
- <component name="editorHistoryManager"/>
- <component name="DaemonCodeAnalyzer">
- <disable_hints/>
- </component>
- <component name="InspectionManager">
- <option name="AUTOSCROLL_TO_SOURCE" value="false"/>
- <option name="SPLITTER_PROPORTION" value="0.5"/>
- <profile name="Default"/>
- </component>
- <component name="BookmarkManager"/>
- <component name="DebuggerManager">
- <line_breakpoints/>
- <exception_breakpoints>
- <breakpoint_any>
- <option name="NOTIFY_CAUGHT" value="true"/>
- <option name="NOTIFY_UNCAUGHT" value="true"/>
- <option name="ENABLED" value="false"/>
- <option name="SUSPEND_VM" value="true"/>
- <option name="COUNT_FILTER_ENABLED" value="false"/>
- <option name="COUNT_FILTER" value="0"/>
- <option name="CONDITION_ENABLED" value="false"/>
- <option name="CONDITION"/>
- <option name="LOG_ENABLED" value="false"/>
- <option name="LOG_EXPRESSION_ENABLED" value="false"/>
- <option name="LOG_MESSAGE"/>
- <option name="CLASS_FILTERS_ENABLED" value="false"/>
- <option name="INVERSE_CLASS_FILLTERS" value="false"/>
- <option name="SUSPEND_POLICY" value="SuspendAll"/>
- </breakpoint_any>
- </exception_breakpoints>
- <field_breakpoints/>
- <method_breakpoints/>
- </component>
- <component name="DebuggerSettings">
- <option name="TRACING_FILTERS_ENABLED" value="true"/>
- <option name="TOSTRING_CLASSES_ENABLED" value="false"/>
- <option name="VALUE_LOOKUP_DELAY" value="700"/>
- <option name="DEBUGGER_TRANSPORT" value="0"/>
- <option name="FORCE_CLASSIC_VM" value="true"/>
- <option name="HIDE_DEBUGGER_ON_PROCESS_TERMINATION" value="false"/>
- <option name="SKIP_SYNTHETIC_METHODS" value="true"/>
- <option name="SKIP_CONSTRUCTORS" value="false"/>
- <option name="STEP_THREAD_SUSPEND_POLICY" value="SuspendThread"/>
- <default_breakpoint_settings>
- <option name="NOTIFY_CAUGHT" value="true"/>
- <option name="NOTIFY_UNCAUGHT" value="true"/>
- <option name="WATCH_MODIFICATION" value="true"/>
- <option name="WATCH_ACCESS" value="true"/>
- <option name="WATCH_ENTRY" value="true"/>
- <option name="WATCH_EXIT" value="true"/>
- <option name="ENABLED" value="true"/>
- <option name="SUSPEND_VM" value="true"/>
- <option name="COUNT_FILTER_ENABLED" value="false"/>
- <option name="COUNT_FILTER" value="0"/>
- <option name="CONDITION_ENABLED" value="false"/>
- <option name="CONDITION"/>
- <option name="LOG_ENABLED" value="false"/>
- <option name="LOG_EXPRESSION_ENABLED" value="false"/>
- <option name="LOG_MESSAGE"/>
- <option name="CLASS_FILTERS_ENABLED" value="false"/>
- <option name="INVERSE_CLASS_FILLTERS" value="false"/>
- <option name="SUSPEND_POLICY" value="SuspendAll"/>
- </default_breakpoint_settings>
- <filter>
- <option name="PATTERN" value="com.sun.*"/>
- <option name="ENABLED" value="true"/>
- </filter>
- <filter>
- <option name="PATTERN" value="java.*"/>
- <option name="ENABLED" value="true"/>
- </filter>
- <filter>
- <option name="PATTERN" value="javax.*"/>
- <option name="ENABLED" value="true"/>
- </filter>
- <filter>
- <option name="PATTERN" value="org.omg.*"/>
- <option name="ENABLED" value="true"/>
- </filter>
- <filter>
- <option name="PATTERN" value="sun.*"/>
- <option name="ENABLED" value="true"/>
- </filter>
- <filter>
- <option name="PATTERN" value="junit.*"/>
- <option name="ENABLED" value="true"/>
- </filter>
- </component>
- <component name="CompilerWorkspaceConfiguration">
- <option name="COMPILE_IN_BACKGROUND" value="false"/>
- <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true"/>
- </component>
- <component name="RunManager">
- <activeType name="Application"/>
- <configuration selected="false" default="true" type="Applet" factoryName="Applet">
- <module name=""/>
- <option name="MAIN_CLASS_NAME"/>
- <option name="HTML_FILE_NAME"/>
- <option name="HTML_USED" value="false"/>
- <option name="WIDTH" value="400"/>
- <option name="HEIGHT" value="300"/>
- <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy"/>
- <option name="VM_PARAMETERS"/>
- </configuration>
- <configuration selected="false" default="true" type="Remote" factoryName="Remote">
- <option name="USE_SOCKET_TRANSPORT" value="true"/>
- <option name="SERVER_MODE" value="false"/>
- <option name="SHMEM_ADDRESS" value="javadebug"/>
- <option name="HOST" value="localhost"/>
- <option name="PORT" value="5005"/>
- </configuration>
- <configuration selected="false" default="true" type="Application" factoryName="Application">
- <option name="MAIN_CLASS_NAME"/>
- <option name="VM_PARAMETERS"/>
- <option name="PROGRAM_PARAMETERS"/>
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
- <module name=""/>
- </configuration>
- <configuration selected="false" default="true" type="JUnit" factoryName="JUnit">
- <module name=""/>
- <option name="PACKAGE_NAME"/>
- <option name="MAIN_CLASS_NAME"/>
- <option name="METHOD_NAME"/>
- <option name="TEST_OBJECT" value="class"/>
- <option name="VM_PARAMETERS"/>
- <option name="PARAMETERS"/>
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
- <option name="ADDITIONAL_CLASS_PATH"/>
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="wholeProject"/>
- </option>
- </configuration>
- </component>
- <component name="VcsManagerConfiguration">
- <option name="ACTIVE_VCS_NAME" value=""/>
- <option name="STATE" value="0"/>
- </component>
- <component name="VssConfiguration">
- <CheckoutOptions>
- <option name="COMMENT" value=""/>
- <option name="DO_NOT_GET_LATEST_VERSION" value="false"/>
- <option name="REPLACE_WRITABLE" value="false"/>
- <option name="RECURSIVE" value="false"/>
- </CheckoutOptions>
- <CheckinOptions>
- <option name="COMMENT" value=""/>
- <option name="KEEP_CHECKED_OUT" value="false"/>
- <option name="RECURSIVE" value="false"/>
- </CheckinOptions>
- <AddOptions>
- <option name="COMMENT" value=""/>
- <option name="STORE_ONLY_LATEST_VERSION" value="false"/>
- <option name="CHECK_OUT_IMMEDIATELY" value="false"/>
- <option name="FILE_TYPE" value="0"/>
- </AddOptions>
- <UndocheckoutOptions>
- <option name="MAKE_WRITABLE" value="false"/>
- <option name="REPLACE_LOCAL_COPY" value="0"/>
- <option name="RECURSIVE" value="false"/>
- </UndocheckoutOptions>
- <DiffOptions>
- <option name="IGNORE_WHITE_SPACE" value="false"/>
- <option name="IGNORE_CASE" value="false"/>
- </DiffOptions>
- <GetOptions>
- <option name="REPLACE_WRITABLE" value="0"/>
- <option name="MAKE_WRITABLE" value="false"/>
- <option name="RECURSIVE" value="false"/>
- </GetOptions>
- <option name="CLIENT_PATH" value=""/>
- <option name="SRCSAFEINI_PATH" value=""/>
- <option name="USER_NAME" value=""/>
- <option name="PWD" value=""/>
- <option name="SHOW_CHECKOUT_OPTIONS" value="true"/>
- <option name="SHOW_ADD_OPTIONS" value="true"/>
- <option name="SHOW_UNDOCHECKOUT_OPTIONS" value="true"/>
- <option name="SHOW_DIFF_OPTIONS" value="true"/>
- <option name="SHOW_GET_OPTIONS" value="true"/>
- <option name="USE_EXTERNAL_DIFF" value="false"/>
- <option name="EXTERNAL_DIFF_PATH" value=""/>
- <option name="REUSE_LAST_COMMENT" value="false"/>
- <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
- <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
- <option name="LAST_COMMIT_MESSAGE" value=""/>
- <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
- </component>
- <component name="CheckinPanelState"/>
- <component name="WebViewSettings">
- <webview flattenPackages="false" showMembers="false" autoscrollToSource="false"/>
- </component>
- <component name="EjbViewSettings">
- <EjbView showMembers="false" autoscrollToSource="false"/>
- </component>
- <component name="AppServerRunManager"/>
- <component name="StarteamConfiguration">
- <option name="SERVER" value=""/>
- <option name="PORT" value="49201"/>
- <option name="USER" value=""/>
- <option name="PASSWORD" value=""/>
- <option name="PROJECT" value=""/>
- <option name="VIEW" value=""/>
- <option name="ALTERNATIVE_WORKING_PATH" value=""/>
- <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
- <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
- <option name="LAST_COMMIT_MESSAGE" value=""/>
- <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
- </component>
- <component name="Cvs2Configuration">
- <option name="ON_FILE_ADDING" value="0"/>
- <option name="ON_FILE_REMOVING" value="0"/>
- <option name="PRUNE_EMPTY_DIRECTORIES" value="true"/>
- <option name="SHOW_UPDATE_OPTIONS" value="true"/>
- <option name="SHOW_ADD_OPTIONS" value="true"/>
- <option name="SHOW_REMOVE_OPTIONS" value="true"/>
- <option name="MERGING_MODE" value="0"/>
- <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD"/>
- <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD"/>
- <option name="RESET_STICKY" value="false"/>
- <option name="CREATE_NEW_DIRECTORIES" value="true"/>
- <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv"/>
- <option name="PROCESS_UNKNOWN_FILES" value="false"/>
- <option name="PROCESS_DELETED_FILES" value="false"/>
- <option name="SHOW_EDIT_DIALOG" value="true"/>
- <option name="RESERVED_EDIT" value="false"/>
- <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6"/>
- <option name="SHOW_CHECKOUT_OPTIONS" value="true"/>
- <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
- <value>
- <option name="BRANCH" value=""/>
- <option name="DATE" value=""/>
- <option name="USE_BRANCH" value="false"/>
- <option name="USE_DATE" value="false"/>
- </value>
- </option>
- <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
- <value>
- <option name="BRANCH" value=""/>
- <option name="DATE" value=""/>
- <option name="USE_BRANCH" value="false"/>
- <option name="USE_DATE" value="false"/>
- </value>
- </option>
- <option name="SHOW_CHANGES_REVISION_SETTINGS">
- <value>
- <option name="BRANCH" value=""/>
- <option name="DATE" value=""/>
- <option name="USE_BRANCH" value="false"/>
- <option name="USE_DATE" value="false"/>
- </value>
- </option>
- <option name="SHOW_OUTPUT" value="false"/>
- <option name="SHOW_FILE_HISTORY_AS_TREE" value="false"/>
- <option name="UPDATE_GROUP_BY_PACKAGES" value="false"/>
- <option name="ADD_WATCH_INDEX" value="0"/>
- <option name="REMOVE_WATCH_INDEX" value="0"/>
- <option name="UPDATE_KEYWORD_SUBSTITUTION"/>
- <option name="MAKE_NEW_FILES_READONLY" value="false"/>
- <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0"/>
- <option name="TAG_AFTER_FILE_COMMIT" value="false"/>
- <option name="TAG_AFTER_FILE_COMMIT_NAME" value=""/>
- <option name="TAG_AFTER_PROJECT_COMMIT" value="false"/>
- <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value=""/>
- <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
- <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
- <option name="FORCE_NON_EMPTY_COMMENT" value="false"/>
- <option name="LAST_COMMIT_MESSAGE" value=""/>
- <option name="SAVE_LAST_COMMIT_MESSAGE" value="true"/>
- <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
- <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false"/>
- <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false"/>
- <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false"/>
- <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false"/>
- <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8"/>
- <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5"/>
- </component>
- <component name="CvsTabbedWindow"/>
- <component name="SvnConfiguration">
- <option name="USER" value=""/>
- <option name="PASSWORD" value=""/>
- <option name="AUTO_ADD_FILES" value="0"/>
- <option name="AUTO_DEL_FILES" value="0"/>
- </component>
- <component name="PerforceConfiguration">
- <option name="PORT" value="magic:1666"/>
- <option name="USER" value=""/>
- <option name="PASSWORD" value=""/>
- <option name="CLIENT" value=""/>
- <option name="TRACE" value="false"/>
- <option name="PERFORCE_STATUS" value="true"/>
- <option name="CHANGELIST_OPTION" value="false"/>
- <option name="SYSTEMROOT" value=""/>
- <option name="P4_EXECUTABLE" value="p4"/>
- <option name="SHOW_BRANCH_HISTORY" value="false"/>
- <option name="GENERATE_COMMENT" value="false"/>
- <option name="SYNC_OPTION" value="Sync"/>
- <option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
- <option name="SHOW_CHECKIN_OPTIONS" value="true"/>
- <option name="FORCE_NON_EMPTY_COMMENT" value="true"/>
- <option name="LAST_COMMIT_MESSAGE" value=""/>
- <option name="SAVE_LAST_COMMIT_MESSAGE" value="true"/>
- <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
- <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false"/>
- <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false"/>
- <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false"/>
- <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false"/>
- <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8"/>
- <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5"/>
- </component>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java">
- <attributes>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
- <attributes>
- <attribute name="test" value="true"/>
- <attribute name="optional" value="true"/>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
- <attributes>
- <attribute name="maven.pomderived" value="true"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="lib" path="/a1-med-api/target/a1-med-api-1.0.0-SNAPSHOT.jar"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>nearric-service</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//src/test/java=UTF-8
-encoding/<project>=UTF-8
+++ /dev/null
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+++ /dev/null
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
+++ /dev/null
-
-FROM openjdk:8-jre-alpine
-
-ARG JAR_FILE
-
-WORKDIR /opt/app/nearricsimulator
-
-COPY ${JAR_FILE} nearric-simulator.jar
-
-ENTRYPOINT ["/usr/bin/java", "-jar", "/opt/app/nearricsimulator/nearric-simulator.jar"]
\ No newline at end of file
<properties>
<spring.boot.version>2.1.9.RELEASE</spring.boot.version>
+ <java.version>11</java.version>
</properties>
<dependencyManagement>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.1</version>
+ <configuration>
+ <release>${java.version}</release>
+ </configuration>
</plugin>
</plugins>
</build>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2019-2020 Nordix Foundation.
+ ================================================================================
+ 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=========================================================
+-->
+<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>
+
+ <groupId>org.oransc</groupId>
+ <artifactId>nonrtric</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>nonrtric</name>
+ <modules>
+ <module>dashboard</module>
+ <module>sdnc-a1-controller</module>
+ <module>near-rt-ric-simulator</module>
+ </modules>
+</project>
--- /dev/null
+#####standard .git ignore entries#####
+
+## IDE Specific Files ##
+org.eclipse.core.resources.prefs
+.classpath
+.project
+.settings
+.idea
+.externalToolBuilders
+.checkstyle
+maven-eclipse.xml
+workspace
+.pydevproject
+
+## Compilation Files ##
+*.class
+**/target
+target
+target-ide
+MANIFEST.MF
+
+## Misc Ignores (OS specific etc) ##
+bin/
+dist
+*~
+*.ipr
+*.iml
+*.iws
+classes
+out/
+.DS_STORE
+.metadata
<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>
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>feature-repo-parent</artifactId>
<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>
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>single-feature-parent</artifactId>
<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>
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
<executions>
<execution>
<configuration>
- <executable>python</executable>
+ <executable>python3</executable>
<arguments>
<argument>scripts/python/yang2props.py</argument>
<argument>src/main/yang/NONRT-RIC-API.yang</argument>
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <source>8</source>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
li = []
if len(sys.argv) < 3:
- print 'yang2props.py <input yang> <output properties>'
+ print('yang2props.py <input yang> <output properties>')
sys.exit(2)
with open(sys.argv[1], "r") as ins:
for line in ins:
# if we see a leaf save the name for later
if "leaf " in line:
- match = re.search(r'leaf (\S+)', line)
- if match:
- leaf = match.group(1)
+ match = re.search(r'leaf (\S+)', line)
+ if match:
+ leaf = match.group(1)
# if we see enum convert the value to enum format and see if it changed
# if the value is different write a property entry
if "enum " in line:
- match = re.search(r'enum "(\S+)";', line)
- if match:
+ match = re.search(r'enum "(\S+)";', line)
+ if match:
val = match.group(1)
- enum = to_enum(val)
-
+ enum = to_enum(val)
# see if converting to enum changed the string
- if val != enum:
+ if val != enum:
property = "yang."+leaf+"."+enum+"="+val
- if property not in li:
- li.append( property)
+ if property not in li:
+ li.append( property)
# Open output file
-fo = open(sys.argv[2], "wb")
+fo = open(sys.argv[2], "w")
fo.write("# yang conversion properties \n")
fo.write("# used to convert Enum back to the original yang value \n")
fo.write("\n".join(li))
\r
revision "2019-10-02" {\r
description\r
- "A1 adapter for Frankfurt";\r
+ "A1 adapter";\r
}\r
\r
-///Flattend interface using RPC\r
+ ///Flattend interface using RPC\r
\r
//Get an array of near-rt-ric IDs,\r
//Each item in the returned array will be regarded as one near-rt-ric-id.\r
leaf-list near-rt-ric-id-list {\r
type string;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
\r
leaf health-status {\r
type boolean;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
\r
leaf-list policy-type-id-list {\r
type uint32;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
\r
}\r
}\r
output {\r
- leaf status {\r
- type string;\r
- }\r
leaf code {\r
type string;\r
}\r
leaf policy-type {\r
type string;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
\r
type uint32;\r
}\r
}\r
+ output {\r
+ leaf code {\r
+ type string;\r
+ }\r
+ }\r
}\r
\r
//Get an array of string policy instance ids\r
leaf-list policy-instance-id-list {\r
type string;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
\r
type string;\r
}\r
}\r
+ output {\r
+ leaf code {\r
+ type string;\r
+ }\r
+ }\r
}\r
\r
///Get a policy instance\r
leaf policy-instance {\r
type string;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
\r
type string;\r
}\r
}\r
+ output {\r
+ leaf code {\r
+ type string;\r
+ }\r
+ }\r
}\r
\r
//Get the status for a policy instance\r
leaf status {\r
type string;\r
}\r
+ leaf code {\r
+ type string;\r
+ }\r
}\r
}\r
}
\ No newline at end of file
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>
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>binding-parent</artifactId>
<name>sdnc-northbound :: nonrt-ric-api :: ${project.artifactId}</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>0.8.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <source>8</source>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
<dependencyManagement>
<dependencies>
<dependency>
<artifactId>nonrt-ric-api-model</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
--- /dev/null
+package org.onap.sdnc.northbound.exceptions;
+
+public class NearRtRicNotFoundException extends RuntimeException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4503072266424371087L;
+
+ public NearRtRicNotFoundException(String message) {
+ super(message);
+ }
+
+}
package org.onap.sdnc.northbound.provider;
-import com.google.common.base.Optional;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.gson.Gson;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.json.JSONObject;
+import org.onap.sdnc.northbound.exceptions.NearRtRicNotFoundException;
import org.onap.sdnc.northbound.restadpter.NearRicUrlProvider;
import org.onap.sdnc.northbound.restadpter.RestAdapter;
import org.onap.sdnc.northbound.restadpter.RestAdapterImpl;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.RestClientResponseException;
/**
* Defines a base implementation for your provider. This class overrides the generated interface
protected static final String NO_SERVICE_LOGIC_ACTIVE = "No service logic active for ";
private static final String NON_NULL_PARAM = "non-null";
private static final String NULL_PARAM = "null";
- private static final String RESPONSE_SUCCESS = "Success";
- private static final String RESPONSE_CODE_SUCCESS = "200";
private final Logger log = LoggerFactory.getLogger(NonrtRicApiProvider.class);
private final ExecutorService executor;
public ListenableFuture<RpcResult<CreatePolicyInstanceOutput>> createPolicyInstance(
CreatePolicyInstanceInput input) {
log.info("Start of createPolicyInstance");
- String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
- log.info("PUT Request input.getPolicyInstance() : {} ", input.getPolicyInstance());
- restAdapter.put(uri, input.getPolicyInstance());
CreatePolicyInstanceOutputBuilder responseBuilder = new CreatePolicyInstanceOutputBuilder();
+ try {
+ String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+ log.info("PUT Request input.getPolicyInstance() : {} ", input.getPolicyInstance());
+ ResponseEntity<Void> response = restAdapter.put(uri, input.getPolicyInstance());
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
+ }
log.info("End of createPolicyInstance");
RpcResult<CreatePolicyInstanceOutput> rpcResult = RpcResultBuilder
.<CreatePolicyInstanceOutput>status(true).withResult(responseBuilder.build()).build();
public ListenableFuture<RpcResult<CreatePolicyTypeOutput>> createPolicyType(
CreatePolicyTypeInput input) {
log.info("Start of createPolicyType");
- String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()));
- log.info("PUT Request input.getPolicyType() : {} ", input.getPolicyType());
- restAdapter.put(uri, input.getPolicyType());
CreatePolicyTypeOutputBuilder responseBuilder = new CreatePolicyTypeOutputBuilder();
- responseBuilder.setCode(RESPONSE_CODE_SUCCESS);
- responseBuilder.setStatus(RESPONSE_SUCCESS);
+ try {
+ String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()));
+ log.info("PUT Request input.getPolicyType() : {} ", input.getPolicyType());
+ ResponseEntity<Void> response = restAdapter.put(uri, input.getPolicyType());
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
+ }
log.info("End of createPolicyType");
RpcResult<CreatePolicyTypeOutput> rpcResult = RpcResultBuilder
.<CreatePolicyTypeOutput>status(true).withResult(responseBuilder.build()).build();
public ListenableFuture<RpcResult<DeletePolicyInstanceOutput>> deletePolicyInstance(
DeletePolicyInstanceInput input) {
log.info("Start of deletePolicyInstance");
- String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
- restAdapter.delete(uri);
DeletePolicyInstanceOutputBuilder responseBuilder = new DeletePolicyInstanceOutputBuilder();
+ try {
+ String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+ ResponseEntity<Void> response = restAdapter.delete(uri);
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
+ }
log.info("End of deletePolicyInstance");
RpcResult<DeletePolicyInstanceOutput> rpcResult = RpcResultBuilder
.<DeletePolicyInstanceOutput>status(true).withResult(responseBuilder.build()).build();
public ListenableFuture<RpcResult<DeletePolicyTypeOutput>> deletePolicyType(
DeletePolicyTypeInput input) {
log.info("Start of deletePolicyType");
- String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()));
- restAdapter.delete(uri);
DeletePolicyTypeOutputBuilder responseBuilder = new DeletePolicyTypeOutputBuilder();
+ try {
+ String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()));
+ ResponseEntity<Void> response = restAdapter.delete(uri);
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
+ }
log.info("End of deletePolicyType");
RpcResult<DeletePolicyTypeOutput> rpcResult = RpcResultBuilder
.<DeletePolicyTypeOutput>status(true).withResult(responseBuilder.build()).build();
public ListenableFuture<RpcResult<GetHealthCheckOutput>> getHealthCheck(
GetHealthCheckInput input) {
log.info("Start of getHealthCheck");
- String uri = nearRicUrlProvider.getHealthCheck(String.valueOf(input.getNearRtRicId()));
- restAdapter.get(uri, String.class);
GetHealthCheckOutputBuilder responseBuilder = new GetHealthCheckOutputBuilder();
- responseBuilder.setHealthStatus(true);
+ try {
+ String uri = nearRicUrlProvider.getHealthCheck(String.valueOf(input.getNearRtRicId()));
+ ResponseEntity<Object> response = restAdapter.get(uri, Object.class);
+ responseBuilder.setHealthStatus(false);
+ if (response.getStatusCode().equals(HttpStatus.OK)) {
+ responseBuilder.setHealthStatus(true);
+ }
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
+ }
log.info("End of getHealthCheck");
RpcResult<GetHealthCheckOutput> rpcResult = RpcResultBuilder.<GetHealthCheckOutput>status(true)
.withResult(responseBuilder.build()).build();
log.info("Start of getNearRTRICs");
GetNearRTRICsOutputBuilder responseBuilder = new GetNearRTRICsOutputBuilder();
responseBuilder.setNearRtRicIdList(nearRicUrlProvider.getNearRTRicIdsList());
+ responseBuilder.setCode(HttpStatus.OK.toString());
log.info("End of getNearRTRICs");
RpcResult<GetNearRTRICsOutput> rpcResult = RpcResultBuilder.<GetNearRTRICsOutput>status(true)
.withResult(responseBuilder.build()).build();
GetPolicyInstanceInput input) {
log.info("Start of getPolicyInstance");
log.info("Policy Type Id : {}, Policy Instance Id : {}", input.getPolicyTypeId(), input.getPolicyInstanceId());
- String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
- Optional<String> policyInstance = restAdapter.get(uri, String.class);
GetPolicyInstanceOutputBuilder responseBuilder = new GetPolicyInstanceOutputBuilder();
- if (policyInstance.isPresent()) {
- log.info("Response policyInstance.get() : {} ", policyInstance.get());
- responseBuilder.setPolicyInstance(policyInstance.get());
+ try {
+ String uri = nearRicUrlProvider.getPolicyInstanceId(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+ ResponseEntity<String> response = restAdapter.get(uri, String.class);
+ if (response.hasBody()) {
+ log.info("Response getPolicyInstance : {} ", response.getBody());
+ responseBuilder.setPolicyInstance(response.getBody());
+ }
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
}
log.info("End of getPolicyInstance");
RpcResult<GetPolicyInstanceOutput> rpcResult = RpcResultBuilder
public ListenableFuture<RpcResult<GetPolicyInstancesOutput>> getPolicyInstances(
GetPolicyInstancesInput input) {
log.info("Start of getPolicyInstances");
- String uri = nearRicUrlProvider.getPolicyInstances(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()));
- Optional<List<String>> policyInstances = restAdapter.get(uri, List.class);
GetPolicyInstancesOutputBuilder responseBuilder = new GetPolicyInstancesOutputBuilder();
- if (policyInstances.isPresent()) {
- log.info("Response policyInstances.get() : {} ", policyInstances.get());
- responseBuilder.setPolicyInstanceIdList(policyInstances.get());
+ try {
+ String uri = nearRicUrlProvider.getPolicyInstances(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()));
+ ResponseEntity<List<String>> response = restAdapter.get(uri, List.class);
+ if (response.hasBody()) {
+ log.info("Response getPolicyInstances : {} ", response.getBody());
+ responseBuilder.setPolicyInstanceIdList(response.getBody());
+ }
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
}
log.info("End of getPolicyInstances");
RpcResult<GetPolicyInstancesOutput> rpcResult = RpcResultBuilder
public ListenableFuture<RpcResult<GetPolicyTypeOutput>> getPolicyType(GetPolicyTypeInput input) {
log.info("Start of getPolicyType");
log.info("Policy Type Id : {} ", input.getPolicyTypeId());
- String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()));
- Optional<String> policyType = restAdapter.get(uri, String.class);
GetPolicyTypeOutputBuilder responseBuilder = new GetPolicyTypeOutputBuilder();
- if (policyType.isPresent()) {
- log.info("Response policyType.get() : {} ", policyType.get());
- JSONObject policyTypeObj = new JSONObject(policyType.get());
- responseBuilder.setDescription(policyTypeObj.getString("description"));
- responseBuilder.setName(policyTypeObj.getString("name"));
- responseBuilder.setPolicyType(policyTypeObj.getJSONObject("create_schema").toString());
+ try {
+ String uri = nearRicUrlProvider.getPolicyTypeId(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()));
+ ResponseEntity<String> response = restAdapter.get(uri, String.class);
+ if (response.hasBody()) {
+ log.info("Response getPolicyType : {} ", response.getBody());
+ JSONObject policyTypeObj = new JSONObject(response.getBody());
+ responseBuilder.setDescription(policyTypeObj.getString("description"));
+ responseBuilder.setName(policyTypeObj.getString("name"));
+ responseBuilder.setPolicyType(policyTypeObj.getJSONObject("create_schema").toString());
+ }
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
}
log.info("End of getPolicyType");
RpcResult<GetPolicyTypeOutput> rpcResult = RpcResultBuilder.<GetPolicyTypeOutput>status(true)
public ListenableFuture<RpcResult<GetPolicyTypesOutput>> getPolicyTypes(
GetPolicyTypesInput input) {
log.info("Start of getPolicyTypes");
- String uri = nearRicUrlProvider.getPolicyTypes(String.valueOf(input.getNearRtRicId()));
- Optional<List<Integer>> policyTypes = restAdapter.get(uri, List.class);
GetPolicyTypesOutputBuilder responseBuilder = new GetPolicyTypesOutputBuilder();
- if (policyTypes.isPresent()) {
- log.info("Response policyTypes.get() : {} ", policyTypes.get());
- List<Integer> policyTypesListInteger = policyTypes.get();
- List<Long> policyTypesListLong = new ArrayList<>();
- for(Integer i : policyTypesListInteger){
- policyTypesListLong.add(i.longValue());
+ try {
+ String uri = nearRicUrlProvider.getPolicyTypes(String.valueOf(input.getNearRtRicId()));
+ ResponseEntity<List<Integer>> response = restAdapter.get(uri, List.class);
+ if (response.hasBody()) {
+ log.info("Response getPolicyTypes : {} ", response.getBody());
+ List<Integer> policyTypesListInteger = response.getBody();
+ List<Long> policyTypesListLong = new ArrayList<>();
+ for(Integer i : policyTypesListInteger){
+ policyTypesListLong.add(i.longValue());
+ }
+ responseBuilder.setPolicyTypeIdList(policyTypesListLong);
}
- responseBuilder.setPolicyTypeIdList(policyTypesListLong);
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
}
log.info("End of getPolicyTypes");
RpcResult<GetPolicyTypesOutput> rpcResult = RpcResultBuilder.<GetPolicyTypesOutput>status(true)
@Override
public ListenableFuture<RpcResult<GetStatusOutput>> getStatus(GetStatusInput input) {
log.info("Start of getStatus");
- String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(String.valueOf(input.getNearRtRicId()),
- String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
- Optional<String> status = restAdapter.get(uri, String.class);
GetStatusOutputBuilder responseBuilder = new GetStatusOutputBuilder();
- if (status.isPresent()) {
- log.info("Response status.get() : {} ", status.get());
- JSONObject statusObj = new JSONObject(status.get());
- responseBuilder.setStatus(statusObj.getString("status"));
+ try {
+ String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(String.valueOf(input.getNearRtRicId()),
+ String.valueOf(input.getPolicyTypeId()), String.valueOf(input.getPolicyInstanceId()));
+ ResponseEntity<List<Object>> response = restAdapter.get(uri, List.class);
+ if (response.hasBody()) {
+ log.info("Response getStatus : {} ", response.getBody());
+ // only return the status of first handler for compliance with current yang model, ignore handler_id
+ JSONObject statusObj = new JSONObject(new Gson().toJson(response.getBody().get(0)));
+ responseBuilder.setStatus(statusObj.getString("status"));
+ }
+ responseBuilder.setCode(response.getStatusCode().toString());
+ } catch (NearRtRicNotFoundException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(HttpStatus.INTERNAL_SERVER_ERROR.toString());
+ } catch (RestClientResponseException ex) {
+ log.error("Caught exception: {}", ex);
+ responseBuilder.setCode(String.valueOf(ex.getRawStatusCode()));
}
log.info("End of getStatus");
RpcResult<GetStatusOutput> rpcResult =
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
+import org.onap.sdnc.northbound.exceptions.NearRtRicNotFoundException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.util.UriComponentsBuilder;
* @return the base url
*/
public String getBaseUrl(final String nearRtRicId) {
+ if (!nearRicMap.containsKey(nearRtRicId)) {
+ throw new NearRtRicNotFoundException("NearRtRic with this ID is not known by the A1 controller");
+ }
String baseUrl = "http://" + nearRicMap.get(nearRtRicId) + "/a1-p/";
return UriComponentsBuilder.fromUriString(baseUrl).build().toString();
}
* @param policyTypeId Policy Type Id
* @return the policy type id url
*/
- public String getPolicyTypeId(final String nearRtRicId, final String policyTypeId) {
+ public String getPolicyTypeId(final String nearRtRicId,
+ final String policyTypeId) {
return UriComponentsBuilder.fromUriString(getBaseUrl(nearRtRicId)).pathSegment("policytypes")
.pathSegment(policyTypeId).build().toString();
}
* @param policyTypeId Policy Type Id
* @return the policy instances for the given policy type
*/
- public String getPolicyInstances(final String nearRtRicId, final String policyTypeId) {
+ public String getPolicyInstances(final String nearRtRicId,
+ final String policyTypeId) {
return UriComponentsBuilder.fromUriString(getPolicyTypeId(nearRtRicId, policyTypeId)).pathSegment("policies")
.build().toString();
}
* @param policyInstanceId Policy Instance Id
* @return the policy instance id for the given policy type
*/
- public String getPolicyInstanceId(final String nearRtRicId, final String policyTypeId, final String policyInstanceId) {
+ public String getPolicyInstanceId(final String nearRtRicId, final String policyTypeId,
+ final String policyInstanceId) {
return UriComponentsBuilder.fromUriString(getPolicyTypeId(nearRtRicId, policyTypeId)).pathSegment("policies")
.pathSegment(policyInstanceId).build().toString();
}
package org.onap.sdnc.northbound.restadpter;
-import com.google.common.base.Optional;
-
+import org.springframework.http.ResponseEntity;
/**
* An interface to wrap the generic HTTP methods
* @return the converted object
*/
- <T> Optional<T> get(final String url, final Class<?> clazz);
+ <T> ResponseEntity<T> get(final String url, final Class<?> clazz);
/**
* Create or update a resource by PUTting the given object to the URI.
* @param request the String to be PUT (may be {@code null})
* @return the response code
*/
- <T> Optional<T> put(final String url, final String body);
+ <T> ResponseEntity<T> put(final String url, final String body);
/**
* Delete resource for the given object to the URI.
* @param url the URL
* @return the response code
*/
- <T> Optional<T> delete(final String url);
+ <T> ResponseEntity<T> delete(final String url);
}
package org.onap.sdnc.northbound.restadpter;
-import com.google.common.base.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
}
@Override
- public <T> Optional<T> get(String uri, Class<?> clazz) {
+ public <T> ResponseEntity<T> get(String uri, Class<?> clazz) {
HttpEntity<?> entity = getHttpEntity(null);
- final ResponseEntity<T> response = invokeHttpRequest(uri, HttpMethod.GET, clazz, entity);
- return buildOptional(response);
+ return invokeHttpRequest(uri, HttpMethod.GET, clazz, entity);
}
@Override
- public <T> Optional<T> put(String uri, String body) {
+ public <T> ResponseEntity<T> put(String uri, String body) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> entity = new HttpEntity<String>(body, headers);
- final ResponseEntity<T> response = invokeHttpRequest(uri, HttpMethod.PUT, null, entity);
- return buildOptional(response);
+ return invokeHttpRequest(uri, HttpMethod.PUT, null, entity);
}
@Override
- public <T> Optional<T> delete(String uri) {
+ public <T> ResponseEntity<T> delete(String uri) {
HttpEntity<?> entity = getHttpEntity(null);
- final ResponseEntity<T> response = invokeHttpRequest(uri, HttpMethod.DELETE, null, entity);
- return buildOptional(response);
+ return invokeHttpRequest(uri, HttpMethod.DELETE, null, entity);
}
@SuppressWarnings("unchecked")
HttpEntity<?> entity) {
return (ResponseEntity<T>) restTemplate.exchange(uri, httpMethod, entity, clazz);
}
-
- private <T> Optional<T> buildOptional(ResponseEntity<T> response) {
- if (!response.getStatusCode().equals(HttpStatus.OK)
- & !response.getStatusCode().equals(HttpStatus.CREATED)
- & !response.getStatusCode().equals(HttpStatus.NO_CONTENT)) {
- log.error("Failed to get the Response, Status Code = {}", response.getStatusCode());
- return Optional.absent();
- }
- if (response.hasBody()) {
- return Optional.of(response.getBody());
- }
- return Optional.absent();
- }
}
import static org.mockito.Matchers.anyObject;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.when;
-import com.google.common.base.Optional;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;
import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyInstanceOutput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeInputBuilder;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.CreatePolicyTypeOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyInstanceOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.DeletePolicyTypeOutput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckInputBuilder;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetHealthCheckOutput;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsInputBuilder;
+import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetNearRTRICsOutput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceInputBuilder;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstanceOutput;
import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev191002.GetPolicyInstancesInputBuilder;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
/**
* This class Tests all the methods in NonrtRicApiProvider
mockRpcProviderRegistry);
}
+ @Test
+ public void testCreatePolicyInstance() throws InterruptedException, ExecutionException {
+ CreatePolicyInstanceInputBuilder inputBuilder = new CreatePolicyInstanceInputBuilder();
+ inputBuilder.setNearRtRicId(nearRtRicId);
+ inputBuilder.setPolicyTypeId(policyTypeId);
+ inputBuilder.setPolicyInstanceId(policyTypeInstanceId);
+ Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+ String uri = nearRicUrlProvider.getPolicyInstanceId(inputBuilder.build().getNearRtRicId(),
+ String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
+ ResponseEntity<Object> createPolicyInstanceResponse = new ResponseEntity<>(HttpStatus.CREATED);
+ when(restAdapter.put(eq(uri), anyObject())).thenReturn(createPolicyInstanceResponse);
+ ListenableFuture<RpcResult<CreatePolicyInstanceOutput>> result =
+ nonrtRicApiProvider.createPolicyInstance(inputBuilder.build());
+ Assert.assertEquals(String.valueOf(HttpStatus.CREATED.value()), result.get().getResult().getCode());
+ }
+
+ @Test
+ public void testDeletePolicyInstance() throws InterruptedException, ExecutionException {
+ DeletePolicyInstanceInputBuilder inputBuilder = new DeletePolicyInstanceInputBuilder();
+ inputBuilder.setNearRtRicId(nearRtRicId);
+ inputBuilder.setPolicyTypeId(policyTypeId);
+ inputBuilder.setPolicyInstanceId(policyTypeInstanceId);
+ Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+ String uri = nearRicUrlProvider.getPolicyInstanceId(inputBuilder.build().getNearRtRicId(),
+ String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
+ ResponseEntity<Object> deletePolicyInstanceResponse = new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ when(restAdapter.delete(eq(uri))).thenReturn(deletePolicyInstanceResponse);
+ ListenableFuture<RpcResult<DeletePolicyInstanceOutput>> result =
+ nonrtRicApiProvider.deletePolicyInstance(inputBuilder.build());
+ Assert.assertEquals(String.valueOf(HttpStatus.NO_CONTENT.value()), result.get().getResult().getCode());
+ }
+
+ @Test
+ public void testGetNearRTRICs() throws InterruptedException, ExecutionException {
+ GetNearRTRICsInputBuilder inputBuilder = new GetNearRTRICsInputBuilder();
+ ListenableFuture<RpcResult<GetNearRTRICsOutput>> result =
+ nonrtRicApiProvider.getNearRTRICs(inputBuilder.build());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
+ }
+
@Test
public void testCreatePolicyType() throws InterruptedException, ExecutionException {
CreatePolicyTypeInputBuilder inputBuilder = new CreatePolicyTypeInputBuilder();
Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
String uri = nearRicUrlProvider.getPolicyTypeId(inputBuilder.build().getNearRtRicId(),
String.valueOf(inputBuilder.build().getPolicyTypeId()));
- Optional<Object> createPolicyTyperesponse = null;
- when(restAdapter.put(eq(uri), anyObject())).thenReturn(createPolicyTyperesponse);
+ ResponseEntity<Object> createPolicyTypeResponse = new ResponseEntity<>(HttpStatus.CREATED);
+ when(restAdapter.put(eq(uri), anyObject())).thenReturn(createPolicyTypeResponse);
ListenableFuture<RpcResult<CreatePolicyTypeOutput>> result =
nonrtRicApiProvider.createPolicyType(inputBuilder.build());
- Assert.assertEquals("Success", result.get().getResult().getStatus());
+ Assert.assertEquals(String.valueOf(HttpStatus.CREATED.value()), result.get().getResult().getCode());
+ }
+
+ @Test
+ public void testDeletePolicyType() throws InterruptedException, ExecutionException {
+ DeletePolicyTypeInputBuilder inputBuilder = new DeletePolicyTypeInputBuilder();
+ inputBuilder.setNearRtRicId(nearRtRicId);
+ inputBuilder.setPolicyTypeId(policyTypeId);
+ Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
+ String uri = nearRicUrlProvider.getPolicyTypeId(inputBuilder.build().getNearRtRicId(),
+ String.valueOf(inputBuilder.build().getPolicyTypeId()));
+ ResponseEntity<Object> deletePolicyTypeResponse = new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ when(restAdapter.delete(eq(uri))).thenReturn(deletePolicyTypeResponse);
+ ListenableFuture<RpcResult<DeletePolicyTypeOutput>> result =
+ nonrtRicApiProvider.deletePolicyType(inputBuilder.build());
+ Assert.assertEquals(String.valueOf(HttpStatus.NO_CONTENT.value()), result.get().getResult().getCode());
}
@Test
String.valueOf(inputBuilder.build().getPolicyTypeId()));
String policyType =
"{\"name\":\"Policy type 1\",\"description\":\"PT 1\",\"policy_type_id\":1,\"create_schema\":{}}";
- when(restAdapter.get(eq(uri), anyObject())).thenReturn(Optional.of(policyType));
+ ResponseEntity<Object> getPolicyTypeResponse = new ResponseEntity<>(policyType, HttpStatus.OK);
+ when(restAdapter.get(eq(uri), eq(String.class))).thenReturn(getPolicyTypeResponse);
ListenableFuture<RpcResult<GetPolicyTypeOutput>> result =
nonrtRicApiProvider.getPolicyType(inputBuilder.build());
Assert.assertEquals("Policy type 1", result.get().getResult().getName());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
}
@Test
policyTypesInteger.add(20001);
List<Long> policyTypesLong = new ArrayList<>();
policyTypesLong.add(20001L);
- when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(Optional.of(policyTypesInteger));
+ ResponseEntity<Object> getPolicyTypesResponse = new ResponseEntity<>(policyTypesInteger, HttpStatus.OK);
+ when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(getPolicyTypesResponse);
ListenableFuture<RpcResult<GetPolicyTypesOutput>> result =
nonrtRicApiProvider.getPolicyTypes(inputBuilder.build());
Assert.assertEquals(policyTypesLong, result.get().getResult().getPolicyTypeIdList());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
}
@Test
String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
String policyInstance =
"{\"scope\":{\"ue_id\":\"2\"},\"statement\":{\"priority_level\":\"1\"},\"policy_id\":\"pi12\"}";
- when(restAdapter.get(eq(uri), eq(String.class)))
- .thenReturn(Optional.of(policyInstance));
+ ResponseEntity<Object> getPolicyInstanceResponse = new ResponseEntity<>(policyInstance, HttpStatus.OK);
+ when(restAdapter.get(eq(uri), eq(String.class))).thenReturn(getPolicyInstanceResponse);
ListenableFuture<RpcResult<GetPolicyInstanceOutput>> result =
nonrtRicApiProvider.getPolicyInstance(inputBuilder.build());
Assert.assertEquals(policyInstance, result.get().getResult().getPolicyInstance());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
}
@Test
String.valueOf(inputBuilder.build().getPolicyTypeId()));
List<String> policyInstances = new ArrayList<>();
policyInstances.add("3d2157af-6a8f-4a7c-810f-38c2f824bf12");
- when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(Optional.of(policyInstances));
+ ResponseEntity<Object> getPolicyInstancesResponse = new ResponseEntity<>(policyInstances, HttpStatus.OK);
+ when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(getPolicyInstancesResponse);
ListenableFuture<RpcResult<GetPolicyInstancesOutput>> result =
nonrtRicApiProvider.getPolicyInstances(inputBuilder.build());
Assert.assertEquals(policyInstances, result.get().getResult().getPolicyInstanceIdList());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
}
@Test
Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
String uri = nearRicUrlProvider.getPolicyInstanceIdStatus(inputBuilder.build().getNearRtRicId(),
String.valueOf(inputBuilder.build().getPolicyTypeId()), inputBuilder.getPolicyInstanceId());
- String policyInstanceStatus = "{\"status\":\"enforced\"}";
- when(restAdapter.get(eq(uri), eq(String.class))).thenReturn(Optional.of(policyInstanceStatus));
+ String policyInstanceStatus = "[{\"handler_id\":\"NearRTRIC-1\",\"status\":\"enforced\"}]";
+ ResponseEntity<Object> getStatusResponse =
+ new ResponseEntity<>(new Gson().fromJson(policyInstanceStatus, List.class), HttpStatus.OK);
+ when(restAdapter.get(eq(uri), eq(List.class))).thenReturn(getStatusResponse);
ListenableFuture<RpcResult<GetStatusOutput>> result =
nonrtRicApiProvider.getStatus(inputBuilder.build());
Assert.assertEquals("enforced", result.get().getResult().getStatus());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
}
@Test
- public void testHealthCheck() throws InterruptedException, ExecutionException {
+ public void testGetHealthCheck() throws InterruptedException, ExecutionException {
GetHealthCheckInputBuilder inputBuilder = new GetHealthCheckInputBuilder();
inputBuilder.setNearRtRicId(nearRtRicId);
Whitebox.setInternalState(nonrtRicApiProvider, "restAdapter", restAdapter);
String uri = nearRicUrlProvider.getHealthCheck(inputBuilder.build().getNearRtRicId());
- String healthCheckStatus = "";
- when(restAdapter.get(eq(uri), eq(String.class))).thenReturn(null);
+ ResponseEntity<Object> getHealthCheckResponse = new ResponseEntity<>(HttpStatus.OK);
+ when(restAdapter.get(eq(uri), eq(Object.class))).thenReturn(getHealthCheckResponse);
ListenableFuture<RpcResult<GetHealthCheckOutput>> result =
nonrtRicApiProvider.getHealthCheck(inputBuilder.build());
Assert.assertEquals(true, result.get().getResult().isHealthStatus());
+ Assert.assertEquals(String.valueOf(HttpStatus.OK.value()), result.get().getResult().getCode());
}
}
<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>
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
<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>
+ <repositories>
+ <repository>
+ <id>onap-releases</id>
+ <name>onap-releases</name>
+ <url>https://nexus.onap.org/content/repositories/releases/</url>
+ </repository>
+ </repositories>
+
<parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>odlparent-lite</artifactId>
</profile>
<profile>
<id>docker</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
<modules>
<module>installation</module>
</modules>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2019-2020 Nordix Foundation.
+ ================================================================================
+ 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=========================================================
+-->
+<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>
+
+ <groupId>org.onap.sdnc</groupId>
+ <artifactId>sdnc</artifactId>
+ <version>1.7.3-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <name>sdnc</name>
+ <modules>
+ <module>northbound</module>
+ <module>oam</module>
+ </modules>
+</project>