[DOSGI-229] Remove wrongly added method from API again
diff --git a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java
index ec804be..fad6b03 100644
--- a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java
+++ b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/api/DistributionProvider.java
@@ -50,10 +50,4 @@
EndpointDescription endpoint)
throws IntentUnsatisfiedException;
- /**
- *
- * @param endpoint
- * @return if the provider can handle any of the config types of the endpoint
- */
- boolean canHandle(EndpointDescription endpoint);
}
diff --git a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java
index 60f8222..9cbb839 100644
--- a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java
+++ b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/AbstractPojoConfigurationTypeHandler.java
@@ -276,9 +276,4 @@
}
}
- @Override
- public boolean canHandle(EndpointDescription endpoint) {
- // Will be handled by CXFDistributionProvider at the moment
- throw new IllegalStateException();
- }
}
diff --git a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/CXFDistributionProvider.java b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/CXFDistributionProvider.java
index 27aff63..dad4a89 100644
--- a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/CXFDistributionProvider.java
+++ b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/handlers/CXFDistributionProvider.java
@@ -170,8 +170,4 @@
return supportedConfigurationTypes;
}
- @Override
- public boolean canHandle(EndpointDescription endpoint) {
- return determineConfigTypesForImport(endpoint).size() > 0;
- }
}
diff --git a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/service/RemoteServiceAdminCore.java b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/service/RemoteServiceAdminCore.java
index 55a53aa..2a3469c 100644
--- a/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/service/RemoteServiceAdminCore.java
+++ b/dsw/cxf-dsw/src/main/java/org/apache/cxf/dosgi/dsw/service/RemoteServiceAdminCore.java
@@ -315,7 +315,7 @@
return ir;
}
- if (!provider.canHandle(endpoint)) {
+ if (determineConfigTypesForImport(endpoint).size() == 0) {
LOG.info("No matching handler can be found for remote endpoint {}.", endpoint.getId());
return null;
}
@@ -347,6 +347,21 @@
return imReg;
}
}
+
+ private List<String> determineConfigTypesForImport(EndpointDescription endpoint) {
+ List<String> remoteConfigurationTypes = endpoint.getConfigurationTypes();
+
+ List<String> usableConfigurationTypes = new ArrayList<String>();
+ for (String ct : provider.getSupportedTypes()) {
+ if (remoteConfigurationTypes.contains(ct)) {
+ usableConfigurationTypes.add(ct);
+ }
+ }
+
+ LOG.info("Ignoring endpoint {} as it has no compatible configuration types: {}.",
+ endpoint.getId(), remoteConfigurationTypes);
+ return usableConfigurationTypes;
+ }
protected ImportRegistrationImpl exposeServiceFactory(String interfaceName,
EndpointDescription epd,