• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Scala Yaml类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Scala中org.yaml.snakeyaml.Yaml的典型用法代码示例。如果您正苦于以下问题:Scala Yaml类的具体用法?Scala Yaml怎么用?Scala Yaml使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Yaml类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Scala代码示例。

示例1: ConfigLoader

//设置package包名称以及导入依赖的类
package co.teapot.tempest.util

import java.io.File

import org.yaml.snakeyaml.Yaml
import org.yaml.snakeyaml.constructor.Constructor

import scala.io.BufferedSource
import scala.reflect.ClassTag



object ConfigLoader {
  def loadConfig[T:ClassTag](source: BufferedSource): T = {
    val yaml = new Yaml(new Constructor(implicitly[ClassTag[T]].runtimeClass))
    yaml.load(source.getLines().mkString("\n")).asInstanceOf[T]
  }

  def loadConfig[T:ClassTag](configFile: File): T = {
    if (configFile.exists) {
      loadConfig(scala.io.Source.fromFile(configFile))
    } else {
      throw new Exception("Configuration file not found: " + configFile.getCanonicalPath)
    }
  }

  def loadConfig[T:ClassTag](configFileName: String): T = {
    loadConfig(new File(configFileName))
  }
} 
开发者ID:teapot-co,项目名称:tempest,代码行数:31,代码来源:ConfigLoader.scala


示例2: parse

//设置package包名称以及导入依赖的类
package com.box.castle

import com.box.castle.core.config.CastleConfig
import org.yaml.snakeyaml.Yaml

package object config {

  def parse(config: java.util.LinkedHashMap[String, java.util.LinkedHashMap[String, Object]]): CastleConfig =
    CastleConfigParser(config).castleConfig

  def parse(yamlConfig: String): CastleConfig = {
    val yaml = new Yaml()
    val list = yaml.load(yamlConfig)
      .asInstanceOf[java.util.LinkedHashMap[String, java.util.LinkedHashMap[String, Object]]]
    this.parse(list)
  }

} 
开发者ID:Box-Castle,项目名称:castle-example,代码行数:19,代码来源:package.scala


示例3: getString

//设置package包名称以及导入依赖的类
package iotus.core

import java.io.{File, FileInputStream, InputStream}

import org.yaml.snakeyaml.Yaml
import scala.collection.JavaConversions._


  def getString(name: String, section: String): String = {
    getSection(section).get(name).get
  }

  def getSection(name: String): Map[String, String] = {
    val obj = yamlConfig.get(name).get.asInstanceOf[java.util.LinkedHashMap[String, AnyRef]]
    val section = mapAsScalaMap[String, AnyRef](obj).toMap
    section.asInstanceOf[Map[String, String]]
  }

}

object YamlConfig {
  val CONFIG_PATH = "/opt/iotus/conf/iotus.yaml"
  //def apply(): YamlConfig = {
  //  return new YamlConfig()
  //}
} 
开发者ID:petermichalek,项目名称:iotan-core,代码行数:27,代码来源:YamlConfig.scala


示例4: BuildInfo

//设置package包名称以及导入依赖的类
package cjp.catalogue.util

import java.io.{InputStream, FileNotFoundException, FileInputStream, File}
import java.util
import org.yaml.snakeyaml.Yaml
import play.api.Play
import play.api.Play._

import scala.util.{Success, Try}

case class BuildInfo(buildNumber: Int, lastCommit: String)

object BuildInfo {

  lazy val fromApplicationConfig : Option[BuildInfo] = {
    Play.configuration.getString("buildInfoFile").flatMap {
      case buildInfoFile => Try(BuildInfo(new File(buildInfoFile))) match {
        case Success(info) => Some(info)
        case _ => None
      }
    }
  }

  def apply(buildInfoFile: File): BuildInfo = {
    try {
      apply(new FileInputStream(buildInfoFile))
    }
    catch {
      case e: FileNotFoundException => sys.error(e.getMessage)
    }
  }

  def apply(buildInfo: InputStream): BuildInfo = {
    try {
      val BuildInfoMap = new Yaml().load(buildInfo).asInstanceOf[util.Map[String, Any]]
      BuildInfo(
        buildNumber = BuildInfoMap.get("buildNumber").asInstanceOf[Int],
        lastCommit = BuildInfoMap.get("lastCommit").asInstanceOf[String]
      )
    }
    catch {
      case e: Exception => sys.error("failed to parse build info file")
    }
  }

} 
开发者ID:UKHomeOffice,项目名称:product-catalogue,代码行数:47,代码来源:BuildInfo.scala


示例5: Connector

//设置package包名称以及导入依赖的类
package com.messhall.dao

