Skip to content

Commit

Permalink
Fix apache#1066 Remove the need for registering RestBindingJaxbDataFo…
Browse files Browse the repository at this point in the history
…rmatFactory service
  • Loading branch information
ppalaga committed Jun 10, 2020
1 parent 9eb6425 commit 3336416
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 62 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
import org.apache.camel.quarkus.core.deployment.spi.CamelFactoryFinderResolverBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelMainBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelMainListenerBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelModelJAXBContextFactoryBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelModelToXMLDumperBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelReactiveExecutorBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelRegistryBuildItem;
Expand Down Expand Up @@ -375,13 +374,6 @@ CamelRegistryBuildItem registry(
return new CamelRegistryBuildItem(registry);
}

@Overridable
@BuildStep
@Record(value = ExecutionTime.STATIC_INIT, optional = true)
public CamelModelJAXBContextFactoryBuildItem createJaxbContextFactory(CamelRecorder recorder) {
return new CamelModelJAXBContextFactoryBuildItem(recorder.newDisabledModelJAXBContextFactory());
}

@Overridable
@BuildStep
@Record(value = ExecutionTime.STATIC_INIT, optional = true)
Expand Down Expand Up @@ -411,7 +403,6 @@ CamelContextBuildItem context(
CamelRecorder recorder,
CamelRegistryBuildItem registry,
CamelTypeConverterRegistryBuildItem typeConverterRegistry,
CamelModelJAXBContextFactoryBuildItem contextFactory,
CamelRoutesLoaderBuildItems.Xml xmlLoader,
CamelModelToXMLDumperBuildItem modelDumper,
CamelFactoryFinderResolverBuildItem factoryFinderResolverBuildItem,
Expand All @@ -422,7 +413,6 @@ CamelContextBuildItem context(
RuntimeValue<CamelContext> context = recorder.createContext(
registry.getRegistry(),
typeConverterRegistry.getRegistry(),
contextFactory.getContextFactory(),
xmlLoader.getLoader(),
modelDumper.getValue(),
factoryFinderResolverBuildItem.getFactoryFinderResolver(),
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.reifier.validator.ValidatorReifier;
import org.apache.camel.spi.FactoryFinderResolver;
import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.TypeConverterLoader;
Expand Down Expand Up @@ -57,11 +56,9 @@ public void addTypeConverterLoader(RuntimeValue<TypeConverterRegistry> registry,
}
}

@SuppressWarnings("unchecked")
public RuntimeValue<CamelContext> createContext(
RuntimeValue<Registry> registry,
RuntimeValue<TypeConverterRegistry> typeConverterRegistry,
RuntimeValue<ModelJAXBContextFactory> contextFactory,
RuntimeValue<XMLRoutesDefinitionLoader> xmlLoader,
RuntimeValue<ModelToXMLDumper> xmlModelDumper,
RuntimeValue<FactoryFinderResolver> factoryFinderResolver,
Expand All @@ -79,7 +76,6 @@ public RuntimeValue<CamelContext> createContext(
context.setRegistry(registry.getValue());
context.setTypeConverterRegistry(typeConverterRegistry.getValue());
context.setLoadTypeConverters(false);
context.setModelJAXBContextFactory(contextFactory.getValue());
context.build();

// register to the container
Expand Down Expand Up @@ -127,10 +123,6 @@ public void disableXmlReifiers() {
ValidatorReifier.registerReifier(PredicateValidatorDefinition.class, DisabledPredicateValidatorReifier::new);
}

public RuntimeValue<ModelJAXBContextFactory> newDisabledModelJAXBContextFactory() {
return new RuntimeValue<>(new DisabledModelJAXBContextFactory());
}

public RuntimeValue<XMLRoutesDefinitionLoader> newDisabledXMLRoutesDefinitionLoader() {
return new RuntimeValue<>(new DisabledXMLRoutesDefinitionLoader());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.jaxb.deployment.JaxbFileRootBuildItem;
import org.apache.camel.quarkus.component.xml.jaxb.XmlJaxbRecorder;
import org.apache.camel.quarkus.core.deployment.spi.CamelModelJAXBContextFactoryBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelContextCustomizerBuildItem;
import org.apache.camel.quarkus.core.deployment.spi.CamelModelToXMLDumperBuildItem;
import org.apache.camel.quarkus.core.deployment.util.CamelSupport;
import org.apache.camel.quarkus.support.common.CamelCapabilities;
Expand All @@ -53,9 +53,9 @@ List<CapabilityBuildItem> capabilities() {
}

@BuildStep
@Record(value = ExecutionTime.STATIC_INIT, optional = true)
CamelModelJAXBContextFactoryBuildItem contextFactory(XmlJaxbRecorder recorder) {
return new CamelModelJAXBContextFactoryBuildItem(recorder.newContextFactory());
@Record(value = ExecutionTime.STATIC_INIT)
CamelContextCustomizerBuildItem contextFactory(XmlJaxbRecorder recorder) {
return new CamelContextCustomizerBuildItem(recorder.newContextFactoryCustomizer());
}

@BuildStep
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
import io.quarkus.runtime.RuntimeValue;
import io.quarkus.runtime.annotations.Recorder;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.impl.engine.AbstractCamelContext;
import org.apache.camel.quarkus.core.CamelContextCustomizer;
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
import org.apache.camel.xml.jaxb.JaxbModelToXMLDumper;
Expand All @@ -30,16 +31,16 @@
@Recorder
public class XmlJaxbRecorder {

public RuntimeValue<ModelJAXBContextFactory> newContextFactory() {
DefaultModelJAXBContextFactory factory = new DefaultModelJAXBContextFactory();
public RuntimeValue<CamelContextCustomizer> newContextFactoryCustomizer() {
final DefaultModelJAXBContextFactory factory = new DefaultModelJAXBContextFactory();
if (ImageInfo.inImageBuildtimeCode()) {
try {
factory.newJAXBContext();
} catch (JAXBException e) {
throw new RuntimeCamelException("Unable to initialize Camel JAXBContext", e);
}
}
return new RuntimeValue<>(factory);
return new RuntimeValue<>(context -> ((AbstractCamelContext) context).setModelJAXBContextFactory(factory));
}

public RuntimeValue<ModelToXMLDumper> newJaxbModelToXMLDumper() {
Expand Down

0 comments on commit 3336416

Please sign in to comment.