@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(MetadataFormat.JAVA).objectType().build(); } }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(CSV).objectType().id("csv-object").build(); } }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(MetadataFormat.JAVA).objectType().id("custom-java").build(); } }
@Override public void visitObject(ObjectType objectType) { ObjectTypeBuilder objectTypeBuilder = builder.objectType(); objectType.getFields() .stream() .filter(p -> fields.stream().anyMatch(f -> f.getName().equalsIgnoreCase(p.getKey().getName().getLocalPart()))) .forEach(p -> { ObjectFieldTypeBuilder field = objectTypeBuilder.addField(); field.key(p.getKey().getName()); field.value(p.getValue()); }); } });
private MetadataType buildMetadataType(String model) { return BaseTypeBuilder.create(new MetadataFormat(model, model, APPLICATION_JAVA_MIME_TYPE)).objectType().build(); }
@Override public MetadataType getOutputType(MetadataContext context, String key) throws MetadataResolvingException, ConnectionException { if (!key.equals(NATIVE_QUERY)) { throw new IllegalArgumentException("Native Query Key was not the expected one"); } final ObjectTypeBuilder objectType = context.getTypeBuilder().objectType(); objectType.addField().key("id").value().numberType(); return objectType.build(); } }
@Override public MetadataType getAttributesType(MetadataContext context, String key) throws MetadataResolvingException, ConnectionException { ObjectTypeBuilder builder = BaseTypeBuilder.create(JAVA).objectType(); builder.openWith().stringType(); return builder.build(); }
@Test public void getDataTypeFromObject() { Class<Object> objectClass = Object.class; ObjectTypeBuilder objectTypeBuilder = BaseTypeBuilder .create(JAVA) .objectType() .id(objectClass.getName()); DataType dataType = toDataType(objectTypeBuilder.build()); assertThat(dataType.getType(), is(equalTo(objectClass))); }
@Test public void operationReturnsDictionaryTypeWithPojoValue() { dictionaryType = typeBuilder.objectType() .openWith(toMetadataType(Apple.class)).build(); when(operationModel.getOutput()).thenReturn(new ImmutableOutputModel("", dictionaryType, false, emptySet())); mockMetadataResolverFactory(sourceModel, new DefaultMetadataResolverFactory(NULL_RESOLVER_SUPPLIER, emptyMap(), MOCK_RESOLVER_SUPPLIER, NULL_RESOLVER_SUPPLIER)); validate(extensionModel, validator); }
dictionaryType = typeBuilder.objectType() .openWith(toMetadataType(Object.class)) .build();
@Test public void getDataTypeFromMap() { Class<Date> dateClass = Date.class; Class<Map> mapClass = Map.class; ObjectTypeBuilder objectTypeBuilder = BaseTypeBuilder .create(JAVA) .objectType() .with(new ClassInformationAnnotation(Map.class)); objectTypeBuilder.openWith().objectType().id(dateClass.getName()); MapDataType dataType = (MapDataType) toDataType(objectTypeBuilder.build()); assertThat(dataType.getType(), is(equalTo(mapClass))); assertThat(dataType.getKeyDataType().getType(), is(equalTo(String.class))); assertThat(dataType.getValueDataType().getType(), is(equalTo(dateClass))); }
public static ObjectType dictionaryOf(TypeBuilder<?> valueTypeBuilder) { return TYPE_BUILDER.objectType().openWith(valueTypeBuilder) .with(new ClassInformationAnnotation(Map.class)) .build(); }
@Test public void objectTypeOperation() { mockOutput(operation, builder.objectType().build()); enricher.enrich(extensionLoadingContext); assertThat(getGroupParameters(operation), hasSize(0)); }
@Test public void objectTypeSource() { mockOutput(source, builder.objectType().build()); enricher.enrich(extensionLoadingContext); assertThat(getGroupParameters(source), hasSize(0)); }
@Override public MetadataType getStaticMetadata() { ObjectTypeBuilder object = BaseTypeBuilder.create(MetadataFormat.JSON).objectType(); object.id("json-object"); object.addField().key("name").value().stringType(); object.addField().key("last-name").value().stringType(); return object.build(); } }
@Override public MetadataType getInputMetadata(MetadataContext context, LocationKey key) throws MetadataResolvingException, ConnectionException { checkLocationKey(key); final ObjectTypeBuilder objectBuilder = BaseTypeBuilder.create(new MetadataFormat(key.toString(), key.toString(), APPLICATION_JAVA_MIME_TYPE)).objectType(); objectBuilder.addField().key("CONTINENT").value().stringType(); objectBuilder.addField().key("COUNTRY").value().stringType(); objectBuilder.addField().key("CITY").value().stringType(); return objectBuilder.build(); }
@Parameters(name = "isSimpleType({0})") public static Collection<Object[]> data() { return Arrays.asList(new Object[][] {{BUILDER.stringType().build(), true}, {BUILDER.numberType().build(), true}, {BUILDER.booleanType().build(), true}, {BUILDER.objectType().build(), false}, {BUILDER.arrayType().of(BUILDER.stringType()).build(), false}, {BUILDER.dateTimeType().build(), false}}); }
@Test public void declareStaticAndDynamicTypesInSource() { List<SourceDeclaration> messageSources = declaration.getConfigurations().get(0).getMessageSources(); SourceDeclaration sourceDynamicAttributes = getDeclaration(messageSources, "MetadataSource"); assertOutputType(sourceDynamicAttributes.getOutput(), TYPE_BUILDER.objectType() .with(new ClassInformationAnnotation(Map.class, asList(String.class, Object.class))) .openWith(TYPE_LOADER.load(Object.class)).build(), true); assertOutputType(sourceDynamicAttributes.getOutputAttributes(), toMetadataType(StringAttributes.class), false); assertParameterType(getDeclaration(sourceDynamicAttributes.getAllParameters(), "type"), toMetadataType(String.class)); messageSources = declaration.getMessageSources(); SourceDeclaration sourceStaticAttributes = getDeclaration(messageSources, "MetadataSourceWithMultilevel"); assertOutputType(sourceStaticAttributes.getOutput(), TYPE_BUILDER.objectType() .with(new ClassInformationAnnotation(Map.class, asList(String.class, Object.class))) .openWith(TYPE_LOADER.load(Object.class)).build(), true); assertOutputType(sourceStaticAttributes.getOutputAttributes(), toMetadataType(StringAttributes.class), false); List<ParameterDeclaration> locationKey = sourceStaticAttributes.getAllParameters(); assertParameterType(getDeclaration(locationKey, "continent"), toMetadataType(String.class)); assertParameterType(getDeclaration(locationKey, "country"), toMetadataType(String.class)); assertParameterType(getDeclaration(locationKey, "city"), toMetadataType(String.class)); }
ObjectType attachments = TYPE_BUILDER.objectType() .openWith(TYPE_BUILDER.binaryType() .id(InputStream.class.getName()) .ofType(TYPE_BUILDER.objectType() .openWith(loader.load(String.class)) .with(new TypeIdAnnotation(Map.class.getName()))
public static MetadataType getMetadata(String key) throws MetadataResolvingException { final ObjectTypeBuilder objectBuilder = BaseTypeBuilder.create(JAVA).objectType(); switch (key) { case MetadataConnection.CAR: objectBuilder.addField().key(TIRES).value().numberType(); objectBuilder.addField().key(BRAND).value().stringType(); break; case MetadataConnection.HOUSE: objectBuilder.addField().key(DIRECTION).value().stringType(); objectBuilder.addField().key(SIZE).value().numberType(); break; case MetadataConnection.PERSON: objectBuilder.addField().key(NAME).value().stringType(); objectBuilder.addField().key(AGE).value().numberType(); break; case MetadataConnection.NULL: return BaseTypeBuilder.create(JAVA).nullType().build(); case MetadataConnection.VOID: return BaseTypeBuilder.create(JAVA).voidType().build(); default: throw new MetadataResolvingException("Unknown key " + key, INVALID_METADATA_KEY); } return objectBuilder.build(); }