@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 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); }
@Override public MetadataType getAttributesType(MetadataContext context, Object key) throws MetadataResolvingException, ConnectionException { if (key instanceof NullMetadataKey) { return BaseTypeBuilder.create(JAVA).voidType().build(); } return BaseTypeBuilder.create(JAVA).booleanType().build(); }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(MetadataFormat.JAVA).objectType().build(); } }
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(); }
@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 MetadataType getOutputType(MetadataContext context, Object key) { return BaseTypeBuilder.create(JAVA).stringType().build(); }
@Override public MetadataType getInputMetadata(MetadataContext context, Object key) { if (key instanceof NullMetadataKey) { return BaseTypeBuilder.create(JAVA).voidType().build(); } return BaseTypeBuilder.create(JAVA).stringType().build(); }
@Override public void visitAnyType(AnyType anyType) { type = withNewAnnotations(typeBuilder.anyType()); }
@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); }
TYPE_BUILDER.objectType() .openWith(TYPE_BUILDER.numberType().integer().with(new ClassInformationAnnotation(Long.class))) .with(new ClassInformationAnnotation(Map.class, asList(String.class, Long.class))) .build(), TYPE_BUILDER.objectType() .openWith((objectTypeBuilder(KnockeableDoor.class)).build()) .with(new ClassInformationAnnotation(Map.class, asList(String.class, KnockeableDoor.class))) true, SUPPORTED, null); assertParameter(parameters, "labeledRicin", "", TYPE_BUILDER.objectType() .openWith(objectTypeBuilder(Ricin.class)) .with(new ClassInformationAnnotation(Map.class, asList(String.class, Ricin.class))) false, SUPPORTED, null); assertParameter(parameters, "deathsBySeasons", "", TYPE_BUILDER.objectType() .with(new ClassInformationAnnotation(Map.class, asList(String.class, List.class))) .openWith(TYPE_BUILDER.arrayType() .of(TYPE_BUILDER.stringType())) .build(), false, SUPPORTED, null); assertParameter(parameters, "weaponValueMap", "", TYPE_BUILDER.objectType() .with(new ClassInformationAnnotation(Map.class, asList(String.class, Weapon.class))) .openWith(WEAPON_TYPE) false, SUPPORTED, null);
@Test public void selectAll() throws Exception { ObjectType record = getSelectOutputMetadata("select * from PLANET"); assertThat(record.getFields().size(), equalTo(5)); assertFieldOfType(record, "ID", testDatabase.getIdFieldMetaDataType()); assertFieldOfType(record, "POSITION", testDatabase.getPositionFieldMetaDataType()); assertFieldOfType(record, "NAME", typeBuilder.stringType().build()); if (testDatabase.getDbType().equals(MYSQL)) { assertFieldOfType(record, "PICTURE", typeBuilder.binaryType().build()); assertFieldOfType(record, "DESCRIPTION", typeBuilder.anyType().build()); } else { assertFieldOfType(record, "PICTURE", typeLoader.load(Blob.class)); assertFieldOfType(record, "DESCRIPTION", typeLoader.load(Clob.class)); } }
.thenReturn(new ImmutableOutputModel(StringUtils.EMPTY, create(JAVA).voidType().build(), false, emptySet())); when(operationModel.getName()).thenReturn("operation"); mockMetadataResolverFactory(operationModel, null); .thenReturn(new ImmutableOutputModel(StringUtils.EMPTY, create(JAVA).voidType().build(), false, emptySet())); dictionaryType = typeBuilder.objectType() .openWith(toMetadataType(Object.class)) .build();
@Override public void visitBinaryType(BinaryType binaryType) { if (property == null) { return; } if (!property.isStrict()) { ParameterGroupDeclaration group = declaration.getParameterGroup(DEFAULT_GROUP_NAME); declareOutputMimeTypeParameter(group); declareOutputEncodingParameter(group); } replaceOutputType(declaration, property, format -> { BinaryTypeBuilder builder = BaseTypeBuilder.create(format).binaryType(); enrichWithAnnotations(builder, declaration.getOutput().getType().getAnnotations()); return builder.build(); }); }
@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))); }
@Test public void enumCollectionTransformer() throws Exception { DefaultExtensionManager extensionsManager = new DefaultExtensionManager(); extensionsManager.setMuleContext(muleContext); extensionsManager.initialise(); ParameterModel parameter = mock(ParameterModel.class); when(parameter.getType()) .thenReturn(create(JAVA).arrayType().of(toMetadataType(TimeUnit.class)).build()); mockParameters(extension1ConfigurationModel, parameter); extensionsManager.registerExtension(extensionModel1); verify(muleContext.getRegistry()).registerObject(anyString(), any(StringToEnum.class), eq(Transformer.class)); }
@Override public void visitString(StringType stringType) { type = withNewAnnotations(typeBuilder.stringType()); }
public static MetadataType buildOutputType(MetadataType body, MetadataType headers, MetadataType attachments, BaseTypeBuilder builder) { if (isNullType(body) && isNullType(attachments) && isNullType(headers)) { return builder.nullType().build(); } ObjectTypeBuilder object = builder.objectType(); if (!isNullType(body)) { object.addField().key(BODY_FIELD).value(body); } if (!isNullType(headers)) { object.addField().key(HEADERS_FIELD).value(headers); } if (!isNullType(attachments)) { object.addField().key(ATTACHMENTS_FIELD).value().arrayType().of(builder.binaryType()); } return object.build(); }