/** * Extraction of the item from the metadata map * * @param map * @param key */ public static String extractMapItem(MetadataMap map, String key) { if (map != null && !map.isEmpty()) { String item = map.get(key, String.class); if (item != null && !item.isEmpty()) { return item; } } return null; }
/** * Scan the metadataMap looking for resources related to {@link DimensionInfo} objects and * return a dimensions Map. Return an empty map if no dimensions are found. * * @param metadata */ public static Map<String, DimensionInfo> getDimensionsFromMetadata(MetadataMap metadata) { Map<String, DimensionInfo> dimensionsMap = new HashMap<String, DimensionInfo>(); if (metadata != null && !metadata.isEmpty()) { final Set<String> metadataKeys = metadata.keySet(); final Iterator<String> metadataIterator = metadataKeys.iterator(); // loop over metadata keys while (metadataIterator.hasNext()) { String key = metadataIterator.next(); if (isADimension(key)) { // Check whether the specified metadata is related to an enabled Dimension DimensionInfo dimension = metadata.get(key, DimensionInfo.class); if (dimension != null && dimension.isEnabled()) { if (key.startsWith(ResourceInfo.CUSTOM_DIMENSION_PREFIX)) { key = key.substring(ResourceInfo.CUSTOM_DIMENSION_PREFIX.length()); } dimensionsMap.put(key, dimension); } } } } return dimensionsMap; }
&& !map.isEmpty() && map.containsKey(NetCDFSettingsContainer.NETCDFOUT_KEY)) { NetCDFLayerSettingsContainer settings =
if (map != null && !map.isEmpty() && map.containsKey(NetCDFSettingsContainer.NETCDFOUT_KEY)) { NetCDFLayerSettingsContainer settings = (NetCDFLayerSettingsContainer) map.get(
/** * Extracts the NetCDF encoding settings from the coverage identifier * * @param coverageId * @return */ static NetCDFLayerSettingsContainer getSettings(String coverageId) { GeoServer geoserver = GeoServerExtensions.bean(GeoServer.class); MetadataMap map = null; if (geoserver != null) { Catalog gsCatalog = geoserver.getCatalog(); LayerInfo info = NCNameResourceCodec.getCoverage(gsCatalog, coverageId); if (info != null) { map = info.getResource().getMetadata(); } } if (map != null && !map.isEmpty() && map.containsKey(NetCDFSettingsContainer.NETCDFOUT_KEY)) { NetCDFLayerSettingsContainer settings = (NetCDFLayerSettingsContainer) map.get( NetCDFSettingsContainer.NETCDFOUT_KEY, NetCDFLayerSettingsContainer.class); return settings; } return null; } }