private static void pruneEmptyStellarTransformers(SensorParserConfig config) { List<FieldTransformer> toRemove = new ArrayList<>(); List<FieldTransformer> fieldTransformations = config.getFieldTransformations(); for(FieldTransformer transformer : fieldTransformations) { if(transformer.getFieldTransformation().getClass().getName() .equals(FieldTransformations.STELLAR.getMappingClass().getName()) && transformer.getConfig().isEmpty() ) { toRemove.add(transformer); } } for(FieldTransformer t : toRemove) { fieldTransformations.remove(t); } } private static FieldTransformer getStellarTransformer(SensorParserConfig config) {
private static FieldTransformer getStellarTransformer(SensorParserConfig config) { List<FieldTransformer> fieldTransformations = config.getFieldTransformations(); FieldTransformer stellarTransformer = null; for(FieldTransformer transformer : fieldTransformations) { if(transformer.getFieldTransformation().getClass().getName() .equals(FieldTransformations.STELLAR.getMappingClass().getName())) { stellarTransformer = transformer; } } if(stellarTransformer == null) { stellarTransformer = new FieldTransformer(); stellarTransformer.setConfig(new LinkedHashMap<>()); stellarTransformer.setTransformation(FieldTransformations.STELLAR.toString()); fieldTransformations.add(stellarTransformer); } return stellarTransformer; }
@Test public void testValidSerde_simple() throws IOException { SensorParserConfig c = SensorParserConfig.fromBytes(Bytes.toBytes(config)); Assert.assertEquals(1, c.getFieldTransformations().size()); Assert.assertEquals(IPProtocolTransformation.class, c.getFieldTransformations().get(0).getFieldTransformation().getClass()); Assert.assertEquals(ImmutableList.of("protocol"), c.getFieldTransformations().get(0).getInput()); }