java.text.ParseException Scala Examples
The following examples show how to use java.text.ParseException.
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: SimpleDateParam.scala From drizzle-spark with Apache License 2.0 | 5 votes |
package org.apache.spark.status.api.v1 import java.text.{ParseException, SimpleDateFormat} import java.util.TimeZone import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status private[v1] class SimpleDateParam(val originalValue: String) { val timestamp: Long = { val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz") try { format.parse(originalValue).getTime() } catch { case _: ParseException => val gmtDay = new SimpleDateFormat("yyyy-MM-dd") gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) try { gmtDay.parse(originalValue).getTime() } catch { case _: ParseException => throw new WebApplicationException( Response .status(Status.BAD_REQUEST) .entity("Couldn't parse date: " + originalValue) .build() ) } } } }
Example 2
Source File: ArgonautSerializer.scala From reliable-http-client with Apache License 2.0 | 5 votes |
package rhttpc.transport.argonaut import java.text.ParseException import _root_.argonaut.Argonaut._ import _root_.argonaut.{DecodeJson, EncodeJson, PrettyParams} import rhttpc.transport.{Deserializer, Serializer} import scala.util.{Failure, Success, Try} class ArgonautSerializer[Msg: EncodeJson](implicit prettyParams: PrettyParams = defaultPrettyParams) extends Serializer[Msg] { override def serialize(msg: Msg): String = { msg.asJson.pretty(prettyParams) } } class ArgonautDeserializer[Msg: DecodeJson] extends Deserializer[Msg] { override def deserialize(value: String): Try[Msg] = { value.decodeWithMessage[Try[Msg], Msg](Success(_), msg => Failure(new ParseException(msg, -1))) } }
Example 3
Source File: TimestampFormatter.scala From XSQL with Apache License 2.0 | 5 votes |
package org.apache.spark.sql.catalyst.util import java.text.ParseException import java.time._ import java.time.format.DateTimeParseException import java.time.temporal.TemporalQueries import java.util.{Locale, TimeZone} import org.apache.spark.sql.catalyst.util.DateTimeUtils.instantToMicros sealed trait TimestampFormatter extends Serializable { @throws(classOf[ParseException]) @throws(classOf[DateTimeParseException]) @throws(classOf[DateTimeException]) def parse(s: String): Long def format(us: Long): String } class Iso8601TimestampFormatter( pattern: String, timeZone: TimeZone, locale: Locale) extends TimestampFormatter with DateTimeFormatterHelper { @transient private lazy val formatter = getOrCreateFormatter(pattern, locale) private def toInstant(s: String): Instant = { val temporalAccessor = formatter.parse(s) if (temporalAccessor.query(TemporalQueries.offset()) == null) { toInstantWithZoneId(temporalAccessor, timeZone.toZoneId) } else { Instant.from(temporalAccessor) } } override def parse(s: String): Long = instantToMicros(toInstant(s)) override def format(us: Long): String = { val secs = Math.floorDiv(us, DateTimeUtils.MICROS_PER_SECOND) val mos = Math.floorMod(us, DateTimeUtils.MICROS_PER_SECOND) val instant = Instant.ofEpochSecond(secs, mos * DateTimeUtils.NANOS_PER_MICROS) formatter.withZone(timeZone.toZoneId).format(instant) } } object TimestampFormatter { val defaultPattern: String = "yyyy-MM-dd HH:mm:ss" val defaultLocale: Locale = Locale.US def apply(format: String, timeZone: TimeZone, locale: Locale): TimestampFormatter = { new Iso8601TimestampFormatter(format, timeZone, locale) } def apply(format: String, timeZone: TimeZone): TimestampFormatter = { apply(format, timeZone, defaultLocale) } def apply(timeZone: TimeZone): TimestampFormatter = { apply(defaultPattern, timeZone, defaultLocale) } }
Example 4
Source File: SimpleDateParam.scala From sparkoscope with Apache License 2.0 | 5 votes |
package org.apache.spark.status.api.v1 import java.text.{ParseException, SimpleDateFormat} import java.util.{Locale, TimeZone} import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status private[v1] class SimpleDateParam(val originalValue: String) { val timestamp: Long = { val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz", Locale.US) try { format.parse(originalValue).getTime() } catch { case _: ParseException => val gmtDay = new SimpleDateFormat("yyyy-MM-dd", Locale.US) gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) try { gmtDay.parse(originalValue).getTime() } catch { case _: ParseException => throw new WebApplicationException( Response .status(Status.BAD_REQUEST) .entity("Couldn't parse date: " + originalValue) .build() ) } } } }
Example 5
Source File: DateUtils.scala From common4s with Apache License 2.0 | 5 votes |
package commons.mapper.utils import java.text.{ ParseException, ParsePosition, SimpleDateFormat } import java.util.Date def parseDateWithLeniency(str : String, parsePatterns : Array[String], lenient : Boolean) : Date = { if (str == null || parsePatterns == null) { throw new IllegalArgumentException("Date and Patterns must not be null"); } val parser = new SimpleDateFormat(); parser.setLenient(lenient); val pos = new ParsePosition(0); for (parsePattern <- parsePatterns) { var pattern = parsePattern; // LANG-530 - need to make sure 'ZZ' output doesn't get passed to SimpleDateFormat if (parsePattern.endsWith("ZZ")) { pattern = pattern.substring(0, pattern.length() - 1); } parser.applyPattern(pattern); pos.setIndex(0); var str2 = str; // LANG-530 - need to make sure 'ZZ' output doesn't hit SimpleDateFormat as it will ParseException if (parsePattern.endsWith("ZZ")) { str2 = str.replaceAll("([-+][0-9][0-9]):([0-9][0-9])$", "$1$2"); } val date = parser.parse(str2, pos); if (date != null && pos.getIndex() == str2.length()) { return date; } } throw new ParseException("Unable to parse the date: " + str, -1); } }
Example 6
Source File: SimpleDateParam.scala From multi-tenancy-spark with Apache License 2.0 | 5 votes |
package org.apache.spark.status.api.v1 import java.text.{ParseException, SimpleDateFormat} import java.util.{Locale, TimeZone} import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status private[v1] class SimpleDateParam(val originalValue: String) { val timestamp: Long = { val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz", Locale.US) try { format.parse(originalValue).getTime() } catch { case _: ParseException => val gmtDay = new SimpleDateFormat("yyyy-MM-dd", Locale.US) gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) try { gmtDay.parse(originalValue).getTime() } catch { case _: ParseException => throw new WebApplicationException( Response .status(Status.BAD_REQUEST) .entity("Couldn't parse date: " + originalValue) .build() ) } } } }
Example 7
Source File: SimpleDateParam.scala From spark1.52 with Apache License 2.0 | 5 votes |
package org.apache.spark.status.api.v1 import java.text.{ParseException, SimpleDateFormat} import java.util.TimeZone import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status private[v1] class SimpleDateParam(val originalValue: String) { val timestamp: Long = { val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz") try { format.parse(originalValue).getTime() } catch { case _: ParseException => val gmtDay = new SimpleDateFormat("yyyy-MM-dd") gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) try { gmtDay.parse(originalValue).getTime() } catch { case _: ParseException => throw new WebApplicationException( Response .status(Status.BAD_REQUEST) .entity("Couldn't parse date: " + originalValue) .build() ) } } } }
Example 8
Source File: SimpleDateParam.scala From Spark-2.3.1 with Apache License 2.0 | 5 votes |
package org.apache.spark.status.api.v1 import java.text.{ParseException, SimpleDateFormat} import java.util.{Locale, TimeZone} import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status private[v1] class SimpleDateParam(val originalValue: String) { val timestamp: Long = { val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz", Locale.US) try { format.parse(originalValue).getTime() } catch { case _: ParseException => val gmtDay = new SimpleDateFormat("yyyy-MM-dd", Locale.US) gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) try { gmtDay.parse(originalValue).getTime() } catch { case _: ParseException => throw new WebApplicationException( Response .status(Status.BAD_REQUEST) .entity("Couldn't parse date: " + originalValue) .build() ) } } } }
Example 9
Source File: SimpleDateParam.scala From BigDatalog with Apache License 2.0 | 5 votes |
package org.apache.spark.status.api.v1 import java.text.{ParseException, SimpleDateFormat} import java.util.TimeZone import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import javax.ws.rs.core.Response.Status private[v1] class SimpleDateParam(val originalValue: String) { val timestamp: Long = { val format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz") try { format.parse(originalValue).getTime() } catch { case _: ParseException => val gmtDay = new SimpleDateFormat("yyyy-MM-dd") gmtDay.setTimeZone(TimeZone.getTimeZone("GMT")) try { gmtDay.parse(originalValue).getTime() } catch { case _: ParseException => throw new WebApplicationException( Response .status(Status.BAD_REQUEST) .entity("Couldn't parse date: " + originalValue) .build() ) } } } }
Example 10
Source File: CronScheduleSpec.scala From sundial with MIT License | 5 votes |
package model import java.text.ParseException import java.util.GregorianCalendar import org.junit.runner.RunWith import org.scalatest.junit.JUnitRunner import org.scalatestplus.play.PlaySpec @RunWith(classOf[JUnitRunner]) class CronScheduleSpec extends PlaySpec { "Cron scheduler" should { "successfully parse cron entry for 10pm every day" in { val cronSchedule = CronSchedule("0", "22", "*", "*", "?") val date = new GregorianCalendar(2015, 10, 5, 21, 0).getTime val expectedNextDate = new GregorianCalendar(2015, 10, 5, 22, 0).getTime val nextDate = cronSchedule.nextRunAfter(date) nextDate must be(expectedNextDate) } "Throw exception on creation if cron schedlue is invalid" in { intercept[ParseException] { CronSchedule("0", "22", "*", "*", "*") } } } }
Example 11
Source File: Durations.scala From scalapb-json4s with Apache License 2.0 | 5 votes |
package scalapb.json4s import java.text.ParseException import com.google.protobuf.duration.Duration import org.json4s.JsonAST.JString object Durations { val DURATION_SECONDS_MIN = -315576000000L val DURATION_SECONDS_MAX = 315576000000L def checkValid(duration: com.google.protobuf.duration.Duration): Unit = { val secondsInRange = (duration.seconds >= DURATION_SECONDS_MIN && duration.seconds <= DURATION_SECONDS_MAX) val nanosInRange = duration.nanos >= -999999999L && duration.nanos <= Timestamps.NANOS_PER_SECOND val sameSign = !((duration.seconds < 0 || duration.nanos < 0) && (duration.seconds > 0 || duration.nanos > 0)) require( secondsInRange && nanosInRange && sameSign, "Duration is not valid." ) } def writeDuration(duration: com.google.protobuf.duration.Duration): String = { checkValid(duration) val result = new StringBuilder val (seconds, nanos) = if (duration.seconds < 0 || duration.nanos < 0) { result.append("-") (-duration.seconds, -duration.nanos) } else (duration.seconds, duration.nanos) result.append(seconds) if (nanos != 0) { result.append(".") result.append(Timestamps.formatNanos(nanos)) } result.append("s") result.result() } def parseNanos(value: String): Int = { val h = value.take(9) if (!h.forall(_.isDigit)) { throw new ParseException("Invalid nanoseconds.", 0) } h.padTo(9, '0').toInt } def parseDuration(value: String): Duration = { if (!value.endsWith("s")) { throw new ParseException("Invalid duration string: " + value, 0) } val (negative, number) = if (value.startsWith("-")) { (true, value.substring(1, value.length - 1)) } else (false, value.substring(0, value.length - 1)) val pointPosition = number.indexOf('.') val (secondsStr, nanosStr) = if (pointPosition != -1) { (number.substring(0, pointPosition), number.substring(pointPosition + 1)) } else { (number, "") } val seconds = secondsStr.toLong val nanos = if (nanosStr.isEmpty) 0 else parseNanos(nanosStr) if (seconds < 0) { throw new ParseException("Invalid duration string: " + value, 0) } // TODO(thesamet): normalizedDuration? com.google.protobuf.duration.Duration( seconds = if (negative) -seconds else seconds, nanos = if (negative) -nanos else nanos ) } }