public PublishedType getType() { return delegate.getType(); }
public void add(LayerInfo layer) { layer = resolve(layer); validate(layer, true); if (layer.getType() == null) { if (layer.getResource() instanceof FeatureTypeInfo) { layer.setType(PublishedType.VECTOR); } else if (layer.getResource() instanceof CoverageInfo) { layer.setType(PublishedType.RASTER); } else if (layer.getResource() instanceof WMTSLayerInfo) { layer.setType(PublishedType.WMTS); } else if (layer.getResource() instanceof WMSLayerInfo) { layer.setType(PublishedType.WMS); } else { String msg = "Layer type not set and can't be derived from resource"; throw new IllegalArgumentException(msg); } } LayerInfo added = facade.add(layer); added(added); }
expect(l.getType()).andReturn(PublishedType.VECTOR).anyTimes(); expect(l.getResource()).andReturn(r).anyTimes(); expect(l.getDefaultStyle()).andReturn(s).anyTimes();
/** 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); }
public PreviewLayer.PreviewLayerType getType() { if (layerInfo != null) { if (layerInfo.getType() == PublishedType.RASTER) return PreviewLayerType.Raster; else if (layerInfo.getType() == PublishedType.VECTOR) return PreviewLayerType.Vector; else return PreviewLayerType.Remote; } else { return PreviewLayerType.Group; } }
/** * Returns the appropriate icon for the specified layer * * @param info */ public PackageResourceReference getLayerIcon(LayerInfo info) { PackageResourceReference icon = UNKNOWN_ICON; if (info.getType() == PublishedType.VECTOR) icon = VECTOR_ICON; else if (info.getType() == PublishedType.RASTER) icon = RASTER_ICON; return icon; }
/** * Returns the appropriate icon for the specified layer * * @param info * @return */ public ResourceReference getLayerIcon(LayerInfo info) { ResourceReference icon = UNKNOWN_ICON; if (info.getType() == Type.VECTOR) icon = VECTOR_ICON; else if (info.getType() == Type.RASTER) icon = RASTER_ICON; return icon; }
public static boolean isLayerExposable(LayerInfo layer) { assert layer!=null; // TODO: this was copied from WMS 1.1 GetCapabilitesTransformer.handleLayerTree and is // replicated again in the WMS 1.3 implementation. Should be refactored to eliminate // duplication. // no sense in exposing a geometryless layer through wms... boolean wmsExposable = false; if (layer.getType() == LayerInfo.Type.RASTER || layer.getType() == LayerInfo.Type.WMS) { wmsExposable = true; } else { try { wmsExposable = layer.getType() == LayerInfo.Type.VECTOR && ((FeatureTypeInfo) layer.getResource()).getFeatureType() .getGeometryDescriptor() != null; } catch (Exception e) { LOGGER.log(Level.SEVERE, "An error occurred trying to determine if" + " the layer is geometryless", e); } } return wmsExposable; }
/** * Returns the appropriate icon for the specified layer. This one distinguishes the geometry * type inside vector layers. * * @param info */ public PackageResourceReference getSpecificLayerIcon(LayerInfo info) { if (info.getType() == PublishedType.RASTER) { return RASTER_ICON; } else if (info.getType() == PublishedType.VECTOR) { try { FeatureTypeInfo fti = (FeatureTypeInfo) info.getResource(); GeometryDescriptor gd = fti.getFeatureType().getGeometryDescriptor(); return getVectoryIcon(gd); } catch (Exception e) { return GEOMETRY_ICON; } } else if (info.getType() == PublishedType.WMS) { return MAP_ICON; } else if (info.getType() == PublishedType.WMTS) { return MAP_ICON; } else { return UNKNOWN_ICON; } }
/** * Returns the appropriate icon for the specified layer. This one distinguishes * the geometry type inside vector layers. * * @param info * @return */ public ResourceReference getSpecificLayerIcon(LayerInfo info) { if (info.getType() == Type.RASTER) { return RASTER_ICON; } else if(info.getType() == Type.VECTOR) { try { FeatureTypeInfo fti = (FeatureTypeInfo) info.getResource(); GeometryDescriptor gd = fti.getFeatureType().getGeometryDescriptor(); return getVectoryIcon(gd); } catch(Exception e) { return GEOMETRY_ICON; } } else if(info.getType() == Type.WMS) { return MAP_ICON; } else { return UNKNOWN_ICON; } }
@Override public Object parse(String value) throws Exception { LayerInfo layer = catalog.getLayerByName(value); if (layer == null || layer.getType() != PublishedType.RASTER) throw new WcsException( "Could not find coverage '" + value + "'", InvalidParameterValue, "identifier"); return super.parse(value); } }
@SuppressWarnings("unchecked") @Override public Object parse(String value) throws Exception { final List<String> coverages = new ArrayList<String>(); final List<String> identifiers = KvpUtils.readFlat(value); if (identifiers == null || identifiers.size() == 0) { throw new WcsException( "Required paramer, coverage, missing", WcsExceptionCode.MissingParameterValue, "coverage"); } for (String coverage : identifiers) { final LayerInfo layer = catalog.getLayerByName(coverage); if (layer == null || layer.getType() != PublishedType.RASTER) throw new WcsException( "Could not find coverage '" + coverage + "'", InvalidParameterValue, "coverage"); coverages.add(coverage); } return coverages; } }
public static LayerInfo getCoverage(Catalog catalog, String encodedCoverageId) throws WCS20Exception { List<LayerInfo> layers = NCNameResourceCodec.getLayers(catalog, encodedCoverageId); if (layers == null) return null; LayerInfo ret = null; for (LayerInfo layer : layers) { if (layer != null && layer.getType() == PublishedType.RASTER) { if (ret == null) { ret = layer; } else { LOGGER.warning( "Multiple coverages found for NSName '" + encodedCoverageId + "': " + ret.prefixedName() + " is selected, " + layer.prefixedName() + " will be ignored"); } } } return ret; }
MapLayerInfo createMapLayer(String name, String ns) { ResourceInfo r = createMock(ResourceInfo.class); expect(r.getName()).andReturn(name); expect(r.getPrefixedName()).andReturn(ns + ":" + name); expect(r.getTitle()).andReturn(name); expect(r.getAbstract()).andReturn(name); replay(r); LayerInfo l = createMock(LayerInfo.class); expect(l.getResource()).andReturn(r); expect(l.getType()).andReturn(PublishedType.VECTOR); replay(l); return new MapLayerInfo(l); }
MapLayerInfo createMapLayer(String name, String ns) { ResourceInfo r = createMock(ResourceInfo.class); expect(r.getName()).andReturn(name); expect(r.getPrefixedName()).andReturn(ns + ":" + name); expect(r.getTitle()).andReturn(name); expect(r.getAbstract()).andReturn(name); replay(r); LayerInfo l = createMock(LayerInfo.class); expect(l.getResource()).andReturn(r); expect(l.getType()).andReturn(LayerInfo.Type.VECTOR); replay(l); return new MapLayerInfo(l); }
public MapLayerInfo(LayerInfo layerInfo) { this.layerInfo = layerInfo; this.remoteFeatureSource = null; ResourceInfo resource = layerInfo.getResource(); // handle InlineFeatureStuff this.name = resource.getPrefixedName(); this.label = resource.getTitle(); this.description = resource.getAbstract(); this.type = layerInfo.getType().getCode(); }
throws IOException, FactoryRegistryException, TransformException, SchemaException { MapLayerInfo mli = new MapLayerInfo(layerInfo); if (layerInfo.getType() == PublishedType.VECTOR) { FeatureType featureType = mli.getFeature().getFeatureType(); return featureType; } else if (layerInfo.getType() == PublishedType.RASTER) { CoverageInfo coverageInfo = mli.getCoverage();
protected void runChecks(String layerName) throws Exception { LayerInfo layer = getCatalog().getLayerByName(layerName); assertNotNull(layer); assertNotNull(layer.getDefaultStyle()); assertNotNull(layer.getResource().getProjectionPolicy()); if (layer.getType() == PublishedType.VECTOR) { FeatureTypeInfo featureType = (FeatureTypeInfo) layer.getResource(); FeatureSource source = featureType.getFeatureSource(null, null); assertTrue(source.getCount(Query.ALL) > 0); // do a wfs request Document dom = getAsDOM("wfs?request=getFeature&typename=" + featureType.getPrefixedName()); assertEquals("wfs:FeatureCollection", dom.getDocumentElement().getNodeName()); assertEquals( source.getCount(Query.ALL), dom.getElementsByTagName(featureType.getPrefixedName()).getLength()); } // do a wms request MockHttpServletResponse response = getAsServletResponse("wms/reflect?layers=" + layer.getResource().getPrefixedName()); assertEquals("image/png", response.getContentType()); }