2  * Copyright © 2017-2018 AT&T Intellectual Property.
\r 
   4  * Licensed under the Apache License, Version 2.0 (the "License");
\r 
   5  * you may not use this file except in compliance with the License.
\r 
   6  * You may obtain a copy of the License at
\r 
   8  *     http://www.apache.org/licenses/LICENSE-2.0
\r 
  10  * Unless required by applicable law or agreed to in writing, software
\r 
  11  * distributed under the License is distributed on an "AS IS" BASIS,
\r 
  12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r 
  13  * See the License for the specific language governing permissions and
\r 
  14  * limitations under the License.
\r 
  17 package org.onap.ccsdk.apps.controllerblueprints.core
\r 
  19 import org.slf4j.helpers.MessageFormatter
\r 
  21 import java.io.InputStream
\r 
  22 import kotlin.reflect.KClass
\r 
  27  * @author Brinda Santh
\r 
  30 fun format(message: String, vararg args: Any?) : String{
\r 
  31     if(args != null && args.isNotEmpty()){
\r 
  32         return MessageFormatter.arrayFormat(message, args).message
\r 
  37 fun <T : Any> MutableMap<String, *>.getCastOptionalValue(key: String, valueType: KClass<T>): T? {
\r 
  38     if (containsKey(key)) {
\r 
  39         return get(key) as? T
\r 
  45 fun <T : Any> MutableMap<String, *>.getCastValue(key: String, valueType: KClass<T>): T {
\r 
  46     if (containsKey(key)) {
\r 
  47         return get(key) as T
\r 
  49         throw BluePrintException("couldn't find the key " + key)
\r 
  53 fun checkNotEmpty(value : String?) : Boolean{
\r 
  54     return value != null && value.isNotEmpty()
\r 
  57 fun checkNotEmptyNThrow(value : String?, message : String? = value.plus(" is null/empty ")) : Boolean{
\r 
  58     val notEmpty = value != null && value.isNotEmpty()
\r 
  60         throw BluePrintException(message!!)
\r 
  65 fun InputStream.toFile(path: String) : File {
\r 
  66     val file = File(path)
\r 
  67     file.outputStream().use { this.copyTo(it) }
\r