Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java @ 807:6f65e70fa11d
Repaired broken recommendation parsing from Artifact's DESCRIBE document (which structure has changed).
flys-client/trunk@2391 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 21 Jul 2011 15:23:03 +0000 |
parents | 653ae84533e7 |
children | e9337488bac3 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java Wed Jul 20 13:31:20 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java Thu Jul 21 15:23:03 2011 +0000 @@ -22,6 +22,7 @@ import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.shared.model.ExportMode; import de.intevation.flys.client.shared.model.OutputMode; +import de.intevation.flys.client.shared.model.Recommendation; import de.intevation.flys.client.shared.model.ReportMode; import de.intevation.flys.client.shared.model.User; @@ -313,10 +314,10 @@ Artifact art = event.getNewValue(); ArtifactDescription desc = art.getArtifactDescription(); OutputMode[] outs = desc.getOutputModes(); - String[] recommended = desc.getRecommendedArtifacts(); + Recommendation[] recom = desc.getRecommendations(); - if (recommended != null) { - loadRecommendedArtifacts(recommended); + if (recom != null) { + loadRecommendedArtifacts(recom); } setArtifact(art); @@ -536,17 +537,26 @@ } - protected void loadRecommendedArtifacts(String[] factories) { + protected void loadRecommendedArtifacts(Recommendation[] recommendations) { Config config = Config.getInstance(); final String url = config.getServerUrl(); final String locale = config.getLocale(); final Collection collection = getCollection(); final Artifact master = getArtifact(); - for (String factory: factories) { - GWT.log("Load recommended artifact: " + factory); + if (master == null || recommendations == null) { + GWT.log("WARNING: Currently no master artifact set or no recom."); + return; + } - createArtifactService.create(url, locale, factory, master.getUuid(), + for (Recommendation recommendation: recommendations) { + final String factory = recommendation.getFactory(); + final String ids = recommendation.getIDs(); + + GWT.log("Load recommended artifact with factory: " + factory); + + createArtifactService.create( + url, locale, factory, master.getUuid(), ids, new AsyncCallback<Artifact>() { public void onFailure(Throwable caught) {