From c77ee2f8cf2f326fd59a977f7f2775429cbce683 Mon Sep 17 00:00:00 2001 From: Brinda Santh Date: Wed, 5 Sep 2018 01:22:04 -0400 Subject: Controller Blueprints Microservice Add Resource Dictionary reactive repository service for dictionary validation and automap functions. Change-Id: I7cc6d7d976cfe9370f9a74cd8f2e4256de8e8995 Issue-ID: CCSDK-484 Signed-off-by: Brinda Santh --- .../ResourceDictionaryReactRepository.kt | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/repository/ResourceDictionaryReactRepository.kt (limited to 'ms/controllerblueprints/modules/service/src/main/kotlin') diff --git a/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/repository/ResourceDictionaryReactRepository.kt b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/repository/ResourceDictionaryReactRepository.kt new file mode 100644 index 000000000..92172a2e4 --- /dev/null +++ b/ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/service/repository/ResourceDictionaryReactRepository.kt @@ -0,0 +1,53 @@ +/* + * Copyright © 2018 IBM. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.ccsdk.apps.controllerblueprints.service.repository + +import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException +import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionary +import org.springframework.stereotype.Service +import reactor.core.publisher.Flux +import reactor.core.publisher.Mono +import reactor.core.scheduler.Schedulers +/** + * ResourceDictionaryReactRepository. + * + * @author Brinda Santh + */ +@Service +open class ResourceDictionaryReactRepository(private val resourceDictionaryRepository: ResourceDictionaryRepository) { + + fun findByName(name: String): Mono { + return Mono.justOrEmpty(resourceDictionaryRepository.findByName(name)) + } + + fun findByNameIn(names: List): Flux { + return Flux.fromIterable(resourceDictionaryRepository.findByNameIn(names)) + .subscribeOn(Schedulers.elastic()) + } + + fun findByTagsContainingIgnoreCase(tags: String): Flux { + return Flux.fromIterable(resourceDictionaryRepository.findByTagsContainingIgnoreCase(tags)) + .subscribeOn(Schedulers.elastic()) + } + + fun deleteByName(name: String): Mono { + return Mono.fromCallable { + resourceDictionaryRepository.deleteByName(name) + } + } + +} \ No newline at end of file -- cgit 1.2.3-korg