package org.arquillian.cube.impl.client; import java.util.Map; import org.arquillian.cube.spi.CubeConfiguration; import org.jboss.arquillian.config.descriptor.api.ArquillianDescriptor; import org.jboss.arquillian.core.api.InstanceProducer; import org.jboss.arquillian.core.api.annotation.ApplicationScoped; import org.jboss.arquillian.core.api.annotation.Inject; import org.jboss.arquillian.core.api.annotation.Observes; public class CubeConfigurator { private static final String EXTENSION_NAME = "cube"; @Inject @ApplicationScoped private InstanceProducer<CubeConfiguration> configurationProducer; //Add precedence -10 because we need that ContainerRegistry is available in the Arquillian scope. public void configure(@Observes(precedence = -10) ArquillianDescriptor arquillianDescriptor) { Map<String, String> config = arquillianDescriptor.extension(EXTENSION_NAME).getExtensionProperties(); CubeConfiguration cubeConfiguration = CubeConfiguration.fromMap(config); configurationProducer.set(cubeConfiguration); } }