temp commit
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
package ru.trader.controllers;
|
||||||
|
|
||||||
|
public class GroupEditorController {
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
package ru.trader.controllers;
|
||||||
|
|
||||||
|
public class ItemEditorController {
|
||||||
|
}
|
||||||
69
core/src/main/java/ru/trader/store/berkeley/BDBItemStat.java
Normal file
69
core/src/main/java/ru/trader/store/berkeley/BDBItemStat.java
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
package ru.trader.store.berkeley;
|
||||||
|
|
||||||
|
import ru.trader.core.AbstractItemStat;
|
||||||
|
import ru.trader.core.Item;
|
||||||
|
import ru.trader.core.OFFER_TYPE;
|
||||||
|
import ru.trader.core.Offer;
|
||||||
|
|
||||||
|
import java.util.NavigableSet;
|
||||||
|
|
||||||
|
|
||||||
|
//TODO: implement
|
||||||
|
public class BDBItemStat extends AbstractItemStat {
|
||||||
|
private final ItemProxy item;
|
||||||
|
private final OFFER_TYPE type;
|
||||||
|
private final BDBStore store;
|
||||||
|
|
||||||
|
public BDBItemStat(ItemProxy item, OFFER_TYPE type, BDBStore store) {
|
||||||
|
this.item = item;
|
||||||
|
this.type = type;
|
||||||
|
this.store = store;
|
||||||
|
}
|
||||||
|
|
||||||
|
synchronized void put(Offer offer){
|
||||||
|
}
|
||||||
|
|
||||||
|
synchronized void remove(Offer offer){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OFFER_TYPE getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Item getItem() {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Offer getMin() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getAvg() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Offer getMax() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Offer getBest() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public NavigableSet<Offer> getOffers() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,11 +5,44 @@ import ru.trader.store.berkeley.entities.BDBGroup;
|
|||||||
import ru.trader.store.berkeley.entities.BDBItem;
|
import ru.trader.store.berkeley.entities.BDBItem;
|
||||||
import ru.trader.store.berkeley.entities.BDBPlace;
|
import ru.trader.store.berkeley.entities.BDBPlace;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.*;
|
||||||
|
|
||||||
public class BDBMarket extends AbstractMarket {
|
public class BDBMarket extends AbstractMarket {
|
||||||
private final BDBStore store;
|
private final BDBStore store;
|
||||||
|
|
||||||
|
//caching
|
||||||
|
private final Map<Item,BDBItemStat> sellItems = new HashMap<>();
|
||||||
|
private final Map<Item,BDBItemStat> buyItems = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
|
private Map<Item,BDBItemStat> getItemCache(OFFER_TYPE offerType){
|
||||||
|
switch (offerType) {
|
||||||
|
case SELL: return sellItems;
|
||||||
|
case BUY: return buyItems;
|
||||||
|
default:
|
||||||
|
throw new IllegalArgumentException("Wrong offer type: "+offerType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void put(Map<Item, BDBItemStat> cache, Offer offer){
|
||||||
|
Item item = offer.getItem();
|
||||||
|
BDBItemStat entry = cache.get(item);
|
||||||
|
if (entry == null){
|
||||||
|
entry = new BDBItemStat((ItemProxy) item, offer.getType(), store);
|
||||||
|
cache.put(item, entry);
|
||||||
|
}
|
||||||
|
entry.put(offer);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void remove(Map<Item, BDBItemStat> cache, Offer offer){
|
||||||
|
Item item = offer.getItem();
|
||||||
|
BDBItemStat entry = cache.get(item);
|
||||||
|
if (entry!=null){
|
||||||
|
entry.remove(offer);
|
||||||
|
if (entry.isEmpty())
|
||||||
|
cache.remove(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public BDBMarket(BDBStore store) {
|
public BDBMarket(BDBStore store) {
|
||||||
this.store = store;
|
this.store = store;
|
||||||
|
|||||||
Reference in New Issue
Block a user