Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CAMEL-15105: part 7 #9738

Merged
merged 1 commit into from
Mar 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.ModelineFactory;
import org.apache.camel.spi.NormalizedEndpointUri;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PluginManager;
Expand Down Expand Up @@ -323,20 +322,6 @@ default Registry getRegistry() {
*/
void setDevConsoleResolver(DevConsoleResolver devConsoleResolver);

/**
* Returns the package scanning resource resolver
*
* @return the resolver
*/
PackageScanResourceResolver getPackageScanResourceResolver();

/**
* Sets the package scanning resource resolver to use
*
* @param resolver the resolver
*/
void setPackageScanResourceResolver(PackageScanResourceResolver resolver);

/**
* Gets the default FactoryFinder which will be used for the loading the factory class from META-INF
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,6 @@ public abstract class AbstractCamelContext extends BaseService
volatile ModelToXMLDumper modelToXMLDumper;
volatile RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory;
volatile RuntimeCamelCatalog runtimeCamelCatalog;
volatile PackageScanResourceResolver packageScanResourceResolver;
volatile ModelineFactory modelineFactory;
volatile ProcessorFactory processorFactory;
volatile PeriodTaskResolver periodTaskResolver;
Expand Down Expand Up @@ -380,6 +379,7 @@ protected AbstractCamelContext(boolean build) {
camelContextExtension.addContextPlugin(UriFactoryResolver.class, createUriFactoryResolver());
camelContextExtension.addContextPlugin(FactoryFinderResolver.class, createFactoryFinderResolver());
camelContextExtension.addContextPlugin(PackageScanClassResolver.class, createPackageScanClassResolver());
camelContextExtension.addContextPlugin(PackageScanResourceResolver.class, createPackageScanResourceResolver());

if (build) {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.ModelineFactory;
import org.apache.camel.spi.NormalizedEndpointUri;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PluginManager;
Expand Down Expand Up @@ -369,24 +368,6 @@ public FactoryFinder getFactoryFinder(String path) {
return factories.computeIfAbsent(path, camelContext::createFactoryFinder);
}

@Override
public PackageScanResourceResolver getPackageScanResourceResolver() {
if (camelContext.packageScanResourceResolver == null) {
synchronized (camelContext.lock) {
if (camelContext.packageScanResourceResolver == null) {
setPackageScanResourceResolver(camelContext.createPackageScanResourceResolver());
}
}
}
return camelContext.packageScanResourceResolver;
}

@Override
public void setPackageScanResourceResolver(PackageScanResourceResolver packageScanResourceResolver) {
camelContext.packageScanResourceResolver
= camelContext.getInternalServiceManager().addService(packageScanResourceResolver);
}

@Override
public ModelJAXBContextFactory getModelJAXBContextFactory() {
if (camelContext.modelJAXBContextFactory == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.ComponentNameResolver;
import org.apache.camel.spi.Resource;
import org.apache.camel.support.PluginHelper;

public class DefaultComponentNameResolver implements ComponentNameResolver {

Expand All @@ -32,8 +33,7 @@ public class DefaultComponentNameResolver implements ComponentNameResolver {
@Override
public Set<String> resolveNames(CamelContext camelContext) {
try {
return camelContext.getCamelContextExtension()
.getPackageScanResourceResolver()
return PluginHelper.getPackageScanResourceResolver(camelContext)
.findResources(RESOURCE_PATH)
.stream()
.map(Resource::getLocation)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.apache.camel.console.DevConsoleResolver;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.Resource;
import org.apache.camel.support.PluginHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -42,7 +43,7 @@ public class DefaultDevConsolesLoader {

public DefaultDevConsolesLoader(CamelContext camelContext) {
this.camelContext = camelContext;
this.resolver = camelContext.getCamelContextExtension().getPackageScanResourceResolver();
this.resolver = PluginHelper.getPackageScanResourceResolver(camelContext);
this.devConsoleResolver = camelContext.getCamelContextExtension().getDevConsoleResolver();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ public boolean configure(CamelContext camelContext, Object obj, String name, Obj
case "ModelineFactory": target.setModelineFactory(property(camelContext, org.apache.camel.spi.ModelineFactory.class, value)); return true;
case "name":
case "Name": target.setName(property(camelContext, java.lang.String.class, value)); return true;
case "packagescanresourceresolver":
case "PackageScanResourceResolver": target.setPackageScanResourceResolver(property(camelContext, org.apache.camel.spi.PackageScanResourceResolver.class, value)); return true;
case "periodtaskresolver":
case "PeriodTaskResolver": target.setPeriodTaskResolver(property(camelContext, org.apache.camel.spi.PeriodTaskResolver.class, value)); return true;
case "periodtaskscheduler":
Expand Down Expand Up @@ -144,8 +142,6 @@ public Class<?> getOptionType(String name, boolean ignoreCase) {
case "ModelineFactory": return org.apache.camel.spi.ModelineFactory.class;
case "name":
case "Name": return java.lang.String.class;
case "packagescanresourceresolver":
case "PackageScanResourceResolver": return org.apache.camel.spi.PackageScanResourceResolver.class;
case "periodtaskresolver":
case "PeriodTaskResolver": return org.apache.camel.spi.PeriodTaskResolver.class;
case "periodtaskscheduler":
Expand Down Expand Up @@ -224,8 +220,6 @@ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
case "ModelineFactory": return target.getModelineFactory();
case "name":
case "Name": return target.getName();
case "packagescanresourceresolver":
case "PackageScanResourceResolver": return target.getPackageScanResourceResolver();
case "periodtaskresolver":
case "PeriodTaskResolver": return target.getPeriodTaskResolver();
case "periodtaskscheduler":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.ModelineFactory;
import org.apache.camel.spi.NormalizedEndpointUri;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PluginManager;
Expand Down Expand Up @@ -265,16 +264,6 @@ public void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory) {
throw new UnsupportedOperationException();
}

@Override
public PackageScanResourceResolver getPackageScanResourceResolver() {
throw new UnsupportedOperationException();
}

@Override
public void setPackageScanResourceResolver(PackageScanResourceResolver resolver) {
throw new UnsupportedOperationException();
}

@Override
public FactoryFinder getDefaultFactoryFinder() {
throw new UnsupportedOperationException();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.support.PluginHelper;
import org.junit.jupiter.api.Test;

import static org.assertj.core.api.Assertions.assertThat;
Expand All @@ -26,7 +27,7 @@ public class DefaultPackageScanResourceResolverTest {
@Test
public void testFileResourcesScan() throws Exception {
final DefaultCamelContext ctx = new DefaultCamelContext();
final PackageScanResourceResolver resolver = ctx.getCamelContextExtension().getPackageScanResourceResolver();
final PackageScanResourceResolver resolver = PluginHelper.getPackageScanResourceResolver(ctx);

assertThat(resolver.findResources("file:src/test/resources/org/apache/camel/impl/engine/**/*.xml"))
.hasSize(4)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.apache.camel.health.HealthCheckResolver;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.Resource;
import org.apache.camel.support.PluginHelper;
import org.apache.camel.util.StringHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -42,7 +43,7 @@ public class DefaultHealthChecksLoader {

public DefaultHealthChecksLoader(CamelContext camelContext) {
this.camelContext = camelContext;
this.resolver = camelContext.getCamelContextExtension().getPackageScanResourceResolver();
this.resolver = PluginHelper.getPackageScanResourceResolver(camelContext);
this.healthCheckResolver = camelContext.getCamelContextExtension().getHealthCheckResolver();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.Resource;
import org.apache.camel.support.PluginHelper;
import org.apache.camel.util.AntPathMatcher;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StopWatch;
Expand Down Expand Up @@ -169,8 +170,7 @@ public Collection<Resource> findRouteResourcesFromDirectory(
CamelContext camelContext,
String excludePattern,
String includePattern) {
final ExtendedCamelContext ecc = camelContext.getCamelContextExtension();
final PackageScanResourceResolver resolver = ecc.getPackageScanResourceResolver();
final PackageScanResourceResolver resolver = PluginHelper.getPackageScanResourceResolver(camelContext);
final String[] includes = includePattern != null ? includePattern.split(",") : null;
final String[] excludes = excludePattern != null ? excludePattern.split(",") : null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.apache.camel.spi.FactoryFinderResolver;
import org.apache.camel.spi.LanguageResolver;
import org.apache.camel.spi.PackageScanClassResolver;
import org.apache.camel.spi.PackageScanResourceResolver;
import org.apache.camel.spi.UriFactoryResolver;

public final class PluginHelper {
Expand Down Expand Up @@ -205,4 +206,22 @@ public static PackageScanClassResolver getPackageScanClassResolver(CamelContext
public static PackageScanClassResolver getPackageScanClassResolver(ExtendedCamelContext extendedCamelContext) {
return extendedCamelContext.getContextPlugin(PackageScanClassResolver.class);
}

/**
* Returns the package scanning resource resolver
*
* @return the resolver
*/
public static PackageScanResourceResolver getPackageScanResourceResolver(CamelContext camelContext) {
return getPackageScanResourceResolver(camelContext.getCamelContextExtension());
}

/**
* Returns the package scanning resource resolver
*
* @return the resolver
*/
public static PackageScanResourceResolver getPackageScanResourceResolver(ExtendedCamelContext extendedCamelContext) {
return extendedCamelContext.getContextPlugin(PackageScanResourceResolver.class);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ protected CamelContext createCamelContext() {
ClassLoader dynamicCL = createApplicationContextClassLoader();
answer.setApplicationContextClassLoader(dynamicCL);
PluginHelper.getPackageScanClassResolver(answer).addClassLoader(dynamicCL);
answer.getCamelContextExtension().getPackageScanResourceResolver().addClassLoader(dynamicCL);
PluginHelper.getPackageScanResourceResolver(answer).addClassLoader(dynamicCL);

KnownReposResolver known = new KnownReposResolver(camelContext);
known.loadKnownDependencies();
Expand Down