From 0c5e75a7a13b7c649f8a1e2775426e5713b45962 Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@maiil.ru> Date: Sun, 23 Dec 2018 11:29:12 +0100 Subject: [PATCH] Added some functions related to AssetPair creation etc. --- src/opensesim/world/GodWorld.java | 31 +++++++++++++++++++----------- src/opensesim/world/RealWorld.java | 5 +++++ src/opensesim/world/World.java | 1 + 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/opensesim/world/GodWorld.java b/src/opensesim/world/GodWorld.java index 391b713..0a703f1 100644 --- a/src/opensesim/world/GodWorld.java +++ b/src/opensesim/world/GodWorld.java @@ -75,9 +75,6 @@ public class GodWorld implements GetJson, World { /* HashSet assetsById = new HashSet<>(); HashMap assetsBySymbol = new HashMap<>(); */ - - - IDGenerator orderIdGenerator = new IDGenerator(); private Scheduler scheduler = new Scheduler(); @@ -231,12 +228,12 @@ public class GodWorld implements GetJson, World { // return ex; return null; } - + // -------------------------------------------------------------------- // Assets // -------------------------------------------------------------------- private final HashMap assets = new HashMap<>(); - + @Override public Collection getAssetCollection() { return Collections.unmodifiableCollection(assets.values()); @@ -250,14 +247,29 @@ public class GodWorld implements GetJson, World { // -------------------------------------------------------------------- // AssetsPairs // -------------------------------------------------------------------- - private final HashSet asset_pairs = new HashSet<>(); + private final HashMap asset_pairs = new HashMap<>(); + + private AssetPair default_asset_pair = null; public Collection getAssetPairsCollection() { - return Collections.unmodifiableCollection(asset_pairs); + return Collections.unmodifiableCollection(asset_pairs.values()); } public void add(AssetPair pair) { - asset_pairs.add(pair); + asset_pairs.put(pair.getSymbol(), pair); + if (default_asset_pair == null) { + default_asset_pair = pair; + } + } + + public AssetPair addAssetPair(String currency, String asset) { + AssetPair pair = new AssetPair(assets.get(currency), assets.get(asset)); + add(pair); + return pair; + } + + public AssetPair getDefaultAssetPair() { + return default_asset_pair; } @@ -375,9 +387,6 @@ public class GodWorld implements GetJson, World { // -------------------------------------------------------------------- // Stuff belonging to accounts // -------------------------------------------------------------------- - - - // -------------------------------------------------------------------- // Pseudo random generator stuff // -------------------------------------------------------------------- diff --git a/src/opensesim/world/RealWorld.java b/src/opensesim/world/RealWorld.java index 4355b7d..555572f 100644 --- a/src/opensesim/world/RealWorld.java +++ b/src/opensesim/world/RealWorld.java @@ -80,4 +80,9 @@ public class RealWorld implements World { return godworld.getDefaultExchange(); } + @Override + public AssetPair getDefaultAssetPair() { + return godworld.getDefaultAssetPair(); + } + } diff --git a/src/opensesim/world/World.java b/src/opensesim/world/World.java index 40b8720..c998819 100644 --- a/src/opensesim/world/World.java +++ b/src/opensesim/world/World.java @@ -42,6 +42,7 @@ public interface World { Collection getExchangeCollection(); public Exchange getDefaultExchange(); + public AssetPair getDefaultAssetPair(); Collection getTradersCollection();