Mercurial > dive4elements > river
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 } |