Remove Session module
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
|
||||
|
||||
dependencies {
|
||||
compile ratpack.dependency('jdbc-tx')
|
||||
compile ratpack.dependency('session')
|
||||
}
|
||||
@@ -16,7 +16,6 @@ import groovy.util.logging.Slf4j
|
||||
import ratpack.guice.ConfigurableModule
|
||||
import ratpack.handling.HandlerDecorator
|
||||
import ratpack.server.ServerConfig
|
||||
import ratpack.session.Session
|
||||
|
||||
@Slf4j
|
||||
class DBTModule extends ConfigurableModule<DBTConfig> {
|
||||
|
||||
@@ -2,9 +2,7 @@ package com.devsoap.dbt.handlers
|
||||
|
||||
import com.devsoap.dbt.config.DBTConfig
|
||||
import com.devsoap.dbt.data.BlockTransaction
|
||||
import com.fasterxml.jackson.databind.JsonNode
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import com.fasterxml.jackson.databind.node.ArrayNode
|
||||
import groovy.util.logging.Slf4j
|
||||
import ratpack.exec.Promise
|
||||
import ratpack.handling.Context
|
||||
@@ -43,7 +41,7 @@ class ExecutorHandler implements Handler {
|
||||
return
|
||||
}
|
||||
|
||||
executeCommands(ds, mapper, transaction).then {
|
||||
executeCommands(ds, transaction).then {
|
||||
transaction.executed = true
|
||||
|
||||
// Notify ledger of result
|
||||
@@ -79,7 +77,7 @@ class ExecutorHandler implements Handler {
|
||||
true
|
||||
}
|
||||
|
||||
private static Promise<BlockTransaction> executeCommands(DataSource ds, ObjectMapper mapper, BlockTransaction transaction) {
|
||||
private static Promise<BlockTransaction> executeCommands(DataSource ds, BlockTransaction transaction) {
|
||||
def txDs = Transaction.dataSource(ds)
|
||||
def tx = Transaction.create { ds.connection }
|
||||
tx.wrap {
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package com.devsoap.dbt.handlers
|
||||
|
||||
import com.devsoap.dbt.services.LedgerService
|
||||
import groovy.util.logging.Log
|
||||
import groovy.util.logging.Slf4j
|
||||
import ratpack.handling.Context
|
||||
import ratpack.handling.Handler
|
||||
import ratpack.http.HttpMethod
|
||||
import ratpack.jackson.Jackson
|
||||
import ratpack.session.Session
|
||||
|
||||
@Slf4j
|
||||
class LedgerGetTransactionHandler implements Handler {
|
||||
@@ -18,8 +16,7 @@ class LedgerGetTransactionHandler implements Handler {
|
||||
if(request.method == HttpMethod.GET && header('X-Transaction-Id').present) {
|
||||
def id = request.headers['X-Transaction-Id'].toString()
|
||||
def ledgerService = ctx.get(LedgerService)
|
||||
def session = ctx.get(Session)
|
||||
ledgerService.fetchTransaction(session, id).then {
|
||||
ledgerService.fetchTransaction(id).then {
|
||||
if(it.present) {
|
||||
render(Jackson.json(it.get()))
|
||||
} else {
|
||||
|
||||
@@ -6,7 +6,6 @@ import ratpack.handling.Context
|
||||
import ratpack.handling.Handler
|
||||
import ratpack.http.HttpMethod
|
||||
import ratpack.jackson.Jackson
|
||||
import ratpack.session.Session
|
||||
|
||||
@Slf4j
|
||||
class LedgerListTransactionsHandler implements Handler {
|
||||
@@ -15,10 +14,9 @@ class LedgerListTransactionsHandler implements Handler {
|
||||
void handle(Context ctx) throws Exception {
|
||||
ctx.with {
|
||||
if(request.method == HttpMethod.GET && !header('X-Transaction-Id').present) {
|
||||
def session = get(Session)
|
||||
log.info("Listing transactions in session $session.id")
|
||||
log.info("Listing transactions...")
|
||||
def ledgerService = get(LedgerService)
|
||||
ledgerService.allTransactions(session).then {
|
||||
ledgerService.allTransactions().then {
|
||||
render(Jackson.json(it))
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -2,18 +2,13 @@ package com.devsoap.dbt.handlers
|
||||
|
||||
import com.devsoap.dbt.config.DBTConfig
|
||||
import com.devsoap.dbt.data.BlockTransaction
|
||||
import com.devsoap.dbt.data.LedgerData
|
||||
import com.devsoap.dbt.services.LedgerService
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import groovy.util.logging.Log
|
||||
import groovy.util.logging.Slf4j
|
||||
import ratpack.config.ConfigData
|
||||
import ratpack.handling.Context
|
||||
import ratpack.handling.Handler
|
||||
import ratpack.http.HttpMethod
|
||||
import ratpack.jackson.Jackson
|
||||
import ratpack.server.ServerConfig
|
||||
import ratpack.session.Session
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -36,15 +31,14 @@ class LedgerUpdateTransactionHandler implements Handler {
|
||||
}
|
||||
|
||||
def ledgerService = get(LedgerService)
|
||||
def session = get(Session)
|
||||
request.body.then { body ->
|
||||
def mapper = get(ObjectMapper)
|
||||
def transaction = mapper.readValue(body.text, BlockTransaction)
|
||||
log.info("Recieved transaction $transaction.id")
|
||||
ledgerService.fetchTransaction(session,transaction.id).then {
|
||||
ledgerService.fetchTransaction(transaction.id).then {
|
||||
if(it.present) {
|
||||
log.info "Transaction $transaction.id exists, updating transaction"
|
||||
ledgerService.updateTransaction(session, transaction).then {
|
||||
ledgerService.updateTransaction(transaction).then {
|
||||
log.info("Transaction $it updated in ledger")
|
||||
if(transaction.completed && !transaction.executed){
|
||||
log.info("Sending transaction $transaction.id to executor at $config.executor.remoteUrl")
|
||||
@@ -55,7 +49,7 @@ class LedgerUpdateTransactionHandler implements Handler {
|
||||
}
|
||||
} else {
|
||||
log.info("Creating new transaction")
|
||||
ledgerService.newTransaction(session, transaction).then {
|
||||
ledgerService.newTransaction(transaction).then {
|
||||
log.info("Transaction $it added to ledger")
|
||||
if(transaction.completed && !transaction.executed){
|
||||
log.info("Sending transaction $transaction.id to executor at $config.executor.remoteUrl")
|
||||
|
||||
@@ -5,29 +5,28 @@ import com.devsoap.dbt.data.LedgerData
|
||||
import groovy.util.logging.Slf4j
|
||||
import ratpack.exec.Promise
|
||||
import ratpack.service.Service
|
||||
import ratpack.session.Session
|
||||
|
||||
@Slf4j
|
||||
class LedgerService implements Service {
|
||||
|
||||
private static final LedgerData data = new LedgerData()
|
||||
|
||||
Promise<Optional<BlockTransaction>> fetchTransaction(Session session, String transactionId) {
|
||||
Promise<Optional<BlockTransaction>> fetchTransaction(String transactionId) {
|
||||
Promise.value(Optional.ofNullable(data.transactions.find {it.id == transactionId}))
|
||||
}
|
||||
|
||||
Promise<List<BlockTransaction>> allTransactions(Session session) {
|
||||
Promise<List<BlockTransaction>> allTransactions() {
|
||||
Promise.value(data.transactions)
|
||||
}
|
||||
|
||||
Promise<String> newTransaction(Session session, BlockTransaction transaction) {
|
||||
log.info("Adding new transaction $transaction.id to session ${session.id}")
|
||||
Promise<String> newTransaction(BlockTransaction transaction) {
|
||||
log.info("Adding new transaction $transaction.id")
|
||||
data.transactions.add(transaction)
|
||||
Promise.value(transaction.id)
|
||||
}
|
||||
|
||||
Promise<String> updateTransaction(Session session, BlockTransaction transaction) {
|
||||
log.info("Updating transaction $transaction.id in session ${session.id}")
|
||||
Promise<String> updateTransaction(BlockTransaction transaction) {
|
||||
log.info("Updating transaction $transaction.id")
|
||||
data.transactions.removeAll {it.id == transaction.id}
|
||||
data.transactions.add(transaction)
|
||||
Promise.value(transaction.id)
|
||||
|
||||
@@ -5,7 +5,6 @@ dependencies {
|
||||
|
||||
runtime ratpack.dependency('h2')
|
||||
runtime ratpack.dependency('jdbc-tx')
|
||||
runtime ratpack.dependency('session')
|
||||
|
||||
compile 'org.flywaydb:flyway-core:5.0.7'
|
||||
runtime 'org.slf4j:slf4j-simple:1.7.25'
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import com.devsoap.dbt.DBTModule
|
||||
import com.devsoap.dbt.demo.DatabaseService
|
||||
import com.devsoap.dbt.config.DBTConfig
|
||||
import com.devsoap.dbt.demo.DatabaseService
|
||||
import com.devsoap.dbt.services.TransactionManagerService
|
||||
import org.h2.jdbcx.JdbcDataSource
|
||||
import ratpack.session.SessionModule
|
||||
|
||||
import javax.sql.DataSource
|
||||
|
||||
@@ -17,8 +16,6 @@ ratpack {
|
||||
}
|
||||
|
||||
bindings {
|
||||
|
||||
module SessionModule
|
||||
module (DBTModule) {
|
||||
it.ledger.remoteUrl = 'http://localhost:5050/ledger'
|
||||
it.executor.remoteUrl = 'http://localhost:5050/executor'
|
||||
@@ -33,7 +30,7 @@ ratpack {
|
||||
/**
|
||||
* Consumer services
|
||||
*/
|
||||
get('frontend') {
|
||||
get('') {
|
||||
get(TransactionManagerService).execute { transaction ->
|
||||
transaction.query("INSERT INTO LOGS(LOG_ID,LOG_VALUE) VALUES (${new Random().nextInt()}, 'HELLO')")
|
||||
}.then {
|
||||
@@ -54,7 +51,7 @@ ratpack {
|
||||
transaction.query("SELECT * FROM LOGS")
|
||||
transaction.complete()
|
||||
}).then {
|
||||
render it.toString()
|
||||
redirect('/ledger')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,11 @@ apply plugin: 'org.flywaydb.flyway'
|
||||
|
||||
dependencies {
|
||||
testCompile project(':dbt-core')
|
||||
testRuntime project(':dbt-core')
|
||||
|
||||
testCompile ratpack.dependency('h2')
|
||||
testCompile ratpack.dependency('jdbc-tx')
|
||||
|
||||
testRuntime ratpack.dependency('jdbc-tx')
|
||||
testRuntime ratpack.dependency('session')
|
||||
|
||||
testRuntime 'org.flywaydb:flyway-core:5.0.7'
|
||||
testCompile 'org.flywaydb:flyway-core:5.0.7'
|
||||
testRuntime 'org.slf4j:slf4j-simple:1.7.25'
|
||||
|
||||
testCompile ratpack.dependency('test')
|
||||
|
||||
@@ -4,7 +4,6 @@ import org.flywaydb.core.Flyway
|
||||
import org.h2.jdbcx.JdbcDataSource
|
||||
import ratpack.service.Service
|
||||
import ratpack.service.StartEvent
|
||||
import ratpack.session.SessionModule
|
||||
|
||||
import javax.sql.DataSource
|
||||
|
||||
|
||||
Reference in New Issue
Block a user