From 036618dc65e5c2319cba195a96d17da6e843e81e Mon Sep 17 00:00:00 2001
From: tobias <thinkdifferent055@gmail.com>
Date: Thu, 16 Feb 2017 18:33:55 +0100
Subject: [PATCH] Fixed return route values, improved settings code

---
 .../tobias/playpad/server/account/Account.scala   | 15 +++++++++++++++
 .../tobias/playpad/server/account/Session.scala   |  1 +
 .../de/tobias/playpad/server/server/Result.scala  |  4 ++--
 .../server/server/account/SessionPost.scala       |  4 ++--
 .../settings/PropertiesSettingsHandler.scala      |  8 ++++----
 .../playpad/server/settings/SettingsSaver.scala   |  2 +-
 6 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/src/main/scala/de/tobias/playpad/server/account/Account.scala b/src/main/scala/de/tobias/playpad/server/account/Account.scala
index cf90d87..410d670 100644
--- a/src/main/scala/de/tobias/playpad/server/account/Account.scala
+++ b/src/main/scala/de/tobias/playpad/server/account/Account.scala
@@ -21,4 +21,19 @@ import com.j256.ormlite.table.DatabaseTable
 	}
 
 	def getId: Int = id
+
+
+	def canEqual(other: Any): Boolean = other.isInstanceOf[Account]
+
+	override def equals(other: Any): Boolean = other match {
+		case that: Account =>
+			(that canEqual this) &&
+				id == that.id
+		case _ => false
+	}
+
+	override def hashCode(): Int = {
+		val state = Seq(id)
+		state.map(_.hashCode()).foldLeft(0)((a, b) => 31 * a + b)
+	}
 }
diff --git a/src/main/scala/de/tobias/playpad/server/account/Session.scala b/src/main/scala/de/tobias/playpad/server/account/Session.scala
index 32f8ea3..dbece99 100644
--- a/src/main/scala/de/tobias/playpad/server/account/Session.scala
+++ b/src/main/scala/de/tobias/playpad/server/account/Session.scala
@@ -25,6 +25,7 @@ import scala.util.Random
 	}
 
 	def getId: Int = id
+	def getAccount: Account = account
 }
 
 object Session {
diff --git a/src/main/scala/de/tobias/playpad/server/server/Result.scala b/src/main/scala/de/tobias/playpad/server/server/Result.scala
index 5483dd5..83933be 100644
--- a/src/main/scala/de/tobias/playpad/server/server/Result.scala
+++ b/src/main/scala/de/tobias/playpad/server/server/Result.scala
@@ -5,12 +5,12 @@ package de.tobias.playpad.server.server
   */
 class Result {
 
-	var status: Status.Value = _
+	var status: String = _
 	var message: String = _
 
 	def this(status: Status.Value, message: String = "") {
 		this()
-		this.status = status
+		this.status = status.toString
 		this.message = message
 	}
 }
diff --git a/src/main/scala/de/tobias/playpad/server/server/account/SessionPost.scala b/src/main/scala/de/tobias/playpad/server/server/account/SessionPost.scala
index 4b3fe88..1a00aab 100644
--- a/src/main/scala/de/tobias/playpad/server/server/account/SessionPost.scala
+++ b/src/main/scala/de/tobias/playpad/server/server/account/SessionPost.scala
@@ -33,13 +33,13 @@ class SessionPost(accountDao: Dao[Account, Int]) extends Route {
 	}
 
 	private class SessionPostResult {
-		var status: Status.Value = _
+		var status: String = _
 		var message: String = _
 		var key: String = _
 
 		def this(status: Status.Value, key: String, message: String = "") {
 			this()
-			this.status = status
+			this.status = status.toString
 			this.message = message
 			this.key = key
 		}
diff --git a/src/main/scala/de/tobias/playpad/server/settings/PropertiesSettingsHandler.scala b/src/main/scala/de/tobias/playpad/server/settings/PropertiesSettingsHandler.scala
index 9ef9403..82271bc 100644
--- a/src/main/scala/de/tobias/playpad/server/settings/PropertiesSettingsHandler.scala
+++ b/src/main/scala/de/tobias/playpad/server/settings/PropertiesSettingsHandler.scala
@@ -16,7 +16,8 @@ class PropertiesSettingsHandler extends SettingsLoader with SettingsSaver {
 		properties.load(Files.newBufferedReader(path))
 
 		val settings = new Settings()
-		classOf[Settings].getDeclaredFields.filter(f => !Modifier.isTransient(f.getModifiers))
+		classOf[Settings].getDeclaredFields
+			.filter(f => !Modifier.isTransient(f.getModifiers))
 			.filter(f => properties.containsKey(f.getName))
 			.foreach(f => {
 				f.setAccessible(true)
@@ -33,9 +34,8 @@ class PropertiesSettingsHandler extends SettingsLoader with SettingsSaver {
 	override def save(settings: Settings, path: Path): Unit = {
 		val properties = new Properties()
 
-		println("Save")
-
-		classOf[Settings].getDeclaredFields.filter(f => !Modifier.isTransient(f.getModifiers))
+		classOf[Settings].getDeclaredFields
+			.filter(f => !Modifier.isTransient(f.getModifiers))
 			.foreach(f => {
 				f.setAccessible(true)
 				properties.setProperty(f.getName, f.get(settings).toString)
diff --git a/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala b/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala
index 0d2d072..6544a9c 100644
--- a/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala
+++ b/src/main/scala/de/tobias/playpad/server/settings/SettingsSaver.scala
@@ -11,5 +11,5 @@ trait SettingsSaver {
 	@throws[IOException]
 	def save(settings: Settings, path: Path)
 
-	def default(path: Path) = save(new Settings(), path)
+	def default(path: Path): Unit = save(new Settings(), path)
 }
-- 
GitLab