comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/map/WMSLayersTree.java @ 1418:750a53950e9f

The WMSLayerTree displays WMS layers that support a given SRS only. flys-client/trunk@3326 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 28 Nov 2011 16:27:36 +0000
parents 659a488243da
children 0de61fc9d281
comparison
equal deleted inserted replaced
1417:42d6cf6e10b7 1418:750a53950e9f
1 package de.intevation.flys.client.client.ui.map; 1 package de.intevation.flys.client.client.ui.map;
2 2
3 import java.util.ArrayList; 3 import java.util.ArrayList;
4 import java.util.List; 4 import java.util.List;
5
6 import com.google.gwt.core.client.GWT;
5 7
6 import com.smartgwt.client.types.TreeModelType; 8 import com.smartgwt.client.types.TreeModelType;
7 import com.smartgwt.client.widgets.tree.Tree; 9 import com.smartgwt.client.widgets.tree.Tree;
8 import com.smartgwt.client.widgets.tree.TreeGrid; 10 import com.smartgwt.client.widgets.tree.TreeGrid;
9 import com.smartgwt.client.widgets.tree.TreeNode; 11 import com.smartgwt.client.widgets.tree.TreeNode;
35 } 37 }
36 } // end of class WMSLayerNode 38 } // end of class WMSLayerNode
37 39
38 40
39 protected Capabilities capabilites; 41 protected Capabilities capabilites;
42 protected String srs;
43
40 44
41 public WMSLayersTree(Capabilities capabilites) { 45 public WMSLayersTree(Capabilities capabilites) {
42 super(); 46 super();
43 this.capabilites = capabilites; 47 this.capabilites = capabilites;
48
49 initTree();
50 }
51
52
53 public WMSLayersTree(Capabilities capabilites, String srs) {
54 super();
55
56 this.capabilites = capabilites;
57 this.srs = srs;
44 58
45 initTree(); 59 initTree();
46 } 60 }
47 61
48 62
78 protected TreeNode[] buildTree(List<WMSLayer> layers) { 92 protected TreeNode[] buildTree(List<WMSLayer> layers) {
79 List<TreeNode> layerNodes = new ArrayList<TreeNode>(); 93 List<TreeNode> layerNodes = new ArrayList<TreeNode>();
80 94
81 for (WMSLayer layer: layers) { 95 for (WMSLayer layer: layers) {
82 WMSLayerNode tn = buildTreeNode(layer); 96 WMSLayerNode tn = buildTreeNode(layer);
83 TreeNode[] tns = buildTree(layer.getLayers());
84 97
85 if (tns != null && tns.length > 0) { 98 if (tn != null) {
86 tn.setAttribute("children-nodes", tns); 99 TreeNode[] tns = buildTree(layer.getLayers());
100
101 if (tns != null && tns.length > 0) {
102 tn.setAttribute("children-nodes", tns);
103 }
104
105 layerNodes.add(tn);
87 } 106 }
88
89 layerNodes.add(tn);
90 } 107 }
91 108
92 return (TreeNode[]) layerNodes.toArray(new TreeNode[layerNodes.size()]); 109 return (TreeNode[]) layerNodes.toArray(new TreeNode[layerNodes.size()]);
93 } 110 }
94 111
95 112
96 protected static WMSLayerNode buildTreeNode(WMSLayer wms) { 113 protected WMSLayerNode buildTreeNode(WMSLayer wms) {
97 return new WMSLayerNode(wms); 114 if (srs != null && srs.length() > 0) {
115 return wms.supportsSrs(srs) ? new WMSLayerNode(wms) : null;
116 }
117 else {
118 GWT.log("No target SRS specified.");
119 return new WMSLayerNode(wms);
120 }
98 } 121 }
99 } 122 }

http://dive4elements.wald.intevation.org