@Override public ConfigurableFactory<TileTransformer<?>> createFactory (String name, ConfigurableFactory<?> parent, List<String> path) { return new TileTransformerFactory(name, parent, path); } }
public TileTransformerFactory( String name, ConfigurableFactory<?> parent, List<String> path) { super(name, getFactoryClass(), parent, path); addProperty(TILE_TRANSFORMER_TYPE); addProperty(INITIALIZATION_DATA); }
@Override protected TileTransformer<?> create () throws ConfigurationException { String transformerTypes = getPropertyValue(TILE_TRANSFORMER_TYPE); if ("filtervars".equals(transformerTypes)) { JSONObject variables = getPropertyValue(INITIALIZATION_DATA); return new FilterVarsDoubleArrayTileTransformer<>(variables); } else if ("filterbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new FilterByBucketTileTransformer<>(arguments); } else if ("filtertopicbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new FilterTopicByBucketTileTransformer<>(arguments); } else if ("avgdivbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new AvgDivBucketTileTransformer<>(arguments); } else if ("avglogbucket".equals(transformerTypes)) { JSONObject arguments = getPropertyValue(INITIALIZATION_DATA); return new AvgLogBucketTileTransformer<>(arguments); } else { // 'identity' or none passed in will give the default transformer return new IdentityTileTransformer<Object>(); } } }