Skip to content
Merged
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
2 changes: 2 additions & 0 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
cache: maven
- name: Build
run: mvn -B -T 1C clean install
- name: Run Tests
run: mvn -B -T 1C -Dskip.unit.tests=false surefire:test
- name: Build Docker images
env:
TAG: dev
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
cache: maven
- name: Build
run: mvn -B -T 1C clean install
- name: Run Tests
run: mvn -B -T 1C -Dskip.unit.tests=false surefire:test
- name: Build Docker images
env:
TAG: latest
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
cache: maven
- name: Build
run: mvn -B -T 1C clean install
- name: Run Tests
run: mvn -B -T 1C -Dskip.unit.tests=false surefire:test
- name: Build Docker images
env:
TAG: latest
Expand Down
90 changes: 45 additions & 45 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### Other files ###
.env
docker-compose.local.yml
docker-compose.legacy.yml
application-local.yml
mvnw
mvnw.cmd
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
!/.mvn/
.DS_Store
resources
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### Other files ###
.env
docker-compose.local.yml
docker-compose.legacy.yml
application-local.yml
mvnw
mvnw.cmd

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/
!/.mvn/

.DS_Store
resources
Original file line number Diff line number Diff line change
@@ -1,135 +1,134 @@
package co.nilin.opex.accountant.app.config

import co.nilin.opex.accountant.app.listener.AccountantEventListener
import co.nilin.opex.accountant.app.listener.AccountantTempEventListener
import co.nilin.opex.accountant.app.listener.AccountantTradeListener
import co.nilin.opex.accountant.app.listener.OrderListener
import co.nilin.opex.accountant.core.api.FeeCalculator
import co.nilin.opex.accountant.core.api.FinancialActionJobManager
import co.nilin.opex.accountant.core.api.OrderManager
import co.nilin.opex.accountant.core.api.TradeManager
import co.nilin.opex.accountant.core.service.FinancialActionJobManagerImpl
import co.nilin.opex.accountant.core.service.OrderManagerImpl
import co.nilin.opex.accountant.core.service.TradeManagerImpl
import co.nilin.opex.accountant.core.spi.*
import co.nilin.opex.accountant.ports.kafka.listener.consumer.EventKafkaListener
import co.nilin.opex.accountant.ports.kafka.listener.consumer.OrderKafkaListener
import co.nilin.opex.accountant.ports.kafka.listener.consumer.TempEventKafkaListener
import co.nilin.opex.accountant.ports.kafka.listener.consumer.TradeKafkaListener
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.scheduling.annotation.EnableScheduling

