Skip to content

Commit 695b4ca

Browse files
authored
Merge pull request #62 from jarreds/scala212
Upgrade to Scala 2.12.1
2 parents a6dab89 + 24b0eba commit 695b4ca

File tree

4 files changed

+56
-49
lines changed

4 files changed

+56
-49
lines changed

.travis.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
language: scala
22
scala:
3-
- 2.9.2
3+
- 2.12.1
4+
jdk:
5+
- oraclejdk8
46
install: true
57
script:
68
- "mvn test"

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ jdub
77
Requirements
88
------------
99

10-
* Java SE 6 or above
11-
* Scala 2.11.x
10+
* Java SE 8 or above
11+
* Scala 2.12.x
1212

1313
How To Use
1414
----------
@@ -180,6 +180,6 @@ License
180180
-------
181181

182182
Copyright (c) 2011-2012 Coda Hale
183-
Copyright (c) 2012-2016 Simple Finance Technology Corp. All rights reserved.
183+
Copyright (c) 2012-2017 Simple Finance Technology Corp. All rights reserved.
184184

185185
Published under The MIT License, see [LICENSE.md](LICENSE.md)

pom.xml

+26-25
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,33 @@
55
<modelVersion>4.0.0</modelVersion>
66

77
<groupId>com.simple</groupId>
8-
<artifactId>jdub_2.11</artifactId>
9-
<version>1.4.0</version>
8+
<artifactId>jdub_2.12</artifactId>
9+
<version>2.0.0</version>
1010
<name>Jdub for Scala ${scala.version}</name>
1111
<url>https://github.com/SimpleFinance/jdub</url>
1212
<description>Jdub is a Scala wrapper over JDBC.</description>
1313

1414
<properties>
15-
<grizzled-slf4j.version>1.2.0</grizzled-slf4j.version>
16-
<hikaricp-java7.version>2.4.9</hikaricp-java7.version>
17-
<hsqldb.version>2.3.3</hsqldb.version>
18-
<joda-convert.version>1.7</joda-convert.version>
19-
<joda-time.version>2.9.1</joda-time.version>
20-
<logback.version>1.1.7</logback.version>
21-
<maven-compiler-plugin.version>3.2</maven-compiler-plugin.version>
22-
<maven-gpg-plugin.version>1.5</maven-gpg-plugin.version>
23-
<maven-javadoc-plugin.version>2.9.1</maven-javadoc-plugin.version>
24-
<maven-resources-plugin.version>2.6</maven-resources-plugin.version>
25-
<maven-source-plugin.version>2.2.1</maven-source-plugin.version>
26-
<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
15+
<grizzled-slf4j.version>1.3.0</grizzled-slf4j.version>
16+
<hikaricp.version>2.5.1</hikaricp.version>
17+
<hsqldb.version>2.3.4</hsqldb.version>
18+
<joda-convert.version>1.8.1</joda-convert.version>
19+
<joda-time.version>2.9.7</joda-time.version>
20+
<logback.version>1.1.8</logback.version>
21+
<maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
22+
<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
23+
<maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
24+
<maven-resources-plugin.version>3.0.2</maven-resources-plugin.version>
25+
<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
26+
<maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
2727
<metrics.version>3.1.2</metrics.version>
28-
<mockito.version>1.9.5</mockito.version>
29-
<scala.major.version>2.11</scala.major.version>
30-
<scala.version>${scala.major.version}.8</scala.version>
31-
<scala-maven-plugin.version>3.2.0</scala-maven-plugin.version>
32-
<scalatest.version>3.0.0</scalatest.version>
28+
<mockito.version>1.10.19</mockito.version>
29+
<scala.major.version>2.12</scala.major.version>
30+
<scala.version>${scala.major.version}.1</scala.version>
31+
<scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
32+
<scalatest.version>3.0.1</scalatest.version>
3333
<scalatest-maven-plugin.version>1.0</scalatest-maven-plugin.version>
34-
<wagon-ssh-external.version>2.6</wagon-ssh-external.version>
34+
<wagon-ssh-external.version>2.10</wagon-ssh-external.version>
3535
</properties>
3636

