@Override public void visitNumber(NumberType numberType) { withNewAnnotations(typeBuilder.numberType()); }
@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(); } }
private NumberTypeBuilder longTypeBuilder() { return TYPE_BUILDER.numberType().integer().with(new ClassInformationAnnotation(Long.class)); }
@Test public void testModuleDoubleOperationRemapping_expectsTwoRemappedOperation() { final DeclarationOperation declaresOutput = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).binaryType().build(), BaseTypeBuilder.create(MetadataFormat.XML).numberType().build()); final DeclarationOperation declaresAttributes = new DeclarationOperation(VOID_TYPE, NUMBER_TYPE); final DeclarationOperation declaresOutputAndAttributes = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.XML).numberType().build(), VOID_TYPE); final DeclarationOperation declaresNothing = new DeclarationOperation(VOID_TYPE, VOID_TYPE); assertModule(of("modules/declaration/declaration-two-operations.json"), declaresOutput, declaresAttributes, declaresOutputAndAttributes, declaresNothing); }
@Test public void getDataTypeFromList() { Class<List> listClass = List.class; Class<Integer> integerClass = Integer.class; ArrayTypeBuilder arrayTypeBuilder = BaseTypeBuilder.create(JAVA) .arrayType() .with(new ClassInformationAnnotation(listClass)); arrayTypeBuilder.of().numberType().integer(); CollectionDataType dataType = (CollectionDataType) toDataType(arrayTypeBuilder.build()); assertThat(dataType.getType(), is(equalTo(listClass))); assertThat(dataType.getItemDataType().getType(), is(equalTo(integerClass))); }
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(); }
@Test public void testModuleSingleOperationRemapping_expectsOneRemappedOperation() { final DeclarationOperation declaresOutput = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).binaryType().build(), BaseTypeBuilder.create(MetadataFormat.XML).numberType().build()); final DeclarationOperation declaresAttributes = new DeclarationOperation(VOID_TYPE, NUMBER_TYPE); final DeclarationOperation declaresOutputAndAttributes = new DeclarationOperation(ANY_TYPE, BOOLEAN_TYPE); final DeclarationOperation declaresNothing = new DeclarationOperation(VOID_TYPE, VOID_TYPE); assertModule(of("modules/declaration/declaration-one-operation.json"), declaresOutput, declaresAttributes, declaresOutputAndAttributes, declaresNothing); }
@Test public void testModuleAllOperationRemapping_expectsAllRemappedOperation() { final DeclarationOperation declaresOutput = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).binaryType().build(), BaseTypeBuilder.create(MetadataFormat.XML).numberType().build()); final DeclarationOperation declaresAttributes = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.XML).dateType().build(), BaseTypeBuilder.create(MetadataFormat.CSV).numberType().build()); final DeclarationOperation declaresOutputAndAttributes = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.XML).numberType().build(), VOID_TYPE); final DeclarationOperation declaresNothing = new DeclarationOperation(BaseTypeBuilder.create(MetadataFormat.JSON).stringType().build(), BaseTypeBuilder.create(MetadataFormat.CSV).stringType().build()); assertModule(of("modules/declaration/declaration-all-operations.json"), declaresOutput, declaresAttributes, declaresOutputAndAttributes, declaresNothing); }
@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}}); }
@Override public void visitNumber(NumberType numberType) { withNewAnnotations(typeBuilder.numberType()); }
@Override public TypeBuilder<?> handleClass(Class<?> clazz, List<Type> genericTypes, TypeHandlerManager typeHandlerManager, ParsingContext context, BaseTypeBuilder<?> typeBuilder) { final NumberTypeBuilder<? extends BaseTypeBuilder<?>> numberType = typeBuilder.numberType(); if (isInt(clazz)) { numberType.integer(); } if (clazz.getCanonicalName() != null) { numberType.id(clazz.getCanonicalName()); } return numberType; }
public MetadataType getIdFieldMetaDataType() { return typeBuilder.numberType().build(); }
public MetadataType getPositionFieldMetaDataType() { return typeBuilder.numberType().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 TypeBuilder<?> handleClass(Class<?> clazz, List<Type> genericTypes, TypeHandlerManager typeHandlerManager, ParsingContext context, BaseTypeBuilder typeBuilder) { final NumberTypeBuilder numberType = typeBuilder.numberType().with(new ClassInformationAnnotation(clazz)); if (isInt(clazz)) { numberType.integer(); } return numberType; }
@Override public TypeBuilder<?> handle(JsonElement jsonElement, BaseTypeBuilder root, HandlerManager handlerManager, ParsingContext parsingContext) { JsonPrimitive primitive = (JsonPrimitive) jsonElement; if (primitive.isString()) { return root.stringType(); } else if (primitive.isBoolean()) { return root.booleanType(); } else if (primitive.isNumber()) { //Check if it is an integer. If not return Number type String stringValue = primitive.getAsString(); if (isInteger(stringValue)) { return root.numberType().id("int"); } if (isDouble(stringValue)) { return root.numberType().id("double"); } else { return root.numberType(); } } return root.stringType(); }
.openWith(TYPE_BUILDER.numberType().integer().with(new ClassInformationAnnotation(Long.class))) .with(new ClassInformationAnnotation(Map.class, asList(String.class, Long.class))) .build(),
@Override public TypeBuilder<?> handle(Schema schema, BaseTypeBuilder root, HandlerManager handlerManager, ParsingContext parsingContext) { final NumberSchema numberSchema = (NumberSchema) schema; final NumberTypeBuilder numberType = root.numberType(); Number min = null; Number max = null; if (numberSchema.getMinimum() != null) { min = numberSchema.getMinimum(); } if (numberSchema.getMaximum() != null) { max = numberSchema.getMaximum(); } if (isNotNull(min) || isNotNull(max)) { numberType.range(min, max); } if (numberSchema.requiresInteger()) { numberType.integer(); } return numberType; } }
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(); }