@Configuration
@EnableScheduling
class AppConfig {

@Bean
fun getFinancialActionJobManager(
financialActionLoader: FinancialActionLoader,
financialActionPersister: FinancialActionPersister,
walletProxy: WalletProxy
): FinancialActionJobManager {
return FinancialActionJobManagerImpl(
financialActionLoader,
financialActionPersister,
walletProxy
)
}

@Bean
fun orderManager(
pairConfigLoader: PairConfigLoader,
financialActionPersister: FinancialActionPersister,
financeActionLoader: FinancialActionLoader,
orderPersister: OrderPersister,
tempEventPersister: TempEventPersister,
tempEventRepublisher: TempEventRepublisher,
richOrderPublisher: RichOrderPublisher
): OrderManager {
return OrderManagerImpl(
pairConfigLoader,
financialActionPersister,
financeActionLoader,
orderPersister,
tempEventPersister,
tempEventRepublisher,
richOrderPublisher
)
}

@Bean
fun tradeManager(
financeActionPersister: FinancialActionPersister,
financeActionLoader: FinancialActionLoader,
orderPersister: OrderPersister,
tempEventPersister: TempEventPersister,
richTradePublisher: RichTradePublisher,
richOrderPublisher: RichOrderPublisher,
feeCalculator: FeeCalculator,
): TradeManager {
return TradeManagerImpl(
financeActionPersister,
financeActionLoader,
orderPersister,
tempEventPersister,
richTradePublisher,
richOrderPublisher,
feeCalculator
)
}

@Bean
fun orderListener(orderManager: OrderManager): OrderListener {
return OrderListener(orderManager)
}

@Bean
fun accountantTradeListener(tradeManager: TradeManager): AccountantTradeListener {
return AccountantTradeListener(tradeManager)
}

@Bean
fun accountantEventListener(orderManager: OrderManager): AccountantEventListener {
return AccountantEventListener(orderManager)
}

@Bean
fun accountantTempEventListener(
orderManager: OrderManager,
tradeManager: TradeManager
): AccountantTempEventListener {
return AccountantTempEventListener(orderManager, tradeManager)
}

@Autowired
fun configureOrderListener(orderKafkaListener: OrderKafkaListener, orderListener: OrderListener) {
orderKafkaListener.addOrderListener(orderListener)
}

@Autowired
fun configureTradeListener(
tradeKafkaListener: TradeKafkaListener,
accountantTradeListener: AccountantTradeListener
) {
tradeKafkaListener.addTradeListener(accountantTradeListener)
}

@Autowired
fun configureEventListener(
eventKafkaListener: EventKafkaListener,
accountantEventListener: AccountantEventListener
) {
eventKafkaListener.addEventListener(accountantEventListener)
}

@Autowired
fun configureTempEventListener(
tempEventKafkaListener: TempEventKafkaListener,
accountantTempEventListener: AccountantTempEventListener
) {
tempEventKafkaListener.addEventListener(accountantTempEventListener)
}

package co.nilin.opex.accountant.app.config

import co.nilin.opex.accountant.app.listener.AccountantEventListener
import co.nilin.opex.accountant.app.listener.AccountantTempEventListener
import co.nilin.opex.accountant.app.listener.AccountantTradeListener
import co.nilin.opex.accountant.app.listener.OrderListener
import co.nilin.opex.accountant.core.api.FeeCalculator
import co.nilin.opex.accountant.core.api.FinancialActionJobManager
import co.nilin.opex.accountant.core.api.OrderManager
import co.nilin.opex.accountant.core.api.TradeManager
import co.nilin.opex.accountant.core.service.FinancialActionJobManagerImpl
import co.nilin.opex.accountant.core.service.OrderManagerImpl
import co.nilin.opex.accountant.core.service.TradeManagerImpl
import co.nilin.opex.accountant.core.spi.*
import co.nilin.opex.accountant.ports.kafka.listener.consumer.EventKafkaListener
import co.nilin.opex.accountant.ports.kafka.listener.consumer.OrderKafkaListener
import co.nilin.opex.accountant.ports.kafka.listener.consumer.TempEventKafkaListener
import co.nilin.opex.accountant.ports.kafka.listener.consumer.TradeKafkaListener
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.scheduling.annotation.EnableScheduling

@Configuration
@EnableScheduling
class AppConfig {

@Bean
fun getFinancialActionJobManager(
financialActionLoader: FinancialActionLoader,
financialActionPersister: FinancialActionPersister,
walletProxy: WalletProxy
): FinancialActionJobManager {
return FinancialActionJobManagerImpl(
financialActionLoader,
financialActionPersister,
walletProxy
)
}

@Bean
fun orderManager(
pairConfigLoader: PairConfigLoader,
financialActionPersister: FinancialActionPersister,
financeActionLoader: FinancialActionLoader,
orderPersister: OrderPersister,
tempEventPersister: TempEventPersister,
tempEventRepublisher: TempEventRepublisher,
richOrderPublisher: RichOrderPublisher
): OrderManager {
return OrderManagerImpl(
pairConfigLoader,
financialActionPersister,
financeActionLoader,
orderPersister,
tempEventPersister,
richOrderPublisher
)
}

@Bean
fun tradeManager(
financeActionPersister: FinancialActionPersister,
financeActionLoader: FinancialActionLoader,
orderPersister: OrderPersister,
tempEventPersister: TempEventPersister,
richTradePublisher: RichTradePublisher,
richOrderPublisher: RichOrderPublisher,
feeCalculator: FeeCalculator,
): TradeManager {
return TradeManagerImpl(
financeActionPersister,
financeActionLoader,
orderPersister,
tempEventPersister,
richTradePublisher,
richOrderPublisher,
feeCalculator
)
}

@Bean
fun orderListener(orderManager: OrderManager): OrderListener {
return OrderListener(orderManager)
}

@Bean
fun accountantTradeListener(tradeManager: TradeManager): AccountantTradeListener {
return AccountantTradeListener(tradeManager)
}

@Bean
fun accountantEventListener(orderManager: OrderManager): AccountantEventListener {
return AccountantEventListener(orderManager)
}

@Bean
fun accountantTempEventListener(
orderManager: OrderManager,
tradeManager: TradeManager
): AccountantTempEventListener {
return AccountantTempEventListener(orderManager, tradeManager)
}

@Autowired
fun configureOrderListener(orderKafkaListener: OrderKafkaListener, orderListener: OrderListener) {
orderKafkaListener.addOrderListener(orderListener)
}

@Autowired
fun configureTradeListener(
tradeKafkaListener: TradeKafkaListener,
accountantTradeListener: AccountantTradeListener
) {
tradeKafkaListener.addTradeListener(accountantTradeListener)
}

@Autowired
fun configureEventListener(
eventKafkaListener: EventKafkaListener,
accountantEventListener: AccountantEventListener
) {
eventKafkaListener.addEventListener(accountantEventListener)
}

@Autowired
fun configureTempEventListener(
tempEventKafkaListener: TempEventKafkaListener,
accountantTempEventListener: AccountantTempEventListener
) {
tempEventKafkaListener.addEventListener(accountantTempEventListener)
}

}
Loading