@Override public JSONObject transform (JSONObject inputJSON) throws JSONException { JSONObject resultJSON = new JSONObject(inputJSON); if (inputJSON.has("meta")) { resultJSON.put("meta", filterKeywordMetadata( inputJSON.getJSONObject("meta") )); } return resultJSON; }
@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>(); } } }
@Override public TileData<List<T>> transform (TileData<List<T>> inputData) throws Exception { TileData<List<T>> resultTile = inputData; // add in metadata to the tile JSONObject metadata = new JSONObject(inputData.getMetaData("meta")); JSONObject filteredMetadata = null; if ( metadata.length() > 0 ) { filteredMetadata = filterKeywordMetadata(metadata); if (null != filteredMetadata) { resultTile.setMetaData("meta", filteredMetadata); } } return resultTile; }