@Override public String getTitle() { if (title == null && metadata != null) { title = metadata.get("title", String.class); } return title; }
@Override public String getAbstract() { if (abstractTxt == null && metadata != null) { abstractTxt = metadata.get("title", String.class); } return abstractTxt; }
public <T> T get(String key, Class<T> clazz) { Object obj = get(key); if (obj == null) { return null; } return Converters.convert(obj, clazz); }
@Override public boolean isUseConnectionPooling() { Boolean useConnectionPooling = getMetadata().get("useConnectionPooling", Boolean.class); return useConnectionPooling == null ? Boolean.TRUE : useConnectionPooling; }
@Override public boolean isUseConnectionPooling() { Boolean useConnectionPooling = getMetadata().get("useConnectionPooling", Boolean.class); return useConnectionPooling == null ? Boolean.TRUE : useConnectionPooling; }
@Override public boolean isAdvertised() { if (this.advertised != null) { return advertised; } // check the metadata map for backwards compatibility with 2.1.x series MetadataMap md = getMetadata(); if (md == null) { return true; } Boolean metadataAdvertised = md.get(LayerInfoImpl.KEY_ADVERTISED, Boolean.class); if (metadataAdvertised == null) { metadataAdvertised = true; } return metadataAdvertised; }
@Override public boolean canHandle( FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess) { return dataAccess instanceof WFSDataStore && info.getMetadata() != null && (info.getMetadata().get(FeatureTypeInfo.STORED_QUERY_CONFIGURATION) instanceof StoredQueryConfiguration); }
@Override public boolean canHandle( FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess) { return dataAccess instanceof JDBCDataStore && info.getMetadata() != null && (info.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE) instanceof VirtualTable); }
@Override public Object doUnmarshal( Object result, HierarchicalStreamReader reader, UnmarshallingContext context) { LayerInfoImpl li = (LayerInfoImpl) super.doUnmarshal(result, reader, context); MetadataMap metadata = li.getMetadata(); if (li.getAuthorityURLs() == null && metadata != null) { String serialized = metadata.get("authorityURLs", String.class); List<AuthorityURLInfo> authorities; if (serialized == null) { authorities = new ArrayList<AuthorityURLInfo>(1); } else { authorities = AuthorityURLInfoInfoListConverter.fromString(serialized); } li.setAuthorityURLs(authorities); } if (li.getIdentifiers() == null && metadata != null) { String serialized = metadata.get("identifiers", String.class); List<LayerIdentifierInfo> identifiers; if (serialized == null) { identifiers = new ArrayList<LayerIdentifierInfo>(1); } else { identifiers = LayerIdentifierInfoListConverter.fromString(serialized); } li.setIdentifiers(identifiers); } return li; } }
@Override public boolean initialize( FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess, Name temporaryName) throws IOException { StoredQueryConfiguration sqc = info.getMetadata() .get( FeatureTypeInfo.STORED_QUERY_CONFIGURATION, StoredQueryConfiguration.class); WFSDataStore wstore = (WFSDataStore) dataAccess; String localPart = info.getName(); boolean usesTemporary = false; if (temporaryName != null) { localPart = temporaryName.getLocalPart(); usesTemporary = true; } if (!wstore.getConfiguredStoredQueries().containsValue(localPart)) { wstore.addStoredQuery(localPart, sqc.getStoredQueryId()); } return usesTemporary; }
JDBCDataStore jstore = (JDBCDataStore) dataAccess; VirtualTable vt = info.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE, VirtualTable.class);
@Test public void testVirtualTableOrder() throws Exception { FeatureTypeInfo ft = persister.load( getClass() .getResourceAsStream( "/org/geoserver/config/virtualtable_order_error.xml"), FeatureTypeInfo.class); VirtualTable vtc = (VirtualTable) ft.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE); assertEquals(vtc.getSql(), "select * from table\n"); assertEquals(vtc.getName(), "sqlview"); }
MetadataMap map = info.getMetadata(); if (map.containsKey(CoverageView.COVERAGE_VIEW)) { CoverageView coverageView = (CoverageView) map.get(CoverageView.COVERAGE_VIEW); dimensions = new ArrayList<>(); List<CoverageBand> coverageBands = coverageView.getCoverageBands();
/** * Adds nearest match support to the specified layer. * * @param layer The layer name * @param dimensionName The dimension name (key in the resource metadata map) * @param nearestMatch Whether to enable or disable nearest match */ protected void setupNearestMatch( QName layer, String dimensionName, boolean nearestMatch, String acceptableInterval) { ResourceInfo info = getCatalog().getResourceByName(getLayerId(layer), ResourceInfo.class); DimensionInfo di = info.getMetadata().get(dimensionName, DimensionInfo.class); di.setNearestMatchEnabled(nearestMatch); di.setAcceptableInterval(acceptableInterval); getCatalog().save(info); }
/** * Check maxConnections, connectTimeout, and readTimeout, stored as metadata properties in a * 2.1.3+ configuration are read back as actual properties. */ @Test public void testWMSStoreBackwardsCompatibility() throws Exception { Catalog catalog = new CatalogImpl(); CatalogFactory cFactory = catalog.getFactory(); WorkspaceInfo ws = cFactory.createWorkspace(); ws.setName("foo"); WMSStoreInfo wms1 = cFactory.createWebMapServer(); wms1.setName("bar"); wms1.setWorkspace(ws); wms1.setCapabilitiesURL("http://fake.host/wms?request=GetCapabilities&service=wms"); wms1.getMetadata().put("maxConnections", Integer.valueOf(18)); wms1.getMetadata().put("connectTimeout", Integer.valueOf(25)); wms1.getMetadata().put("readTimeout", Integer.valueOf(78)); ByteArrayOutputStream out = out(); persister.save(wms1, out); WMSStoreInfo wms2 = persister.load(in(out), WMSStoreInfo.class); assertEquals("bar", wms2.getName()); assertEquals(18, wms2.getMaxConnections()); assertEquals(25, wms2.getConnectTimeout()); assertEquals(78, wms2.getReadTimeout()); assertNull(wms2.getMetadata().get("maxConnections")); assertNull(wms2.getMetadata().get("connectTimeout")); assertNull(wms2.getMetadata().get("readTimeout")); }
"/org/geoserver/config/virtualtable_error_GEOS-7400.xml"), FeatureTypeInfo.class); VirtualTable vt3 = (VirtualTable) ft.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE);
final MetadataMap metadata = coverageInfo.getMetadata(); final CoverageView metadataCoverageView = (CoverageView) metadata.get(CoverageView.COVERAGE_VIEW); assertEquals(metadataCoverageView, coverageView);
"/org/geoserver/config/virtualtable_error_2.xml"), FeatureTypeInfo.class); VirtualTable vt2 = (VirtualTable) ft.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE); assertNotNull(vt2); assertEquals(1, ft.getMetadata().size());
/** Test for GEOS-6052 */ @Test public void testVirtualTableMissingEscapeSql() throws Exception { Catalog catalog = new CatalogImpl(); CatalogFactory cFactory = catalog.getFactory(); WorkspaceInfo ws = cFactory.createWorkspace(); ws.setName("foo"); catalog.add(ws); NamespaceInfo ns = cFactory.createNamespace(); ns.setPrefix("acme"); ns.setURI("http://acme.org"); catalog.add(ns); DataStoreInfo ds = cFactory.createDataStore(); ds.setWorkspace(ws); ds.setName("foo"); catalog.add(ds); persister.setCatalog(catalog); FeatureTypeInfo ft = persister.load( getClass() .getResourceAsStream( "/org/geoserver/config/virtualtable_error.xml"), FeatureTypeInfo.class); VirtualTable vt2 = (VirtualTable) ft.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE); assertNotNull(vt2); assertEquals(1, ft.getMetadata().size()); }
VirtualTable vt2 = (VirtualTable) ft.getMetadata().get(FeatureTypeInfo.JDBC_VIRTUAL_TABLE); assertNotNull(vt2); assertEquals(vt, vt2);