Revision 8688 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster.wms2/org.gvsig.raster.wms2.swing/org.gvsig.raster.wms2.swing.impl/src/main/java/org/gvsig/raster/wms/swing/impl/DefaultWMSParametersPanelController.java
DefaultWMSParametersPanelController.java | ||
---|---|---|
70 | 70 |
import org.gvsig.fmap.dal.DataServerExplorerPoolEntry; |
71 | 71 |
import org.gvsig.fmap.dal.DataStoreParameters; |
72 | 72 |
import org.gvsig.fmap.dal.DataStoreProviderFactory; |
73 |
import org.gvsig.raster.wms.provider.LayerNode; |
|
74 |
import org.gvsig.raster.wms.provider.LayerNode.Style; |
|
73 |
import org.gvsig.raster.wms.provider.DefaultWMSLayerNode; |
|
74 |
import org.gvsig.raster.wms.provider.DefaultWMSRasterServerExplorer; |
|
75 |
import org.gvsig.raster.wms.provider.WMSLayerNode; |
|
75 | 76 |
import org.gvsig.raster.wms.provider.WMSRasterProviderParameters; |
76 |
import org.gvsig.raster.wms.provider.WMSRasterServerExplorer; |
|
77 | 77 |
import org.gvsig.raster.wms.provider.WMSRasterServerExplorerParameters; |
78 |
import org.gvsig.raster.wms.provider.WMSStyleData; |
|
78 | 79 |
import org.gvsig.raster.wms.swing.api.WMSParametersPanel; |
79 | 80 |
import org.gvsig.tools.ToolsLocator; |
80 | 81 |
import org.gvsig.tools.dispose.DisposeUtils; |
... | ... | |
101 | 102 |
private static final int TAB_DIMENSIONS_INDEX = 3; |
102 | 103 |
private static final int TAB_FORMATS_INDEX = 4; |
103 | 104 |
List<WMSParametersEntry> parameterList; |
104 |
WMSRasterServerExplorer explorer; |
|
105 |
private WMSRasterServerExplorer serverExplorer; |
|
105 |
DefaultWMSRasterServerExplorer explorer;
|
|
106 |
private DefaultWMSRasterServerExplorer serverExplorer;
|
|
106 | 107 |
private String format; |
107 | 108 |
private String infoFormat; |
108 |
private List<LayerNode> selectedLayers; |
|
109 |
private List<WMSLayerNode> selectedLayers;
|
|
109 | 110 |
private String projection = ""; |
110 | 111 |
private Thread connectionThread; |
111 | 112 |
|
... | ... | |
316 | 317 |
|
317 | 318 |
@Override |
318 | 319 |
public void actionPerformed(ActionEvent e) { |
319 |
LayerNode node = |
|
320 |
(LayerNode) treeLayersSelector.getLastSelectedPathComponent(); |
|
320 |
WMSLayerNode node =
|
|
321 |
(WMSLayerNode) treeLayersSelector.getLastSelectedPathComponent();
|
|
321 | 322 |
if (node == null) |
322 | 323 |
return; |
323 | 324 |
if (node.isLeaf()) { |
... | ... | |
402 | 403 |
public List<WMSParametersEntry> getParametersList() { |
403 | 404 |
parameterList = new ArrayList<WMSParametersEntry>(); |
404 | 405 |
if(chkMaintainLayersStruct.isSelected()){ |
405 |
final LayerNode layerNode = (LayerNode) this.serverExplorer.getTreeNode();
|
|
406 |
final WMSLayerNode layerNode = (WMSLayerNode) this.serverExplorer.getTreeNode();
|
|
406 | 407 |
if(anyChildrenIsSelected(layerNode)){ |
407 | 408 |
final WMSParametersEntry rootEntry = new WMSParametersEntry() { |
408 | 409 |
@Override |
... | ... | |
510 | 511 |
* @param layerNode |
511 | 512 |
* @param rootEntry |
512 | 513 |
*/ |
513 |
private void addChildrenParametersEntries(final LayerNode layerNode, final WMSParametersEntry parent) { |
|
514 |
private void addChildrenParametersEntries(final WMSLayerNode layerNode, final WMSParametersEntry parent) {
|
|
514 | 515 |
parameterList.add(parent); |
515 | 516 |
WMSParametersEntry folderEntry = new WMSParametersEntry() { |
516 | 517 |
@Override |
... | ... | |
527 | 528 |
} |
528 | 529 |
}; |
529 | 530 |
parameterList.add(folderEntry); |
531 |
for(int i=0; i<layerNode.getChildCount(); i++){ |
|
532 |
WMSLayerNode child = (WMSLayerNode) layerNode.getChildAt(i); |
|
533 |
|
|
534 |
} |
|
530 | 535 |
} |
531 | 536 |
|
532 | 537 |
// private List<WMSParametersEntry> addChildrenToParent(final WMSParametersEntry parent, List<WMSLayer> children) { |
... | ... | |
610 | 615 |
// return result; |
611 | 616 |
// } |
612 | 617 |
|
613 |
private boolean anyChildrenIsSelected(LayerNode node){ |
|
618 |
private boolean anyChildrenIsSelected(WMSLayerNode node){
|
|
614 | 619 |
if(node.getChildCount()==0){ |
615 | 620 |
return false; |
616 | 621 |
} |
617 | 622 |
boolean result = false; |
618 | 623 |
for (int i=0; i<node.getChildCount(); i++){ |
619 |
LayerNode child = (LayerNode) node.getChildAt(i);
|
|
624 |
WMSLayerNode child = (WMSLayerNode) node.getChildAt(i);
|
|
620 | 625 |
if(selectedLayers.contains(child)){ |
621 | 626 |
return true; |
622 | 627 |
} |
... | ... | |
651 | 656 |
parameters.setDynValue(WMSRasterServerExplorerParameters.WMS_OVERRIDE_CAPABILITIES_PARAMETER_NAME, |
652 | 657 |
chkRefreshCache.isSelected()); // "override_capabilities" |
653 | 658 |
|
654 |
final WMSRasterServerExplorer serverExplorer = |
|
655 |
(WMSRasterServerExplorer) manager.openServerExplorer("WMS", parameters); |
|
659 |
final DefaultWMSRasterServerExplorer serverExplorer =
|
|
660 |
(DefaultWMSRasterServerExplorer) manager.openServerExplorer("WMS", parameters);
|
|
656 | 661 |
|
657 | 662 |
// List layers = serverExplorer.list(); |
658 | 663 |
|
... | ... | |
696 | 701 |
} |
697 | 702 |
|
698 | 703 |
|
699 |
private void setServerExplorer(WMSRasterServerExplorer serverExplorer) { |
|
704 |
private void setServerExplorer(DefaultWMSRasterServerExplorer serverExplorer) {
|
|
700 | 705 |
this.serverExplorer = serverExplorer; |
701 | 706 |
|
702 | 707 |
this.updateComponents(); |
... | ... | |
704 | 709 |
List<String> formats = this.serverExplorer.getFormats(); |
705 | 710 |
List<String> infoFormats = this.serverExplorer.getInfoFormats(); |
706 | 711 |
|
707 |
LayerNode layerNode = (LayerNode) this.serverExplorer.getTreeNode();
|
|
712 |
WMSLayerNode layerNode = (WMSLayerNode) this.serverExplorer.getTreeNode();
|
|
708 | 713 |
txtLayerName.setText(layerNode.getTitle()); |
709 | 714 |
fillLayers(layerNode); |
710 | 715 |
fillFormats(formats); |
... | ... | |
884 | 889 |
boolean leaf, int row, boolean hasFocus) { |
885 | 890 |
Component comp = super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); |
886 | 891 |
String text; |
887 |
if (value instanceof LayerNode) { |
|
888 |
LayerNode layerNode = (LayerNode) value;
|
|
892 |
if (value instanceof WMSLayerNode) {
|
|
893 |
WMSLayerNode layerNode = (WMSLayerNode) value;
|
|
889 | 894 |
if (!chkShowLayerNames.isSelected()) { |
890 | 895 |
text = layerNode.getTitle(); |
891 | 896 |
} else { |
... | ... | |
902 | 907 |
|
903 | 908 |
public void mouseClicked(MouseEvent e) { |
904 | 909 |
if (e.getClickCount() == 1) { |
905 |
LayerNode node = (LayerNode) treeLayersSelector.getLastSelectedPathComponent();
|
|
910 |
WMSLayerNode node = (WMSLayerNode) treeLayersSelector.getLastSelectedPathComponent();
|
|
906 | 911 |
btnAddLayer.setEnabled(node != null && node.isLeaf()); |
907 | 912 |
} else if (e.getClickCount() == 2) { |
908 |
LayerNode node = |
|
909 |
(LayerNode) treeLayersSelector.getLastSelectedPathComponent(); |
|
913 |
WMSLayerNode node =
|
|
914 |
(WMSLayerNode) treeLayersSelector.getLastSelectedPathComponent();
|
|
910 | 915 |
if (node == null) |
911 | 916 |
return; |
912 | 917 |
if (node.isLeaf()) { |
... | ... | |
919 | 924 |
} |
920 | 925 |
|
921 | 926 |
protected void doSelectLayer(Object selected) { |
922 |
if (selected instanceof LayerNode) { |
|
923 |
LayerNode node = (LayerNode) selected;
|
|
927 |
if (selected instanceof WMSLayerNode) {
|
|
928 |
WMSLayerNode node = (WMSLayerNode) selected;
|
|
924 | 929 |
if (selectedLayers.contains(node)) { |
925 | 930 |
return; |
926 | 931 |
} |
... | ... | |
982 | 987 |
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, |
983 | 988 |
boolean hasFocus, int row, int column) { |
984 | 989 |
|
985 |
if (value instanceof LayerNode) { |
|
986 |
LayerNode node = (LayerNode) value;
|
|
990 |
if (value instanceof WMSLayerNode) {
|
|
991 |
WMSLayerNode node = (WMSLayerNode) value;
|
|
987 | 992 |
String text = ""; |
988 | 993 |
if (!chkShowLayerNames.isSelected()) { |
989 | 994 |
text = node.getTitle(); |
... | ... | |
1008 | 1013 |
private void updateTblLayers() { |
1009 | 1014 |
DefaultTableModel model = (DefaultTableModel) tblLayers.getModel(); |
1010 | 1015 |
model.setRowCount(0); |
1011 |
for (Iterator<LayerNode> iterator = selectedLayers.iterator(); iterator.hasNext();) { |
|
1012 |
LayerNode row[] = { iterator.next() }; // .getLayer()}; |
|
1016 |
for (Iterator<WMSLayerNode> iterator = selectedLayers.iterator(); iterator.hasNext();) {
|
|
1017 |
WMSLayerNode row[] = { iterator.next() }; // .getLayer()};
|
|
1013 | 1018 |
model.addRow(row); |
1014 | 1019 |
} |
1015 | 1020 |
updateTblProjections(); |
... | ... | |
1126 | 1131 |
JPanel leafComponent = new JPanel(); |
1127 | 1132 |
leafComponent.setBackground(Color.WHITE); |
1128 | 1133 |
JRadioButton leafRadioButton = |
1129 |
new JRadioButton("", ((StyleTreeModel) treeStyles.getModel()).isSelected((Style) value));
|
|
1134 |
new JRadioButton("", ((StyleTreeModel) treeStyles.getModel()).isSelected((WMSStyleData) value));
|
|
1130 | 1135 |
|
1131 | 1136 |
leafRadioButton.setBackground(Color.WHITE); |
1132 | 1137 |
leafComponent.add(leafRadioButton); |
1133 |
leafComponent.add(new JLabel(((Style) value).getTitle()));
|
|
1138 |
leafComponent.add(new JLabel(((WMSStyleData) value).getTitle()));
|
|
1134 | 1139 |
return leafComponent; |
1135 | 1140 |
} else { |
1136 | 1141 |
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus); |
1137 |
if (value instanceof LayerNode) { |
|
1138 |
LayerNode layerNode = (LayerNode) value;
|
|
1142 |
if (value instanceof WMSLayerNode) {
|
|
1143 |
WMSLayerNode layerNode = (WMSLayerNode) value;
|
|
1139 | 1144 |
String text = ""; |
1140 | 1145 |
if (layerNode != null) { |
1141 | 1146 |
if (!chkShowLayerNames.isSelected()) { |
... | ... | |
1168 | 1173 |
tabWMS.setEnabledAt(TAB_STYLES_INDEX, size > 0); |
1169 | 1174 |
|
1170 | 1175 |
StyleTreeModel model = new StyleTreeModel(selectedLayers); |
1171 |
Iterator<LayerNode> it = selectedLayers.iterator(); |
|
1176 |
Iterator<WMSLayerNode> it = selectedLayers.iterator();
|
|
1172 | 1177 |
|
1173 | 1178 |
treeStyles.setModel(model); |
1174 | 1179 |
expandAllNodes(treeStyles); |
... | ... | |
1186 | 1191 |
|
1187 | 1192 |
class StyleTreeModel implements TreeModel { |
1188 | 1193 |
|
1189 |
List<LayerNode> layerNodes; |
|
1194 |
List<WMSLayerNode> layerNodes;
|
|
1190 | 1195 |
|
1191 |
public StyleTreeModel(List<LayerNode> layerNodes) { |
|
1196 |
public StyleTreeModel(List<WMSLayerNode> layerNodes) {
|
|
1192 | 1197 |
this.layerNodes = layerNodes; |
1193 | 1198 |
} |
1194 | 1199 |
|
1195 | 1200 |
/** |
1196 | 1201 |
* Will return true if this style is selected. |
1197 | 1202 |
* |
1198 |
* @param style
|
|
1203 |
* @param WMSStyle
|
|
1199 | 1204 |
* @return |
1200 | 1205 |
*/ |
1201 |
public boolean isSelected(Style style) {
|
|
1202 |
Iterator<LayerNode> it = layerNodes.iterator(); |
|
1206 |
public boolean isSelected(WMSStyleData WMSStyle) {
|
|
1207 |
Iterator<WMSLayerNode> it = layerNodes.iterator();
|
|
1203 | 1208 |
while (it.hasNext()) { |
1204 |
LayerNode node = (LayerNode) it.next();
|
|
1205 |
if (node.getSelectedStyle().equals(style)) {
|
|
1209 |
WMSLayerNode node = (WMSLayerNode) it.next();
|
|
1210 |
if (node.getSelectedStyle().equals(WMSStyle)) {
|
|
1206 | 1211 |
return true; |
1207 | 1212 |
} |
1208 | 1213 |
} |
... | ... | |
1218 | 1223 |
*/ |
1219 | 1224 |
public List<String> getStyleSelectionTitles() { |
1220 | 1225 |
List<String> styles = new ArrayList<String>(); |
1221 |
for (LayerNode layerNode : layerNodes) { |
|
1222 |
Style sty = layerNode.getSelectedStyle();
|
|
1226 |
for (WMSLayerNode layerNode : layerNodes) {
|
|
1227 |
WMSStyleData sty = layerNode.getSelectedStyle();
|
|
1223 | 1228 |
if (sty == null) { |
1224 | 1229 |
styles.add(""); |
1225 | 1230 |
} else { |
... | ... | |
1242 | 1247 |
*/ |
1243 | 1248 |
public void setStylesSelection(List<String> styleNames) { |
1244 | 1249 |
for (int i = 0; i < layerNodes.size(); i++) { |
1245 |
LayerNode layerNode = (LayerNode) layerNodes.get(i);
|
|
1246 |
List<Style> styles = layerNode.getStyles();
|
|
1250 |
WMSLayerNode layerNode = (WMSLayerNode) layerNodes.get(i);
|
|
1251 |
List<WMSStyleData> styles = layerNode.getStyles();
|
|
1247 | 1252 |
for (int j = 0; j < styles.size(); j++) { |
1248 |
Style sty = (Style) styles.get(j);
|
|
1253 |
WMSStyleData sty = (WMSStyleData) styles.get(j);
|
|
1249 | 1254 |
if (sty.getName().equals((String) styleNames.get(i))) { |
1250 | 1255 |
layerNode.setSelectedStyleIndex(j); |
1251 | 1256 |
break; |
... | ... | |
1265 | 1270 |
Object[] objects = selectionPath.getPath(); |
1266 | 1271 |
Object item = objects[objects.length - 1]; |
1267 | 1272 |
if (isLeaf(item)) { |
1268 |
Style style = (Style) item;
|
|
1269 |
LayerNode layerNode = (LayerNode) selectionPath.getParentPath().getLastPathComponent();
|
|
1270 |
List<Style> styles = layerNode.getStyles();
|
|
1273 |
WMSStyleData style = (WMSStyleData) item;
|
|
1274 |
WMSLayerNode layerNode = (WMSLayerNode) selectionPath.getParentPath().getLastPathComponent();
|
|
1275 |
List<WMSStyleData> styles = layerNode.getStyles();
|
|
1271 | 1276 |
for (int i = 0; i < styles.size(); i++) { |
1272 |
Style sty = (Style) styles.get(i);
|
|
1277 |
WMSStyleData sty = (WMSStyleData) styles.get(i);
|
|
1273 | 1278 |
if (sty.getName().equals(style.getName())) { |
1274 | 1279 |
layerNode.setSelectedStyleIndex(i); |
1275 | 1280 |
return; |
... | ... | |
1299 | 1304 |
if (parent.equals(getRoot())) { |
1300 | 1305 |
count = layerNodes.size(); |
1301 | 1306 |
} else { |
1302 |
count = ((LayerNode) parent).getStyles().size(); |
|
1307 |
count = ((WMSLayerNode) parent).getStyles().size();
|
|
1303 | 1308 |
} |
1304 | 1309 |
return count; |
1305 | 1310 |
} |
... | ... | |
1310 | 1315 |
* @see javax.swing.tree.TreeModel#isLeaf(java.lang.Object) |
1311 | 1316 |
*/ |
1312 | 1317 |
public boolean isLeaf(Object node) { |
1313 |
return (node instanceof Style);
|
|
1318 |
return (node instanceof WMSStyleData);
|
|
1314 | 1319 |
} |
1315 | 1320 |
|
1316 | 1321 |
/* |
... | ... | |
1319 | 1324 |
* @see javax.swing.tree.TreeModel#getChild(java.lang.Object, int) |
1320 | 1325 |
*/ |
1321 | 1326 |
public Object getChild(Object parent, int index) { |
1322 |
if (parent instanceof Style)
|
|
1327 |
if (parent instanceof WMSStyleData)
|
|
1323 | 1328 |
return null; |
1324 | 1329 |
if (parent.equals(getRoot())) |
1325 | 1330 |
return layerNodes.get(index); |
1326 | 1331 |
|
1327 |
return ((LayerNode) parent).getStyles().get(index); |
|
1332 |
return ((WMSLayerNode) parent).getStyles().get(index);
|
|
1328 | 1333 |
} |
1329 | 1334 |
|
1330 | 1335 |
/* |
... | ... | |
1334 | 1339 |
* java.lang.Object) |
1335 | 1340 |
*/ |
1336 | 1341 |
public int getIndexOfChild(Object parent, Object child) { |
1337 |
if (parent instanceof Style) {
|
|
1342 |
if (parent instanceof WMSStyleData) {
|
|
1338 | 1343 |
return -1; |
1339 | 1344 |
} |
1340 | 1345 |
|
... | ... | |
1345 | 1350 |
} |
1346 | 1351 |
} |
1347 | 1352 |
} else { |
1348 |
LayerNode node = (LayerNode)parent;
|
|
1353 |
WMSLayerNode node = (WMSLayerNode)parent;
|
|
1349 | 1354 |
for (int i = 0; i < node.getStyles().size(); i++) { |
1350 | 1355 |
if (node.getStyles().get(i).equals(child)) { |
1351 | 1356 |
return i; |
... | ... | |
1461 | 1466 |
DataStoreProviderFactory factory = manager.getStoreProviderFactory("WMS"); |
1462 | 1467 |
WMSRasterProviderParameters providerParameters = (WMSRasterProviderParameters) factory.createParameters(); |
1463 | 1468 |
List<String> layers = new ArrayList(selectedLayers.size()); |
1464 |
for (Iterator<LayerNode> iterator = selectedLayers.iterator(); iterator.hasNext();) { |
|
1465 |
LayerNode layer = iterator.next(); |
|
1469 |
for (Iterator<WMSLayerNode> iterator = selectedLayers.iterator(); iterator.hasNext();) {
|
|
1470 |
WMSLayerNode layer = iterator.next();
|
|
1466 | 1471 |
layers.add(layer.getName()); |
1467 | 1472 |
} |
1468 | 1473 |
|
... | ... | |
1481 | 1486 |
} |
1482 | 1487 |
|
1483 | 1488 |
|
1484 |
private WMSRasterProviderParameters getProviderParameters(LayerNode layer) { |
|
1489 |
private WMSRasterProviderParameters getProviderParameters(WMSLayerNode layer) {
|
|
1485 | 1490 |
DataManager manager = DALLocator.getDataManager(); |
1486 | 1491 |
DataStoreProviderFactory factory = manager.getStoreProviderFactory("WMS"); |
1487 | 1492 |
WMSRasterProviderParameters providerParameters = (WMSRasterProviderParameters) factory.createParameters(); |
... | ... | |
1504 | 1509 |
|
1505 | 1510 |
private List<String> getStyles() { |
1506 | 1511 |
List<String> styles = new ArrayList<>(); |
1507 |
Iterator<LayerNode> it = selectedLayers.iterator(); |
|
1512 |
Iterator<WMSLayerNode> it = selectedLayers.iterator();
|
|
1508 | 1513 |
while (it.hasNext()) { |
1509 |
LayerNode layerNode = (LayerNode) it.next();
|
|
1510 |
Style selectedStyle = layerNode.getSelectedStyle();
|
|
1514 |
WMSLayerNode layerNode = (WMSLayerNode) it.next();
|
|
1515 |
WMSStyleData selectedStyle = layerNode.getSelectedStyle();
|
|
1511 | 1516 |
if(selectedStyle==null){ |
1512 | 1517 |
styles.add(""); |
1513 | 1518 |
} else { |
... | ... | |
1524 | 1529 |
private void doRemoveRow(int selectedRow) { |
1525 | 1530 |
DefaultTableModel model = (DefaultTableModel) tblLayers.getModel(); |
1526 | 1531 |
// WMSLayer layer = (WMSLayer)model.getValueAt(selectedRow, 0); |
1527 |
LayerNode layerNode = selectedLayers.get(selectedRow); |
|
1532 |
WMSLayerNode layerNode = selectedLayers.get(selectedRow);
|
|
1528 | 1533 |
selectedLayers.remove(layerNode); // new LayerNode(layer)); |
1529 | 1534 |
updateTblLayers(); |
1530 | 1535 |
} |
Also available in: Unified diff