try { target = (CoverageStoreInfo) SerializationUtils.clone(source); if (target instanceof StoreInfoImpl && target.getCatalog() == null) { ((StoreInfoImpl) target).setCatalog(catalog); target.setDescription(source.getDescription()); target.setEnabled(source.isEnabled()); target.setName(source.getName()); target.setType(source.getType()); target.setWorkspace(source.getWorkspace()); target.setURL((String) gsEnvironment.resolveValue(source.getURL())); } else { target.setURL(source.getURL()); if (source.getConnectionParameters() != null && !source.getConnectionParameters().isEmpty()) { target.setURL(source.getURL()); target.getConnectionParameters().putAll(source.getConnectionParameters()); } else { for (Entry<String, Serializable> param : source.getConnectionParameters().entrySet()) { String key = param.getKey(); Object value = param.getValue(); target.getConnectionParameters().put(key, (Serializable) value);
public AbstractGridFormat getFormat() { return delegate.getFormat(); }
@Override public GridCoverageReader getGridCoverageReader(ProgressListener listener, Hints hints) throws IOException { return delegate.getGridCoverageReader(listener, hints); } }
void importFormats(CatalogFactory factory, List formats) { for (Iterator f = formats.iterator(); f.hasNext(); ) { Map map = (Map) f.next(); CoverageStoreInfo coverageStore = factory.createCoverageStore(); coverageStore.setName((String) map.get("id")); coverageStore.setType((String) map.get("type")); coverageStore.setURL((String) map.get("url")); coverageStore.setDescription((String) map.get("description")); String namespacePrefix = (String) map.get("namespace"); // coverageStore.setNamespace( catalog.getNamespaceByPrefix( namespacePrefix )); coverageStore.setWorkspace(catalog.getWorkspaceByName(namespacePrefix)); coverageStore.setEnabled((Boolean) map.get("enabled")); catalog.add(coverageStore); LOGGER.info( "Processed coverage store '" + coverageStore.getName() + "', " + (coverageStore.isEnabled() ? "enabled" : "disabled")); } }
@Test public void testAddFilePathWithSpaces() throws Exception { // Other tests mess with or reset the resourcePool, so lets make it is initialised properly GeoServerExtensions.extensions(ResourcePoolInitializer.class) .get(0) .initialize(getGeoServer()); ResourcePool rp = getCatalog().getResourcePool(); CoverageStoreInfo info = getCatalog().getFactory().createCoverageStore(); info.setName("spaces"); info.setType("ImagePyramid"); info.setEnabled(true); info.setURL( "file://./src/test/resources/data_dir/nested_layer_groups/data/pyramid with space"); try { rp.getGridCoverageReader(info, null); } catch (Exception e) { e.printStackTrace(); fail("Unable to add an imagepyramid with a space in it's name"); } rp.dispose(); }
@Test public void testLargeNDMosaic() throws Exception { // build a mosaic with 1025 files (the standard ulimit is 1024) File mosaic = new File("./target/largeMosaic"); try { createTimeMosaic(mosaic, 1025); // now configure a new store based on it Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); CoverageStoreInfo store = cb.buildCoverageStore("largeMosaic"); store.setURL(mosaic.getAbsolutePath()); store.setType("ImageMosaic"); cat.add(store); // and configure also the coverage cb.setStore(store); CoverageInfo ci = cb.buildCoverage(); cat.add(ci); cat.getResourcePool().dispose(); } finally { if (mosaic.exists() && mosaic.isDirectory()) { FileUtils.deleteDirectory(mosaic); } } }
@Test public void testCoverageStore() throws Exception { Catalog catalog = new CatalogImpl(); CatalogFactory cFactory = catalog.getFactory(); WorkspaceInfo ws = cFactory.createWorkspace(); ws.setName("foo"); CoverageStoreInfo cs1 = cFactory.createCoverageStore(); cs1.setName("bar"); cs1.setWorkspace(ws); ByteArrayOutputStream out = out(); persister.save(cs1, out); CoverageStoreInfo ds2 = persister.load(in(out), CoverageStoreInfo.class); assertEquals("bar", ds2.getName()); assertNotNull(ds2.getWorkspace()); assertEquals("foo", ds2.getWorkspace().getId()); Document dom = dom(in(out)); assertEquals("coverageStore", dom.getDocumentElement().getNodeName()); }
expect(csi.getURL()).andReturn(rasterSource).anyTimes(); expect(csi.getFormat()).andReturn(format).anyTimes(); expect(csi.getId()).andReturn("ThisIsMe").anyTimes(); expect(csi.getName()).andReturn("ThisIsMe").anyTimes(); expect(csi.getWorkspace()).andReturn(getCatalog().getDefaultWorkspace()).anyTimes(); replay(csi);
store.setURL(URLs.fileToUrl(Resources.find(mosaic)).toExternalForm()); store.setWorkspace(ws); ImageMosaicFormat imageMosaicFormat = new ImageMosaicFormat(); store.setType((imageMosaicFormat.getName())); storeInfo.getGridCoverageReader(null, GeoTools.getDefaultHints());
Catalog catalog = getCatalog(); final String prefix = info.getWorkspace().getName(); final NamespaceInfo namespace = catalog.getNamespaceByPrefix(prefix); catalog.save(coverage); LOGGER.finer("Saved store " + info.getName()); } catch (RuntimeException e) { LOGGER.log(Level.WARNING, "Saving the store for " + info.getURL(), e); throw new IllegalArgumentException("Unable to save the store: " + e.getMessage());
coverageStore.setEnabled(false); coverageStore.setName("coverageStore-Name"); coverageStore.setWorkspace(workspace); coverageStore.setType("coverageStore-Type"); coverageStore.setDescription("coverageStore-Description"); catalog.add(coverageStore);
@Override public void visit(CoverageStoreInfo coverageStore) { CoverageStoreInfo otherCoverageStore = otherCatalog.getCoverageStore(coverageStore.getId()); if (!(Objects.equals(coverageStore, otherCoverageStore) && Objects.equals(coverageStore.getType(), otherCoverageStore.getType()) && Objects.equals(coverageStore.getFormat(), otherCoverageStore.getFormat()) && Objects.equals(coverageStore.getURL(), otherCoverageStore.getURL()) && checkEquals(coverageStore.getMetadata(), otherCoverageStore.getMetadata()) && checkEquals( coverageStore.getConnectionParameters(), otherCoverageStore.getConnectionParameters()))) { differences.add(new InfoDiff(coverageStore, otherCoverageStore)); } }
store.setURL("./" + mosaicName); store.setType("ImageMosaic"); catalog.save(store); (StructuredGridCoverage2DReader) store.getGridCoverageReader(null, null); GranuleSource granules = reader.getGranules(mosaicName, true); assertEquals(1, granules.getCount(Query.ALL));
final AbstractGridFormat gridFormat = info.getFormat(); if (gridFormat == null) { throw new IOException("Could not find the raster plugin for format " + info.getType()); Object key = new CoverageHintReaderKey(info.getId(), hints); GridCoverageReader reader = hintCoverageReaderCache.get(key); final String urlString = expandedStore.getURL(); Object readObject = getObjectToRead(urlString);
@Override protected void postEncodeReference(Object obj, String ref, String prefix, HierarchicalStreamWriter writer, MarshallingContext context) { if ( obj instanceof NamespaceInfo ) { NamespaceInfo ns = (NamespaceInfo) obj; encodeLink("/namespaces/" + encode(ns.getPrefix()), writer); } if ( obj instanceof CoverageStoreInfo ) { CoverageStoreInfo cs = (CoverageStoreInfo) obj; encodeLink("/workspaces/" + encode(cs.getWorkspace().getName()) + "/coveragestores/" + encode(cs.getName()), writer ); } } });
expect(cs.getURL()).andReturn(URLs.fileToUrl(covFile).toString()).anyTimes(); expect(cs.getType()) .andAnswer( new IAnswer<String>() { expect(cs.getFormat()) .andAnswer( new IAnswer<AbstractGridFormat>() { expect(cs.getConnectionParameters()).andReturn(new HashMap()).anyTimes(); expect(catalog.getCoverageStoreByName(ws, name)).andReturn(cs).anyTimes(); cs.accept((CatalogVisitor) anyObject()); expectLastCall() .andAnswer(
private CoverageStoreInfo createMosaicStore( CatalogBuilder cb, String collection, CollectionLayer layer, final String relativePath) { // good to go, create the store cb.setWorkspace(catalog.getWorkspaceByName(layer.getWorkspace())); CoverageStoreInfo mosaicStore = cb.buildCoverageStore(layer.getLayer()); mosaicStore.setType(new ImageMosaicFormat().getName()); mosaicStore.setDescription("Image mosaic wrapping OpenSearch collection: " + collection); mosaicStore.setURL("file:/" + relativePath); catalog.add(mosaicStore); cb.setStore(mosaicStore); return mosaicStore; }
@Test public void testAddCoverageStore() throws Exception { testAddWorkspace(); File dir = new File(testData.getDataDirectoryRoot(), "workspaces/acme/foostore"); assertFalse(dir.exists()); CoverageStoreInfo cs = catalog.getFactory().createCoverageStore(); cs.setName("foostore"); cs.setWorkspace(catalog.getWorkspaceByName("acme")); catalog.add(cs); assertTrue(dir.exists()); assertTrue(new File(dir, "coveragestore.xml").exists()); }