Statistics
| Revision:

gvsig-raster / org.gvsig.raster / branches / org.gvsig.raster.2.4 / org.gvsig.raster / org.gvsig.raster.app / org.gvsig.raster.app.mainplugin / src / main / java / org / gvsig / raster / app / mainplugin / AddTestRasterLayerExtension.java @ 6516

History | View | Annotate | Download (23.5 KB)

1
package org.gvsig.raster.app.mainplugin;
2

    
3
import java.io.File;
4
import java.security.MessageDigest;
5
import java.security.NoSuchAlgorithmException;
6

    
7
import org.slf4j.Logger;
8
import org.slf4j.LoggerFactory;
9

    
10
import org.gvsig.andami.IconThemeHelper;
11
import org.gvsig.andami.Launcher;
12
import org.gvsig.andami.plugins.Extension;
13
import org.gvsig.app.ApplicationLocator;
14
import org.gvsig.app.ApplicationManager;
15
import org.gvsig.app.project.documents.view.ViewDocument;
16
import org.gvsig.app.project.documents.view.gui.IView;
17
import org.gvsig.fmap.crs.CRSFactory;
18
import org.gvsig.fmap.dal.DataServerExplorer;
19
import org.gvsig.fmap.dal.DataServerExplorerParameters;
20
import org.gvsig.fmap.dal.DataStore;
21
import org.gvsig.fmap.dal.DataStoreProviderFactory;
22
import org.gvsig.fmap.dal.exception.DataException;
23
import org.gvsig.fmap.dal.exception.InitializeException;
24
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
25
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
26
import org.gvsig.fmap.dal.raster.RasterStoreProviderFactory;
27
import org.gvsig.fmap.dal.raster.api.RasterStore;
28
import org.gvsig.fmap.dal.raster.spi.NewRasterStoreParameters;
29
import org.gvsig.fmap.dal.spi.DALSPILocator;
30
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;
31
import org.gvsig.fmap.mapcontext.MapContext;
32
import org.gvsig.fmap.mapcontext.MapContextLocator;
33
import org.gvsig.fmap.mapcontext.MapContextManager;
34
import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
35
import org.gvsig.fmap.mapcontext.layers.FLayer;
36
import org.gvsig.fmap.mapcontrol.MapControl;
37
import org.gvsig.raster.lib.buffer.api.Buffer;
38
import org.gvsig.raster.lib.buffer.api.exceptions.BufferException;
39
import org.gvsig.tools.dispose.DisposeUtils;
40
import org.gvsig.tools.dynobject.DynObject;
41

    
42
/**
43
 * Class for test purpose only. It serves to load a test layer in the active View.
44
 * @author fdiaz
45
 *
46
 */
