fix search if source don't have markets
This commit is contained in:
@@ -4,6 +4,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import ru.trader.core.Offer;
|
import ru.trader.core.Offer;
|
||||||
import ru.trader.core.Order;
|
import ru.trader.core.Order;
|
||||||
|
import ru.trader.core.SERVICE_TYPE;
|
||||||
import ru.trader.core.Vendor;
|
import ru.trader.core.Vendor;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -58,4 +59,8 @@ public class MarketUtils {
|
|||||||
}
|
}
|
||||||
return orders;
|
return orders;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean hasMarket(Vendor vendor) {
|
||||||
|
return vendor.has(SERVICE_TYPE.MARKET) || vendor.has(SERVICE_TYPE.BLACK_MARKET);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,10 @@ public class VendorsCrawler extends Crawler<Vendor> {
|
|||||||
protected boolean check(Edge<Vendor> e){
|
protected boolean check(Edge<Vendor> e){
|
||||||
VendorsGraph.VendorsBuildEdge edge = (VendorsGraph.VendorsBuildEdge) e;
|
VendorsGraph.VendorsBuildEdge edge = (VendorsGraph.VendorsBuildEdge) e;
|
||||||
return fuel <= edge.getMaxFuel() && (fuel >= edge.getMinFuel() || edge.getSource().getEntry().canRefill())
|
return fuel <= edge.getMaxFuel() && (fuel >= edge.getMinFuel() || edge.getSource().getEntry().canRefill())
|
||||||
&& (edge.getProfit() > 0 || VendorsCrawler.this.isContent(edge, this));
|
&& (edge.getProfit() > 0 || VendorsCrawler.this.isContent(edge, this)
|
||||||
|
// adding all edges if this start entry and don't have market
|
||||||
|
|| (isStart() && !MarketUtils.hasMarket(vertex.getEntry()))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected VendorsEdge wrap(Edge<Vendor> e) {
|
protected VendorsEdge wrap(Edge<Vendor> e) {
|
||||||
|
|||||||
@@ -701,6 +701,10 @@ public class Crawler<T> {
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isStart(){
|
||||||
|
return head == null && edge == null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
final StringBuilder sb = new StringBuilder("{");
|
final StringBuilder sb = new StringBuilder("{");
|
||||||
|
|||||||
Reference in New Issue
Block a user