/** * 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; }
/** * Builds a layer wrapping a WMS layer resource * * <p>The resulting object is not added to the catalog, it must be done by the calling code * after the fact. */ public LayerInfo buildLayer(WMSLayerInfo wms) throws IOException { LayerInfo layer = buildLayer((ResourceInfo) wms); layer.setDefaultStyle(getDefaultStyle(wms)); return layer; }
/** * Builds a layer for a feature type. * * <p>The resulting object is not added to the catalog, it must be done by the calling code * after the fact. */ public LayerInfo buildLayer(FeatureTypeInfo featureType) throws IOException { // also create a layer for the feautre type LayerInfo layer = buildLayer((ResourceInfo) featureType); StyleInfo style = getDefaultStyle(featureType); layer.setDefaultStyle(style); return layer; }
@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()); }
cb.setupBounds(ft); catalog.add(ft); LayerInfo layer = cb.buildLayer(ft); catalog.add(layer);
@Test public void testDropCoverageStore() throws Exception { // build the store Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); CoverageStoreInfo store = cb.buildCoverageStore("dem"); store.setURL(MockData.class.getResource("tazdem.tiff").toExternalForm()); store.setType("GeoTIFF"); cat.add(store); // build the coverage cb.setStore(store); CoverageInfo ci = cb.buildCoverage(); cat.add(ci); // build the layer LayerInfo layer = cb.buildLayer(ci); cat.add(layer); // grab a reader just to inizialize the code ci.getGridCoverage(null, null); ci.getGridCoverageReader(null, GeoTools.getDefaultHints()); // now drop the store CascadeDeleteVisitor visitor = new CascadeDeleteVisitor(cat); visitor.visit(store); // and reload (GEOS-4782 -> BOOM!) getGeoServer().reload(); }
/** 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); }
@Test public void testGeometryless() throws Exception { // build a feature type (it's already in the catalog, but we just want to // check it's built as expected // LINES is a feature type with a native SRS, so we want the bounds to be there Catalog cat = getCatalog(); CatalogBuilder cb = new CatalogBuilder(cat); cb.setStore(cat.getDataStoreByName(MockData.GEOMETRYLESS.getPrefix())); FeatureTypeInfo fti = cb.buildFeatureType(toName(MockData.GEOMETRYLESS)); LayerInfo layer = cb.buildLayer(fti); cb.setupBounds(fti); // perform basic checks assertEquals(CatalogBuilder.DEFAULT_SRS, fti.getSRS()); assertNotNull(fti.getNativeBoundingBox()); assertTrue(fti.getNativeBoundingBox().isEmpty()); assertNotNull(fti.getLatLonBoundingBox()); assertFalse(fti.getLatLonBoundingBox().isEmpty()); assertNull(layer.getDefaultStyle()); }
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); } }
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); } }
LayerInfo buildLayerInfo(LayerResource resource) { Catalog catalog = getCatalog(); StoreInfo store = catalog.getStore(storeId, StoreInfo.class); try { CatalogBuilder builder = new CatalogBuilder(catalog); builder.setStore(store); WMTSLayerInfo wli = builder.buildWMTSLayer(resource.getLocalName()); return builder.buildLayer(wli); } catch (Exception e) { throw new RuntimeException( "Error occurred while building the resources for the configuration page", e); } }
protected void onSave() { try { if (name.equalsIgnoreCase(COVERAGE_VIEW_NAME)) { throw new IllegalArgumentException( "Make sure to specify a proper coverage name, different that " + COVERAGE_VIEW_NAME); } final Catalog catalog = getCatalog(); final CatalogBuilder builder = new CatalogBuilder(catalog); final CoverageStoreInfo coverageStoreInfo = catalog.getCoverageStore(storeId); CoverageInfo coverageInfo = null; final CoverageView coverageView = buildCoverageView(); List<CoverageBand> coverageBands = coverageView.getCoverageBands(); if (coverageBands == null || coverageBands.isEmpty()) { throw new IllegalArgumentException("No output bands have been specified "); } coverageInfo = coverageView.createCoverageInfo(name, coverageStoreInfo, builder); final LayerInfo layerInfo = builder.buildLayer(coverageInfo); setResponsePage(new ResourceConfigurationPage(layerInfo, true)); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Failed to create Coverage View", e); error( new ParamResourceModel("creationFailure", this, getFirstErrorMessage(e)) .getString()); } }
private void addViewToCatalog() throws Exception { final Catalog cat = getCatalog(); final CoverageStoreInfo storeInfo = cat.getCoverageStoreByName(DUMMYMOSAIC.getLocalPart()); final CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); final CoverageInfo coverageInfo = coverageView.createCoverageInfo("dummyView", storeInfo, builder); coverageInfo.getParameters().put("USE_JAI_IMAGEREAD","false"); cat.add(coverageInfo); final LayerInfo layerInfo = builder.buildLayer(coverageInfo); cat.add(layerInfo); setupRasterDimension("dummyView", ResourceInfo.TIME, DimensionPresentation.LIST, null); }
private void addViewToCatalog() throws Exception { final Catalog cat = getCatalog(); final CoverageStoreInfo storeInfo = cat.getCoverageStoreByName(DUMMYMOSAIC.getLocalPart()); final CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); final CoverageInfo coverageInfo = coverageView.createCoverageInfo("dummyView", storeInfo, builder); coverageInfo.getParameters().put("USE_JAI_IMAGEREAD", "false"); cat.add(coverageInfo); final LayerInfo layerInfo = builder.buildLayer(coverageInfo); cat.add(layerInfo); setupRasterDimension("dummyView", ResourceInfo.TIME, DimensionPresentation.LIST, null); }
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); }
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); }
private void addMultiBandViewToCatalog() throws Exception { final Catalog cat = getCatalog(); CoverageStoreInfo storeInfo = cat.getCoverageStoreByName("multiband"); CatalogBuilder builder = new CatalogBuilder(cat); builder.setStore(storeInfo); // Reordered bands coverage CoverageInfo coverageInfo = multiBandCoverageView.createCoverageInfo("multiband_select", storeInfo, builder); coverageInfo.getParameters().put("USE_JAI_IMAGEREAD", "false"); cat.add(coverageInfo); final LayerInfo layerInfoView = builder.buildLayer(coverageInfo); cat.add(layerInfoView); }
@Override protected void onSave() { // TODO: check stuff before saving StoredQuery selection = (StoredQuery) storedQueriesDropDown.getDefaultModelObject(); StoredQueryConfiguration config = createStoredQueryConfiguration( parameterProvider.getItems(), selection.storedQueryId); try { DataStoreInfo dsInfo = getCatalog().getStore(storeId, DataStoreInfo.class); WFSDataStore directDs = getContentDataStore(); DataAccess<?, ?> da = dsInfo.getDataStore(null); Name typeName = directDs.addStoredQuery(getNativeName(), config.getStoredQueryId()); CatalogBuilder builder = new CatalogBuilder(getCatalog()); builder.setStore(dsInfo); FeatureTypeInfo fti = builder.buildFeatureType(da.getFeatureSource(typeName)); fti.getMetadata().put(FeatureTypeInfo.STORED_QUERY_CONFIGURATION, config); LayerInfo layerInfo = builder.buildLayer(fti); setResponsePage(new ResourceConfigurationPage(layerInfo, true)); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Failed to create feature type", e); error(new ParamResourceModel("creationFailure", this, e.getMessage()).getString()); } }
@Override protected void onSave() { try { VirtualTable vt = buildVirtualTable(); DataStoreInfo dsInfo = getCatalog().getStore(storeId, DataStoreInfo.class); JDBCDataStore ds = (JDBCDataStore) dsInfo.getDataStore(null); ds.addVirtualTable(vt); CatalogBuilder builder = new CatalogBuilder(getCatalog()); builder.setStore(dsInfo); FeatureTypeInfo fti = builder.buildFeatureType(ds.getFeatureSource(vt.getName())); fti.getMetadata().put(FeatureTypeInfo.JDBC_VIRTUAL_TABLE, vt); LayerInfo layerInfo = builder.buildLayer(fti); setResponsePage(new ResourceConfigurationPage(layerInfo, true)); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Failed to create feature type", e); error(new ParamResourceModel("creationFailure", this, getFirstErrorMessage(e)) .getString()); } }
@Override protected void onSave() { try { VirtualTable vt = buildVirtualTable(); DataStoreInfo dsInfo = getCatalog().getStore(storeId, DataStoreInfo.class); JDBCDataStore ds = (JDBCDataStore) dsInfo.getDataStore(null); ds.createVirtualTable(vt); CatalogBuilder builder = new CatalogBuilder(getCatalog()); builder.setStore(dsInfo); FeatureTypeInfo fti = builder.buildFeatureType(ds.getFeatureSource(vt.getName())); fti.getMetadata().put(FeatureTypeInfo.JDBC_VIRTUAL_TABLE, vt); LayerInfo layerInfo = builder.buildLayer(fti); setResponsePage(new ResourceConfigurationPage(layerInfo, true)); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Failed to create feature type", e); error( new ParamResourceModel("creationFailure", this, getFirstErrorMessage(e)) .getString()); } }