/** * {@inheritDoc} */ @Override public BaseTypeBuilder getTypeBuilder() { return BaseTypeBuilder.create(JAVA); } }
private TypeEnricherVisitor(MetadataType target, Set<TypeAnnotation> annotations) { this.target = target; this.annotations = annotations; this.typeBuilder = BaseTypeBuilder.create(target.getMetadataFormat()); }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(MetadataFormat.JAVA).objectType().build(); } }
@Override public MetadataType getOutputType(MetadataContext context, String key) throws MetadataResolvingException, ConnectionException { return BaseTypeBuilder.create(JAVA).anyType().build(); }
@Override public MetadataType getEntityMetadata(MetadataContext context, String key) throws MetadataResolvingException, ConnectionException { return BaseTypeBuilder.create(JAVA).voidType().build(); }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(JSON).anyType().build(); } }
@Override public MetadataType getOutputType(MetadataContext context, Object key) throws MetadataResolvingException, ConnectionException { return BaseTypeBuilder.create(JAVA).anyType().build(); }
@Override public MetadataType getOutputType(MetadataContext context, Object key) { return BaseTypeBuilder.create(JAVA).stringType().build(); }
@Override public MetadataType getStaticMetadata() { return BaseTypeBuilder.create(CSV).objectType().id("csv-object").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 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 getDataTypeFromString() { StringTypeBuilder typeBuilder = BaseTypeBuilder .create(JAVA) .stringType(); DataType dataType = toDataType(typeBuilder.build()); assertThat(dataType.getType(), is(equalTo(String.class))); }
@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)); }
public static TypeBuilder<?> objectTypeBuilder(Class<?> clazz) { BaseTypeBuilder typeBuilder = BaseTypeBuilder.create(JAVA); final TypeHandlerManager typeHandlerManager = new ExtensionsTypeHandlerManagerFactory() .createTypeHandlerManager(); typeHandlerManager.handle(clazz, new ParsingContext(), typeBuilder); return typeBuilder; }
@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 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))); }
@Override public MetadataType asMetadataType() { MetadataType metadataType = typeLoader.load(type); if (this.isSameType(Object.class) || this.isSameType(Serializable.class) || this.isAssignableTo(InputStream.class) || this.isAssignableTo(Byte[].class) || this.isAssignableTo(byte[].class)) { MetadataTypeEnricher enricher = new MetadataTypeEnricher(); return enricher.enrich(BaseTypeBuilder.create(JAVA).anyType().build(), typeLoader.load(type).getAnnotations()); } return metadataType; }
@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(); }