import java.sql.{Connection, DriverManager}
import java.io.{File, FileInputStream, InputStream}
import org.yaml.snakeyaml.Yaml
import scala.collection.JavaConverters._

object Connector {

    val inFile: InputStream = new FileInputStream (new File ("etc/mysql_login"))
    val yaml: Yaml = new Yaml
    // tfw java: Convert java.util.Map -> scala.collection.mutable.Map
    val configData = yaml.load(inFile).asInstanceOf[java.util.Map[String, String]].asScala

    val url = configData.getOrElse("url", "jdbc:mysql://localhost:3305")
    val dbName = configData.getOrElse("dbName", "no_name")
    val driver = configData.getOrElse("driver", "com.mysql.jdbc.Driver")
    val username = configData.getOrElse("username", "user") // NEVER DEFAULT TO ROOT
    val password = configData.getOrElse("password", "hunter3")


    try {
        Class.forName(driver)
        val connection: Connection = DriverManager.getConnection(url + dbName, username, password)
    } catch {
        case e: Exception => e.printStackTrace
    }
} 
开发者ID:victorvalenca,项目名称:messhall,代码行数:29,代码来源:Connector.scala


示例6: YamlConfig

//设置package包名称以及导入依赖的类
package io.armee.config

import java.io.{File, FileInputStream}

import org.yaml.snakeyaml.Yaml
import org.yaml.snakeyaml.constructor.Constructor

import scala.beans.BeanProperty

class YamlConfig {
  @BeanProperty var shellPort = 1336
  @BeanProperty var masterPort = 1337
  @BeanProperty var workerPort = 1338
  @BeanProperty var apiPort = 1335
  @BeanProperty var masterServer = "127.0.0.1"
  @BeanProperty var numExecutorsPerServer = 4
  @BeanProperty var awsAccessKey = ""
  @BeanProperty var awsSecretKey = ""

  def readConfig() : YamlConfig = {

    //load config yaml file, using some java code due to The Snake Yaml lib
    val fileName = "config.yaml"
    val classLoader = getClass().getClassLoader();

    val input : FileInputStream =
      try {
        new FileInputStream(new File(fileName))
    }
    catch {
      case x: java.io.FileNotFoundException => {
        println("config.yaml in current dir not found. Using file in resource directory: ")
        new FileInputStream(classLoader.getResource(fileName).getFile());
      }
    }
    

    val yaml = new Yaml(new Constructor(classOf[YamlConfig]))
    val e = yaml.load(input).asInstanceOf[YamlConfig]

    println("Configuration loaded:")
    println(e)
    println("")
    e
  }

  override def toString: String = s"executors : $numExecutorsPerServer, apiPort: $apiPort, shellPort: $shellPort, workerPort: $workerPort, masterPort: $masterPort, masterServer: $masterServer"
} 
开发者ID:michelnossin,项目名称:armee,代码行数:49,代码来源:YamlConfig.scala


示例7: BuildInformation

//设置package包名称以及导入依赖的类
package conf

import java.io.{File, FileInputStream, FileNotFoundException, InputStream}
import java.util

import com.google.inject.{Inject, Singleton}
import org.yaml.snakeyaml.Yaml
import play.api.Configuration

import scala.util.{Success, Try}

case class BuildInformation(buildNumber: Int, lastCommit: String)

@Singleton
class BuildInfo @Inject() (configuration: Configuration) {

  lazy val fromApplicationConfig: Option[BuildInformation] = {
    val buildInfoFile = configuration.getString("buildInfoFile").get
    Try(new File(buildInfoFile)).flatMap(buildInfo(_)) match {
      case Success(info) => Some(info)
      case _ => None
    }
  }

  def buildInfo(buildInfoFile: File): Try[BuildInformation] = {
    Try(new FileInputStream(buildInfoFile)).recover {
      case e: FileNotFoundException => sys.error(e.getMessage)
    } flatMap buildInfo
  }

  def buildInfo(buildInfo: InputStream): Try[BuildInformation] = {
    Try {
      val BuildInfoMap = new Yaml().load(buildInfo).asInstanceOf[util.Map[String, Any]]
      BuildInformation(
        buildNumber = BuildInfoMap.get("buildNumber").asInstanceOf[Int],
        lastCommit = BuildInfoMap.get("lastCommit").asInstanceOf[String]
      )
    } recover {
      case _: Exception => sys.error("failed to parse build info file")
    }
  }
} 
开发者ID:UKHomeOffice,项目名称:submission-service,代码行数:43,代码来源:BuildInfo.scala



注:本文中的org.yaml.snakeyaml.Yaml类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Scala PersistentEntity类代码示例发布时间:2022-05-23
下一篇:
Scala HttpServer类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap