@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(); } }
@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))); }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(MetadataFormat.JAVA).objectType().build(); } }
objectMetadataBuilder.description(description); objectMetadataBuilder.label(title); objectMetadataBuilder.id(id); final ObjectFieldTypeBuilder field = objectMetadataBuilder.addField().key(property.getKey()); field.required(requiredProperties.contains(property.getKey())); final Schema value = property.getValue(); .collect(Collectors.toList()); for (Map.Entry<Pattern, Schema> patternSchemaEntry : entries) { final ObjectFieldTypeBuilder field = objectMetadataBuilder.addField(); field.key(patternSchemaEntry.getKey()); final Schema value = patternSchemaEntry.getValue(); objectMetadataBuilder.openWith(handlerManager.handle(objectSchema.getSchemaOfAdditionalProperties(), parsingContext));
@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()); }); } });
@Override public TypeBuilder<?> handleClass(Class<?> clazz, List<Type> genericTypes, TypeHandlerManager typeHandlerManager, ParsingContext context, BaseTypeBuilder typeBuilder) { final ObjectTypeBuilder objectType = typeBuilder.objectType(); context.addTypeBuilder(clazz, objectType); fieldHandler.handleFields(clazz, typeHandlerManager, context, objectType); if (clazz.getCanonicalName() != null) { objectType.id(clazz.getCanonicalName()); } objectType.with(new ClassInformationAnnotation(clazz, genericTypes)); return objectType; } }
public ObjectTypeBuilder label(String label) { return with(new LabelAnnotation(label)); }
private void openWith(TypeHandlerManager typeHandlerManager, ParsingContext context, ObjectTypeBuilder objectTypeBuilder, Type type) { final Optional<TypeBuilder<?>> keyTypeBuilder = context.getTypeBuilder(type); if (keyTypeBuilder.isPresent()) { objectTypeBuilder.openWith(keyTypeBuilder.get()); } else { typeHandlerManager.handle(type, context, objectTypeBuilder.openWith()); } }
public ObjectTypeBuilder objectType() { final ObjectTypeBuilder metadataBuilder = new ObjectTypeBuilder(format); builder = Optional.of(metadataBuilder); return metadataBuilder; }
private MetadataType buildMetadataType(String model) { return BaseTypeBuilder.create(new MetadataFormat(model, model, APPLICATION_JAVA_MIME_TYPE)).objectType().build(); }
@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); }
public ObjectFieldTypeBuilder addVariableField(String name) { return variables.addField().required(true).key(name); }