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