/** * Finds out a {@link GetMapOutputFormat} specialized in generating the requested map format, * registered in the spring context. * * @param outputFormat a request parameter object wich holds the processed request objects, such * as layers, bbox, outpu format, etc. * @return A specialization of <code>GetMapDelegate</code> wich can produce the requested output * map format, or {@code null} if none is found */ public static GetMapOutputFormat findMapProducer( final String outputFormat, final ApplicationContext applicationContext) { final Collection<GetMapOutputFormat> producers; producers = WMSExtensions.findMapProducers(applicationContext); return findMapProducer(outputFormat, producers); }
/** Returns all {@link ExtendedCapabilitiesProvider} extensions. */ public List<ExtendedCapabilitiesProvider> getAvailableExtendedCapabilitiesProviders() { return WMSExtensions.findExtendedCapabilitiesProviders(applicationContext); }
/** @return a list of all getFeatureInfo content types */ public List<String> getAvailableFeatureInfoFormats() { List<String> mimeTypes = new ArrayList<String>(); for (GetFeatureInfoOutputFormat format : WMSExtensions.findFeatureInfoFormats(applicationContext)) { mimeTypes.add(format.getContentType()); } return mimeTypes; }
/** Returns all map output formats. */ public Collection<GetMapOutputFormat> getAvailableMapFormats() { return WMSExtensions.findMapProducers(applicationContext); }
/** * @param mimeType the mime type to look a GetMapOutputFormat for * @return the GetMapOutputFormat that can handle {@code mimeType}, or {@code null} if none is * found */ public GetMapOutputFormat getMapOutputFormat(final String mimeType) { GetMapOutputFormat outputFormat; outputFormat = WMSExtensions.findMapProducer(mimeType, applicationContext); return outputFormat; }
public Set<String> getAvailableLegendGraphicsFormats() { List<GetLegendGraphicOutputFormat> formats; formats = WMSExtensions.findLegendGraphicFormats(applicationContext); Set<String> mimeTypes = new HashSet<String>(); for (GetLegendGraphicOutputFormat format : formats) { mimeTypes.add(format.getContentType()); } return mimeTypes; }
/** * @param outputFormat desired output format mime type * @return the GetLegendGraphicOutputFormat that can handle {@code mimeType}, or {@code null} if * none is found */ public GetLegendGraphicOutputFormat getLegendGraphicOutputFormat(final String outputFormat) { GetLegendGraphicOutputFormat format; format = WMSExtensions.findLegendGraphicFormat(outputFormat, applicationContext); return format; }
public Collection<RenderedImageMapResponse> getAvailableMapResponses() { return WMSExtensions.findMapResponses(applicationContext); }
/** Returns all allowed map output formats. */ public Collection<GetMapOutputFormat> getAllowedMapFormats() { List<GetMapOutputFormat> result = new ArrayList<GetMapOutputFormat>(); for (GetMapOutputFormat producer : WMSExtensions.findMapProducers(applicationContext)) { if (isAllowedGetMapFormat(producer)) { result.add(producer); } } return result; }
final GetMapProducer producer = WMSExtensions.findMapProducer(outputFormat, applicationContext); if (producer == null) {
public static GetLegendGraphicOutputFormat findLegendGraphicFormat( final String outputFormat, final ApplicationContext applicationContext) { List<GetLegendGraphicOutputFormat> formats = findLegendGraphicFormats(applicationContext); for (GetLegendGraphicOutputFormat format : formats) { if (format.getContentType().startsWith(outputFormat)) { return format; } } return null; }
/** * Grabs the list of allowed MIME-Types for the GetMap operation from the set of {@link * GetMapOutputFormat}s registered in the application context. * * @param applicationContext The application context where to grab the GetMapOutputFormats from. * @see GetMapOutputFormat#getContentType() */ public Set<String> getAvailableMapFormatNames() { final Collection<GetMapOutputFormat> producers; producers = WMSExtensions.findMapProducers(applicationContext); final Set<String> formats = new HashSet<String>(); for (GetMapOutputFormat producer : producers) { formats.addAll(producer.getOutputFormatNames()); } return formats; }
producer = WMSExtensions.findMapProducer("ImaGe/FaKeForMat", mockContext); // call#1 assertSame(mockProducer, producer); producer = WMSExtensions.findMapProducer("notARegisteredFormat", mockContext); // call#2 assertNull(producer);
/** * @param requestFormat * @return a {@link GetFeatureInfoOutputFormat} that can handle the requested mime type or * {@code null} if none if found */ public GetFeatureInfoOutputFormat getFeatureInfoOutputFormat(String requestFormat) { List<GetFeatureInfoOutputFormat> outputFormats; outputFormats = WMSExtensions.findFeatureInfoFormats(applicationContext); for (GetFeatureInfoOutputFormat format : outputFormats) { if (format.canProduce(requestFormat)) { return format; } } return null; }
/** * Grabs the list of available MIME-Types for the GetMap operation from the * set of {@link GetMapProducer}s registered in the application context. * * @param applicationContext * The application context where to grab the GetMapProducers from. * @see GetMapProducer#getContentType() */ private static Set<String> loadImageFormats(final ApplicationContext applicationContext) { final Collection<GetMapProducer> producers = WMSExtensions.findMapProducers(applicationContext); final Set<String> formats = new HashSet<String>(); for (GetMapProducer producer : producers) { formats.addAll(producer.getOutputFormatNames()); } return formats; }
/** @return a list of all allowed getFeature info content types */ public List<String> getAllowedFeatureInfoFormats() { List<String> mimeTypes = new ArrayList<String>(); for (GetFeatureInfoOutputFormat format : WMSExtensions.findFeatureInfoFormats(applicationContext)) { if (isAllowedGetFeatureInfoFormat(format) == false) { continue; // skip this format } mimeTypes.add(format.getContentType()); } return mimeTypes; }
/** @return all allowed GetMap format names */ public Set<String> getAllowedMapFormatNames() { final Collection<GetMapOutputFormat> producers; producers = WMSExtensions.findMapProducers(applicationContext); final Set<String> formats = new HashSet<String>(); for (GetMapOutputFormat producer : producers) { if (isAllowedGetMapFormat(producer) == false) { continue; // skip this producer, its mime type is not allowed } formats.addAll(producer.getOutputFormatNames()); } return formats; }
final ApplicationContext applicationContext) { final Collection<GetMapProducer> producers; producers = WMSExtensions.findMapProducers(applicationContext);
@Test public void testFindMapProducersEmpty() { ApplicationContext mockContext = EasyMock.createMock(ApplicationContext.class); // I'm not so pleasant with this block of code as it implies knowing how // the internals of GeoServerExtensions work expect(mockContext.getBeanNamesForType(ExtensionFilter.class)).andReturn(new String[0]); expect(mockContext.getBeanNamesForType(GetMapOutputFormat.class)) .andReturn(new String[] {}); expect(mockContext.getBeanNamesForType(ExtensionProvider.class)).andReturn(new String[0]); expect(mockContext.getBeanNamesForType(ExtensionFilter.class)).andReturn(new String[0]); expect(mockContext.isSingleton((String) anyObject())).andReturn(false).anyTimes(); // end of unpleasant block replay(mockContext); List<GetMapOutputFormat> mapProducers = WMSExtensions.findMapProducers(mockContext); assertNotNull(mapProducers); assertEquals(0, mapProducers.size()); }
@Test public void testFindMapProducers() { GetMapOutputFormat mockProducer1 = createMock(GetMapOutputFormat.class); GetMapOutputFormat mockProducer2 = createMock(GetMapOutputFormat.class); ApplicationContext mockContext = EasyMock.createMock(ApplicationContext.class); // I'm not so pleasant with this block of code as it implies knowing how // the internals of GeoServerExtensions work expect(mockContext.getBeanNamesForType(ExtensionFilter.class)).andReturn(new String[0]); expect(mockContext.getBeanNamesForType(GetMapOutputFormat.class)) .andReturn(new String[] {"producer1", "producer2"}); expect(mockContext.getBeanNamesForType(ExtensionProvider.class)).andReturn(new String[0]); expect(mockContext.getBeanNamesForType(ExtensionFilter.class)).andReturn(new String[0]); expect(mockContext.getBean("producer1")).andReturn(mockProducer1); expect(mockContext.getBean("producer2")).andReturn(mockProducer2); expect(mockContext.isSingleton((String) anyObject())).andReturn(false).anyTimes(); // end of unpleasant block replay(mockContext); List<GetMapOutputFormat> mapProducers = WMSExtensions.findMapProducers(mockContext); assertNotNull(mapProducers); assertEquals(2, mapProducers.size()); assertTrue(mapProducers.contains(mockProducer1)); assertTrue(mapProducers.contains(mockProducer2)); }