mirror of
https://github.com/nicobo/dataprovence.git
synced 2026-04-10 07:55:35 +02:00
+ traces
This commit is contained in:
parent
f88ebde1f3
commit
7537622270
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -40,4 +40,9 @@ public class DataprovenceFileHelper extends DataprovenceHelper {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataprovenceFileHelper [filename=" + filename + "]";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ public class DataprovenceHelper {
|
|||
|
||||
public DataprovenceHelper(String rootUrl, String datasetName,
|
||||
Collection<Filter> filters) {
|
||||
logger.debug("new DataprovenceHelper({},{},{})", new Object[] {
|
||||
rootUrl, datasetName, filters });
|
||||
this.rootUrl = rootUrl;
|
||||
this.datasetName = datasetName;
|
||||
this.filters = filters;
|
||||
|
|
@ -98,7 +100,7 @@ public class DataprovenceHelper {
|
|||
protected PoiList getContent(InputStream is) throws IOException {
|
||||
|
||||
String json = readStream(is);
|
||||
logger.debug("json={}", json);
|
||||
// logger.debug("json={}", json);
|
||||
Gson gson = new Gson();
|
||||
|
||||
PoiList all = gson.fromJson(json, PoiList.class);
|
||||
|
|
@ -148,4 +150,10 @@ public class DataprovenceHelper {
|
|||
return Arrays.asList(gl.d);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DataprovenceHelper [rootUrl=" + rootUrl + ", datasetName="
|
||||
+ datasetName + ", filters=" + filters + "]";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,11 +59,11 @@ public class DataprovenceManager implements PoiListener {
|
|||
"MonumentsEtStesCulturels" });
|
||||
}
|
||||
|
||||
private TreeSet<Poi> pois;
|
||||
private final TreeSet<Poi> pois = new TreeSet<Poi>();
|
||||
|
||||
private final PoiListener listener;
|
||||
|
||||
private int count = 0;
|
||||
// private int count = 0;
|
||||
|
||||
// false -> lit les données en local (fichiers *.json)
|
||||
// true -> lit les données depuis le net
|
||||
|
|
@ -103,12 +103,13 @@ public class DataprovenceManager implements PoiListener {
|
|||
super();
|
||||
this.listener = listener;
|
||||
this.online = online;
|
||||
this.pois = new TreeSet<Poi>();
|
||||
// this.pois = new TreeSet<Poi>();
|
||||
}
|
||||
|
||||
private Collection<DataprovenceHelper> findHelpers(Collection<String> tags) {
|
||||
ArrayList<DataprovenceHelper> helpers = new ArrayList<DataprovenceHelper>();
|
||||
for (String tag : tags) {
|
||||
// logger.debug("DATASETS[{}]", tag);
|
||||
String[] datasets = DATASETS.get(tag);
|
||||
for (int d = 0; d < datasets.length; d++) {
|
||||
if (online) {
|
||||
|
|
@ -124,33 +125,27 @@ public class DataprovenceManager implements PoiListener {
|
|||
|
||||
@Override
|
||||
public void onPoiReceived(List<Poi> pois) {
|
||||
synchronized (this) {
|
||||
this.pois.addAll(pois);
|
||||
count--;
|
||||
// quand on a recu toutes les reponses, on notifie le listener
|
||||
// ("externe")
|
||||
if (count == 0) {
|
||||
listener.onPoiReceived(new ArrayList<Poi>(this.pois));
|
||||
}
|
||||
}
|
||||
logger.debug("onPoiReceived({})", pois.size());
|
||||
// synchronized (pois) {
|
||||
this.pois.addAll(pois);
|
||||
// }
|
||||
listener.onPoiReceived(new ArrayList<Poi>(pois));
|
||||
}
|
||||
|
||||
public void findAll(Collection<String> tags) {
|
||||
|
||||
synchronized (this) {
|
||||
count = 0;
|
||||
pois = new TreeSet<Poi>();
|
||||
}
|
||||
// synchronized (pois) {
|
||||
pois.clear();
|
||||
// }
|
||||
|
||||
Set<DataprovenceHelper> helpers = new HashSet<DataprovenceHelper>();
|
||||
helpers.addAll(findHelpers(tags));
|
||||
|
||||
// lance une AsyncTask pour chaque helper
|
||||
for (DataprovenceHelper helper : findHelpers(tags)) {
|
||||
synchronized (this) {
|
||||
count++;
|
||||
new LoadDataTask(this).execute(helper);
|
||||
}
|
||||
logger.debug("loadData(" + helper + ")");
|
||||
new LoadDataTask(this).executeOnExecutor(
|
||||
AsyncTask.THREAD_POOL_EXECUTOR, helper);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue