Retrieve an Anchor for a given dataspace by anchor name -  Service layer

Part of story already done in CPS-135

Issue-ID: CPS-55

Signed-off-by: Rishi.Chail <rishi.chail@est.tech>
Change-Id: I0c4ae551f5c85866ce543fbb27b18ffff7d80462
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java
old mode 100644
new mode 100755
index 853bd95..ed89c43
--- a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java
+++ b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java
@@ -57,4 +57,14 @@
      */
     @NonNull
     Collection<Anchor> getAnchors(@NonNull String dataspaceName);
+
+    /**
+     * Get an anchor in the given dataspace using the anchor name.
+     *
+     * @param dataspaceName dataspace name
+     * @param anchorName anchor name
+     * @return an anchor
+     */
+    @NonNull
+    Anchor getAnchor(@NonNull String dataspaceName, @NonNull String anchorName);
 }
diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
old mode 100644
new mode 100755
index 0cb85fd..09550f1
--- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
+++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
@@ -47,4 +47,9 @@
     public Collection<Anchor> getAnchors(final String dataspaceName) {
         return cpsAdminPersistenceService.getAnchors(dataspaceName);
     }
-}
+
+    @Override
+    public Anchor getAnchor(final String dataspaceName, final String anchorName) {
+        return cpsAdminPersistenceService.getAnchor(dataspaceName, anchorName);
+    }
+}
\ No newline at end of file
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy
index 5aaa340..7c0c626 100755
--- a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy
@@ -32,25 +32,33 @@
         objectUnderTest.cpsAdminPersistenceService = mockCpsAdminPersistenceService
     }
 
-    def 'Create dataspace method invokes persistence service'() {
+    def 'Create dataspace method invokes persistence service.'() {
         when: 'Create dataspace method is invoked'
             objectUnderTest.createDataspace('someDataspace')
         then: 'The persistence service method is invoked with same parameters'
             1 * mockCpsAdminPersistenceService.createDataspace('someDataspace')
     }
 
-    def 'Create anchor method invokes persistence service'() {
+    def 'Create anchor method invokes persistence service.'() {
         when: 'Create anchor method is invoked'
             objectUnderTest.createAnchor('someDataspace', 'someSchemaSet', 'someAnchorName')
         then: 'The persistence service method is invoked with same parameters'
             1 * mockCpsAdminPersistenceService.createAnchor('someDataspace', 'someSchemaSet', 'someAnchorName')
     }
 
-    def 'Retrieve all anchors for dataspace'() {
+    def 'Retrieve all anchors for dataspace.'() {
         given: 'that anchor is associated with the dataspace'
             Collection<Anchor> anchorCollection = Arrays.asList(new Anchor())
             mockCpsAdminPersistenceService.getAnchors('someDataspace') >> { anchorCollection }
         expect: 'the collection provided by persistence service is returned as result'
             objectUnderTest.getAnchors('someDataspace') == anchorCollection
     }
-}
+    
+    def 'Retrieve anchor for dataspace and provided anchor name.'() {
+        given: 'that anchor name is associated with the dataspace'
+            Anchor anchor = new Anchor()
+            mockCpsAdminPersistenceService.getAnchor('someDataspace','someAnchor') >>  anchor 
+        expect: 'the anchor provided by persistence service is returned as result'
+            objectUnderTest.getAnchor('someDataspace','someAnchor') == anchor
+    }   
+}
\ No newline at end of file