47
public class AddTestRasterLayerExtension extends Extension {
48

    
49
    private static final Logger logger = LoggerFactory.getLogger(AddTestRasterLayerExtension.class);
50

    
51
    @Override
52
    public void initialize() {
53
        IconThemeHelper.registerIcon("action", "view-test-layer-add", this);
54
    }
55

    
56
    @Override
57
    public void execute(String actionCommand) {
58
        ApplicationManager application = ApplicationLocator.getManager();
59

    
60
        IView view = (IView) application.getActiveComponent(ViewDocument.class);
61
        if (view == null) {
62
            return;
63
        }
64
        ViewDocument document = view.getViewDocument();
65

    
66
        MapControl mapControl = view.getMapControl();
67

    
68
        final MapContextManager mapContextManager = MapContextLocator.getMapContextManager();
69
        FLayer layer = null;
70
        DataStore dataStore = null;
71
        try {
72
//        dataStore = openFileCached(new File("/home/paco/data/cartography/raster/ecw/valencia_1980_tif.tif"));
73
//        dataStore = openFileCached(new File("/home/paco/data/Testdata/raster/JPG/relieve_andalucia.png"));
74
        dataStore = openGoogleMaps("roadmap");
75
//        dataStore = openGoogleMaps("hybrid");
76
        String layerName = dataStore.getFullName();
77
        try {
78
            layer = mapContextManager.createLayer(layerName, dataStore);
79
        } catch (LoadLayerException e) {
80
            logger.warn("Cant load test layer", e);
81
        }
82

    
83
        MapContext mapContext = mapControl.getMapContext();
84
        mapContext.getLayers().add(layer);
85
        mapContext.callLegendChanged();
86
        document.setModified(true);
87
        } finally {
88
            if (dataStore!=null){
89
                DisposeUtils.dispose(dataStore);
90
                dataStore = null;
91
            }
92
            if (layer!=null){
93
                DisposeUtils.dispose(layer);
94
                layer = null;
95
            }
96
        }
97
    }
98

    
99
    @Override
100
    public boolean isEnabled() {
101
        return true;
102
    }
103

    
104
    @Override
105
    public boolean isVisible() {
106
        ApplicationManager application = ApplicationLocator.getManager();
107

    
108
        return application.getActiveComponent(ViewDocument.class) != null;
109
    }
110

    
111
    /**
112
     * TO TEST ONLY
113
     *
114
     * @return
115
     */
116
    private RasterStore openGoogleMaps(String mapType) {
117
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
118
        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("GoogleMapsRaster");
119
        DynObject params = providerFactory.createParameters();
120

    
121
        if (params.getDynClass().getDynField("mapType") != null) {
122
            params.setDynValue("mapType", mapType);
123
        }
124

    
125
        if (params.getDynClass().getDynField("hasApiKey") != null) {
126
            params.setDynValue("hasApiKey", true);
127
        }
128
        if (params.getDynClass().getDynField("crs") != null) {
129
            params.setDynValue("crs", CRSFactory.getCRS("EPSG:3857"));
130
        }
131

    
132
        //FIXME:
133

    
134
        if (params.getDynClass().getDynField("apiKey") != null) {
135
            params.setDynValue("apiKey", "AIzaSyANaBO8KAMiwLosno8ue84efcTNZeqWjIw");
136
        }
137
        if (params.getDynClass().getDynField("language") != null) {
138
            params.setDynValue("language", "es");
139
        }
140

    
141
//        if (params.getDynClass().getDynField("region") != null) {
142
//            params.setDynValue("region", "");
143
//        }
144

    
145
        if (params.getDynClass().getDynField("format") != null) {
146
            params.setDynValue("format", "png32");
147
        }
148

    
149
        RasterStore store = null;
150
        try {
151
            store = (RasterStore) manager.openStore("GoogleMapsRaster", params);
152
        } catch (ValidateDataParametersException | InitializeException | ProviderNotRegisteredException e) {
153
            logger.info("**** error opening store *****", e);
154
        }
155
        if (store != null) {
156
            logger.info("**** ??????? O.K !!!!!!! *****");
157
        } else {
158
            logger.info("**** K.O ;_( *****");
159
        }
160

    
161
        //Prueba para cacheado de tiles tanto en memoria como en disco
162
        RasterStoreProviderFactory tileCacheProviderFactory = (RasterStoreProviderFactory) manager.getStoreProviderFactory("TileCache");
163
        // Prueba para cacheado de tiles solo en memoria
164
//        RasterStoreProviderFactory tileCacheProviderFactory = (RasterStoreProviderFactory) manager.getStoreProviderFactory("MemoryTileCache");
165
      DynObject tileParameters = tileCacheProviderFactory.createParameters();
166

    
167
      // FIXME: Si la prueba es para cacheado solo en memoria es innecesaria la generaci?n de la carpeta, se puede comentarizar
168

    
169
      // FIXME: Ver qu? datos ser?an los adecuados para generar una carpeta
170
      // ?nica para la cach?
171

    
172
      StringBuilder builder = new StringBuilder();
173
      builder.append(store.getProviderName());
174
      // builder.append(store.getMetadataName());
175
      builder.append(store.getName());
176
      builder.append(store.getFullName());
177
      builder.append(store.getBands());
178

    
179
      MessageDigest md = null;
180

    
181
      String hex = "";
182
      try {
183
          md = java.security.MessageDigest.getInstance("MD5");
184
          md.update(builder.toString().getBytes());
185
          hex = convertToHex(md.digest());
186
      } catch (NoSuchAlgorithmException e) {
187
          logger.warn("Can't get a MD5 instance.", e);
188
      }
189

    
190
      String name = (hex.isEmpty()) ? store.getFullName() : hex + "-" + store.getFullName();
191

    
192
      if (tileParameters.getDynClass().getDynField("name") != null) {
193
          tileParameters.setDynValue("name", hex);
194
      }
195

    
196
      //FIXME:
197
      String rcacheDir = Launcher.getAppHomeDir() + File.separator + "gvsig_rcache";
198
      File folder = new File(rcacheDir + File.separator + name);
199

    
200
      if (tileParameters.getDynClass().getDynField("cacheFolder") != null) {
201
          tileParameters.setDynValue("cacheFolder", folder);
202
      }
203
      if (tileParameters.getDynClass().getDynField("crs") != null) {
204
          tileParameters.setDynValue("crs", params.getDynValue("crs"));
205
      }
206

    
207
      try {
208
          //Prueba para cacheado de tiles tanto en memoria como en disco
209
          store.useCache("TileCache", tileParameters);
210
          // Prueba para cacheado de tiles solo en memoria
211
//          store.useCache("MemoryTileCache", tileParameters);
212
      } catch (DataException e) {
213
          logger.warn("Can't cache the layer.", e);
214
      }
215

    
216
        return store;
217

    
218
    }
219

    
220
    /**
221
     * TO TEST ONLY
222
     *
223
     * @return
224
     */
225
    private RasterStore openWMS() {
226
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
227
        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("WMS");
228
        DynObject params = providerFactory.createParameters();
229

    
230
        if (params.getDynClass().getDynField("crs") != null) {
231
            params.setDynValue("crs", CRSFactory.getCRS("EPSG:23030"));
232
        }
233

    
234
        RasterStore store = null;
235
        try {
236
            store = (RasterStore) manager.openStore("WMS", params);
237
        } catch (ValidateDataParametersException | InitializeException | ProviderNotRegisteredException e) {
238
            logger.info("**** error opening store *****", e);
239
        }
240
        if (store != null) {
241
            logger.info("**** ??????? O.K !!!!!!! *****");
242
        } else {
243
            logger.info("**** K.O ;_( *****");
244
        }
245
        try {
246
            exportGTiff(store);
247
        } catch (ValidateDataParametersException | DataException | BufferException e) {
248
            logger.info("failed to copy");
249
        }
250
        return store;
251

    
252
    }
253

    
254
    /**
255
     * TO TEST ONLY
256
     *
257
     * @return
258
     */
259
    private RasterStore openWCS() {
260
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
261
        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("WCS");
262
        DynObject params = providerFactory.createParameters();
263

    
264
        if (params.getDynClass().getDynField("url") != null) {
265
            params.setDynValue("url", "http://inspire.cop.gva.es/mapserver/wcs?");
266
        }
267
        if (params.getDynClass().getDynField("coverage") != null) {
268
            params.setDynValue("coverage", "MDT");
269
        }
270
        if (params.getDynClass().getDynField("crs") != null) {
271
            params.setDynValue("crs", CRSFactory.getCRS("EPSG:23030"));
272
        }
273

    
274
        RasterStore store = null;
275
        try {
276
            store = (RasterStore) manager.openStore("WCS", params);
277
        } catch (ValidateDataParametersException | InitializeException | ProviderNotRegisteredException e) {
278
            logger.info("**** error opening store *****", e);
279
        }
280
        if (store != null) {
281
            logger.info("**** ??????? O.K !!!!!!! *****");
282
        } else {
283
            logger.info("**** K.O ;_( *****");
284
        }
285
        try {
286
            exportGTiff(store);
287
        } catch (ValidateDataParametersException | DataException | BufferException e) {
288
            logger.info("failed to copy");
289
        }
290
        return store;
291

    
292
    }
293

    
294
    /**
295
     * TO TEST ONLY
296
     *
297
     * @return
298
     */
299
    private RasterStore openPOSTGIS() {
300
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
301
        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("PostGISRaster");
302
        DynObject params = providerFactory.createParameters();
303
        // PG:host='gvsig-training.com' port='5432'
304
        // dbname='andalucia' user='curso' password='curso' schema='public'
305
        // table='tr_relieve_andalucia2'
306
        if (params.getDynClass().getDynField("host") != null) {
307
            params.setDynValue("host", "gvsig-training.com");
308
        }
309
        if (params.getDynClass().getDynField("dbname") != null) {
310
            params.setDynValue("dbname", "andalucia");
311
        }
312
        if (params.getDynClass().getDynField("table") != null) {
313
            params.setDynValue("table", "tr_relieve_andalucia2");
314
        }
315
        if (params.getDynClass().getDynField("schema") != null) {
316
            params.setDynValue("schema", "public");
317
        }
318
        if (params.getDynClass().getDynField("user") != null) {
319
            params.setDynValue("user", "curso");
320
        }
321
        if (params.getDynClass().getDynField("password") != null) {
322
            params.setDynValue("password", "curso");
323
        }
324
        if (params.getDynClass().getDynField("port") != null) {
325
            params.setDynValue("port", 5432);
326
        }
327
        if (params.getDynClass().getDynField("crs") != null) {
328
            params.setDynValue("crs", CRSFactory.getCRS("EPSG:23030"));
329
        }
330

    
331
        RasterStore store = null;
332
        try {
333
            store = (RasterStore) manager.openStore("PostGISRaster", params);
334
        } catch (ValidateDataParametersException | InitializeException | ProviderNotRegisteredException e) {
335
            logger.info("**** error opening store *****", e);
336
        }
337
        if (store != null) {
338
            logger.info("**** ??????? O.K !!!!!!! *****");
339
        } else {
340
            logger.info("**** K.O ;_( *****");
341
        }
342
        try {
343
            exportPNG(store);
344
        } catch (ValidateDataParametersException | DataException | BufferException e) {
345
            logger.info("failed to copy");
346
        }
347
        return store;
348

    
349
    }
350

    
351
    /**
352
     * TO TEST ONLY
353
     *
354
     * @return
355
     */
356
    private RasterStore openTileCache() {
357
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
358
        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("TileCache");
359
        DynObject params = providerFactory.createParameters();
360

    
361
        if (params.getDynClass().getDynField("name") != null) {
362
            params.setDynValue("name", "TilecacheTEST");
363
        }
364
        if (params.getDynClass().getDynField("crs") != null) {
365
            params.setDynValue("crs", CRSFactory.getCRS("EPSG:25830"));
366
        }
367

    
368
        RasterStore store = null;
369
        try {
370
            store = (RasterStore) manager.openStore("TileCache", params);
371
        } catch (ValidateDataParametersException | InitializeException | ProviderNotRegisteredException e) {
372
            logger.info("**** error opening store *****", e);
373
        }
374
        if (store != null) {
375
            logger.info("**** ??????? O.K !!!!!!! *****");
376
        } else {
377
            logger.info("**** K.O ;_( *****");
378
        }
379
        // try {
380
        // exportGTiff(store);
381
        // } catch (ValidateDataParametersException | DataException
382
        // | BufferException e) {
383
        // logger.info("failed to copy");
384
        // }
385
        return store;
386
    }
387

    
388
//    private RasterStore openFileCached(File file){
389
//        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
390
//        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("GTiff");
391
////        DataStoreProviderFactory providerFactory = manager.getStoreProviderFactory("PNG");
392
//        DynObject params = providerFactory.createParameters();
393
//
394
//        if (params.getDynClass().getDynField("file") != null) {
395
//            params.setDynValue("file", file);
396
//        }
397
//        if (params.getDynClass().getDynField("crs") != null) {
398
//            params.setDynValue("crs", CRSFactory.getCRS("EPSG:25830"));
399
//        }
400
//
401
//        RasterStore store = null;
402
//        try {
403
//            store = (RasterStore) manager.openStore("GTiff", params);
404
////            store = (RasterStore) manager.openStore("PNG", params);
405
//        } catch (ValidateDataParametersException | InitializeException | ProviderNotRegisteredException e) {
406
//            logger.info("**** error opening store *****", e);
407
//        }
408
//        if (store != null) {
409
//            logger.info("**** ??????? O.K !!!!!!! *****");
410
//        } else {
411
//            logger.info("**** K.O ;_( *****");
412
//        }
413
//
414
//        RasterStoreProviderFactory tileCacheProviderFactory = (RasterStoreProviderFactory) manager.getStoreProviderFactory(TileCacheStoreProvider.NAME);
415
//        DynObject tileParameters = tileCacheProviderFactory.createParameters();
416
//
417
//        // FIXME: Ver qu? datos ser?an los adecuados para generar una carpeta
418
//        // ?nica para la cach?
419
//
420
//        StringBuilder builder = new StringBuilder();
421
//        builder.append(store.getProviderName());
422
//        // builder.append(store.getMetadataName());
423
//        builder.append(store.getName());
424
//        builder.append(store.getFullName());
425
//        builder.append(store.getBands());
426
//
427
//        MessageDigest md = null;
428
//
429
//        String hex = "";
430
//        try {
431
//            md = java.security.MessageDigest.getInstance("MD5");
432
//            md.update(builder.toString().getBytes());
433
//            hex = convertToHex(md.digest());
434
//        } catch (NoSuchAlgorithmException e) {
435
//            logger.warn("Can't get a MD5 instance.", e);
436
//        }
437
//
438
//        String name = (hex.isEmpty()) ? store.getName() : hex + "-" + store.getName();
439
//
440
//        if (tileParameters.getDynClass().getDynField("name") != null) {
441
//            tileParameters.setDynValue("name", hex);
442
//        }
443
//
444
//        //FIXME:
445
//        String rcacheDir = Launcher.getAppHomeDir() + File.separator + "gvsig_rcache";
446
//        File folder = new File(rcacheDir + File.separator + name);
447
//
448
//        if (tileParameters.getDynClass().getDynField("cacheFolder") != null) {
449
//            tileParameters.setDynValue("cacheFolder", folder);
450
//        }
451
//        if (tileParameters.getDynClass().getDynField("crs") != null) {
452
//            tileParameters.setDynValue("crs", params.getDynValue("crs"));
453
//        }
454
//
455
//
456
//        try {
457
//            store.useCache(TileCacheStoreProvider.NAME, tileParameters);
458
//        } catch (DataException e) {
459
//            logger.warn("Can't cache the layer.", e);
460
//        }
461
//
462
//        return store;
463
//    }
464

    
465
    /**
466
     * Converts an array of bytes to hexadecimal string
467
     *
468
     * @param data
469
     * @return
470
     */
471
    private String convertToHex(byte[] data) {
472
        StringBuffer buf = new StringBuffer();
473
        for (int i = 0; i < data.length; i++) {
474
            int halfbyte = (data[i] >>> 4) & 0x0F;
475
            int two_halfs = 0;
476
            do {
477
                if ((0 <= halfbyte) && (halfbyte <= 9))
478
                    buf.append((char) ('0' + halfbyte));
479
                else
480
                    buf.append((char) ('a' + (halfbyte - 10)));
481
                halfbyte = data[i] & 0x0F;
482
            } while (two_halfs++ < 1);
483
        }
484
        return buf.toString();
485
    }
486

    
487
    /**
488
     * TO TEST ONLY
489
     */
490
    private void exportPNG(RasterStore store) throws InitializeException, ProviderNotRegisteredException,
491
        ValidateDataParametersException, DataException, BufferException {
492
        String providerName = "PNG";
493
        String extension = "png";
494

    
495
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
496
        DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
497
        int count = 0;
498
        String path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile." + extension;
499
        File destFile = new File(path);
500
        while (destFile.exists()) {
501
            count++;
502
            path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile_" + count + "." + extension;
503
            destFile = new File(path);
504
        }
505
        eparams.setDynValue("initialpath", path);
506
        DataServerExplorer serverExplorer = manager.createServerExplorer(eparams);
507

    
508
        NewRasterStoreParameters params = (NewRasterStoreParameters) serverExplorer.getAddParameters(providerName);
509
        params.setDynValue("file", destFile);
510

    
511
        params.setDynValue("worldfile", false);
512
        params.setDynValue("zlevel", 1);
513

    
514
        Buffer buffer = store.getRasterSet().clip(store.getEnvelope());
515
        params.setBuffer(buffer);
516
        serverExplorer.add(providerName, params, true);
517
    }
518

    
519
    /**
520
     * TO TEST ONLY
521
     */
522
    private void exportGTiff(RasterStore store) throws InitializeException, ProviderNotRegisteredException,
523
        ValidateDataParametersException, DataException, BufferException {
524
        String providerName = "GTiff";
525
        String extension = "tif";
526

    
527
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
528
        DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
529
        int count = 0;
530
        String path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile." + extension;
531
        File destFile = new File(path);
532
        while (destFile.exists()) {
533
            count++;
534
            path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile_" + count + "." + extension;
535
            destFile = new File(path);
536
        }
537
        eparams.setDynValue("initialpath", path);
538
        DataServerExplorer serverExplorer = manager.createServerExplorer(eparams);
539

    
540
        NewRasterStoreParameters params = (NewRasterStoreParameters) serverExplorer.getAddParameters(providerName);
541
        params.setDynValue("file", destFile);
542

    
543
        params.setDynValue("compress", "NONE");
544
        params.setDynValue("tfw", false);
545
        params.setDynValue("photometric", "RGB");
546

    
547
        Buffer buffer = store.getRasterSet().clip(store.getEnvelope());
548
        params.setBuffer(buffer);
549
        serverExplorer.add(providerName, params, true);
550
    }
551

    
552
    /**
553
     * TO TEST ONLY
554
     */
555
    private void exportBMP(RasterStore store) throws InitializeException, ProviderNotRegisteredException,
556
        ValidateDataParametersException, DataException, BufferException {
557
        String providerName = "BMP";
558
        String extension = "bmp";
559

    
560
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
561
        DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
562
        int count = 0;
563
        String path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile." + extension;
564
        File destFile = new File(path);
565
        while (destFile.exists()) {
566
            count++;
567
            path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile_" + count + "." + extension;
568
            destFile = new File(path);
569
        }
570
        eparams.setDynValue("initialpath", path);
571
        DataServerExplorer serverExplorer = manager.createServerExplorer(eparams);
572

    
573
        NewRasterStoreParameters params = (NewRasterStoreParameters) serverExplorer.getAddParameters(providerName);
574
        params.setDynValue("file", destFile);
575

    
576
        params.setDynValue("worldfile", true);
577

    
578
        Buffer buffer = store.getRasterSet().clip(store.getEnvelope());
579
        params.setBuffer(buffer);
580
        serverExplorer.add(providerName, params, true);
581
    }
582

    
583
    /**
584
     * TO TEST ONLY
585
     */
586
    private void exportNetCDF(RasterStore store) throws InitializeException, ProviderNotRegisteredException,
587
        ValidateDataParametersException, DataException, BufferException {
588
        String providerName = "netCDF";
589
        String extension = "nc";
590

    
591
        DataManagerProviderServices manager = DALSPILocator.getDataManagerProviderServices();
592
        DataServerExplorerParameters eparams = manager.createServerExplorerParameters("FilesystemExplorer");
593
        int count = 0;
594
        String path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile." + extension;
595
        File destFile = new File(path);
596
        while (destFile.exists()) {
597
            count++;
598
            path = "/home/daniel/pruebas/datosPruebaRaster/copiedFile_" + count + "." + extension;
599
            destFile = new File(path);
600
        }
601
        eparams.setDynValue("initialpath", path);
602
        DataServerExplorer serverExplorer = manager.createServerExplorer(eparams);
603

    
604
        NewRasterStoreParameters params = (NewRasterStoreParameters) serverExplorer.getAddParameters(providerName);
605
        params.setDynValue("file", destFile);
606
        // params.setDynValue("format", "NC4C");
607
        // params.setDynValue("pixeltype", "DEFAULT");
608
        params.setDynValue("chunking", false);
609

    
610
        Buffer buffer = store.getRasterSet().clip(store.getEnvelope());
611
        params.setBuffer(buffer);
612
        serverExplorer.add(providerName, params, true);
613
    }
614

    
615
}