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)
|
||||
|
||||
Reference in New Issue
Block a user