Skip to content

Commit

Permalink
some setup
Browse files Browse the repository at this point in the history
  • Loading branch information
ShahnamFeyzian committed Jun 7, 2024
1 parent fcf0b3e commit 8ee2c75
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
import ir.ramtung.tinyme.domain.service.controls.CreditControl;
import ir.ramtung.tinyme.domain.service.controls.PositionControl;
import ir.ramtung.tinyme.domain.service.controls.QuantityControl;
import ir.ramtung.tinyme.domain.service.security_state.AuctionBehave;
import ir.ramtung.tinyme.domain.service.security_state.ContinuousBehave;
import ir.ramtung.tinyme.domain.service.security_state.SecurityBehave;
import ir.ramtung.tinyme.messaging.Message;
import ir.ramtung.tinyme.messaging.request.EnterOrderRq;
import java.util.ArrayList;
Expand Down Expand Up @@ -44,6 +47,11 @@ public class Security {
private static CreditControl creditControl = new CreditControl();
private static QuantityControl quantityControl = new QuantityControl();
private static Matcher matcher = new Matcher(new ContinuousMatchingControl(positionControl, creditControl, quantityControl), new AuctionMatchingControl(positionControl, creditControl, quantityControl));
private static ContinuousBehave continuousBehave = new ContinuousBehave(positionControl, creditControl, matcher);
private static AuctionBehave auctionBehave = new AuctionBehave(positionControl, creditControl, matcher);

@Builder.Default
private SecurityBehave currentBehave = continuousBehave;

@Builder.Default
private SecurityState state = SecurityState.CONTINUOUS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import java.util.LinkedList;
import java.util.List;

import org.springframework.stereotype.Service;

import ir.ramtung.tinyme.domain.entity.Order;
import ir.ramtung.tinyme.domain.entity.OrderBook;
import ir.ramtung.tinyme.domain.entity.SecurityState;
Expand All @@ -15,19 +17,21 @@
import ir.ramtung.tinyme.domain.entity.stats.SituationalStats;
import ir.ramtung.tinyme.domain.entity.stats.StateStats;
import ir.ramtung.tinyme.domain.service.Matcher;
import ir.ramtung.tinyme.domain.service.controls.AuctionMatchingControl;
import ir.ramtung.tinyme.domain.service.controls.ContinuousMatchingControl;
import ir.ramtung.tinyme.domain.service.controls.ControlResult;
import ir.ramtung.tinyme.domain.service.controls.CreditControl;
import ir.ramtung.tinyme.domain.service.controls.PositionControl;
import ir.ramtung.tinyme.domain.service.controls.QuantityControl;

@Service
public class AuctionBehave implements SecurityBehave{
//FIXME: this is turning to something really ugly
private static PositionControl positionControl = new PositionControl();
private static CreditControl creditControl = new CreditControl();
private static QuantityControl quantityControl = new QuantityControl();
private static Matcher matcher = new Matcher(new ContinuousMatchingControl(positionControl, creditControl, quantityControl), new AuctionMatchingControl(positionControl, creditControl, quantityControl));
private PositionControl positionControl;
private CreditControl creditControl;
private Matcher matcher;

public AuctionBehave(PositionControl positionControl, CreditControl creditControl, Matcher matcher) {
this.positionControl = positionControl;
this.creditControl = creditControl;
this.matcher = matcher;
}

@Override
public List<SecurityStats> addNewOrder(Order newOrder, OrderBook orderBook, int lastTradePrice) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import java.util.LinkedList;
import java.util.List;

import org.springframework.stereotype.Service;

import ir.ramtung.tinyme.domain.entity.MatchResult;
import ir.ramtung.tinyme.domain.entity.Order;
import ir.ramtung.tinyme.domain.entity.OrderBook;
Expand All @@ -14,19 +16,21 @@
import ir.ramtung.tinyme.domain.entity.stats.SituationalStats;
import ir.ramtung.tinyme.domain.entity.stats.StateStats;
import ir.ramtung.tinyme.domain.service.Matcher;
import ir.ramtung.tinyme.domain.service.controls.AuctionMatchingControl;
import ir.ramtung.tinyme.domain.service.controls.ContinuousMatchingControl;
import ir.ramtung.tinyme.domain.service.controls.ControlResult;
import ir.ramtung.tinyme.domain.service.controls.CreditControl;
import ir.ramtung.tinyme.domain.service.controls.PositionControl;
import ir.ramtung.tinyme.domain.service.controls.QuantityControl;

@Service
public class ContinuousBehave implements SecurityBehave {
//FIXME: this is turning to something really ugly
private static PositionControl positionControl = new PositionControl();
private static CreditControl creditControl = new CreditControl();
private static QuantityControl quantityControl = new QuantityControl();
private static Matcher matcher = new Matcher(new ContinuousMatchingControl(positionControl, creditControl, quantityControl), new AuctionMatchingControl(positionControl, creditControl, quantityControl));
private PositionControl positionControl;
private CreditControl creditControl;
private Matcher matcher;

public ContinuousBehave(PositionControl positionControl, CreditControl creditControl, Matcher matcher) {
this.positionControl = positionControl;
this.creditControl = creditControl;
this.matcher = matcher;
}

@Override
public List<SecurityStats> addNewOrder(Order newOrder, OrderBook orderBook, int lastTradePrice) {
Expand Down

0 comments on commit 8ee2c75

Please sign in to comment.