diff --git a/bin/classes/bma/groomservice/data/dataprovence/DataprovenceFileHelper.class b/bin/classes/bma/groomservice/data/dataprovence/DataprovenceFileHelper.class index 134c6a1..a45c99a 100644 Binary files a/bin/classes/bma/groomservice/data/dataprovence/DataprovenceFileHelper.class and b/bin/classes/bma/groomservice/data/dataprovence/DataprovenceFileHelper.class differ diff --git a/bin/classes/bma/groomservice/data/dataprovence/DataprovenceHelper.class b/bin/classes/bma/groomservice/data/dataprovence/DataprovenceHelper.class index d83a633..78c9015 100644 Binary files a/bin/classes/bma/groomservice/data/dataprovence/DataprovenceHelper.class and b/bin/classes/bma/groomservice/data/dataprovence/DataprovenceHelper.class differ diff --git a/bin/classes/bma/groomservice/data/dataprovence/DataprovenceManager.class b/bin/classes/bma/groomservice/data/dataprovence/DataprovenceManager.class index 0ae3295..eb72846 100644 Binary files a/bin/classes/bma/groomservice/data/dataprovence/DataprovenceManager.class and b/bin/classes/bma/groomservice/data/dataprovence/DataprovenceManager.class differ diff --git a/bin/dataprovence.jar b/bin/dataprovence.jar index 05312b7..1810ca4 100644 Binary files a/bin/dataprovence.jar and b/bin/dataprovence.jar differ diff --git a/src/bma/groomservice/data/dataprovence/DataprovenceFileHelper.java b/src/bma/groomservice/data/dataprovence/DataprovenceFileHelper.java index c54b3df..aa694cc 100644 --- a/src/bma/groomservice/data/dataprovence/DataprovenceFileHelper.java +++ b/src/bma/groomservice/data/dataprovence/DataprovenceFileHelper.java @@ -40,4 +40,9 @@ public class DataprovenceFileHelper extends DataprovenceHelper { } } } + + @Override + public String toString() { + return "DataprovenceFileHelper [filename=" + filename + "]"; + } } diff --git a/src/bma/groomservice/data/dataprovence/DataprovenceHelper.java b/src/bma/groomservice/data/dataprovence/DataprovenceHelper.java index 9e13e59..5597dff 100644 --- a/src/bma/groomservice/data/dataprovence/DataprovenceHelper.java +++ b/src/bma/groomservice/data/dataprovence/DataprovenceHelper.java @@ -28,6 +28,8 @@ public class DataprovenceHelper { public DataprovenceHelper(String rootUrl, String datasetName, Collection 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 + "]"; + } + } diff --git a/src/bma/groomservice/data/dataprovence/DataprovenceManager.java b/src/bma/groomservice/data/dataprovence/DataprovenceManager.java index a354f02..7410400 100644 --- a/src/bma/groomservice/data/dataprovence/DataprovenceManager.java +++ b/src/bma/groomservice/data/dataprovence/DataprovenceManager.java @@ -59,11 +59,11 @@ public class DataprovenceManager implements PoiListener { "MonumentsEtStesCulturels" }); } - private TreeSet pois; + private final TreeSet pois = new TreeSet(); 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(); + // this.pois = new TreeSet(); } private Collection findHelpers(Collection tags) { ArrayList helpers = new ArrayList(); 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 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(this.pois)); - } - } + logger.debug("onPoiReceived({})", pois.size()); + // synchronized (pois) { + this.pois.addAll(pois); + // } + listener.onPoiReceived(new ArrayList(pois)); } public void findAll(Collection tags) { - synchronized (this) { - count = 0; - pois = new TreeSet(); - } + // synchronized (pois) { + pois.clear(); + // } Set helpers = new HashSet(); 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); } }