Fixing Update status query for NfvoNfInst
[so.git] / so-etsi-nfvo / so-etsi-nfvo-ns-lcm / so-etsi-nfvo-ns-lcm-database-service / src / main / java / org / onap / so / etsi / nfvo / ns / lcm / database / service / DatabaseServiceProvider.java
index 1487b63..58ca76e 100644 (file)
@@ -25,6 +25,8 @@ import org.onap.so.etsi.nfvo.ns.lcm.database.beans.NfvoJob;
 import org.onap.so.etsi.nfvo.ns.lcm.database.beans.NfvoNfInst;
 import org.onap.so.etsi.nfvo.ns.lcm.database.beans.NfvoNsInst;
 import org.onap.so.etsi.nfvo.ns.lcm.database.beans.NsLcmOpOcc;
+import org.onap.so.etsi.nfvo.ns.lcm.database.beans.OperationStateEnum;
+import org.onap.so.etsi.nfvo.ns.lcm.database.beans.State;
 import org.onap.so.etsi.nfvo.ns.lcm.database.repository.NSLcmOpOccRepository;
 import org.onap.so.etsi.nfvo.ns.lcm.database.repository.NfvoJobRepository;
 import org.onap.so.etsi.nfvo.ns.lcm.database.repository.NfvoNfInstRepository;
@@ -105,6 +107,12 @@ public class DatabaseServiceProvider {
         return nfvoNsInstRepository.save(nfvoNsInst) != null;
     }
 
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public boolean updateNsInstState(final String nsInstId, final State state) {
+        logger.info("Updating NfvoNsInst: {} State to {}", nsInstId, state);
+        return nfvoNsInstRepository.updateNsInstState(nsInstId, state) > 0;
+    }
+
     public Optional<NfvoNsInst> getNfvoNsInst(final String nsInstId) {
         logger.info("Querying database for NfvoNsInst using nsInstId: {}", nsInstId);
         return nfvoNsInstRepository.findById(nsInstId);
@@ -120,6 +128,12 @@ public class DatabaseServiceProvider {
         return nfvoNfInstRepository.save(nfvoNfInst) != null;
     }
 
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public boolean updateNfInstState(final String nfInstId, final State state) {
+        logger.info("Updating NfvoNfInst: {} State to {}", nfInstId, state);
+        return nfvoNfInstRepository.updateNfInstState(nfInstId, state) > 0;
+    }
+
     public List<NfvoNfInst> getNfvoNfInstByNsInstId(final String nsInstId) {
         logger.info("Querying database for NfvoNfInst using nsInstId: {}", nsInstId);
         return nfvoNfInstRepository.findByNsInstNsInstId(nsInstId);
@@ -140,9 +154,10 @@ public class DatabaseServiceProvider {
         return nfvoNfInstRepository.findByNfInstId(nfInstId).isPresent();
     }
 
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
     public void deleteNfvoNfInst(final String nfInstId) {
         logger.info("Deleting NfvoNfInst with nfInstId: {} from database", nfInstId);
-        nfvoNfInstRepository.deleteById(nfInstId);
+        nfvoNfInstRepository.deleteNfvoNfInstUsingNfInstId(nfInstId);
     }
 
     public boolean addNSLcmOpOcc(final NsLcmOpOcc nsLcmOpOcc) {
@@ -150,6 +165,12 @@ public class DatabaseServiceProvider {
         return nsLcmOpOccRepository.save(nsLcmOpOcc) != null;
     }
 
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public boolean updateNsLcmOpOccOperationState(final String id, final OperationStateEnum operationState) {
+        logger.info("Updating NsLcmOpOcc: {} operationState to {}", id, operationState);
+        return nsLcmOpOccRepository.updateNsLcmOpOccOperationState(id, operationState) > 0;
+    }
+
     public Optional<NsLcmOpOcc> getNsLcmOpOcc(final String id) {
         logger.info("Querying database for NsLcmOpOcc using id: {}", id);
         return nsLcmOpOccRepository.findById(id);