comparison 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
comparison
equal deleted inserted replaced
806:e50da1f74e58 807:6f65e70fa11d
20 import de.intevation.flys.client.shared.model.Artifact; 20 import de.intevation.flys.client.shared.model.Artifact;
21 import de.intevation.flys.client.shared.model.ArtifactDescription; 21 import de.intevation.flys.client.shared.model.ArtifactDescription;
22 import de.intevation.flys.client.shared.model.Collection; 22 import de.intevation.flys.client.shared.model.Collection;
23 import de.intevation.flys.client.shared.model.ExportMode; 23 import de.intevation.flys.client.shared.model.ExportMode;
24 import de.intevation.flys.client.shared.model.OutputMode; 24 import de.intevation.flys.client.shared.model.OutputMode;
25 import de.intevation.flys.client.shared.model.Recommendation;
25 import de.intevation.flys.client.shared.model.ReportMode; 26 import de.intevation.flys.client.shared.model.ReportMode;
26 import de.intevation.flys.client.shared.model.User; 27 import de.intevation.flys.client.shared.model.User;
27 28
28 import de.intevation.flys.client.client.Config; 29 import de.intevation.flys.client.client.Config;
29 import de.intevation.flys.client.client.FLYS; 30 import de.intevation.flys.client.client.FLYS;
311 GWT.log("CollectionView.onParameterChange"); 312 GWT.log("CollectionView.onParameterChange");
312 313
313 Artifact art = event.getNewValue(); 314 Artifact art = event.getNewValue();
314 ArtifactDescription desc = art.getArtifactDescription(); 315 ArtifactDescription desc = art.getArtifactDescription();
315 OutputMode[] outs = desc.getOutputModes(); 316 OutputMode[] outs = desc.getOutputModes();
316 String[] recommended = desc.getRecommendedArtifacts(); 317 Recommendation[] recom = desc.getRecommendations();
317 318
318 if (recommended != null) { 319 if (recom != null) {
319 loadRecommendedArtifacts(recommended); 320 loadRecommendedArtifacts(recom);
320 } 321 }
321 322
322 setArtifact(art); 323 setArtifact(art);
323 324
324 Collection c = getCollection(); 325 Collection c = getCollection();
534 } 535 }
535 ); 536 );
536 } 537 }
537 538
538 539
539 protected void loadRecommendedArtifacts(String[] factories) { 540 protected void loadRecommendedArtifacts(Recommendation[] recommendations) {
540 Config config = Config.getInstance(); 541 Config config = Config.getInstance();
541 final String url = config.getServerUrl(); 542 final String url = config.getServerUrl();
542 final String locale = config.getLocale(); 543 final String locale = config.getLocale();
543 final Collection collection = getCollection(); 544 final Collection collection = getCollection();
544 final Artifact master = getArtifact(); 545 final Artifact master = getArtifact();
545 546
546 for (String factory: factories) { 547 if (master == null || recommendations == null) {
547 GWT.log("Load recommended artifact: " + factory); 548 GWT.log("WARNING: Currently no master artifact set or no recom.");
548 549 return;
549 createArtifactService.create(url, locale, factory, master.getUuid(), 550 }
551
552 for (Recommendation recommendation: recommendations) {
553 final String factory = recommendation.getFactory();
554 final String ids = recommendation.getIDs();
555
556 GWT.log("Load recommended artifact with factory: " + factory);
557
558 createArtifactService.create(
559 url, locale, factory, master.getUuid(), ids,
550 new AsyncCallback<Artifact>() { 560 new AsyncCallback<Artifact>() {
551 561
552 public void onFailure(Throwable caught) { 562 public void onFailure(Throwable caught) {
553 GWT.log("Error loading recommendations: " + 563 GWT.log("Error loading recommendations: " +
554 caught.getMessage()); 564 caught.getMessage());

http://dive4elements.wald.intevation.org