Revision 8692

View differences:

org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.provider/src/main/java/org/gvsig/wms/provider/WMSLayerNode.java
24 24

  
25 25
import java.util.List;
26 26

  
27
import org.gvsig.tools.util.Invocable;
27 28

  
29

  
28 30
/**
29 31
 * @author fdiaz
30 32
 *
31 33
 */
32
public interface WMSLayerNode extends OpenDataStoreParametersTreeNode {
34
public interface WMSLayerNode extends OpenDataStoreParametersTreeNode{
33 35

  
34 36
    /**
35 37
     * @return the selectedStyle
......
63 65
     */
64 66
    public String getTitle();
65 67

  
68
    public void setTitle(String title);
66 69

  
70
    /**
71
     * @return
72
     */
73
    public List<WMSRasterProviderParameters> getAllChildren();
74

  
75
    public void removeEmptyFolders();
76

  
77
    public void removeChild(WMSLayerNode child);
78

  
79
    /**
80
     * Call filter passing as parameter a WMSLayerNode and
81
     * Se llama al m?todo call del filter y si este devuelve true se elimina el nodo
82
     *
83
     * @param filter
84
     */
85
    public void removeChildren(Invocable filter);
86

  
87

  
67 88
}
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.provider/src/main/java/org/gvsig/wms/provider/DefaultWMSLayerNode.java
22 22
 */
23 23
package org.gvsig.wms.provider;
24 24

  
25
import java.net.URL;
25 26
import java.util.ArrayList;
26 27
import java.util.Collections;
27 28
import java.util.Enumeration;
28 29
import java.util.Iterator;
29 30
import java.util.List;
31
import java.util.Vector;
30 32

  
31 33
import javax.swing.tree.TreeNode;
32 34

  
33 35
import org.apache.commons.lang3.StringUtils;
36
import org.cresques.cts.IProjection;
37
import org.slf4j.Logger;
38
import org.slf4j.LoggerFactory;
34 39

  
40
import org.gvsig.fmap.crs.CRSFactory;
35 41
import org.gvsig.fmap.dal.OpenDataStoreParameters;
42
import org.gvsig.remoteclient.wms.WMSClient;
36 43
import org.gvsig.remoteclient.wms.WMSLayer;
37 44
import org.gvsig.remoteclient.wms.WMSStyle;
45
import org.gvsig.tools.util.Invocable;
38 46

  
39 47

  
40 48
/**
......
43 51
 */
44 52
public class DefaultWMSLayerNode implements WMSLayerNode {
45 53

  
54
    private static final Logger logger =
55
        LoggerFactory.getLogger(DefaultWMSLayerNode.class);
56

  
46 57
    private TreeNode parent;
47
    private List<WMSLayerNode> children;
58
    private List<WMSLayerNode> children = null;
48 59
    private List<WMSStyleData> styles;
49 60
    private int selectedStyleIndex = -1;
50 61
    private String name;
51 62
    private String title;
63
    private WMSLayer sourceLayer;
64
    private WMSClient wmsClient;
65
    private URL service;
52 66

  
67
    private WMSRasterProviderParameters parameters;
68

  
53 69
    /**
54 70
     * @param layer
55 71
     * @param parent
72
     * @param wmsClient
73
     * @param service
56 74
     *
57 75
     */
58
    public DefaultWMSLayerNode(WMSLayer layer, TreeNode parent) {
59
        this.name = layer.getName();
60
        this.title = layer.getTitle();
76
    public DefaultWMSLayerNode(WMSLayer layer, TreeNode parent, WMSClient wmsClient, URL service) {
77
        this.sourceLayer = layer;
78
        this.wmsClient = wmsClient;
79
        this.service = service;
80
        this.name = this.sourceLayer.getName();
81
        this.title = this.sourceLayer.getTitle();
61 82
        this.parent = parent;
62 83
        setSelectedStyleIndex(-1);
63
        ArrayList<WMSStyle> layerStyles = layer.getStyles();
84
        ArrayList<WMSStyle> layerStyles = this.sourceLayer.getStyles();
64 85
        styles = new ArrayList<>(layerStyles.size());
65 86
        for (Iterator<WMSStyle> iterator = layerStyles.iterator(); iterator.hasNext();) {
66 87
            WMSStyle wmsStyle = iterator.next();
......
69 90
        if(layerStyles.size()>0){
70 91
            setSelectedStyleIndex(0);
71 92
        }
93
    }
72 94

  
73
        ArrayList<WMSLayer> layerChildren = layer.getChildren();
74
        children = new ArrayList<>(layerChildren.size());
75
        for (Iterator<WMSLayer> iterator = layerChildren.iterator(); iterator.hasNext();) {
76
            WMSLayer wmsLayer = iterator.next();
77
            children.add(new DefaultWMSLayerNode(wmsLayer, this));
95
    /**
96
     * @return the children
97
     */
98
    public List<WMSLayerNode> getChildren() {
99
        if (children == null) {
100
            ArrayList<WMSLayer> layerChildren = this.sourceLayer.getChildren();
101
            children = new ArrayList<>(layerChildren.size());
102
            for (Iterator<WMSLayer> iterator = layerChildren.iterator(); iterator.hasNext();) {
103
                WMSLayer wmsLayer = iterator.next();
104
                children.add(new DefaultWMSLayerNode(wmsLayer, this, wmsClient, service));
105
            }
78 106
        }
107
        return children;
79 108
    }
80 109

  
81 110
    @Override
82 111
    public TreeNode getChildAt(int childIndex) {
83
        return children.get(childIndex);
112
        return getChildren().get(childIndex);
84 113
    }
85 114

  
86 115
    @Override
87 116
    public int getChildCount() {
88
        return children.size();
117
        return getChildren().size();
89 118
    }
90 119

  
91 120
    @Override
......
95 124

  
96 125
    @Override
97 126
    public int getIndex(TreeNode node) {
98
        for(int i =0; i<children.size(); i++){
99
            if(children.get(i).equals(node)){
127
        for(int i =0; i<getChildren().size(); i++){
128
            if(getChildren().get(i).equals(node)){
100 129
                return i;
101 130
            }
102 131
        }
......
105 134

  
106 135
    @Override
107 136
    public boolean getAllowsChildren() {
108
        return (children.size() > 0);
137
        return (this.sourceLayer.getChildren().size() > 0);
109 138
    }
110 139

  
111 140
    @Override
112 141
    public boolean isLeaf() {
113
        return (children.size() == 0);
142
        return (this.sourceLayer.getChildren().size() == 0);
114 143
    }
115 144

  
116 145
    @Override
117 146
    public Enumeration children() {
118
        return Collections.enumeration(children);
147
        return Collections.enumeration(getChildren());
119 148
    }
120 149

  
121 150
    @Override
......
169 198

  
170 199
    @Override
171 200
    public OpenDataStoreParameters getParameters() {
201

  
202
        if (this.parameters == null) {
203
            this.parameters = new WMSRasterProviderParameters();
204
            this.parameters.setService(this.service);
205
            List<String> paramLayers = new ArrayList<String>();
206
            paramLayers.add(this.sourceLayer.getName());
207
            this.parameters.setLayers(paramLayers);
208

  
209
            @SuppressWarnings("unchecked")
210
            ArrayList<WMSStyle> styles = this.sourceLayer.getStyles();
211
            if (styles != null && styles.size() > 0) {
212
                List<String> paramStyles = new ArrayList<String>();
213
                paramStyles.add(((WMSStyle) (styles.get(0))).getName());
214
                this.parameters.setStyles(paramStyles);
215
            }
216

  
217
            @SuppressWarnings("unchecked")
218
            Vector<String> formats = wmsClient.getFormats();
219
            if (formats != null && formats.size() > 0) {
220
                this.parameters.setFormat((String) (formats.get(0)));
221
            }
222

  
223
            @SuppressWarnings("unchecked")
224
            Vector<String> infoFormats = wmsClient.getInfoFormats();
225
            if (infoFormats != null && infoFormats.size() > 0) {
226
                this.parameters.setInfoFormat((String) infoFormats.get(0));
227
            }
228

  
229
            @SuppressWarnings("unchecked")
230
            Vector<String> allSrs = this.sourceLayer.getAllSrs();
231
            if (allSrs != null && allSrs.size() > 0) {
232
                int i = 0;
233
                while (i < allSrs.size()) {
234
                    String srs = allSrs.get(i);
235
                    if (isValidSrs(srs)) {
236
                        this.parameters.setCRS(srs);
237
                        break;
238
                    }
239
                    i++;
240
                }
241
                if (i >= allSrs.size()) {
242
                    throw new IllegalArgumentException("The server '" + service.getHost()
243
                        + "' does not provide any valid srs.'");
244
                }
245
            }
246
        }
247
        return this.parameters;
248
    }
249

  
250
    private boolean isValidSrs(String srs){
251
        try{
252
            IProjection crs=CRSFactory.getCRS(srs);
253
            if(crs!=null){
254
                return true;
255
            }
256
        }catch(Exception e){
257
            logger.info("Can't get crs from: '"+srs+"' code", e);
258
            return false;
259
        }
260
        return false;
261
    }
262

  
263

  
264
    @Override
265
    public List<WMSRasterProviderParameters> getAllChildren() {
172 266
        // TODO Auto-generated method stub
173 267
        return null;
174 268
    }
175 269

  
270
    @Override
271
    public void removeEmptyFolders() {
272
        for(int i=getChildCount()-1; i>=0; i--){
273
            WMSLayerNode child = (WMSLayerNode) getChildAt(i);
274
            if(!child.isLeaf()) {
275
                child.removeEmptyFolders();
276
                if(child.getChildCount()==0){
277
                    removeChild(child);
278
                }
279
            }
280
        }
281
    }
176 282

  
283
    @Override
284
    public void removeChild(WMSLayerNode child) {
285
        getChildren().remove(child);
286
    }
287

  
288
    @Override
289
    public void removeChildren(Invocable filter) {
290
        for(int i=getChildCount()-1; i>=0; i--){
291
            WMSLayerNode child = (WMSLayerNode) getChildAt(i);
292
            if(child.isLeaf()){
293
                if ((Boolean)filter.call(child)){
294
                    removeChild(child);
295
                }
296
            } else {
297
                child.removeChildren(filter);
298
            }
299
        }
300
    }
301

  
302
    @Override
303
    public boolean equals(Object obj) {
304
        if(obj instanceof DefaultWMSLayerNode){
305
            DefaultWMSLayerNode other = ((DefaultWMSLayerNode)obj);
306
            return other.sourceLayer.equals(this.sourceLayer);
307
        }
308
        return false;
309
    }
310

  
311
    @Override
312
    public void setTitle(String title) {
313
        this.title = title;
314
    }
315

  
177 316
}
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.provider/src/main/java/org/gvsig/wms/provider/WMSRasterServerExplorer.java
58 58
    public List<String> getSrss(WMSRasterProviderParameters params);
59 59

  
60 60
    /**
61
     * @return
61
     * @return root node of a WMSLayers tree
62 62
     */
63
    public TreeNode getTreeNode();
63
    public WMSLayerNode getListAsTree();
64 64

  
65 65
    /**
66
     * @return
66
     * @param clone Force create a new tree
67
     * @return root node of a WMSLayers tree
67 68
     */
69
    WMSLayerNode getListAsTree(boolean clone);
70

  
71
    /**
72
     * @return Service information
73
     */
68 74
    public String getInfoString();
69 75

  
76

  
70 77
}
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.provider/src/main/java/org/gvsig/wms/provider/DefaultWMSRasterServerExplorer.java
34 34
import java.util.TreeMap;
35 35
import java.util.Vector;
36 36

  
37
import javax.swing.tree.TreeNode;
38

  
39 37
import org.cresques.cts.IProjection;
40 38
import org.slf4j.Logger;
41 39
import org.slf4j.LoggerFactory;
......
77 75

  
78 76
    private WMSLayerNode layerNode = null;
79 77

  
78
    private WMSLayer rootLayer;
79

  
80 80
    protected DefaultWMSRasterServerExplorer(DataServerExplorerParameters parameters,
81 81
        DataServerExplorerProviderServices providerServices) throws InitializeException {
82 82
        super(parameters, providerServices);
......
212 212
     * @param params
213 213
     * @return formats
214 214
     */
215
    @Override
215 216
    @SuppressWarnings("unchecked")
216 217
    public List<String> getFormats(){
217 218
        return new ArrayList<String>(wmsClient.getFormats());
......
220 221
    /**
221 222
     * @return info formats
222 223
     */
224
    @Override
223 225
    @SuppressWarnings("unchecked")
224 226
    public List<String> getInfoFormats(){
225 227
        return new ArrayList<String>(wmsClient.getInfoFormats());
......
229 231
     * @param params
230 232
     * @return list of available srs for the params
231 233
     */
234
    @Override
232 235
    @SuppressWarnings("unchecked")
233 236
    public List<String> getSrss(WMSRasterProviderParameters params){
234 237
        List<String> layers = params.getLayers();
......
260 263
        return false;
261 264
    }
262 265

  
263
    public TreeNode getTreeNode(){
264
        if(layerNode == null) {
265
            layerNode = new DefaultWMSLayerNode(this.wmsClient.getRootLayer(), null);
266
    @Override
267
    public WMSLayerNode getListAsTree(){
268
        return getListAsTree(false);
269
    }
270

  
271
    @Override
272
    public WMSLayerNode getListAsTree(boolean clone) {
273
        if (clone) {
274
            DefaultWMSLayerNode cloned = new DefaultWMSLayerNode(getRooLayer(), null, wmsClient, service);
275
            return cloned;
276
        } else {
277
            if (layerNode == null) {
278
                layerNode = new DefaultWMSLayerNode(getRooLayer(), null, wmsClient, service);
279
            }
280
            return this.layerNode;
266 281
        }
267
        return layerNode;
268 282
    }
269 283

  
284
    private WMSLayer getRooLayer() {
285
        if(rootLayer == null) {
286
            rootLayer = this.wmsClient.getRootLayer();
287
        }
288
        return rootLayer;
289
    }
290

  
291
    @Override
270 292
    public String getInfoString(){
271 293
        I18nManager i18nManager = ToolsLocator.getI18nManager();
272 294

  
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.app/org.gvsig.wms.app.mainplugin/src/main/resources-plugin/i18n/text.properties
2 2
#Translations for language [es]
3 3
#Tue May 12 10:57:39 CEST 2009
4 4

  
5
_add = A\u00F1adir
6

  
7
_add_layer = A\u00F1adir capa
8

  
9
_assumption_axis_order_xy = Asumir orden de ejes XY
10

  
11
_cancel = Cancelar
12

  
13
_clear = Limpiar
14

  
15
_connect = Conectar
16

  
17
_connection = Conexi\u00F3n
18

  
19
_dimensions = Dimensiones
20

  
21
_down_layer = Bajar capa
22

  
23
_first = Primero
24

  
25
_format = Formato
26

  
27
_formats = Formatos
28

  
29
_information = Informaci\u00F3n
30

  
31
_interval = Intervalo
32

  
33
_last = \u00DAltimo
34

  
35
_layer_name = Nombre de la capa
36

  
37
_layers = Capas
38

  
39
_maintain_layers_struct = Mantener estructura de capas
40

  
41
_multiple_value = Valor m\u00FAltiple
42

  
43
_next = Siguiente
44

  
45
_password = Contrase\u00F1a
46

  
47
_previous = Previo
48

  
49
_refresh_local_tile_cache = Refrescar la cach\u00E9 de teselas local
50

  
51
_refresh_service_cache = Refrescar cach\u00E9 del servicio
52

  
53
_remove_layer = Quitar capa
54

  
55
_select_crs = Seleccione proyecci\u00F3n
56

  
57
_select_format = Seleccione formato
58

  
59
_select_info_format = Seleccione formato para la informaci\u00F3n
60

  
61
_select_layers = Seleccione capas
62

  
63
_server = Servidor
64

  
65
_server_connection_string = Cadena de conexi\u00F3n al servidor
66

  
67
_server_sumary = Resumen
68

  
69
_server_title = T\u00EDtulo
70

  
71
_server_type = Tipo de servidor
72

  
73
_service_information = Informaci\u00F3n del servicio
74

  
75
_set = Establecer
76

  
77
_setting = Ajuste
78

  
79
_settings = Ajustes
80

  
81
_settings_editor = Editor de ajustes
82

  
83
_show_layer_names = Mostrar nombres de capas
84

  
85
_simple_value = Valor simple
86

  
87
_styles = Estilos
88

  
5
_add                       = A\u00F1adir
6
_add_layer                 = A\u00F1adir capa
7
_assumption_axis_order_xy  = Asumir orden de ejes XY
8
_cancel                    = Cancelar
9
_clear                     = Limpiar
10
_connect                   = Conectar
11
_connection                = Conexi\u00F3n
12
_dimensions                = Dimensiones
13
_down_layer                = Bajar capa
14
_first                     = Primero
15
_format                    = Formato
16
_formats                   = Formatos
17
_information               = Informaci\u00F3n
18
_interval                  = Intervalo
19
_last                      = \u00DAltimo
20
_layer_name                = Nombre de la capa
21
_layer_name_in_toc         = Nombre de la capa en el TOC de la vista
22
_layers                    = Capas
23
_maintain_layers_struct    = Mantener estructura de capas
24
_multiple_value            = Valor m\u00FAltiple
25
_next                      = Siguiente
26
_password                  = Contrase\u00F1a
27
_previous                  = Previo
28
_refresh_local_tile_cache  = Refrescar la cach\u00E9 de teselas local
29
_refresh_service_cache     = Refrescar cach\u00E9 del servicio
30
_remove_layer              = Quitar capa
31
_select_crs                = Seleccione proyecci\u00F3n
32
_select_format             = Seleccione formato
33
_select_info_format        = Seleccione formato para la informaci\u00F3n
34
_select_layers             = Seleccione capas
35
_selected_layers           = Capas seleccionadas
36
_server                    = Servidor
37
_server_connection_string  = Cadena de conexi\u00F3n al servidor
38
_server_sumary             = Resumen
39
_server_title              = T\u00EDtulo
40
_server_type               = Tipo de servidor
41
_service_information       = Informaci\u00F3n del servicio
42
_set                       = Establecer
43
_setting                   = Ajuste
44
_settings                  = Ajustes
45
_settings_editor           = Editor de ajustes
46
_show_layer_names          = Mostrar nombres de capas
47
_simple_value              = Valor simple
48
_styles                    = Estilos
89 49
_try_connect_to_the_server = Iniciar conexi\u00F3n con el servidor
90

  
91
_up_layer = Subir capa
92

  
93
_use_local_tile_cache = Uso de cach\u00E9 de teselas local
94

  
95
_user = Usuario
96

  
97
_value = Valor
50
_up_layer                  = Subir capa
51
_use_local_tile_cache      = Uso de cach\u00E9 de teselas local
52
_user                      = Usuario
53
_value                     = Valor
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.app/org.gvsig.wms.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
2 2
#Translations for language [en]
3 3
#Tue May 12 10:57:38 CEST 2009
4 4

  
5
_add = Add
6

  
7
_add_layer = Add layer
8

  
9
_assumption_axis_order_xy = Assumption XY axis order
10

  
11
_cancel = Cancel
12

  
13
_clear = Clear
14

  
15
_connect = Connect
16

  
17
_connection = Connection
18

  
19
_dimensions = Dimensions
20

  
21
_down_layer = Down layer
22

  
23
_first = first
24

  
25
_format = Format
26

  
27
_formats = Formats
28

  
29
_information = Information
30

  
31
_interval = Intervalo
32

  
33
_last = Last
34

  
35
_layer_name = Layer name
36

  
37
_layers = Layers
38

  
39
_maintain_layers_struct = Maintain layers struct
40

  
41
_multiple_value = Multiple value
42

  
43
_next = Next
44

  
45
_password = Password
46

  
47
_previous = Previous
48

  
49
_refresh_local_tile_cache = Refresh local tile cache
50

  
51
_refresh_service_cache = Refresh service cache
52

  
53
_remove_layer = Remove layer
54

  
55
_select_crs = Select projection
56

  
57
_select_format = Select information format
58

  
59
_select_layers = Select layers
60

  
61
_server = Server
62

  
63
_server_connection_string = Server connection string
64

  
65
_server_sumary = umary
66

  
67
_server_title = Server title
68

  
69
_server_type = Server type
70

  
71
_service_information = Service information
72

  
73
_set = Set
74

  
75
_setting = Setting
76

  
77
_settings = Settings
78

  
79
_settings_editor = Settings editor
80

  
81
_show_layer_names = Show layer names
82

  
83
_simple_value = Simple value
84

  
85
_styles = Styles
86

  
5
_add                       = Add
6
_add_layer                 = Add layer
7
_assumption_axis_order_xy  = Assumption XY axis order
8
_cancel                    = Cancel
9
_clear                     = Clear
10
_connect                   = Connect
11
_connection                = Connection
12
_dimensions                = Dimensions
13
_down_layer                = Down layer
14
_first                     = first
15
_format                    = Format
16
_formats                   = Formats
17
_information               = Information
18
_interval                  = Intervalo
19
_last                      = Last
20
_layer_name                = Layer name
21
_layer_name_in_toc         = Layer name in view's TOC
22
_layers                    = Layers
23
_maintain_layers_struct    = Maintain layers struct
24
_multiple_value            = Multiple value
25
_next                      = Next
26
_password                  = Password
27
_previous                  = Previous
28
_refresh_local_tile_cache  = Refresh local tile cache
29
_refresh_service_cache     = Refresh service cache
30
_remove_layer              = Remove layer
31
_select_crs                = Select projection
32
_select_format             = Select information format
33
_select_layers             = Select layers
34
_selected_layers           = Selected layers
35
_server                    = Server
36
_server_connection_string  = Server connection string
37
_server_sumary             = umary
38
_server_title              = Server title
39
_server_type               = Server type
40
_service_information       = Service information
41
_set                       = Set
42
_setting                   = Setting
43
_settings                  = Settings
44
_settings_editor           = Settings editor
45
_show_layer_names          = Show layer names
46
_simple_value              = Simple value
47
_styles                    = Styles
87 48
_try_connect_to_the_server = Try connect to the server
88

  
89
_up_layer = Up layer
90

  
91
_use_local_tile_cache = Use local tile cache
92

  
93
_user = User
94

  
95
_value = Value
49
_up_layer                  = Up layer
50
_use_local_tile_cache      = Use local tile cache
51
_user                      = User
52
_value                     = Value
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.app/org.gvsig.wms.app.mainplugin/src/main/java/org/gvsig/wms/app/mainplugin/WMSAddLayerPanel.java
23 23
package org.gvsig.wms.app.mainplugin;
24 24

  
25 25
import java.awt.BorderLayout;
26
import java.util.ArrayList;
27
import java.util.HashMap;
26
import java.io.File;
28 27
import java.util.List;
29
import java.util.Map;
30 28

  
31 29
import javax.swing.JOptionPane;
32 30

  
33 31
import org.slf4j.Logger;
34 32
import org.slf4j.LoggerFactory;
35 33

  
34
import org.gvsig.andami.Launcher;
36 35
import org.gvsig.app.ApplicationLocator;
37 36
import org.gvsig.app.ApplicationManager;
38 37
import org.gvsig.app.gui.WizardPanel;
......
41 40
import org.gvsig.fmap.dal.DataManager;
42 41
import org.gvsig.fmap.dal.DataStore;
43 42
import org.gvsig.fmap.dal.DataStoreParameters;
43
import org.gvsig.fmap.dal.exception.DataException;
44
import org.gvsig.fmap.dal.raster.api.RasterCache;
45
import org.gvsig.fmap.dal.raster.api.RasterStore;
44 46
import org.gvsig.fmap.mapcontext.MapContext;
45 47
import org.gvsig.fmap.mapcontext.MapContextLocator;
46 48
import org.gvsig.fmap.mapcontext.MapContextManager;
47 49
import org.gvsig.fmap.mapcontext.layers.FLayer;
48 50
import org.gvsig.fmap.mapcontext.layers.FLayers;
51
import org.gvsig.fmap.mapcontrol.MapControl;
49 52
import org.gvsig.tools.ToolsLocator;
50 53
import org.gvsig.tools.dispose.DisposeUtils;
54
import org.gvsig.tools.dynobject.DynObject;
51 55
import org.gvsig.tools.i18n.I18nManager;
52 56
import org.gvsig.tools.identitymanagement.UnauthorizedException;
53 57
import org.gvsig.tools.swing.api.ToolsSwingLocator;
54 58
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
59
import org.gvsig.wms.provider.WMSLayerNode;
60
import org.gvsig.wms.provider.WMSRasterProviderParameters;
55 61
import org.gvsig.wms.swing.api.WMSParametersPanel;
56
import org.gvsig.wms.swing.api.WMSParametersPanel.WMSParametersEntry;
57 62
import org.gvsig.wms.swing.api.WMSSwingLocator;
58 63

  
59 64
/**
......
88 93

  
89 94
        this.setLayout(new BorderLayout());
90 95
        panel = WMSSwingLocator.getManager().createWMSParametersPanel();
96

  
97
        if (this.getMapCtrl() == null) {
98
            throw new IllegalArgumentException("MapControl need");
99
        }
100
        MapContext mapContext = this.getMapContext();
101
        panel.setPreferredProjection(mapContext.getProjection());
102

  
103

  
91 104
        this.add(panel.asJComponent(), BorderLayout.CENTER);
92 105
    }
93 106

  
......
101 114
        if (this.getMapCtrl() == null) {
102 115
            throw new IllegalArgumentException("MapControl need");
103 116
        }
104
        MapContext mapContext = this.getMapContext();
105
        FLayers layerGroup = mapContext.getLayers();
106
        Map<WMSParametersEntry,FLayers> groups = new HashMap<>();
107
        groups.put(null, layerGroup);
117
        final MapContext mapContext = this.getMapContext();
108 118

  
109
        List<WMSParametersEntry> parametersList = this.panel.getParametersList();
110
        for (WMSParametersEntry params : parametersList) {
111
            layerGroup = groups.get(params.getParent());
112
            DataStoreParameters parameters = params.getParameters();
113
            if (parameters == null) {
114
                FLayers layers = new FLayers();
115
                layerGroup.add(layers);
116
                groups.put(params, layers);
117
                continue;
119
        final WMSLayerNode node = this.panel.getParameters();
120
        Thread task = new Thread(new Runnable() {
121

  
122
            @Override
123
            public void run() {
124
                FLayer layer = createLayersTree(mapContext, node);
125
                getMapCtrl().addLayer(layer);
126
                mapContext.invalidate();
118 127
            }
119
            this.doAddLayer(layerGroup, params.getName(), parameters);
128
        });
129
        task.start();
130
        logger.info("LayersTree added");
131

  
132
    }
133

  
134
    private FLayer createLayersTree(final MapContext mapContext, final WMSLayerNode node) {
135
        if (node.isLeaf()) {
136
            FLayer layer = createSingleLayer(node.getTitle(), node.getParameters());
137
            return layer;
138
        } else {
139
            FLayers group = mapContext.getNewGroupLayer(null);
140
            group.setName(node.getTitle());
141
            logger.info("addGroup('{}',...)", group.getName());
142
            for (int i = 0; i < node.getChildCount(); i++) {
143
                FLayer layer = createLayersTree(mapContext, (WMSLayerNode) node.getChildAt(i));
144
                group.addLayer(layer);
145
                DisposeUtils.disposeQuietly(layer);
146
            }
147
            return group;
120 148
        }
121 149
    }
122 150

  
123
    protected void doAddLayer(final FLayers layerGroup, final String layerName, final DataStoreParameters parameters) {
151
    private FLayer createSingleLayer(final String layerName, final DataStoreParameters parameters) {
124 152
        final MapContextManager manager = MapContextLocator.getMapContextManager();
125 153

  
126 154
        logger.info("addLayer('{}',...)", layerName);
127
        Thread task = new Thread(new Runnable() {
128 155

  
129
            @Override
130
            public void run() {
131
                FLayer layer = null;
132
                FLayer preparedLayer = null;
133
                try {
134
                    DataManager dataManager = DALLocator.getDataManager();
135
                    DataStore dataStore = dataManager.openStore(parameters.getDataStoreName(), parameters);
136
                    String layerName = dataStore.getName();
137
                    layer = manager.createLayer(layerName, dataStore);
138
                    DisposeUtils.disposeQuietly(dataStore);
139
                    layerGroup.add(layer);
140
                } catch (UnauthorizedException e) {
141
                    I18nManager i18nManager = ToolsLocator.getI18nManager();
142
                    ApplicationManager application = ApplicationLocator.getManager();
143
                    String resource = ""; //FIXME: coger el server de los parametros
144
                    application.messageDialog(
145
                        i18nManager.getTranslation("_User_0_is_not_authorized_to_1_on_resource_2_3", new String[] {
146
                            e.getIdentity().getID(), e.getActionName(), e.getResourceName(), resource }),
147
                        i18nManager.getTranslation("_Unauthorized_access"), JOptionPane.WARNING_MESSAGE);
148
                    logger.warn("Unauthorized access to layer '" + layerName + "'.", e);
156
        FLayer layer = null;
157
        try {
158
            DataManager dataManager = DALLocator.getDataManager();
159
            RasterStore store = (RasterStore) dataManager.openStore(parameters.getDataStoreName(), parameters);
149 160

  
150
                } catch (Exception e) {
151
                    LayerErrorsPanel panel = new LayerErrorsPanel(layerName, e);
152
                    panel.setLayer(layer);
161
            if (panel.isTiled()) {
162
                DynObject tileParameters = dataManager.createStoreParameters("TileCache");
153 163

  
154
                    I18nManager i18nManager = ToolsLocator.getI18nManager();
155
                    ToolsSwingLocator.getWindowManager().showWindow(panel,
156
                        i18nManager.getTranslation("_Problems_loading_the_layer"), WindowManager.MODE.WINDOW);
157
                    logger.warn("Can't load layer '" + layerName + "'.", e);
164
                File rootFolder = new File(Launcher.getAppHomeDir() + File.separator + "gvsig_rcache");
158 165

  
159
                } finally {
160
                    if (preparedLayer != layer) {
161
                        DisposeUtils.disposeQuietly(preparedLayer);
162
                    }
163
                    DisposeUtils.disposeQuietly(layer);
166
                if (tileParameters.getDynClass().getDynField("rootFolder") != null) {
167
                    tileParameters.setDynValue("rootFolder", rootFolder);
164 168
                }
169

  
170
                try {
171
                    store.useCache("TileCache", tileParameters);
172
                    RasterCache cache = store.getCache();
173
                    cache.deleteAll();
174
                } catch (DataException e) {
175
                    logger.warn("Can't cache the layer.", e);
176
                }
177

  
165 178
            }
166
        });
167
        task.start();
168 179

  
180
            layer = manager.createLayer(layerName, store);
181
            DisposeUtils.disposeQuietly(store);
182
            return layer;
183
        } catch (UnauthorizedException e) {
184
            I18nManager i18nManager = ToolsLocator.getI18nManager();
185
            ApplicationManager application = ApplicationLocator.getManager();
186
            String resource = ""; // FIXME: coger el server de los parametros
187
            application.messageDialog(
188
                i18nManager.getTranslation("_User_0_is_not_authorized_to_1_on_resource_2_3", new String[] {
189
                    e.getIdentity().getID(), e.getActionName(), e.getResourceName(), resource }),
190
                i18nManager.getTranslation("_Unauthorized_access"), JOptionPane.WARNING_MESSAGE);
191
            logger.warn("Unauthorized access to layer '" + layerName + "'.", e);
192
        } catch (Exception e) {
193
            LayerErrorsPanel panel = new LayerErrorsPanel(layerName, e);
194
            panel.setLayer(layer);
195

  
196
            I18nManager i18nManager = ToolsLocator.getI18nManager();
197
            ToolsSwingLocator.getWindowManager().showWindow(panel,
198
                i18nManager.getTranslation("_Problems_loading_the_layer"), WindowManager.MODE.WINDOW);
199
            logger.warn("Can't load layer '" + layerName + "'.", e);
200

  
201
        }
202
        return null;
203

  
169 204
    }
170 205

  
171 206
    /*
......
187 222

  
188 223
    @Override
189 224
    public DataStoreParameters[] getParameters() {
190
        List<DataStoreParameters> parametersList = new ArrayList<DataStoreParameters>();
191
        for (WMSParametersEntry params : this.panel.getParametersList()) {
192
            DataStoreParameters parameters = params.getParameters();
193
            if(params.getParent()!=null) {
194
                parametersList.add(parameters);
195
            }
196
        }
225

  
226
        List<WMSRasterProviderParameters> parametersList = this.panel.getParameters().getAllChildren();
197 227
        return parametersList.toArray(new DataStoreParameters[parametersList.size()]);
198 228
    }
199 229

  
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.app/org.gvsig.wms.app.mainplugin/src/main/java/org/gvsig/wms/app/mainplugin/WMSExtension.java
70 70

  
71 71
    void initializeIcons(){
72 72

  
73
        IconThemeHelper.registerIcon("layer", "layer-icon-wms", this);
73 74
        MapContextLocator.getMapContextManager().registerIconLayer(WMSRasterProvider.NAME, "layer-icon-wms");
74 75

  
75 76
        IconThemeHelper.registerIcon("wms", "add-layer-icon", this);
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/pom.xml
3 3
 <parent>
4 4
  <groupId>org.gvsig</groupId>
5 5
  <artifactId>org.gvsig.desktop</artifactId>
6
  <version>2.0.217</version>
6
  <version>2.0.218-SNAPSHOT</version>
7 7
 </parent>
8 8
  <artifactId>org.gvsig.wms</artifactId>
9 9
  <version>2.4.1-SNAPSHOT</version>
org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.wms/org.gvsig.wms.swing/org.gvsig.wms.swing.impl/src/main/java/org/gvsig/wms/swing/impl/DefaultWMSParametersPanelView.xml
109 109
                      </at>
110 110
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
111 111
                     </super>
112
                     <at name="id">embedded.1465199229</at>
112
                     <at name="id">embedded.102056977</at>
113 113
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
114 114
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
115 115
                     <at name="components">
......
159 159
                               </object>
160 160
                              </at>
161 161
                              <at name="name">lblInformation</at>
162
                              <at name="width">1008</at>
162
                              <at name="width">887</at>
163 163
                              <at name="text">_information</at>
164 164
                              <at name="fill">
165 165
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
221 221
                              </at>
222 222
                              <at name="actionCommand">_assumption_axis_order_xy</at>
223 223
                              <at name="name">chkAxisOrderXY</at>
224
                              <at name="width">1008</at>
224
                              <at name="width">887</at>
225 225
                              <at name="text">_assumption_axis_order_xy</at>
226 226
                              <at name="toolTipText">_assumption_axis_order_xy</at>
227 227
                              <at name="height">16</at>
......
278 278
                              </at>
279 279
                              <at name="actionCommand">JCheckBox</at>
280 280
                              <at name="name">chkLocalCache</at>
281
                              <at name="width">1008</at>
281
                              <at name="width">887</at>
282 282
                              <at name="text">_use_local_tile_cache</at>
283 283
                              <at name="toolTipText">_use_local_tile_cache</at>
284 284
                              <at name="height">16</at>
......
451 451
                              <at name="editable">true</at>
452 452
                              <at name="requestFocusEnabled">false</at>
453 453
                              <at name="name">cboServerList</at>
454
                              <at name="width">1008</at>
454
                              <at name="width">887</at>
455 455
                              <at name="items">
456 456
                               <object classname="com.jeta.forms.store.properties.ItemsProperty">
457 457
                                <at name="name">items</at>
......
511 511
                               </object>
512 512
                              </at>
513 513
                              <at name="name">lblServer</at>
514
                              <at name="width">1008</at>
514
                              <at name="width">887</at>
515 515
                              <at name="text">_server</at>
516 516
                              <at name="fill">
517 517
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
573 573
                              </at>
574 574
                              <at name="actionCommand">JCheckBox</at>
575 575
                              <at name="name">chkRefreshCache</at>
576
                              <at name="width">1008</at>
576
                              <at name="width">887</at>
577 577
                              <at name="text">_refresh_service_cache</at>
578 578
                              <at name="toolTipText">_refresh_service_cache</at>
579 579
                              <at name="height">16</at>
......
630 630
                              </at>
631 631
                              <at name="actionCommand">JCheckBox</at>
632 632
                              <at name="name">chkRefreshLocalCache</at>
633
                              <at name="width">1008</at>
633
                              <at name="width">887</at>
634 634
                              <at name="text">_refresh_local_tile_cache</at>
635 635
                              <at name="toolTipText">_refresh_local_tile_cache</at>
636 636
                              <at name="height">16</at>
......
685 685
                                </at>
686 686
                               </object>
687 687
                              </at>
688
                              <at name="selectionStart">1</at>
688 689
                              <at name="scrollableTracksViewportHeight">true</at>
689 690
                              <at name="scrollableTracksViewportWidth">true</at>
690 691
                              <at name="name">txtInformation</at>
691
                              <at name="width">1006</at>
692
                              <at name="width">885</at>
693
                              <at name="selectionEnd">1</at>
692 694
                              <at name="text">&lt;html&gt;
693 695
  &lt;head&gt;
694

  
696
    
695 697
  &lt;/head&gt;
696 698
  &lt;body&gt;
697
    &lt;p style=&quot;margin-top: 0&quot;&gt;
698

  
699
    &lt;/p&gt;
700 699
  &lt;/body&gt;
701 700
&lt;/html&gt;
702 701
</at>
......
706 705
                                <at name="name">scollBars</at>
707 706
                                <at name="verticalpolicy">20</at>
708 707
                                <at name="horizontalpolicy">30</at>
708
                                <at name="border">
709
                                 <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
710
                                  <super classname="com.jeta.forms.store.properties.BorderProperty">
711
                                   <at name="name">border</at>
712
                                  </super>
713
                                  <at name="borders">
714
                                   <object classname="java.util.LinkedList">
715
                                    <item >
716
                                     <at name="value">
717
                                      <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
718
                                       <super classname="com.jeta.forms.store.properties.BorderProperty">
719
                                        <at name="name">border</at>
720
                                       </super>
721
                                      </object>
722
                                     </at>
723
                                    </item>
724
                                   </object>
725
                                  </at>
726
                                 </object>
727
                                </at>
709 728
                               </object>
710 729
                              </at>
711
                              <at name="height">269</at>
730
                              <at name="height">224</at>
712 731
                             </object>
713 732
                            </at>
714 733
                           </object>
......
733 752
                           </at>
734 753
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
735 754
                          </super>
736
                          <at name="id">embedded.1559791944</at>
755
                          <at name="id">embedded.488795891</at>
737 756
                          <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
738 757
                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
739 758
                          <at name="components">
......
905 924
                                    </object>
906 925
                                   </at>
907 926
                                   <at name="name">txtUser</at>
908
                                   <at name="width">930</at>
927
                                   <at name="width">809</at>
909 928
                                   <at name="toolTipText">_user</at>
910 929
                                   <at name="height">20</at>
911 930
                                  </object>
......
960 979
                                    </object>
961 980
                                   </at>
962 981
                                   <at name="name">txtPassword</at>
963
                                   <at name="width">930</at>
982
                                   <at name="width">809</at>
964 983
                                   <at name="toolTipText">_password</at>
965 984
                                   <at name="height">20</at>
966 985
                                  </object>
......
1230 1249
                      </at>
1231 1250
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1232 1251
                     </super>
1233
                     <at name="id">embedded.370692634</at>
1234
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
1252
                     <at name="id">embedded.1832511491</at>
1253
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
1235 1254
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
1236 1255
                     <at name="components">
1237 1256
                      <object classname="java.util.LinkedList">
......
1280 1299
                               </object>
1281 1300
                              </at>
1282 1301
                              <at name="name">lblLayerName</at>
1283
                              <at name="width">1008</at>
1302
                              <at name="width">887</at>
1284 1303
                              <at name="text">_layer_name</at>
1285 1304
                              <at name="fill">
1286 1305
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1287 1306
                                <at name="name">fill</at>
1288 1307
                               </object>
1289 1308
                              </at>
1290
                              <at name="toolTipText">_layer_name</at>
1309
                              <at name="toolTipText">_layer_name_in_toc</at>
1291 1310
                              <at name="height">14</at>
1292 1311
                             </object>
1293 1312
                            </at>
......
1341 1360
                               </object>
1342 1361
                              </at>
1343 1362
                              <at name="name">txtLayerName</at>
1344
                              <at name="width">1008</at>
1345
                              <at name="toolTipText">_layer_name</at>
1363
                              <at name="width">887</at>
1364
                              <at name="toolTipText">_layer_name_in_toc</at>
1346 1365
                              <at name="height">20</at>
1347 1366
                             </object>
1348 1367
                            </at>
......
1396 1415
                               </object>
1397 1416
                              </at>
1398 1417
                              <at name="name">lblSelectLayers</at>
1399
                              <at name="width">1008</at>
1418
                              <at name="width">887</at>
1400 1419
                              <at name="text">_select_layers</at>
1401 1420
                              <at name="fill">
1402 1421
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
1459 1478
                              <at name="scrollableTracksViewportHeight">true</at>
1460 1479
                              <at name="scrollableTracksViewportWidth">true</at>
1461 1480
                              <at name="name">treeLayersSelector</at>
1462
                              <at name="width">1006</at>
1481
                              <at name="width">885</at>
1463 1482
                              <at name="scollBars">
1464 1483
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
1465 1484
                                <at name="name">scollBars</at>
......
1488 1507
                               </object>
1489 1508
                              </at>
1490 1509
                              <at name="toolTipText">_select_layers</at>
1491
                              <at name="height">171</at>
1510
                              <at name="height">148</at>
1492 1511
                             </object>
1493 1512
                            </at>
1494 1513
                           </object>
......
1542 1561
                              </at>
1543 1562
                              <at name="actionCommand">_maintain_layers_struct</at>
1544 1563
                              <at name="name">chkMaintainLayersStruct</at>
1545
                              <at name="width">1008</at>
1564
                              <at name="width">887</at>
1546 1565
                              <at name="text">_maintain_layers_struct</at>
1547 1566
                              <at name="toolTipText">_maintain_layers_struct</at>
1548 1567
                              <at name="height">16</at>
......
1599 1618
                              </at>
1600 1619
                              <at name="actionCommand">_show_layer_names</at>
1601 1620
                              <at name="name">chkShowLayerNames</at>
1602
                              <at name="width">1008</at>
1621
                              <at name="width">887</at>
1603 1622
                              <at name="text">_show_layer_names</at>
1604 1623
                              <at name="toolTipText">_show_layer_names</at>
1605 1624
                              <at name="height">16</at>
......
1627 1646
                           </at>
1628 1647
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1629 1648
                          </super>
1630
                          <at name="id">embedded.910146912</at>
1649
                          <at name="id">embedded.167689315</at>
1631 1650
                          <at name="rowspecs">CENTER:2DLU:GROW(1.0),CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:GROW(1.0)</at>
1632 1651
                          <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
1633 1652
                          <at name="components">
......
1878 1897
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1879 1898
                               </super>
1880 1899
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1881
                               <at name="beanclass">javax.swing.JTable</at>
1900
                               <at name="beanclass">javax.swing.JList</at>
1882 1901
                               <at name="beanproperties">
1883 1902
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1884
                                 <at name="classname">javax.swing.JTable</at>
1903
                                 <at name="classname">javax.swing.JList</at>
1885 1904
                                 <at name="properties">
1886 1905
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
1887 1906
                                   <at name="border">
......
1904 1923
                                     </at>
1905 1924
                                    </object>
1906 1925
                                   </at>
1907
                                   <at name="name">tblLayers</at>
1908
                                   <at name="width">875</at>
1926
                                   <at name="scrollableTracksViewportHeight">true</at>
1927
                                   <at name="scrollableTracksViewportWidth">true</at>
1928
                                   <at name="name">lstLayers</at>
1929
                                   <at name="width">754</at>
1930
                                   <at name="items">
1931
                                    <object classname="com.jeta.forms.store.properties.ItemsProperty">
1932
                                     <at name="name">items</at>
1933
                                    </object>
1934
                                   </at>
1909 1935
                                   <at name="scollBars">
1910 1936
                                    <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
1911 1937
                                     <at name="name">scollBars</at>
......
1933 1959
                                     </at>
1934 1960
                                    </object>
1935 1961
                                   </at>
1936
                                   <at name="toolTipText">_layers</at>
1937
                                   <at name="height">32</at>
1962
                                   <at name="height">196</at>
1938 1963
                                  </object>
1939 1964
                                 </at>
1940 1965
                                </object>
......
2202 2227
                      </at>
2203 2228
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2204 2229
                     </super>
2205
                     <at name="id">embedded.164484834</at>
2230
                     <at name="id">embedded.1120094308</at>
2206 2231
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
2207 2232
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
2208 2233
                     <at name="components">
......
2254 2279
                              <at name="scrollableTracksViewportHeight">true</at>
2255 2280
                              <at name="scrollableTracksViewportWidth">true</at>
2256 2281
                              <at name="name">treeStyles</at>
2257
                              <at name="width">1006</at>
2282
                              <at name="width">885</at>
2258 2283
                              <at name="scollBars">
2259 2284
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
2260 2285
                                <at name="name">scollBars</at>
......
2282 2307
                                </at>
2283 2308
                               </object>
2284 2309
                              </at>
2285
                              <at name="height">540</at>
2310
                              <at name="height">495</at>
2286 2311
                             </object>
2287 2312
                            </at>
2288 2313
                           </object>
......
2408 2433
                      </at>
2409 2434
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2410 2435
                     </super>
2411
                     <at name="id">embedded.692898903</at>
2436
                     <at name="id">embedded.1791096544</at>
2412 2437
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:NONE,CENTER:2DLU:NONE</at>
2413 2438
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
2414 2439
                     <at name="components">
......
2458 2483
                               </object>
2459 2484
                              </at>
2460 2485
                              <at name="name">lblSettings</at>
2461
                              <at name="width">368</at>
2486
                              <at name="width">307</at>
2462 2487
                              <at name="text">_settings</at>
2463 2488
                              <at name="fill">
2464 2489
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
2481 2506
                           <at name="cellconstraints">
2482 2507
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
2483 2508
                             <at name="column">2</at>
2484
                             <at name="row">4</at>
2485
                             <at name="colspan">3</at>
2486
                             <at name="rowspan">1</at>
2487
                             <at name="halign">default</at>
2488
                             <at name="valign">default</at>
2489
                             <at name="insets" object="insets">0,0,0,0</at>
2490
                            </object>
2491
                           </at>
2492
                           <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
2493
                          </super>
2494
                          <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
2495
                          <at name="beanclass">javax.swing.JTable</at>
2496
                          <at name="beanproperties">
2497
                           <object classname="com.jeta.forms.store.memento.PropertiesMemento">
2498
                            <at name="classname">javax.swing.JTable</at>
2499
                            <at name="properties">
2500
                             <object classname="com.jeta.forms.store.support.PropertyMap">
2501
                              <at name="border">
2502
                               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
2503
                                <super classname="com.jeta.forms.store.properties.BorderProperty">
2504
                                 <at name="name">border</at>
2505
                                </super>
2506
                                <at name="borders">
2507
                                 <object classname="java.util.LinkedList">
2508
                                  <item >
2509
                                   <at name="value">
2510
                                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
2511
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
2512
                                      <at name="name">border</at>
2513
                                     </super>
2514
                                    </object>
2515
                                   </at>
2516
                                  </item>
2517
                                 </object>
2518
                                </at>
2519
                               </object>
2520
                              </at>
2521
                              <at name="name">tblDimensionsSettings</at>
2522
                              <at name="width">1006</at>
2523
                              <at name="scollBars">
2524
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
2525
                                <at name="name">scollBars</at>
2526
                                <at name="verticalpolicy">20</at>
2527
                                <at name="horizontalpolicy">30</at>
2528
                                <at name="border">
2529
                                 <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
2530
                                  <super classname="com.jeta.forms.store.properties.BorderProperty">
2531
                                   <at name="name">border</at>
2532
                                  </super>
2533
                                  <at name="borders">
2534
                                   <object classname="java.util.LinkedList">
2535
                                    <item >
2536
                                     <at name="value">
2537
                                      <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
2538
                                       <super classname="com.jeta.forms.store.properties.BorderProperty">
2539
                                        <at name="name">border</at>
2540
                                       </super>
2541
                                      </object>
2542
                                     </at>
2543
                                    </item>
2544
                                   </object>
2545
                                  </at>
2546
                                 </object>
2547
                                </at>
2548
                               </object>
2549
                              </at>
2550
                              <at name="toolTipText">_settings</at>
2551
                              <at name="height">32</at>
2552
                             </object>
2553
                            </at>
2554
                           </object>
2555
                          </at>
2556
                         </object>
2557
                        </at>
2558
                       </item>
2559
                       <item >
2560
                        <at name="value">
2561
                         <object classname="com.jeta.forms.store.memento.BeanMemento">
2562
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
2563
                           <at name="cellconstraints">
2564
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
2565
                             <at name="column">2</at>
2566 2509
                             <at name="row">6</at>
2567 2510
                             <at name="colspan">1</at>
2568 2511
                             <at name="rowspan">1</at>
......
2601 2544
                               </object>
2602 2545
                              </at>
2603 2546
                              <at name="name">lblSettingsEditor</at>
2604
                              <at name="width">368</at>
2547
                              <at name="width">307</at>
2605 2548
                              <at name="text">_settings_editor</at>
2606 2549
                              <at name="fill">
2607 2550
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
2619 2562
                       </item>
2620 2563
                       <item >
2621 2564
                        <at name="value">
2622
                         <object classname="com.jeta.forms.store.memento.BeanMemento">
2623
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
2624
                           <at name="cellconstraints">
2625
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
2626
                             <at name="column">2</at>
2627
                             <at name="row">8</at>
2628
                             <at name="colspan">1</at>
2629
                             <at name="rowspan">1</at>
2630
                             <at name="halign">default</at>
2631
                             <at name="valign">default</at>
2632
                             <at name="insets" object="insets">0,0,0,0</at>
2633
                            </object>
2634
                           </at>
2635
                           <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
2636
                          </super>
2637
                          <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
2638
                          <at name="beanclass">javax.swing.JTable</at>
2639
                          <at name="beanproperties">
2640
                           <object classname="com.jeta.forms.store.memento.PropertiesMemento">
2641
                            <at name="classname">javax.swing.JTable</at>
2642
                            <at name="properties">
2643
                             <object classname="com.jeta.forms.store.support.PropertyMap">
2644
                              <at name="border">
2645
                               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
2646
                                <super classname="com.jeta.forms.store.properties.BorderProperty">
2647
                                 <at name="name">border</at>
2648
                                </super>
2649
                                <at name="borders">
2650
                                 <object classname="java.util.LinkedList">
2651
                                  <item >
2652
                                   <at name="value">
2653
                                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
2654
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
2655
                                      <at name="name">border</at>
2656
                                     </super>
2657
                                    </object>
2658
                                   </at>
2659
                                  </item>
2660
                                 </object>
2661
                                </at>
2662
                               </object>
2663
                              </at>
2664
                              <at name="name">tblDimensions</at>
2665
                              <at name="width">366</at>
2666
                              <at name="scollBars">
2667
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
2668
                                <at name="name">scollBars</at>
2669
                                <at name="verticalpolicy">20</at>
2670
                                <at name="horizontalpolicy">30</at>
2671
                                <at name="border">
2672
                                 <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
2673
                                  <super classname="com.jeta.forms.store.properties.BorderProperty">
2674
                                   <at name="name">border</at>
2675
                                  </super>
2676
                                  <at name="borders">
2677
                                   <object classname="java.util.LinkedList">
2678
                                    <item >
2679
                                     <at name="value">
2680
                                      <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
2681
                                       <super classname="com.jeta.forms.store.properties.BorderProperty">
2682
                                        <at name="name">border</at>
2683
                                       </super>
2684
                                      </object>
2685
                                     </at>
2686
                                    </item>
2687
                                   </object>
2688
                                  </at>
2689
                                 </object>
2690
                                </at>
2691
                               </object>
2692
                              </at>
2693
                              <at name="toolTipText">_dimensions</at>
2694
                              <at name="height">32</at>
2695
                             </object>
2696
                            </at>
2697
                           </object>
2698
                          </at>
2699
                         </object>
2700
                        </at>
2701
                       </item>
2702
                       <item >
2703
                        <at name="value">
2704 2565
                         <object classname="com.jeta.forms.store.memento.FormMemento">
2705 2566
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
2706 2567
                           <at name="cellconstraints">
......
2716 2577
                           </at>
2717 2578
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2718 2579
                          </super>
2719
                          <at name="id">embedded.404012511</at>
2580
                          <at name="id">embedded.642881668</at>
2720 2581
                          <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE</at>
2721 2582
                          <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
2722 2583
                          <at name="components">
......
2829 2690
                                   <at name="paintLabels">true</at>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff