aboutsummaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt
diff options
context:
space:
mode:
Diffstat (limited to 'ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt')
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt61
1 files changed, 59 insertions, 2 deletions
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt
index 4b707b04e..30969f1f6 100644
--- a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt
+++ b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/db/ResourceResolutionRepository.kt
@@ -16,6 +16,7 @@
package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.db
import org.springframework.data.jpa.repository.JpaRepository
+import org.springframework.data.jpa.repository.Modifying
import org.springframework.data.jpa.repository.Query
import org.springframework.data.repository.query.Param
import org.springframework.stereotype.Repository
@@ -155,9 +156,65 @@ interface ResourceResolutionRepository : JpaRepository<ResourceResolution, Strin
@Transactional
fun deleteByBlueprintNameAndBlueprintVersionAndArtifactNameAndResolutionKey(
- blueprintName: String?,
- blueprintVersion: String?,
+ blueprintName: String,
+ blueprintVersion: String,
artifactName: String,
resolutionKey: String
+ ): Int
+
+ @Transactional
+ fun deleteByBlueprintNameAndBlueprintVersionAndArtifactNameAndResourceTypeAndResourceId(
+ blueprintName: String,
+ blueprintVersion: String,
+ artifactName: String,
+ resourceType: String,
+ resourceId: String
+ ): Int
+
+ @Transactional
+ @Modifying
+ @Query(
+ value = """
+ DELETE FROM RESOURCE_RESOLUTION
+ WHERE resolution_key = :resolutionKey AND blueprint_name = :blueprintName
+ AND blueprint_version = :blueprintVersion AND artifact_name = :artifactName
+ AND occurrence > (
+ SELECT max(occurrence) - :lastN FROM RESOURCE_RESOLUTION
+ WHERE resolution_key = :resolutionKey AND blueprint_name = :blueprintName
+ AND blueprint_version = :blueprintVersion AND artifact_name = :artifactName)
+ """,
+ nativeQuery = true
+ )
+ fun deleteLastNOccurences(
+ @Param("blueprintName") blueprintName: String,
+ @Param("blueprintVersion") blueprintVersion: String,
+ @Param("artifactName") artifactName: String,
+ @Param("resolutionKey") resolutionKey: String,
+ @Param("lastN") lastN: Int
+ ): Int
+
+ @Transactional
+ @Modifying
+ @Query(
+ value = """
+ DELETE FROM RESOURCE_RESOLUTION
+ WHERE resource_type = :resourceType AND resource_id = :resourceId
+ AND blueprint_name = :blueprintName
+ AND blueprint_version = :blueprintVersion AND artifact_name = :artifactName
+ AND occurrence > (
+ SELECT max(occurrence) - :lastN FROM RESOURCE_RESOLUTION
+ WHERE resource_type = :resourceType AND resource_id = :resourceId
+ AND blueprint_name = :blueprintName
+ AND blueprint_version = :blueprintVersion AND artifact_name = :artifactName)
+ """,
+ nativeQuery = true
)
+ fun deleteLastNOccurences(
+ @Param("blueprintName") blueprintName: String,
+ @Param("blueprintVersion") blueprintVersion: String,
+ @Param("artifactName") artifactName: String,
+ @Param("resourceType") resourceType: String,
+ @Param("resourceId") resourceId: String,
+ @Param("lastN") lastN: Int
+ ): Int
}