Merge "Add rest client DSL properties"
authorDan Timoney <dtimoney@att.com>
Wed, 31 Jul 2019 18:10:34 +0000 (18:10 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 31 Jul 2019 18:10:34 +0000 (18:10 +0000)
cds-ui/client/src/app/common/core/store/models/resourcesState.model.ts
cds-ui/client/src/app/common/core/store/reducers/resources.reducer.ts
cds-ui/client/src/app/feature-modules/resource-definition/resource-edit/resource-edit.component.ts
docs/datadictionary/resourcesource.rst
docs/index.rst
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/TemplateResolution.kt
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/TemplateResolutionService.kt

index 7dacf32..df9c287 100644 (file)
@@ -22,7 +22,7 @@ import { IResources } from './resources.model';
 
 export interface IResourcesState {
     resources: IResources,
-    isLoadSuccess: boolean;
-    isUpdateSuccess: boolean;
-    isSaveSuccess: boolean;
+    isLoadSuccess?: boolean;
+    isUpdateSuccess?: boolean;
+    isSaveSuccess?: boolean;
 }
\ No newline at end of file
index c9d587d..b6b11b9 100644 (file)
@@ -29,6 +29,10 @@ export function resourcesReducer(state: IResourcesState = initialResourcesState,
             return {...state,
                     resources: action.payload
                     }
+        case ResourcesActions.SET_RESOURCES_STATE:
+            return {...state,
+                    resources: action.payload.resources
+                    }
         default:
             return state;
     }
index aa8a106..faf7fbd 100644 (file)
@@ -77,6 +77,7 @@ export class ResourceEditComponent implements OnInit {
     
  onChange($event) {
       this.data=JSON.parse($event.srcElement.value);
+      this.updateResourcesState();
   };
   
  updateResourcesState(){
index 852a34f..49ef6a1 100644 (file)
@@ -9,28 +9,34 @@ Input:
 ======
 Expects the value to be provided as input to the request.
 
-source-input:
 
-.. code: json
-print("
-  "description": "This is Input Resource Source Node Type",
-  "version": "1.0.0",
-  "properties": {},
-  "derived_from": "tosca.nodes.ResourceSource"
-")
+
+.. code-block:: json
+   :linenos:
+
+   source-input
+   {
+    "description": "This is Input Resource Source Node Type",
+    "version": "1.0.0",
+    "properties": {},
+    "derived_from": "tosca.nodes.ResourceSource"
+   }
 
 
 Default:
 ========
 Expects the value to be defaulted in the model itself.
 
-source-default:
-
-  "description": "This is Default Resource Source Node Type",
-  "version": "1.0.0",
-  "properties": {},
-  "derived_from": "tosca.nodes.ResourceSource"
+.. code-block:: json
+   :linenos:
 
+   source-default
+   {
+    "description": "This is Default Resource Source Node Type",
+    "version": "1.0.0",
+    "properties": {},
+    "derived_from": "tosca.nodes.ResourceSource"
+   }
 
 
 sql:
index 45b124f..e80917b 100644 (file)
@@ -47,7 +47,7 @@ configuration file (configlet) to a VNF/PNF.
 
 
 Modeling Concept
-================
+----------------
 
 In Dublin release, the CDS community has contributed a framework to automate
 the resolution of resources for instantiation and any config provisioning
@@ -69,7 +69,7 @@ Tosca Model Reference:
 |image0|
 
 Modeling Concept Links:
------------------------
+~~~~~~~~~~~~~~~~~~~~~~~
 
 .. toctree::
    :maxdepth: 1
@@ -82,7 +82,7 @@ Modeling Concept Links:
 
 
 Design tools
-============
+------------
 .. toctree::
    :maxdepth: 1
    :glob:
@@ -94,19 +94,21 @@ Design tools
 
 
 Scripts
-=======
+-------
 
 Library
--------
+~~~~~~~
+
+* NetconfClient
+~~~~~~~~~~~~~~
 
-*NetconfClient
---------------
 In order to facilitate NETCONF interaction within scripts, a python NetconfClient binded to our Kotlin implementation is made available. This NetconfClient can be used when using the component-netconf-executor.
 
 The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py
 
-*ResolutionHelper
------------------
+* ResolutionHelper
+~~~~~~~~~~~~~~~~~
+
 When executing a component executor script, designer might want to perform
 resource resolution along with template meshing directly from the script
 itself.
index 70aadb4..e3f8763 100755 (executable)
@@ -71,7 +71,7 @@ class TemplateResolution : Serializable {
     @get:ApiModelProperty(value = "If resolution occurred multiple time, this field provides the index.",
         required = true)
     @Column(name = "occurrence", nullable = false)
-    var occurrence: Int = 0
+    var occurrence: Int = 1
 
     @Id
     @Column(name = "template_resolution_id")
@@ -87,4 +87,4 @@ class TemplateResolution : Serializable {
     companion object {
         private const val serialVersionUID = 1L
     }
-}
\ No newline at end of file
+}
index 55f7e77..c64605e 100644 (file)
@@ -53,7 +53,7 @@ class TemplateResolutionService(private val templateResolutionRepository: Templa
                                                                                       blueprintVersion: String,
                                                                                       artifactPrefix: String,
                                                                                       resolutionKey: String,
-                                                                                      occurrence: Int = 0): String =
+                                                                                      occurrence: Int = 1): String =
         withContext(Dispatchers.IO) {
 
             templateResolutionRepository.findByResolutionKeyAndBlueprintNameAndBlueprintVersionAndArtifactNameAndOccurrence(
@@ -69,7 +69,7 @@ class TemplateResolutionService(private val templateResolutionRepository: Templa
                                                                                                  artifactPrefix: String,
                                                                                                  resourceId: String,
                                                                                                  resourceType: String,
-                                                                                                 occurrence: Int = 0): String =
+                                                                                                 occurrence: Int = 1): String =
         withContext(Dispatchers.IO) {
 
             templateResolutionRepository.findByResourceIdAndResourceTypeAndBlueprintNameAndBlueprintVersionAndArtifactNameAndOccurrence(
@@ -93,7 +93,6 @@ class TemplateResolutionService(private val templateResolutionRepository: Templa
         val resourceId = properties[ResourceResolutionConstants.RESOURCE_RESOLUTION_INPUT_RESOURCE_ID] as String
         val resourceType = properties[ResourceResolutionConstants.RESOURCE_RESOLUTION_INPUT_RESOURCE_TYPE] as String
         val occurrence = properties[ResourceResolutionConstants.RESOURCE_RESOLUTION_INPUT_OCCURRENCE] as Int
-
         write(blueprintName,
             blueprintVersion,
             artifactPrefix,
@@ -105,7 +104,7 @@ class TemplateResolutionService(private val templateResolutionRepository: Templa
     }
 
     suspend fun write(blueprintName: String, blueprintVersion: String, artifactPrefix: String,
-                      template: String, occurrence: Int = 0, resolutionKey: String = "", resourceId: String = "",
+                      template: String, occurrence: Int = 1, resolutionKey: String = "", resourceId: String = "",
                       resourceType: String = ""): TemplateResolution =
         withContext(Dispatchers.IO) {
 
@@ -148,9 +147,13 @@ class TemplateResolutionService(private val templateResolutionRepository: Templa
                 }
             }
             try {
+                log.info("Writing out template_resolution result: bpName: $blueprintName bpVer $blueprintVersion resKey:$resolutionKey" +
+                    " (resourceId: $resourceId resourceType: $resourceType) occurrence:$occurrence")
                 templateResolutionRepository.saveAndFlush(resourceResolutionResult)
             } catch (ex: DataIntegrityViolationException) {
+                log.error("Error writing out template_resolution result: bpName: $blueprintName bpVer $blueprintVersion resKey:$resolutionKey" +
+                    " (resourceId: $resourceId resourceType: $resourceType) occurrence:$occurrence error: {}", ex.message)
                 throw BluePrintException("Failed to store resource api result.", ex)
             }
         }
-}
\ No newline at end of file
+}