@Override protected PyramidIO create () { setupBasePyramidIO(); return _pyramidIO; }
CachingPyramidIOFactory (String name, ConfigurableFactory<?> parent, List<String> path, ConfigurableFactory<? extends PyramidIO> base) { super(name, PyramidIO.class, parent, path); _parent = parent; _baseFactory = base; _baseInitialized = false; addProperty(PyramidIOFactory.INITIALIZATION_DATA); }
@Override public ConfigurableFactory<LayerConfiguration> createFactory (String name, ConfigurableFactory<?> parent, List<String> path) { return new CachingLayerConfiguration(parent, path); }
@Before public void setup () throws Exception { try { String configFile = "res:///" + UNIT_TEST_CONFIG_JSON; Set<FactoryProvider<PyramidIO>> tileIoSet = new HashSet<>(); tileIoSet.addAll( Arrays.asList( DefaultPyramidIOFactoryProvider.values() ) ); Set<FactoryProvider<TileSerializer<?>>> serializerSet = new HashSet<>(); serializerSet.addAll( Arrays.asList( DefaultTileSerializerFactoryProvider.values() ) ); FactoryProvider<LayerConfiguration> layerConfigurationProvider = new StandardLayerConfigurationProvider( new StandardPyramidIOFactoryProvider( tileIoSet ), new StandardTilePyramidFactoryProvider(), new StandardTileSerializerFactoryProvider(serializerSet), new StandardImageRendererFactoryProvider(), new StandardTileTransformerFactoryProvider() ); _configService = mock(ConfigService.class); withMockConfigService(); _layerService = new LayerServiceImpl( configFile, layerConfigurationProvider, _configService); } catch (Exception e) { throw e; } }
@Override protected void configure() { bind(new TypeLiteral<FactoryProvider<TileDataImageRenderer<?>>>() {}).toInstance(new StandardImageRendererFactoryProvider()); } }
@Override protected void configure() { bind(new TypeLiteral<FactoryProvider<TileTransformer<?>>>() {}).toInstance(new StandardTileTransformerFactoryProvider()); } }
@Override public void prepareForRendering (String layer, TileIndex tile, Iterable<TileIndex> tileSet) { try { TileSerializer<?> serializer = produce(TileSerializer.class); String pyramidId = getPropertyValue(LayerConfiguration.LAYER_ID); _pyramidIO.requestTiles(pyramidId, serializer, tileSet); } catch (IOException e) { LOGGER.warn("Error requesting tile set", e); } catch (ConfigurationException e) { LOGGER.warn("Error requesting tile set", e); } } }
@Override public ConfigurableFactory<? extends PyramidIO> createFactory (String name, ConfigurableFactory<?> parent, List<String> path) { return new CachingPyramidIOFactory(parent, path, _pyramidIOFactoryProvider.createFactory(parent, path)); } }
@Override public ConfigurableFactory<TileSerializer<?>> createFactory (String name, ConfigurableFactory<?> parent, List<String> path) { return new TileSerializerFactory(name, parent, path, createChildren(parent, path)); } }
@Override public ConfigurableFactory<PyramidIO> createFactory (String name, ConfigurableFactory<?> parent, List<String> path) { return new PyramidIOFactory(name, parent, path, createChildren(parent, path)); } }
@Inject public CachingLayerConfigurationProvider( FactoryProvider<PyramidIO> pyramidIOFactoryProvider, FactoryProvider<TilePyramid> tilePyramidFactoryProvider, FactoryProvider<TileSerializer<?>> serializationFactoryProvider, FactoryProvider<TileDataImageRenderer<?>> rendererFactoryProvider, FactoryProvider<TileTransformer<?>> tileTransformerFactoryProvider ) { _pyramidIOFactoryProvider = pyramidIOFactoryProvider; _tilePyramidFactoryProvider = tilePyramidFactoryProvider; _serializationFactoryProvider = serializationFactoryProvider; _rendererFactoryProvider = rendererFactoryProvider; _tileTransformerFactoryProvider = tileTransformerFactoryProvider; _cachingProvider = new CachingPyramidIOProvider(); _pyramidIO = new CachingPyramidIO(); }
@Inject public LayerServiceImpl( @Named("com.oculusinfo.tile.layer.config") String layerConfigurationLocation, FactoryProvider<LayerConfiguration> layerConfigProvider, ConfigService configService) { _layers = new ArrayList<>(); _layersById = new HashMap<>(); _layersBySha = new HashMap<>(); _metaDataCache = new HashMap<>(); _layerConfigurationProvider = layerConfigProvider; _configService = configService; if (layerConfigProvider instanceof CachingLayerConfigurationProvider) { CachingLayerConfigurationProvider caching = (CachingLayerConfigurationProvider)layerConfigProvider; caching.addLayerListener( new LayerDataChangedListener() { public void onLayerDataChanged( String layerId ) { _metaDataCache.remove( layerId ); } } ); } readConfigFiles( getConfigurationFiles( layerConfigurationLocation ) ); }
filterIoSet.addAll( Arrays.asList( DefaultAnnotationFilterFactoryProvider.values() ) ); FactoryProvider<LayerConfiguration> layerConfigurationProvider = new StandardLayerConfigurationProvider( new StandardPyramidIOFactoryProvider( tileIoSet ), new StandardTilePyramidFactoryProvider(), new StandardTileSerializerFactoryProvider(serializerSet), new StandardImageRendererFactoryProvider(), new StandardTileTransformerFactoryProvider() );