c2d630e5e9348cafe196f46df833f0d5141368f4
[ccsdk/cds.git] /
1 /*
2  * Copyright (C) 2019 Bell Canada.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.db
17
18 import org.springframework.data.jpa.repository.JpaRepository
19 import org.springframework.stereotype.Repository
20 import javax.transaction.Transactional
21
22 @Repository
23 interface ResourceResolutionRepository : JpaRepository<ResourceResolution, String> {
24
25     fun findByResolutionKeyAndBlueprintNameAndBlueprintVersionAndArtifactNameAndName(
26         key: String,
27         blueprintName: String?,
28         blueprintVersion: String?,
29         artifactName: String,
30         name: String
31     ): ResourceResolution
32
33     fun findByResolutionKeyAndBlueprintNameAndBlueprintVersionAndArtifactName(
34         resolutionKey: String,
35         blueprintName: String,
36         blueprintVersion: String,
37         artifactPrefix: String
38     ): List<ResourceResolution>
39
40     fun findByBlueprintNameAndBlueprintVersionAndResourceIdAndResourceType(
41         blueprintName: String,
42         blueprintVersion: String,
43         resourceId: String,
44         resourceType: String
45     ): List<ResourceResolution>
46
47     fun findByBlueprintNameAndBlueprintVersionAndArtifactNameAndResolutionKeyAndOccurrence(
48         blueprintName: String?,
49         blueprintVersion: String?,
50         artifactName: String,
51         resolutionKey: String,
52         occurrence: Int
53     ): List<ResourceResolution>
54
55     fun findByBlueprintNameAndBlueprintVersionAndArtifactNameAndResourceIdAndResourceTypeAndOccurrence(
56         blueprintName: String?,
57         blueprintVersion: String?,
58         artifactName: String,
59         resourceId: String,
60         resourceType: String,
61         occurrence: Int
62     ): List<ResourceResolution>
63
64     @Transactional
65     fun deleteByBlueprintNameAndBlueprintVersionAndArtifactNameAndResolutionKey(
66         blueprintName: String?,
67         blueprintVersion: String?,
68         artifactName: String,
69         resolutionKey: String
70     )
71 }