Search in sources :

Example 16 with Schema

use of com.hortonworks.registries.common.Schema in project streamline by hortonworks.

the class SchemaTest method testSchemaFromJson.

@Test
public void testSchemaFromJson() throws Exception {
    String json = "{\"fields\":[{\"name\":\"field1\", \"type\":\"STRING\"},{\"name\":\"field2\", \"type\":\"STRING\"}]}";
    System.out.println(json);
    ObjectMapper mapper = new ObjectMapper();
    Schema schema = mapper.readValue(json, Schema.class);
    System.out.println(schema);
}
Also used : Schema(com.hortonworks.registries.common.Schema) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.Test)

Example 17 with Schema

use of com.hortonworks.registries.common.Schema in project streamline by hortonworks.

the class UDFCatalogResource method getArgTypes.

private List<String> getArgTypes(Class<?> clazz, String methodname, int argStartIndex) {
    Method addMethod = findMethod(clazz, methodname);
    if (addMethod == null) {
        return Collections.emptyList();
    }
    final Class<?>[] params = addMethod.getParameterTypes();
    List<String> argTypes = new ArrayList<>();
    for (int i = argStartIndex; i < params.length; i++) {
        final Class<?> arg = params[i];
        try {
            argTypes.add(Schema.fromJavaType(arg).toString());
        } catch (ParserException ex) {
            Collection<Schema.Type> types = Collections2.filter(Arrays.asList(Schema.Type.values()), new Predicate<Schema.Type>() {

                public boolean apply(Schema.Type input) {
                    return arg.isAssignableFrom(input.getJavaType());
                }
            });
            if (types.isEmpty()) {
                LOG.error("Could not find a compatible type in schema for {} argument types", addMethod);
                return Collections.emptyList();
            } else {
                argTypes.add(Joiner.on("|").join(types));
            }
        }
    }
    return argTypes;
}
Also used : ParserException(com.hortonworks.registries.common.exception.ParserException) Schema(com.hortonworks.registries.common.Schema) ArrayList(java.util.ArrayList) Method(java.lang.reflect.Method) Predicate(com.google.common.base.Predicate) MediaType(javax.ws.rs.core.MediaType) Collection(java.util.Collection)

Aggregations

Schema (com.hortonworks.registries.common.Schema)17 HashMap (java.util.HashMap)9 Test (org.junit.Test)8 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)6 ArrayList (java.util.ArrayList)4 IOException (java.io.IOException)3 Map (java.util.Map)3 Stream (com.hortonworks.streamline.streams.layout.component.Stream)2 BulkNormalizationConfig (com.hortonworks.streamline.streams.layout.component.impl.normalization.BulkNormalizationConfig)2 FieldBasedNormalizationConfig (com.hortonworks.streamline.streams.layout.component.impl.normalization.FieldBasedNormalizationConfig)2 NormalizationConfig (com.hortonworks.streamline.streams.layout.component.impl.normalization.NormalizationConfig)2 NormalizationProcessor (com.hortonworks.streamline.streams.layout.component.impl.normalization.NormalizationProcessor)2 InputStream (java.io.InputStream)2 LinkedHashMap (java.util.LinkedHashMap)2 List (java.util.List)2 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)2 TypeReference (com.fasterxml.jackson.core.type.TypeReference)1 Predicate (com.google.common.base.Predicate)1 ParserException (com.hortonworks.registries.common.exception.ParserException)1 SchemaFieldInfo (com.hortonworks.registries.schemaregistry.SchemaFieldInfo)1