Revision 43321 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/java/org/gvsig/fmap/dal/serverexplorer/filesystem/swing/FilesystemExplorerWizardTableModel.java

View differences:

FilesystemExplorerWizardTableModel.java
95 95
    }
96 96

  
97 97
    public boolean isCellEditable(int row, int col) {
98
        if (col == COLUMN_TILED && isTiledSupported(row) ) {
98
        if (col == COLUMN_TILED && isEditableTiled(row) ) {
99 99
            return true;
100 100
        }
101 101
        return false;
......
120 120
                    if (!(value instanceof Boolean)) {
121 121
                        throw new IllegalArgumentException("The object '" + value.toString() + "' must be a Boolean.");
122 122
                    }
123
                    filesystemStoreParametersToLoad.setTiled((Boolean) value);
123
                    filesystemStoreParametersToLoad.setTiled((boolean) value);
124 124
                    break;
125 125

  
126 126
                default:
......
136 136
     * @param projection
137 137
     * @param tiled
138 138
     */
139
    public void add(FilesystemStoreParameters fileParams, Boolean tiled){
139
    public void add(FilesystemStoreParameters fileParams){
140 140
        DataManager dataManager = DALLocator.getDataManager();
141 141
        DataStoreProviderFactory factory = dataManager.getStoreProviderFactory( ((DataStoreParameters)fileParams).getDataStoreName());
142
        if( factory != null && factory.isTiledSupported()==DataStoreProviderFactory.NO ) {
143
           tiled = null; 
144
        }        
145
        FilesystemStoreParametersToLoad filesystemStoreParametersToLoad = new FilesystemStoreParametersToLoad(fileParams, tiled) ;
142
        boolean editable = false;
143
        boolean tiled = false;
144
        if( factory != null ) {
145
            if( factory.getClass().getSimpleName().equalsIgnoreCase("TileProviderFactory")){
146
                editable = false;
147
                tiled = true;
148
            } else {
149
                switch (factory.isTiledSupported()) {
150
                case DataStoreProviderFactory.NO:
151
                    editable = false;
152
                    tiled = false;
153
                    break;
154
                case DataStoreProviderFactory.YES:
155
                    editable = true;
156
                    tiled = (factory.worksBestTiled()==DataStoreProviderFactory.YES);
157
                    break;
158
                case DataStoreProviderFactory.UNKNOWN:
159
                    //De momento, si no sabemos si se puede tilear lo marcamos como no
160
                    editable = false;
161
                    tiled = false;
162
                    break;
163
                default:
164
                    break;
165
                }
166
            }
167
        }
168
        FilesystemStoreParametersToLoad filesystemStoreParametersToLoad = new FilesystemStoreParametersToLoad(fileParams, tiled, editable) ;
146 169
        data.add(filesystemStoreParametersToLoad);
147 170
    }
148 171

  
......
150 173
     * @param listFileParams
151 174
     * @param tiled
152 175
     */
153
    public void add(List<FilesystemStoreParameters> listFileParams, Boolean tiled){
176
    public void add(List<FilesystemStoreParameters> listFileParams){
154 177
        for (FilesystemStoreParameters filesystemStoreParameters : listFileParams) {
155
            this.add(filesystemStoreParameters, tiled);
178
            this.add(filesystemStoreParameters);
156 179
        }
157 180
    }
158 181

  
......
179 202
        return this.data.get(row).isTiled();
180 203
    }
181 204

  
182
    public boolean isTiledSupported(int row){
183
        return this.data.get(row).isTiledSupported();
205
    /**
206
     * @param row
207
     * @return
208
     */
209
    public boolean isEditableTiled(int row){
210
        return this.data.get(row).isEditable();
184 211
    }
185 212
    /**
186 213
     * @param row
......
235 262
    public static class FilesystemStoreParametersToLoad{
236 263
        private FilesystemStoreParameters params;
237 264
        private boolean tiled;
238
        private boolean tiledSupported = false;
265
        private boolean editable = false;
239 266

  
240 267
        /**
241 268
         * @param params
......
247 274
        /**
248 275
         * @param params
249 276
         * @param tiled
277
         * @param editable
250 278
         */
251
        public FilesystemStoreParametersToLoad(FilesystemStoreParameters params, Boolean tiled) {
279
        public FilesystemStoreParametersToLoad(FilesystemStoreParameters params, boolean tiled, boolean editable) {
252 280
            this.setParameters(params);
253 281
            this.setTiled(tiled);
282
            this.editable = editable;
254 283
        }
255 284

  
256 285
        FilesystemStoreParameters getParameters(){
......
271 300
            return tiled;
272 301
        }
273 302

  
274
        
275
        public boolean isTiledSupported() {
276
            return this.tiledSupported;
277
        }
278

  
279 303
        /**
280 304
         * @param tiled the tiled to set
281 305
         */
282
        public void setTiled(Boolean tiled) {
283
            if( tiled == null ) {
284
                this.tiled = false;
285
                this.tiledSupported = false;
286
            } else {
306
        public void setTiled(boolean tiled) {
287 307
                this.tiled = tiled;
288
                this.tiledSupported = true;
289
            }
290 308
        }
309

  
310
        public boolean isEditable() {
311
            return this.editable;
312
        }
291 313
    }
292 314

  
293 315
}

Also available in: Unified diff