From 0ecde10e677a44b40bd870b04e3de7467e4c1b47 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Tue, 6 May 2014 22:19:58 +0200 Subject: clean up samples --- .../flow/samples/terminal/ConsoleReader.scala | 21 +++++++-------------- .../jodersky/flow/samples/terminal/Main.scala | 11 +++++------ .../jodersky/flow/samples/terminal/Terminal.scala | 21 ++++++++++++++------- 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala index c4401e7..701ecd7 100644 --- a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala +++ b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/ConsoleReader.scala @@ -1,24 +1,18 @@ package com.github.jodersky.flow.samples.terminal -import akka.actor._ -import java.io.BufferedReader -import java.io.InputStreamReader +import akka.actor.Actor +import akka.actor.actorRef2Scala class ConsoleReader extends Actor { import context._ import ConsoleReader._ def receive = { - case Read => read() match { - case Some(input) => parent ! ConsoleInput(input) - case None => parent ! EOT - } - } - - def read(): Option[String] = { - val eot = 4 - val line = Console.readLine - if (line == ":q") None else Some(line) + case Read => + Console.readLine() match { + case ":q" => parent ! EOT + case s => parent ! ConsoleInput(s) + } } } @@ -26,7 +20,6 @@ class ConsoleReader extends Actor { object ConsoleReader { case object Read - case object EOT case class ConsoleInput(in: String) diff --git a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala index 732793b..5b17265 100644 --- a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala +++ b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Main.scala @@ -1,16 +1,16 @@ package com.github.jodersky.flow package samples.terminal -import com.github.jodersky.flow._ -import akka.actor.ActorSystem -import akka.actor.Props -import akka.actor.actorRef2Scala +import com.github.jodersky.flow.Parity +import com.github.jodersky.flow.SerialSettings import com.github.jodersky.flow.internal.SerialConnection +import akka.actor.ActorSystem + object Main { def ask(label: String, default: String) = { - print(s"${label} [${default}]: ") + print(label + " [" + default.toString + "]: ") val in = Console.readLine() println("") if (in.isEmpty) default else in @@ -22,7 +22,6 @@ object Main { val cs = ask("Char size", "8").toInt val tsb = ask("Use two stop bits", "false").toBoolean val parity = Parity(ask("Parity (0=None, 1=Odd, 2=Even)", "0").toInt) - val settings = SerialSettings(baud, cs, tsb, parity) println("Starting terminal system, enter :q to exit.") diff --git a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala index 3052133..cf75d98 100644 --- a/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala +++ b/flow-samples/flow-samples-terminal/src/main/scala/com/github/jodersky/flow/samples/terminal/Terminal.scala @@ -1,16 +1,23 @@ package com.github.jodersky.flow.samples.terminal -import com.github.jodersky.flow.Serial._ +import com.github.jodersky.flow.Serial +import com.github.jodersky.flow.Serial.Close +import com.github.jodersky.flow.Serial.Closed +import com.github.jodersky.flow.Serial.CommandFailed +import com.github.jodersky.flow.Serial.Event +import com.github.jodersky.flow.Serial.Opened +import com.github.jodersky.flow.Serial.Received +import com.github.jodersky.flow.Serial.Write +import com.github.jodersky.flow.SerialSettings + import akka.actor.Actor import akka.actor.ActorLogging import akka.actor.ActorRef -import akka.util.ByteString -import akka.io.IO -import com.github.jodersky.flow.Serial -import akka.actor.Terminated -import com.github.jodersky.flow.Parity import akka.actor.Props -import com.github.jodersky.flow.SerialSettings +import akka.actor.Terminated +import akka.actor.actorRef2Scala +import akka.io.IO +import akka.util.ByteString class Terminal(port: String, settings: SerialSettings) extends Actor with ActorLogging { import Terminal._ -- cgit v1.2.3