Archived
0

implement progress dialog

This commit is contained in:
iMoHax
2015-01-12 17:57:09 +03:00
parent 62d951a674
commit fe548e3ef4
13 changed files with 490 additions and 370 deletions

View File

@@ -68,7 +68,7 @@ public class MarketAnalyzer {
LOG.debug("Get top {}", limit);
Collection<Place> places = getPlaces();
List<Order> top = new ArrayList<>(limit);
callback.setCount(places.size());
callback.setMax(places.size());
for (Place place : places) {
if (callback.isCancel()) break;
LOG.trace("Check place {}", place);
@@ -98,7 +98,7 @@ public class MarketAnalyzer {
private Collection<Order> getOrders(Graph<Place> graph, Collection<Vendor> sellers, double balance, double lowProfit) {
List<Order> res = new ArrayList<>(20);
callback.setCount(sellers.size());
callback.setMax(sellers.size());
for (Vendor vendor : sellers) {
if (callback.isCancel()) break;
if (isFiltered(vendor)){
@@ -143,7 +143,7 @@ public class MarketAnalyzer {
private Collection<Order> getOrders(Collection<Vendor> sellers, Collection<Vendor> buyers, double balance, double lowProfit) {
List<Order> res = new ArrayList<>();
callback.setCount(sellers.size());
callback.setMax(sellers.size());
for (Vendor seller : sellers) {
if (callback.isCancel()) break;
if (isFiltered(seller)){
@@ -235,7 +235,7 @@ public class MarketAnalyzer {
}
public Collection<PathRoute> getPaths(Vendor from, double balance){
callback.setCount(1);
callback.setMax(1);
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
Collection<Vendor> vendors = getVendors();
Collection<PathRoute> res = searcher.getPaths(from, vendors, jumps, balance, cargo, limit);
@@ -247,7 +247,7 @@ public class MarketAnalyzer {
public Collection<PathRoute> getPaths(Place from, double balance){
List<PathRoute> top = new ArrayList<>(limit);
Collection<Vendor> vendors = getVendors();
callback.setCount(vendors.size());
callback.setMax(vendors.size());
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
for (Vendor vendor : from.get()) {
if (callback.isCancel()) break;
@@ -265,7 +265,7 @@ public class MarketAnalyzer {
}
public Collection<PathRoute> getPaths(Vendor from, Vendor to, double balance){
callback.setCount(1);
callback.setMax(1);
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
Collection<PathRoute> res = searcher.getPaths(from, to, getVendors(), jumps, balance, cargo, limit);
callback.inc();
@@ -279,7 +279,7 @@ public class MarketAnalyzer {
Collection<Vendor> fVendors = from.get();
Collection<Vendor> toVendors = to.get();
int count = (int) Math.ceil(limit / fVendors.size());
callback.setCount(fVendors.size() * toVendors.size());
callback.setMax(fVendors.size() * toVendors.size());
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
for (Vendor fromVendor : fVendors) {
if (callback.isCancel()) break;
@@ -309,7 +309,7 @@ public class MarketAnalyzer {
Collection<Vendor> vendors = getVendors();
Collection<Vendor> toVendors = to.get();
int count = (int) Math.ceil(limit / toVendors.size());
callback.setCount(toVendors.size());
callback.setMax(toVendors.size());
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
for (Vendor toVendor : toVendors) {
if (callback.isCancel()) break;
@@ -331,7 +331,7 @@ public class MarketAnalyzer {
Collection<Vendor> vendors = getVendors();
Collection<Vendor> fVendors = from.get();
int count = (int) Math.ceil(limit / fVendors.size());
callback.setCount(fVendors.size());
callback.setMax(fVendors.size());
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
for (Vendor fromVendor : fVendors) {
if (callback.isCancel()) break;
@@ -351,7 +351,7 @@ public class MarketAnalyzer {
public Collection<PathRoute> getTopPaths(double balance){
List<PathRoute> top = new ArrayList<>(limit);
Collection<Vendor> vendors = getVendors();
callback.setCount(vendors.size());
callback.setMax(vendors.size());
RouteSearcher searcher = new RouteSearcher(maxDistance, tank, segmentSize, callback.onStartSearch());
for (Vendor vendor : vendors) {
if (callback.isCancel()) break;

View File

@@ -38,7 +38,7 @@ public class MarketAnalyzerCallBack {
protected void onEnd(){}
public void setCount(long count){}
public void setMax(long max){}
public void inc(){}

View File

@@ -105,7 +105,7 @@ public class Graph<T extends Connectable<T>> {
public TopList<Path<T>> getPathsTo(T entry, int max, int deep){
Vertex<T> target = getVertex(entry);
TopList<Path<T>> paths = newTopList(max);
callback.setCount(1);
callback.setMax(1);
findPathsTo(target, paths, deep);
callback.inc();
paths.finish();
@@ -118,7 +118,7 @@ public class Graph<T extends Connectable<T>> {
public TopList<Path<T>> getPaths(int count, int deep){
TopList<Path<T>> paths = newTopList(count);
callback.setCount(vertexes.size());
callback.setMax(vertexes.size());
for (Vertex<T> target : vertexes.values()) {
if (callback.isCancel()) break;
TopList<Path<T>> p = newTopList(minJumps);

View File

@@ -13,7 +13,7 @@ public class GraphCallBack<T extends Connectable<T>> {
public void onEndFind(){}
public void setCount(long count){}
public void setMax(long count){}
public void inc(){}
public final boolean isCancel() {