You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have created a prototype json based ArquillianDescriptor implementation using the shrinkwrap DescriptorImporter SPI, but there is a limitation on where it can be used because of this org.jboss.arquillian.container.impl.ContainerImpl method:
@OverridepublicContainerConfigurationcreateDeployableConfiguration() throwsException {
ContainerConfigurationconfig = SecurityActions.newInstance(
deployableContainer.getConfigurationClass(), newClass<?>[0], newObject[0]);
MapObject.populate(config, containerConfiguration.getContainerProperties()); // This line needs to be externalizedconfig.validate();
returnconfig;
}
The containerConfiguration instance variable is a org.jboss.arquillian.config.descriptor.api.ContainerDef that results from the parse of the arquillian.xml descriptor by default. If one has overriden the parser to use a different format, the call to get the ContainerDef#getContainerProperties() becomes limiting on the types one can pass from the parsed ArquillianDescriptor to the org.jboss.arquillian.container.spi.client.container.ContainerConfiguration implementation a container provides.
Expected Behaviour
One should be able to provide a mapper from the ContainerDef and the ContainerConfiguration to allow for richer types in configurations.
There needs to be an interface that is provided by the org.jboss.arquillian.container.spi.client.container.DeployableContainer
publicinterfaceDeployableContainer<TextendsContainerConfiguration> {
// ControllableContainerClass<T> getConfigurationClass();
defaultConfigurationMapper<T> getConfigurationMapper() {
// Return the old behavior ...
}
Issue Overview
I have created a prototype json based ArquillianDescriptor implementation using the shrinkwrap DescriptorImporter SPI, but there is a limitation on where it can be used because of this
org.jboss.arquillian.container.impl.ContainerImpl
method:The
containerConfiguration
instance variable is aorg.jboss.arquillian.config.descriptor.api.ContainerDef
that results from the parse of the arquillian.xml descriptor by default. If one has overriden the parser to use a different format, the call to get theContainerDef#getContainerProperties()
becomes limiting on the types one can pass from the parsed ArquillianDescriptor to theorg.jboss.arquillian.container.spi.client.container.ContainerConfiguration
implementation a container provides.Expected Behaviour
One should be able to provide a mapper from the
ContainerDef
and theContainerConfiguration
to allow for richer types in configurations.There needs to be an interface that is provided by the
org.jboss.arquillian.container.spi.client.container.DeployableContainer
where ConfigurationMapper is a new interface:
Current Behaviour
Only scalar types and strings are supported
The text was updated successfully, but these errors were encountered: