Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
organization := "com.chrisomeara"
name := "pillar-core"
version := "3.0.0"
scalaVersion := "2.12.1"
crossScalaVersions := Seq("2.10.6", "2.11.8", "2.12.1")
version := "3.0.1"
scalaVersion := "2.13.1"
homepage := Some(url("https://github.com/comeara/pillar-core"))
licenses := Seq("MIT license" -> url("http://www.opensource.org/licenses/mit-license.php"))
libraryDependencies ++= Seq(
"com.datastax.cassandra" % "cassandra-driver-core" % "3.0.0",
"org.mockito" % "mockito-core" % "1.9.5" % "test",
"org.scalatest" %% "scalatest" % "3.0.1" % "test",
"org.scalatest" %% "scalatest" % "3.1.0" % "test",
"org.scalatestplus" %% "scalatestplus-mockito" % "1.0.0-M2" % "test",
"org.slf4j" % "slf4j-simple" % "1.7.22" % "test"
)
publishMavenStyle := true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ import java.util.Date
import com.datastax.driver.core.Session
import com.datastax.driver.core.querybuilder.QueryBuilder

import scala.collection.JavaConversions
import scala.jdk.CollectionConverters._

object AppliedMigrations {
def apply(session: Session, registry: Registry): AppliedMigrations = {
val results = session.execute(QueryBuilder.select("authored_at", "description").from("applied_migrations"))
new AppliedMigrations(JavaConversions.asScalaBuffer(results.all()).map {
new AppliedMigrations(results.all().asScala.map {
row => registry(MigrationKey(row.getTimestamp("authored_at"), row.getString("description")))
})
}.toSeq)
}
}

Expand Down
22 changes: 11 additions & 11 deletions src/main/scala/com/chrisomeara/pillar/core/Parser.scala
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,23 @@ class PartialMigration {
var description: String = ""
var authoredAt: String = ""

var upStages = new mutable.MutableList[String]()
var downStages : Option[mutable.MutableList[String]] = None
var upStages = new mutable.ArrayDeque[String]()
var downStages : Option[mutable.ArrayDeque[String]] = None

var currentUp = new mutable.MutableList[String]()
var currentDown: Option[mutable.MutableList[String]] = None
var currentUp = new mutable.ArrayDeque[String]()
var currentDown: Option[mutable.ArrayDeque[String]] = None

def rotateUp(): Unit = {
upStages += currentUp.mkString("\n")
upStages = upStages.filterNot(line => line.isEmpty)
currentUp = new mutable.MutableList[String]()
currentUp = new mutable.ArrayDeque[String]()
}

def rotateDown(): Unit = {
currentDown match {
case Some(currentDownLines) =>
downStages match {
case None => downStages = Some(new mutable.MutableList[String]())
case None => downStages = Some(new mutable.ArrayDeque[String]())
case Some(_) =>
}

Expand Down Expand Up @@ -95,14 +95,14 @@ class Parser {
state = ParsingUp
case MatchAttribute("down", _) =>
inProgress.rotateUp()
inProgress.currentDown = Some(new mutable.MutableList[String]())
inProgress.currentDown = Some(new mutable.ArrayDeque[String]())
state = ParsingDown
case MatchAttribute("stage", number) =>
state match {
case ParsingUp => state = ParsingUpStage
case ParsingUpStage => inProgress.rotateUp()
case ParsingDown => state = ParsingDownStage
case ParsingDownStage => inProgress.rotateDown(); inProgress.currentDown = Some(new mutable.MutableList[String]())
case ParsingDownStage => inProgress.rotateDown(); inProgress.currentDown = Some(new mutable.ArrayDeque[String]())
}
case cql =>
if (!cql.isEmpty) {
Expand All @@ -121,11 +121,11 @@ class Parser {
inProgress.downStages match {
case Some(downLines) =>
if (downLines.forall(line => line.isEmpty)) {
Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages, None)
Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages.toSeq, None)
} else {
Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages, Some(downLines))
Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages.toSeq, Some(downLines.toSeq))
}
case None => Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages)
case None => Migration(inProgress.description, new Date(inProgress.authoredAtAsLong), inProgress.upStages.toSeq)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core
import java.util.Date

import org.scalatest.{FunSpec, Matchers}
import org.scalatest.mock.MockitoSugar
import org.scalatestplus.mockito.MockitoSugar

class MigrationSpec extends FunSpec with Matchers with MockitoSugar {
describe(".apply") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import java.util.Date

import com.datastax.driver.core.Session
import org.scalatest._
import org.scalatest.mock.MockitoSugar
import org.scalatestplus.mockito.MockitoSugar

class PrintStreamReporterSpec extends FunSpec with MockitoSugar with Matchers with OneInstancePerTest {
val session = mock[Session]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core
import java.io.File
import java.util.Date

import org.scalatest.mock.MockitoSugar
import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfter, FunSpec, Matchers}

class RegistrySpec extends FunSpec with BeforeAndAfter with Matchers with MockitoSugar {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core
import com.datastax.driver.core.Session
import org.mockito.Mockito._
import org.scalatest.{FunSpec, Matchers}
import org.scalatest.mock.MockitoSugar
import org.scalatestplus.mockito.MockitoSugar

class ReportingMigrationSpec extends FunSpec with Matchers with MockitoSugar {
val reporter = mock[Reporter]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.chrisomeara.pillar.core
import com.datastax.driver.core.Session
import org.mockito.Mockito._
import org.scalatest.FunSpec
import org.scalatest.mock.MockitoSugar
import org.scalatestplus.mockito.MockitoSugar

class ReportingMigratorSpec extends FunSpec with MockitoSugar {
val reporter = mock[Reporter]
Expand Down