Merge "Disabling security by default"
authorJohn Keeney <John.Keeney@est.tech>
Tue, 12 Nov 2019 13:25:36 +0000 (13:25 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Tue, 12 Nov 2019 13:25:36 +0000 (13:25 +0000)
73 files changed:
.gitignore [new file with mode: 0644]
dashboard/a1-controller-client/.gitignore
dashboard/a1-controller-client/src/main/resources/a1_controller_0.1.0.yaml
dashboard/webapp-backend/.gitignore
dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/A1Controller.java
dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpBadRequestException.java [new file with mode: 0644]
dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpInternalServerErrorException.java [new file with mode: 0644]
dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpNotFoundException.java [new file with mode: 0644]
dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpNotImplementedException.java [new file with mode: 0644]
dashboard/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/A1ControllerMockConfiguration.java
near-rt-ric-simulator/.gitignore [new file with mode: 0755]
near-rt-ric-simulator/README.md
near-rt-ric-simulator/a1-med-api/.gitignore [moved from near-rt-ric-simulator/nearric-simulator/a1-med-api/.gitignore with 100% similarity]
near-rt-ric-simulator/a1-med-api/pom.xml [moved from near-rt-ric-simulator/nearric-simulator/a1-med-api/pom.xml with 100% similarity]
near-rt-ric-simulator/a1-med-api/src/main/resources/a1_mediator_0.11.0.yaml [moved from near-rt-ric-simulator/nearric-simulator/a1-med-api/src/main/resources/a1_mediator_0.11.0.yaml with 100% similarity]
near-rt-ric-simulator/nearric-service/.gitignore [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/.gitignore with 100% similarity]
near-rt-ric-simulator/nearric-service/Dockerfile [new file with mode: 0644]
near-rt-ric-simulator/nearric-service/container-tag.yaml [new file with mode: 0644]
near-rt-ric-simulator/nearric-service/pom.xml [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/pom.xml with 94% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/config/ApplicationConfig.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/config/ApplicationConfig.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/config/NearRicApplication.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/config/NearRicApplication.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/config/SwaggerConfiguration.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/config/SwaggerConfiguration.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/controller/A1PApi.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/controller/A1PApi.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/controller/A1PApiController.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/controller/A1PApiController.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/model/PolicyInstance.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/model/PolicyInstance.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/model/PolicyType.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/model/PolicyType.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/service/A1PApiService.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/service/A1PApiService.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/service/A1PApiServiceImpl.java [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/java/org/onap/nearric/simulator/service/A1PApiServiceImpl.java with 100% similarity]
near-rt-ric-simulator/nearric-service/src/main/resources/application.properties [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/src/main/resources/application.properties with 100% similarity]
near-rt-ric-simulator/nearric-service/test/.gitignore [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/test/.gitignore with 100% similarity]
near-rt-ric-simulator/nearric-service/test/pi-template.json [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/test/pi-template.json with 100% similarity]
near-rt-ric-simulator/nearric-service/test/populate.sh [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/test/populate.sh with 100% similarity]
near-rt-ric-simulator/nearric-service/test/pt-template.json [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/test/pt-template.json with 100% similarity]
near-rt-ric-simulator/nearric-service/test/test-api.sh [moved from near-rt-ric-simulator/nearric-simulator/nearric-service/test/test-api.sh with 100% similarity]
near-rt-ric-simulator/nearric-simulator/.classpath [deleted file]
near-rt-ric-simulator/nearric-simulator/.project [deleted file]
near-rt-ric-simulator/nearric-simulator/.settings/org.eclipse.core.resources.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/.settings/org.eclipse.m2e.core.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/README.md [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/.classpath [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/.project [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.core.resources.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.jdt.core.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.m2e.core.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.iml [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.ipr [deleted file]
near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.iws [deleted file]
near-rt-ric-simulator/nearric-simulator/nearric-service/.classpath [deleted file]
near-rt-ric-simulator/nearric-simulator/nearric-service/.project [deleted file]
near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.core.resources.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.jdt.core.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.m2e.core.prefs [deleted file]
near-rt-ric-simulator/nearric-simulator/nearric-service/Dockerfile [deleted file]
near-rt-ric-simulator/pom.xml [moved from near-rt-ric-simulator/nearric-simulator/pom.xml with 87% similarity]
pom.xml [new file with mode: 0644]
sdnc-a1-controller/.gitignore [new file with mode: 0755]
sdnc-a1-controller/northbound/features/features-sdnc-northbound/pom.xml
sdnc-a1-controller/northbound/features/sdnc-northbound-all/pom.xml
sdnc-a1-controller/northbound/nonrt-ric-api/model/pom.xml
sdnc-a1-controller/northbound/nonrt-ric-api/model/scripts/python/yang2props.py
sdnc-a1-controller/northbound/nonrt-ric-api/model/src/main/yang/NONRT-RIC-API.yang
sdnc-a1-controller/northbound/nonrt-ric-api/provider/pom.xml
sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/exceptions/NearRtRicNotFoundException.java [new file with mode: 0644]
sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/provider/NonrtRicApiProvider.java
sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/NearRicUrlProvider.java
sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapter.java
sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/restadpter/RestAdapterImpl.java
sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/test/java/org/onap/sdnc/northbound/NonrtRicApiProviderTest.java
sdnc-a1-controller/northbound/pom.xml
sdnc-a1-controller/oam/installation/pom.xml
sdnc-a1-controller/oam/installation/sdnc/pom.xml
sdnc-a1-controller/oam/pom.xml
sdnc-a1-controller/pom.xml [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..9f11b75
--- /dev/null
@@ -0,0 +1 @@
+.idea/
index 8d74a41..86bb823 100644 (file)
@@ -1,6 +1,5 @@
 # ==================================================================================
-#       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.
@@ -29,12 +28,12 @@ paths:
       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: >
@@ -51,12 +50,12 @@ paths:
       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: >
@@ -73,12 +72,12 @@ paths:
       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: >
@@ -93,17 +92,14 @@ paths:
             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: >
@@ -120,15 +116,12 @@ paths:
       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: >
@@ -143,16 +136,14 @@ paths:
             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: >
@@ -169,15 +160,12 @@ paths:
       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: >
@@ -192,16 +180,14 @@ paths:
             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: >
@@ -218,14 +204,11 @@ paths:
       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:
@@ -241,13 +224,14 @@ paths:
             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: >
@@ -264,16 +248,13 @@ paths:
       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
@@ -289,7 +270,7 @@ components:
           properties:
             near-rt-ric-id:
               "$ref": "#/components/schemas/near_rt_ric_id"
-          
+
     input_NRRid_PTid_schema:
       type: object
       required:
@@ -307,7 +288,7 @@ components:
               "$ref": "#/components/schemas/near_rt_ric_id"
             policy-type-id:
               "$ref": "#/components/schemas/policy_type_id"
-          
+
     input_NRRid_PTid_PIid_schema:
       type: object
       required:
@@ -328,7 +309,7 @@ components:
               "$ref": "#/components/schemas/policy_type_id"
             policy-instance-id:
               "$ref": "#/components/schemas/policy_instance_id"
-          
+
     input_NRRid_PTid_PIid_PI_schema:
       type: object
       required:
@@ -352,7 +333,7 @@ components:
               "$ref": "#/components/schemas/policy_instance_id"
             policy-instance:
               "$ref": "#/components/schemas/policy_instance"
-              
+
     input_NRRid_PTid_desc_name_PT_schema:
       type: object
       required:
@@ -379,8 +360,8 @@ components:
               type: string
             policy-type:
               "$ref": "#/components/schemas/policy_type"
-             
-    output_NRRids_list_schema:
+
+    output_NRRids_list_code_schema:
       type: object
       required:
       - output
@@ -390,14 +371,17 @@ components:
           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
@@ -407,12 +391,15 @@ components:
           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
@@ -424,6 +411,7 @@ components:
           - description
           - name
           - policy_type
+          - code
           additionalProperties: false
           properties:
             description:
@@ -432,8 +420,10 @@ components:
               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
@@ -443,14 +433,17 @@ components:
           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
@@ -460,14 +453,17 @@ components:
           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
@@ -477,12 +473,15 @@ components:
           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
@@ -491,12 +490,12 @@ components:
         output:
           type: object
           required:
-          - status
+          - code
           additionalProperties: false
           properties:
-            status:
+            code:
               type: string
-              
+
     output_status_code_schema:
       type: object
       required:
@@ -514,19 +513,17 @@ components:
               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:
@@ -534,25 +531,25 @@ components:
         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
index 02dbd44..e3d7171 100644 (file)
@@ -4,7 +4,7 @@
 /target/
 /logs/
 /.mvn/wrapper/maven-wrapper.jar
-/logs/
+bin/
 
 ### STS ###
 .apt_generated
index 386d43c..8cd61bd 100644 (file)
@@ -31,13 +31,18 @@ import org.oransc.ric.a1controller.client.model.InputNRRidPTidSchema;
 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;
@@ -46,6 +51,7 @@ import org.oransc.ric.portal.dashboard.model.SuccessTransport;
 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;
@@ -116,9 +122,10 @@ public class A1Controller {
                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();
@@ -126,9 +133,10 @@ public class A1Controller {
                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);
@@ -147,8 +155,9 @@ public class A1Controller {
                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();
@@ -158,8 +167,9 @@ public class A1Controller {
                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);
@@ -180,7 +190,8 @@ public class A1Controller {
                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();
        }
 
@@ -199,7 +210,8 @@ public class A1Controller {
                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.")
@@ -215,6 +227,24 @@ public class A1Controller {
                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");
+           }
        }
 }
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpBadRequestException.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpBadRequestException.java
new file mode 100644 (file)
index 0000000..db433e8
--- /dev/null
@@ -0,0 +1,37 @@
+/*-
+ * ========================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);
+    }
+
+}
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpInternalServerErrorException.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpInternalServerErrorException.java
new file mode 100644 (file)
index 0000000..474fe2a
--- /dev/null
@@ -0,0 +1,37 @@
+/*-
+ * ========================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);
+    }
+
+}
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpNotFoundException.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpNotFoundException.java
new file mode 100644 (file)
index 0000000..48f577e
--- /dev/null
@@ -0,0 +1,37 @@
+/*-
+ * ========================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);
+    }
+
+}
diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpNotImplementedException.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/exceptions/HttpNotImplementedException.java
new file mode 100644 (file)
index 0000000..756012b
--- /dev/null
@@ -0,0 +1,37 @@
+/*-
+ * ========================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);
+    }
+
+}
index b056cb5..086868d 100644 (file)
@@ -23,7 +23,7 @@ import static org.mockito.ArgumentMatchers.any;
 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;
@@ -33,21 +33,22 @@ import java.util.List;
 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;
@@ -57,8 +58,6 @@ import org.springframework.context.annotation.Configuration;
 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.
  */
@@ -99,9 +98,10 @@ public class A1ControllerMockConfiguration {
                                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));
@@ -113,11 +113,12 @@ public class A1ControllerMockConfiguration {
                        }
                        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));
@@ -129,9 +130,10 @@ public class A1ControllerMockConfiguration {
                        }
                        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));
@@ -145,9 +147,10 @@ public class A1ControllerMockConfiguration {
                        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));
@@ -162,7 +165,11 @@ public class A1ControllerMockConfiguration {
                        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 -> {
@@ -174,7 +181,11 @@ public class A1ControllerMockConfiguration {
                        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;
diff --git a/near-rt-ric-simulator/.gitignore b/near-rt-ric-simulator/.gitignore
new file mode 100755 (executable)
index 0000000..264db96
--- /dev/null
@@ -0,0 +1,31 @@
+#####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
index 88f309b..298b988 100644 (file)
@@ -4,7 +4,8 @@ The O-RAN SC Near-RealTime RIC simulates the A1 as an generic REST API which can
 
 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
 
diff --git a/near-rt-ric-simulator/nearric-service/Dockerfile b/near-rt-ric-simulator/nearric-service/Dockerfile
new file mode 100644 (file)
index 0000000..a56687a
--- /dev/null
@@ -0,0 +1,10 @@
+
+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
diff --git a/near-rt-ric-simulator/nearric-service/container-tag.yaml b/near-rt-ric-simulator/nearric-service/container-tag.yaml
new file mode 100644 (file)
index 0000000..62ee399
--- /dev/null
@@ -0,0 +1,4 @@
+# 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
@@ -12,7 +12,6 @@
 
        <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>
diff --git a/near-rt-ric-simulator/nearric-simulator/.classpath b/near-rt-ric-simulator/nearric-simulator/.classpath
deleted file mode 100644 (file)
index 315bd1e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/.project b/near-rt-ric-simulator/nearric-simulator/.project
deleted file mode 100644 (file)
index ea2f374..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/.settings/org.eclipse.core.resources.prefs b/near-rt-ric-simulator/nearric-simulator/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644 (file)
index 99f26c0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/near-rt-ric-simulator/nearric-simulator/.settings/org.eclipse.m2e.core.prefs b/near-rt-ric-simulator/nearric-simulator/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644 (file)
index f897a7f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/near-rt-ric-simulator/nearric-simulator/README.md b/near-rt-ric-simulator/nearric-simulator/README.md
deleted file mode 100644 (file)
index 298b988..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# 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.
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/.classpath b/near-rt-ric-simulator/nearric-simulator/a1-med-api/.classpath
deleted file mode 100644 (file)
index a5d9509..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/.project b/near-rt-ric-simulator/nearric-simulator/a1-med-api/.project
deleted file mode 100644 (file)
index cdf3219..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.core.resources.prefs b/near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644 (file)
index db32697..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/resources=UTF-8
-encoding/<project>=UTF-8
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.jdt.core.prefs b/near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644 (file)
index 71df522..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-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
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.m2e.core.prefs b/near-rt-ric-simulator/nearric-simulator/a1-med-api/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644 (file)
index f897a7f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.iml b/near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.iml
deleted file mode 100644 (file)
index 89d40ee..0000000
+++ /dev/null
@@ -1,969 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.ipr b/near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.ipr
deleted file mode 100644 (file)
index 49d99c0..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.iws b/near-rt-ric-simulator/nearric-simulator/a1-med-api/a1-med-api.iws
deleted file mode 100644 (file)
index 03c854e..0000000
+++ /dev/null
@@ -1,418 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/nearric-service/.classpath b/near-rt-ric-simulator/nearric-simulator/nearric-service/.classpath
deleted file mode 100644 (file)
index 91d1e29..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/nearric-service/.project b/near-rt-ric-simulator/nearric-simulator/nearric-service/.project
deleted file mode 100644 (file)
index 6fac18c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?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>
diff --git a/near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.core.resources.prefs b/near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644 (file)
index 839d647..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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
diff --git a/near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.jdt.core.prefs b/near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644 (file)
index ebb47b7..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-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
diff --git a/near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.m2e.core.prefs b/near-rt-ric-simulator/nearric-simulator/nearric-service/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644 (file)
index f897a7f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/near-rt-ric-simulator/nearric-simulator/nearric-service/Dockerfile b/near-rt-ric-simulator/nearric-simulator/nearric-service/Dockerfile
deleted file mode 100644 (file)
index 4a85d00..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-
-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
similarity index 87%
rename from near-rt-ric-simulator/nearric-simulator/pom.xml
rename to near-rt-ric-simulator/pom.xml
index e57caef..b8752c6 100644 (file)
@@ -17,6 +17,7 @@
 
        <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>
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..c80c558
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,37 @@
+<?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>
diff --git a/sdnc-a1-controller/.gitignore b/sdnc-a1-controller/.gitignore
new file mode 100755 (executable)
index 0000000..cd1773f
--- /dev/null
@@ -0,0 +1,32 @@
+#####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
index 96028b4..6ab5343 100644 (file)
@@ -2,6 +2,14 @@
 <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>
index b561e44..5c5c9cd 100644 (file)
@@ -2,6 +2,14 @@
 <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>
index 8bef79e..322aac5 100644 (file)
 <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>
@@ -53,7 +61,7 @@
                 <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>
index 559d31b..951ddf5 100755 (executable)
@@ -18,34 +18,33 @@ val = ""
 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))
index 806bdc1..834d12f 100644 (file)
@@ -10,10 +10,10 @@ module A1-ADAPTER-API {
 \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
@@ -22,6 +22,9 @@ module A1-ADAPTER-API {
             leaf-list near-rt-ric-id-list {\r
                 type string;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 \r
@@ -37,6 +40,9 @@ module A1-ADAPTER-API {
             leaf health-status {\r
                 type boolean;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 \r
@@ -53,6 +59,9 @@ module A1-ADAPTER-API {
             leaf-list policy-type-id-list {\r
                 type uint32;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 \r
@@ -76,9 +85,6 @@ module A1-ADAPTER-API {
             }\r
         }\r
        output {\r
-            leaf status {\r
-                type string;\r
-            }\r
             leaf code {\r
                 type string;\r
             }\r
@@ -105,6 +111,9 @@ module A1-ADAPTER-API {
             leaf policy-type {\r
                 type string;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 \r
@@ -118,6 +127,11 @@ module A1-ADAPTER-API {
                 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
@@ -136,6 +150,9 @@ module A1-ADAPTER-API {
             leaf-list policy-instance-id-list {\r
                 type string;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 \r
@@ -155,6 +172,11 @@ module A1-ADAPTER-API {
                 type string;\r
             }\r
         }\r
+        output {\r
+            leaf code {\r
+                type string;\r
+            }\r
+        }\r
     }\r
 \r
     ///Get a policy instance\r
@@ -174,6 +196,9 @@ module A1-ADAPTER-API {
             leaf policy-instance {\r
                 type string;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 \r
@@ -190,6 +215,11 @@ module A1-ADAPTER-API {
                 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
@@ -209,6 +239,9 @@ module A1-ADAPTER-API {
             leaf status {\r
                 type string;\r
             }\r
+            leaf code {\r
+                type string;\r
+            }\r
         }\r
     }\r
 }
\ No newline at end of file
index 51bcfe7..1bf2274 100644 (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>
diff --git a/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/exceptions/NearRtRicNotFoundException.java b/sdnc-a1-controller/northbound/nonrt-ric-api/provider/src/main/java/org/onap/sdnc/northbound/exceptions/NearRtRicNotFoundException.java
new file mode 100644 (file)
index 0000000..1754bfa
--- /dev/null
@@ -0,0 +1,14 @@
+package org.onap.sdnc.northbound.exceptions;
+
+public class NearRtRicNotFoundException extends RuntimeException {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = -4503072266424371087L;
+
+    public NearRtRicNotFoundException(String message) {
+        super(message);
+    }
+
+}
index 66af597..b5e3dee 100644 (file)
 
 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;
@@ -34,6 +34,7 @@ import java.util.concurrent.ExecutionException;
 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;
@@ -81,6 +82,9 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
 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
@@ -100,8 +104,6 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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;
@@ -201,11 +203,20 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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();
@@ -216,13 +227,20 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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();
@@ -233,10 +251,19 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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();
@@ -247,10 +274,19 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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();
@@ -261,10 +297,22 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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();
@@ -276,6 +324,7 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
       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();
@@ -287,13 +336,22 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
       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
@@ -305,13 +363,22 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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
@@ -323,16 +390,25 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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)
@@ -344,17 +420,26 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   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)
@@ -365,14 +450,24 @@ public class NonrtRicApiProvider implements AutoCloseable, A1ADAPTERAPIService {
   @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 =
index 14c34e4..8c2d692 100644 (file)
@@ -27,6 +27,7 @@ import java.util.Enumeration;
 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;
@@ -84,6 +85,9 @@ public class NearRicUrlProvider {
    * @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();
   }
@@ -114,7 +118,8 @@ public class NearRicUrlProvider {
    * @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();
   }
@@ -125,7 +130,8 @@ public class NearRicUrlProvider {
    * @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();
   }
@@ -137,7 +143,8 @@ public class NearRicUrlProvider {
    * @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();
   }
index 504c128..8f13f22 100644 (file)
@@ -20,8 +20,7 @@
 
 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
@@ -40,7 +39,7 @@ public interface RestAdapter {
    * @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.
@@ -49,7 +48,7 @@ public interface RestAdapter {
    * @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.
@@ -57,6 +56,6 @@ public interface RestAdapter {
    * @param url the URL
    * @return the response code
    */
-  <T> Optional<T> delete(final String url);
+  <T> ResponseEntity<T> delete(final String url);
 
 }
index 215ebad..c2c9522 100644 (file)
 
 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;
@@ -53,26 +51,23 @@ public class RestAdapterImpl implements RestAdapter {
   }
 
   @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")
@@ -80,17 +75,4 @@ public class RestAdapterImpl implements RestAdapter {
       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();
-  }
 }
index e67304c..e9b86be 100644 (file)
@@ -23,8 +23,8 @@ package org.onap.sdnc.northbound;
 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;
@@ -42,10 +42,18 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 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;
@@ -59,6 +67,8 @@ import org.opendaylight.yang.gen.v1.org.onap.sdnc.northbound.a1.adapter.rev19100
 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
@@ -93,6 +103,46 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
         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();
@@ -101,11 +151,26 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
     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
@@ -118,10 +183,12 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
             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
@@ -134,10 +201,12 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
     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
@@ -151,11 +220,12 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
         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
@@ -168,10 +238,12 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
             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
@@ -183,23 +255,27 @@ public class NonrtRicApiProviderTest extends AbstractConcurrentDataBrokerTest {
     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());
   }
 }
index 19a714d..40c4384 100644 (file)
@@ -2,6 +2,14 @@
 <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>
index 83ce595..301d0bb 100644 (file)
@@ -1,6 +1,14 @@
 <?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>
index 46230a9..28d8cc3 100644 (file)
@@ -1,6 +1,14 @@
 <?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>
index dfeef93..d805eba 100755 (executable)
@@ -2,6 +2,14 @@
 <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>
@@ -91,6 +99,9 @@
                </profile>
                <profile>
                  <id>docker</id>
+                 <activation>
+                       <activeByDefault>true</activeByDefault>
+                 </activation>
                  <modules>
                        <module>installation</module>
                  </modules>
diff --git a/sdnc-a1-controller/pom.xml b/sdnc-a1-controller/pom.xml
new file mode 100644 (file)
index 0000000..349041d
--- /dev/null
@@ -0,0 +1,36 @@
+<?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>