3737
<developers>
@@ -111,8 +111,8 @@
111111
</dependency>
112112
<dependency>
113113
<groupId>com.zaxxer</groupId>
114-
<artifactId>HikariCP-java7</artifactId>
115-
<version>${hikaricp-java7.version}</version>
114+
<artifactId>HikariCP</artifactId>
115+
<version>${hikaricp.version}</version>
116116
</dependency>
117117
<dependency>
118118
<groupId>joda-time</groupId>
@@ -192,9 +192,10 @@
192192
<configuration>
193193
<verbose>true</verbose>
194194
<args>
195-
<arg>-optimise</arg>
196195
<arg>-unchecked</arg>
197196
<arg>-deprecation</arg>
197+
<arg>-feature</arg>
198+
<arg>-language:higherKinds</arg>
198199
</args>
199200
<charset>UTF-8</charset>
200201
</configuration>
@@ -204,8 +205,8 @@
204205
<artifactId>maven-compiler-plugin</artifactId>
205206
<version>${maven-compiler-plugin.version}</version>
206207
<configuration>
207-
<source>1.6</source>
208-
<target>1.6</target>
208+
<source>1.8</source>
209+
<target>1.8</target>
209210
<encoding>UTF-8</encoding>
210211
</configuration>
211212
</plugin>

src/main/scala/com/simple/jdub/TransactionManager.scala

+24-20
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
package com.simple.jdub
77

8-
import scala.collection.mutable.Stack
8+
import java.util.Stack
99

1010
trait TransactionProvider {
1111
def transactionExists: Boolean
1212
def currentTransaction: Transaction
13-
def begin(transaction: Transaction)
14-
def end: Unit
15-
def rollback: Unit
13+
def begin(transaction: Transaction): Unit
14+
def end(): Unit
15+
def rollback(): Unit
1616
}
1717

1818
class TransactionManager extends TransactionProvider {
@@ -22,48 +22,52 @@ class TransactionManager extends TransactionProvider {
2222
override def initialValue = None
2323
}
2424

25-
protected def ambientTransactionState = {
25+
protected def ambientTransactionState: Option[TransactionState] = {
2626
localTransactionStorage.get
2727
}
2828

29-
protected def ambientTransaction = {
30-
ambientTransactionState.flatMap(t => Some(t.transactions.head))
29+
protected def ambientTransaction: Option[Transaction] = {
30+
ambientTransactionState.map(_.transactions.peek)
3131
}
3232

33-
protected def currentTransactionState = {
34-
ambientTransactionState
35-
.getOrElse(throw new Exception("No transaction in current context"))
33+
protected def currentTransactionState: TransactionState = {
34+
ambientTransactionState.getOrElse(
35+
throw new Exception("No transaction in current context")
36+
)
3637
}
3738

38-
def currentTransaction = {
39-
ambientTransaction
40-
.getOrElse(throw new Exception("No transaction in current context"))
39+
def transactionExists: Boolean = {
40+
ambientTransactionState.isDefined
4141
}
4242

43-
def transactionExists = {
44-
ambientTransactionState.isEmpty == false
43+
def currentTransaction: Transaction = {
44+
ambientTransaction.getOrElse(
45+
throw new Exception("No transaction in current context")
46+
)
4547
}
4648

47-
def begin(transaction: Transaction) {
49+
def begin(transaction: Transaction): Unit = {
4850
if (!transactionExists) {
49-
localTransactionStorage.set(Some(new TransactionState(Stack(transaction))))
51+
val stack = new Stack[Transaction]()
52+
stack.push(transaction)
53+
localTransactionStorage.set(Some(new TransactionState(stack)))
5054
} else {
5155
currentTransactionState.transactions.push(transaction)
5256
}
5357
}
5458

55-
def end {
59+
def end(): Unit = {
5660
if (!transactionExists) {
5761
throw new Exception("No transaction in current context")
5862
} else {
5963
currentTransactionState.transactions.pop
60-
if (currentTransactionState.transactions.isEmpty) {
64+
if (currentTransactionState.transactions.empty) {
6165
localTransactionStorage.set(None)
6266
}
6367
}
6468
}
6569

66-
def rollback = {
70+
def rollback(): Unit = {
6771
currentTransaction.rollback
6872
}
6973
}

0 commit comments

Comments
 (0)