// Path: hangout-filters/hangout-filters-lowercase/src/main/java/com/ctrip/ops/sysdev/filters/Lowercase.java
// @SuppressWarnings("ALL")
// @Log4j2
// public class Lowercase extends BaseFilter {
// 
// 
//     public Lowercase(Map config) {
//         super(config);
//     }
// 
//     private ArrayList<Tuple2> fields;
// 
//     protected void prepare() {
//         this.fields = new ArrayList();
//         for (String field : (ArrayList<String>) config.get("fields")) {
//             try {
//                 this.fields.add(new Tuple2(FieldSetter.getFieldSetter(field), TemplateRender.getRender(field, false)));
//             } catch (IOException e) {
//                 log.error("could NOT build TemplateRender from " + field);
//                 System.exit(1);
//             }
//         }
//     }
// 
//     @Override
//     protected Map filter(Map event) {
//         for (Tuple2 t2 : fields) {
//             Object input = ((TemplateRender) t2._2()).render(event);
//             if (input != null && String.class.isAssignableFrom(input.getClass())) {
//                 ((FieldSetter) t2._1()).setField(event, ((String) input).toLowerCase());
//             }
//         }
// 
//         return event;
//     }
// }


import java.util.HashMap;
import java.util.Map;
import com.ctrip.ops.sysdev.filters.Lowercase;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.yaml.snakeyaml.Yaml;
package com.ctrip.ops.sysdev.test;



public class TestLowercaseFilter {
    @Test
    public void testLowercaseFilter() {
        String c = String.format("%s\n%s\n%s\n%s",
                "fields:",
                "    - name",
                "    - '[metric][value]'",
                "    - '[metric][value2]'"
        );

        Yaml yaml = new Yaml();
        Map config = (Map) yaml.load(c);
        Assert.assertNotNull(config);

// Path: hangout-filters/hangout-filters-lowercase/src/main/java/com/ctrip/ops/sysdev/filters/Lowercase.java
// @SuppressWarnings("ALL")
// @Log4j2
// public class Lowercase extends BaseFilter {
// 
// 
//     public Lowercase(Map config) {
//         super(config);
//     }
// 
//     private ArrayList<Tuple2> fields;
// 
//     protected void prepare() {
//         this.fields = new ArrayList();
//         for (String field : (ArrayList<String>) config.get("fields")) {
//             try {
//                 this.fields.add(new Tuple2(FieldSetter.getFieldSetter(field), TemplateRender.getRender(field, false)));
//             } catch (IOException e) {
//                 log.error("could NOT build TemplateRender from " + field);
//                 System.exit(1);
//             }
//         }
//     }
// 
//     @Override
//     protected Map filter(Map event) {
//         for (Tuple2 t2 : fields) {
//             Object input = ((TemplateRender) t2._2()).render(event);
//             if (input != null && String.class.isAssignableFrom(input.getClass())) {
//                 ((FieldSetter) t2._1()).setField(event, ((String) input).toLowerCase());
//             }
//         }
// 
//         return event;
//     }
// }


// Path: hangout-filters/hangout-filters-lowercase/src/test/java/com/ctrip/ops/sysdev/test/TestLowercaseFilter.java
import java.util.HashMap;
import java.util.Map;
import com.ctrip.ops.sysdev.filters.Lowercase;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.yaml.snakeyaml.Yaml;

package com.ctrip.ops.sysdev.test;



public class TestLowercaseFilter {
    @Test
    public void testLowercaseFilter() {
        String c = String.format("%s\n%s\n%s\n%s",
                "fields:",
                "    - name",
                "    - '[metric][value]'",
                "    - '[metric][value2]'"
        );

        Yaml yaml = new Yaml();
        Map config = (Map) yaml.load(c);
        Assert.assertNotNull(config);

        Lowercase lowercaseFilter = new Lowercase(config);