@Test public void testGenericStyle() throws Exception { Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); cb.setStore(cat.getDataStoreByName(MockData.GENERICENTITY.getPrefix())); FeatureTypeInfo fti = cb.buildFeatureType(toName(MockData.GENERICENTITY)); LayerInfo li = cb.buildLayer(fti); // check we assigned the generic style assertEquals("generic", li.getDefaultStyle().getName()); }
@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); } } }
CatalogBuilder cb = new CatalogBuilder(catalog); final WorkspaceInfo defaultWorkspace = catalog.getDefaultWorkspace(); cb.setWorkspace(defaultWorkspace); URL buildings = MockData.class.getResource("Buildings.properties"); File testData = URLs.urlToFile(buildings).getParentFile(); DataStoreInfo storeInfo = cb.buildDataStore("store"); storeInfo.getConnectionParameters().put("directory", testData); storeInfo.getConnectionParameters().put("namespace", nsURI); cb.setStore(catalog.getDefaultDataStore(defaultWorkspace)); for (Name name : store.getNames()) { FeatureTypeInfo ft = cb.buildFeatureType(name); cb.setupBounds(ft); catalog.add(ft); LayerInfo layer = cb.buildLayer(ft); catalog.add(layer);
/** * Builds a layer for a coverage. * * <p>The resulting object is not added to the catalog, it must be done by the calling code * after the fact. */ public LayerInfo buildLayer(CoverageInfo coverage) throws IOException { LayerInfo layer = buildLayer((ResourceInfo) coverage); layer.setDefaultStyle(getDefaultStyle(coverage)); return layer; }
private StyleInfo getResourceDefaultStyle(ResourceInfo resource, StyleInfo removedStyle) { StyleInfo style = null; try { style = new CatalogBuilder(catalog).getDefaultStyle(resource); } catch (IOException e) { // we fall back on the default style (since we cannot roll back the // entire operation, no transactions in the catalog) LOGGER.log( Level.WARNING, "Could not find default style for resource " + resource + ", using Point style", e); } if (style == null || style.equals(removedStyle)) { return catalog.getStyleByName(StyleInfo.DEFAULT_POINT); } return style; }
@Test public void testNativeBoundsDefensiveCopy() throws Exception { Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); cb.setStore(cat.getCoverageStoreByName(MockData.TASMANIA_DEM.getLocalPart())); CoverageInfo ci = cb.buildCoverage(); // setup the reproject to declared policy, the issue happens only under this condition ReferencedEnvelope nativeBounds = ci.getNativeBoundingBox(); for (ProjectionPolicy pp : ProjectionPolicy.values()) { ci.setProjectionPolicy(pp); ReferencedEnvelope bbox = ci.boundingBox(); assertNotSame(nativeBounds, bbox); } }
@Test public void testEmptyLayerGroupBounds() throws Exception { Catalog cat = getCatalog(); LayerGroupInfo group = cat.getFactory().createLayerGroup(); group.setName("empty_group"); assertNull(group.getBounds()); // force bounds computation CatalogBuilder cb = new CatalogBuilder(cat); cb.calculateLayerGroupBounds(group); assertNull(group.getBounds()); }
private void addViewToCatalog() throws Exception { final Catalog cat = getCatalog(); final CoverageStoreInfo storeInfo = cat.getCoverageStoreByName("regional_currents"); final CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); final CoverageInfo coverageInfo = coverageView.createCoverageInfo("regional_currents", storeInfo, builder); coverageInfo.getParameters().put("USE_JAI_IMAGEREAD","false"); cat.add(coverageInfo); final LayerInfo layerInfo = builder.buildLayer(coverageInfo); cat.add(layerInfo); }
CatalogBuilder cb = new CatalogBuilder(catalog); cb.setWorkspace(ws); storeInfo = cb.buildCoverageStore((store)); add = true; LOGGER.info("Creating store " + store + " since it did not exist"); cb.buildCoverageStore((name != null ? name : coverage.getName().toString())); add = true; store = (name != null ? name : coverage.getName().toString()); cb.setStore(storeInfo); FeatureTypeInfo typeInfo = cb.buildFeatureType(targetType.getName()); if (targetSRSCode != null) { typeInfo.setSRS(targetSRSCode); cb.setupBounds(typeInfo); LayerInfo layerInfo = cb.buildLayer(typeInfo); if (targetStyle != null) { layerInfo.setDefaultStyle(targetStyle); cb.setStore((CoverageStoreInfo) storeInfo); CoverageInfo cinfo = cb.buildCoverage(reader, customParameters); cb.updateCoverage(existing, cinfo); catalog.save(existing);
private void configureBandsFlagsOnCatalog(Catalog cat) throws Exception { final CoverageStoreInfo storeInfo = cat.getCoverageStoreByName("bands-flags"); final CoverageView coverageView = buildBandsFlagsView(); final CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); final CoverageInfo coverageInfo = coverageView.createCoverageInfo(BANDS_FLAGS_VIEW, storeInfo, builder); coverageInfo.getParameters().put("USE_JAI_IMAGEREAD", "false"); cat.add(coverageInfo); }
LayerInfo buildLayerInfo(LayerResource resource) { Catalog catalog = getCatalog(); StoreInfo store = catalog.getStore(storeId, StoreInfo.class); try { CatalogBuilder builder = new CatalogBuilder(catalog); builder.setStore(store); WMSLayerInfo wli = builder.buildWMSLayer(resource.getLocalName()); return builder.buildLayer(wli); } catch (Exception e) { throw new RuntimeException( "Error occurred while building the resources for the configuration page", e); } }
CatalogBuilder builder = new CatalogBuilder(catalog); builder.setWorkspace( catalog.getWorkspaceByName( workspace ) ); info = builder.buildCoverageStore(coveragestore); add = true; builder.setStore(info); CoverageInfo cinfo = builder.buildCoverage( reader, customParameters ); builder.updateCoverage(existing,cinfo); catalog.save( existing ); cinfo = existing; catalog.add( cinfo ); LayerInfo layerInfo = builder.buildLayer( cinfo );
@Test public void testMetadataFromFeatueSource() throws Exception { CatalogBuilder cb = new CatalogBuilder(getCatalog()); cb.setStore(cb.buildDataStore("fooStore")); FeatureType ft = createMock(FeatureType.class); expect(ft.getName()).andReturn(new NameImpl("foo")).anyTimes(); expect(ft.getCoordinateReferenceSystem()).andReturn(null).anyTimes(); expect(ft.getGeometryDescriptor()).andReturn(null).anyTimes(); replay(ft); ResourceInfo rInfo = createMock(ResourceInfo.class); expect(rInfo.getTitle()).andReturn("foo title"); expect(rInfo.getDescription()).andReturn("foo description"); expect(rInfo.getKeywords()) .andReturn(new LinkedHashSet<String>(Arrays.asList("foo", "bar", "baz", ""))) .anyTimes(); replay(rInfo); FeatureSource fs = createMock(FeatureSource.class); expect(fs.getSchema()).andReturn(ft).anyTimes(); expect(fs.getInfo()).andReturn(rInfo).anyTimes(); expect(fs.getName()).andReturn(ft.getName()).anyTimes(); replay(fs); FeatureTypeInfo ftInfo = cb.buildFeatureType(fs); assertEquals("foo title", ftInfo.getTitle()); assertEquals("foo description", ftInfo.getDescription()); assertTrue(ftInfo.getKeywords().contains(new Keyword("foo"))); assertTrue(ftInfo.getKeywords().contains(new Keyword("bar"))); assertTrue(ftInfo.getKeywords().contains(new Keyword("baz"))); }
CatalogBuilder builder = new CatalogBuilder(catalog); builder.setStore(store); if (store instanceof CoverageStoreInfo) { CoverageInfo ci = builder.buildCoverage(); return builder.buildLayer(ci); } else if (store instanceof DataStoreInfo) { FeatureTypeInfo fti = builder.buildFeatureType(resource.getName()); return builder.buildLayer(fti); } else if (store instanceof WMSStoreInfo) { WMSLayerInfo wli = builder.buildWMSLayer(resource.getLocalName()); return builder.buildLayer(wli);
public DataStoreInfo createStore(ImportData data, WorkspaceInfo workspace, Catalog catalog) throws IOException { Map<String,Serializable> params = createConnectionParameters(data); if (params == null) { return null; } CatalogBuilder cb = new CatalogBuilder(catalog); cb.setWorkspace(workspace); DataStoreInfo store = cb.buildDataStore(data.getName()); store.setType(factory().getDisplayName()); store.getConnectionParameters().putAll(params); return store; }
CatalogBuilder builder = new CatalogBuilder(catalog); builder.setStore( catalog.getStoreByName( MockData.CITE_PREFIX, MockData.CITE_PREFIX, DataStoreInfo.class)); FeatureTypeInfo info = builder.buildFeatureType( new NameImpl( MockData.LAKES.getNamespaceURI(), MockData.LAKES.getLocalPart()));
/** Tests we can build properly the WMS store and the WMS layer */ @Test public void testWMS() throws Exception { if (!RemoteOWSTestSupport.isRemoteWMSStatesAvailable(LOGGER)) { LOGGER.warning("Remote OWS tests disabled, skipping catalog builder wms tests"); return; } Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); WMSStoreInfo wms = cb.buildWMSStore("demo"); wms.setCapabilitiesURL( RemoteOWSTestSupport.WMS_SERVER_URL + "service=WMS&request=GetCapabilities&version=1.1.0"); cb.setStore(wms); WMSLayerInfo wmsLayer = cb.buildWMSLayer("topp:states"); assertWMSLayer(wmsLayer); LayerInfo layer = cb.buildLayer(wmsLayer); assertEquals(PublishedType.WMS, layer.getType()); wmsLayer = cat.getFactory().createWMSLayer(); wmsLayer.setName("states"); wmsLayer.setNativeName("topp:states"); cb.initWMSLayer(wmsLayer); assertWMSLayer(wmsLayer); }
CatalogBuilder builder = new CatalogBuilder(getCatalog()); CoverageStoreInfo store = builder.buildCoverageStore("watertemp5"); store.setURL(URLs.fileToUrl(Resources.find(mosaic)).toExternalForm()); store.setWorkspace(ws); builder.setStore(store);
@Override public CoverageStoreInfo createStore(ImportData data, WorkspaceInfo workspace, Catalog catalog) throws IOException { File f = file(data); if (f == null) { return null; } CatalogBuilder cb = new CatalogBuilder(catalog); cb.setWorkspace(workspace); CoverageStoreInfo store = cb.buildCoverageStore(data.getName()); store.setURL(f.toURI().toURL().toString()); store.setType(gridFormat().getName()); return store; }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); // we need to add a wms store CatalogBuilder cb = new CatalogBuilder(catalog); cb.setWorkspace(catalog.getWorkspaceByName("sf")); WMSStoreInfo wms = cb.buildWMSStore("demo"); wms.setCapabilitiesURL( clientMocker.getServer() + "/geoserver/wms?REQUEST=GetCapabilities&VERSION=1.3.0&SERVICE=WMS"); catalog.add(wms); // and a wms layer as well (cannot use the builder, would turn this test into an online one addStatesWmsLayer(); }