javax.xml.bind.DatatypeConverter Scala Examples
The following examples show how to use javax.xml.bind.DatatypeConverter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
Example 1
Source File: PrepareFile.scala From sparksql-scalapb-test with Apache License 2.0 | 5 votes |
import com.example.protos.demo.{Address, Person, Gender} import javax.xml.bind.DatatypeConverter object PrepareFile { val persons = Seq( Person().update( _.name := "Joe", _.age := 32, _.gender := Gender.MALE), Person().update( _.name := "Mark", _.age := 21, _.gender := Gender.MALE, _.addresses := Seq( Address(city = Some("San Francisco"), street=Some("3rd Street")) )), Person().update( _.name := "Steven", _.gender := Gender.MALE, _.addresses := Seq( Address(city = Some("San Francisco"), street=Some("5th Street")), Address(city = Some("Sunnyvale"), street=Some("Wolfe")) )), Person().update( _.name := "Batya", _.age := 11, _.gender := Gender.FEMALE)) def main(args: Array[String]) { persons.foreach { p => println(DatatypeConverter.printBase64Binary(p.toByteArray)) } } }
Example 2
Source File: JWTUtils.scala From introduction-to-akkahttp with Apache License 2.0 | 5 votes |
package com.shashank.akkahttp.util import io.jsonwebtoken.Jwts import java.nio.charset.StandardCharsets import javax.xml.bind.DatatypeConverter object JWTUtils { case class User(name:String, admin:Boolean) val adminToken = "eyJhbGciOiJIUzUxMiJ9.eyJuYW1lIjoiYWRtaW4iLCJhZG1pbiI6dHJ1ZX0.c6wRZ4pla6D9f_nDO6tqwyq5KFwyW2iSkKvrwGejn2IMxU_Z273cKZAW3Fu51Cwhp-4vwqOr1aWnyUIwzb_eow" val myToken = "eyJhbGciOiJIUzUxMiJ9.eyJuYW1lIjoiU2hhc2hhbmsiLCJhZG1pbiI6ZmFsc2V9.smlXLOZFZ14fozEwULbiSvzDEStlVjnLWSmg6MiaDDXUirCJjPpkNrzpKI31MxID0ZUV-H3tEcPmB9jJjGl9qA" private val secretKey = DatatypeConverter.printBase64Binary("introductiontoakkahttp".getBytes(StandardCharsets.UTF_8)) def decodeJWTToUser(tokenString:String):Option[User] = { try { val claims = Jwts.parser().setSigningKey(secretKey).parseClaimsJws(tokenString).getBody Some(User(claims.get("name").asInstanceOf[String], claims.get("admin").asInstanceOf[Boolean])) } catch { case e : Exception => { println("exception in decode token: " + e.getMessage()) println("Considering it as invalid token") None } } } }
Example 3
Source File: UtilCommands.scala From CM-Well with Apache License 2.0 | 5 votes |
import java.io.{BufferedInputStream, File} import java.nio.file.{Files, Paths} import java.security.MessageDigest import scala.util.control.Breaks._ import javax.xml.bind.DatatypeConverter import org.apache.commons.compress.archivers.ArchiveEntry import org.apache.commons.compress.archivers.tar.TarArchiveInputStream import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream import org.apache.commons.io.IOUtils object UtilCommands { val OSX_NAME = "Mac OS X" val linuxSshpass = if (Files.exists(Paths.get("bin/utils/sshpass"))) "bin/utils/sshpass" else "sshpass" val osxSshpass = "/usr/local/bin/sshpass" val sshpass = if (isOSX) osxSshpass else linuxSshpass def isOSX = System.getProperty("os.name") == OSX_NAME def verifyComponentConfNotChanged(componentName:String, configFilePath:String, expectedHash:String) = { val confContent = UtilCommands.unTarGz("./components", componentName, configFilePath) UtilCommands.checksum(componentName, configFilePath, confContent, expectedHash) } def checksum(componentName:String, configFilePath:String, confContent:Array[Byte], expectedHash:String) = { val actualHash = MessageDigest.getInstance("MD5").digest(confContent) val actualHashStr = DatatypeConverter.printHexBinary(actualHash) if (!expectedHash.equalsIgnoreCase(actualHashStr)) throw new Exception(s"$componentName configuration file $configFilePath has been changed, please change the template accordingly " + s"(the new digest is $actualHashStr)") } def unTarGz(rootFolder:String, componentName: String, configFilePath:String):Array[Byte] = { var tarArchiveInputStream:TarArchiveInputStream = null var bufferInputstream:BufferedInputStream = null val gzipCompressor:GzipCompressorInputStream = null var confContent: Array[Byte] = null try { val libDir = new File(rootFolder) val pathInput = libDir.listFiles().filter(file => file.getName.contains(componentName)) val path = Paths.get(pathInput(0).getAbsolutePath) val bufferInputStream = new BufferedInputStream(Files.newInputStream(path)) val gzipCompressor = new GzipCompressorInputStream(bufferInputStream) tarArchiveInputStream = new TarArchiveInputStream(gzipCompressor) var archiveEntry: ArchiveEntry = null archiveEntry = tarArchiveInputStream.getNextEntry if(archiveEntry.getName == "./") archiveEntry = tarArchiveInputStream.getNextEntry val extractFolder = archiveEntry.getName.replaceAll("^\\./","").split("/")(0) while (archiveEntry != null) { breakable { if (archiveEntry.getName.replaceAll("^\\./","") == s"$extractFolder/$configFilePath") { confContent = IOUtils.toByteArray(tarArchiveInputStream) break } } archiveEntry = tarArchiveInputStream.getNextEntry } } finally { if(tarArchiveInputStream != null) tarArchiveInputStream.close() if(bufferInputstream != null) bufferInputstream.close() if(gzipCompressor != null) gzipCompressor.close() } confContent } }
Example 4
Source File: StringUtil.scala From ingraph with Eclipse Public License 1.0 | 5 votes |
package ingraph.compiler.cypher2gplan.util import java.io.UnsupportedEncodingException import java.util.regex.{Matcher, Pattern} import javax.xml.bind.DatatypeConverter import org.apache.spark.sql.catalyst.{expressions => cExpr} import org.slizaa.neo4j.opencypher.{openCypher => oc} object StringUtil { private val patternStringDelimiterCheck = Pattern.compile("^'.*'$|^\".*\"$") private val patternStringDelimiterReplace = Pattern.compile("^[\"']|[\"']$") // note: literal \ should be escaped twice: first for the regular expression syntax // and then for the Java String in the source code, so \\\\ below matches the literal backslash private val patterBackslashNotation = Pattern.compile( "(?<!\\\\)\\\\(\\\\|'|\"|b|f|n|r|t|_|%|u([0-9a-fA-F]{4})|U([0-9a-fA-F]{8}))" ) def toOptionInt(s: String): Option[Int] = { Option(s).filterNot( _.isEmpty ).map( _.toInt ) } }
Example 5
Source File: HogGeograph.scala From hogzilla with GNU General Public License v2.0 | 5 votes |
package org.hogzilla.util import java.security.MessageDigest import org.apache.hadoop.hbase.util.Bytes import javax.xml.bind.DatatypeConverter import math._ object HogGeograph { val R = 6372.8 //radius in km def haversineDistance(lat1:Double, lon1:Double, lat2:Double, lon2:Double):Double = { val dLat=(lat2 - lat1).toRadians val dLon=(lon2 - lon1).toRadians val a = pow(sin(dLat/2),2) + pow(sin(dLon/2),2) * cos(lat1.toRadians) * cos(lat2.toRadians) val c = 2 * asin(sqrt(a)) R * c } def haversineDistanceFromStrings(coords1:String, coords2:String):Double = { try { val coordsDouble1 = coords1.split(",").map({ x => x.toDouble }) val coordsDouble2 = coords2.split(",").map({ x => x.toDouble }) haversineDistance(coordsDouble1(0),coordsDouble1(1),coordsDouble2(0),coordsDouble2(1)) } catch { case t: Throwable => // t.printStackTrace() // Return a large distance 999999999D } } }
Example 6
Source File: HogConfig.scala From hogzilla with GNU General Public License v2.0 | 5 votes |
package org.hogzilla.util import java.security.MessageDigest import org.apache.hadoop.hbase.util.Bytes import javax.xml.bind.DatatypeConverter import math._ import com.typesafe.config.Config import scala.collection.mutable.HashSet object HogConfig { def get(config:Config,key:String,valueType:String,default:Any):Any = { if(config==null) return default try { val value = config.getString(key) if(value.isEmpty()) return default // Return default value println(f"Configuration: $key => $value") if(valueType.equals("Int")) value.toInt else if(valueType.equals("Double")) value.toDouble else if(valueType.equals("Long")) value.toLong else if(valueType.equals("Set(Int)")) { val patternSet="Set\\(".r val patternSetEnd="\\)".r if(value.equals("Set()")) return Set() return (patternSetEnd replaceAllIn((patternSet replaceAllIn(value, "")),"")) .split(",").map({x => x.toInt}).toSet } else if(valueType.equals("Set(String)")) { val patternSet="Set\\(".r val patternSetEnd="\\)".r if(value.equals("Set()")) return Set() return (patternSetEnd replaceAllIn((patternSet replaceAllIn(value, "")),"")) .split(",").map({x => println(x.toString.trim()) ; x.toString.trim()}).toSet } else default // Create type first } catch { case t: Throwable => t.printStackTrace() println(f"Problem parsing $key . Check if it is ok. Using default value") return default } } def getInt(config:Config,key:String,default:Any):Int = { get(config,key,"Int",default).asInstanceOf[Int] } def getLong(config:Config,key:String,default:Any):Long = { get(config,key,"Long",default).asInstanceOf[Long] } def getDouble(config:Config,key:String,default:Any):Double = { get(config,key,"Double",default).asInstanceOf[Long] } def getSetInt(config:Config,key:String,default:Any):Set[Int] = { get(config,key,"Set(Int)",default).asInstanceOf[Set[Int]] } def getSetString(config:Config,key:String,default:Any):Set[String] = { get(config,key,"Set(String)",default).asInstanceOf[Set[String]] } }