1

Remove Session module

This commit is contained in:
2018-05-04 17:52:37 +03:00
parent fb4baec57f
commit 76512ee32e
11 changed files with 19 additions and 45 deletions

View File

@@ -1,6 +1,3 @@
dependencies {
compile ratpack.dependency('jdbc-tx')
compile ratpack.dependency('session')
}

View File

@@ -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> {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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")

View File

@@ -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)