/** Returns all map output formats. */ public Collection<GetMapOutputFormat> getAvailableMapFormats() { return WMSExtensions.findMapProducers(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; }
/** * 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; }
/** * 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); }
/** * 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 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)); }
@Test public void testGetOutputFormat() { List<GetMapOutputFormat> producers = WMSExtensions.findMapProducers(applicationContext); for (GetMapOutputFormat producer : producers) { assertNotNull(producer.getMimeType()); } }
@Test public void testGetOutputFormatNames() { List<GetMapOutputFormat> producers = WMSExtensions.findMapProducers(applicationContext); for (GetMapOutputFormat producer : producers) { Set<String> outputFormats = producer.getOutputFormatNames(); assertNotNull(outputFormats); assertTrue(outputFormats.size() > 0); for (String oformat : outputFormats) { assertNotNull(oformat); } } }
@Test public void testSetOutputFormat() { List<GetMapOutputFormat> producers = WMSExtensions.findMapProducers(applicationContext); for (GetMapOutputFormat producer : producers) { assertNotNull(producer.getMimeType()); assertNotNull(producer.getOutputFormatNames()); assertTrue(producer.getOutputFormatNames().size() > 0); } } }