support of @Reference(value = Any.class)
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ExtendedComponentInstanceDTO.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ExtendedComponentInstanceDTO.java
index 581a960..bfcd685 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ExtendedComponentInstanceDTO.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ExtendedComponentInstanceDTO.java
@@ -35,6 +35,7 @@
import org.apache.aries.cdi.container.internal.util.Syncro;
import org.osgi.framework.Constants;
import org.osgi.service.cdi.ConfigurationPolicy;
+import org.osgi.service.cdi.annotations.Reference;
import org.osgi.service.cdi.runtime.dto.ComponentDTO;
import org.osgi.service.cdi.runtime.dto.ComponentInstanceDTO;
import org.osgi.service.cdi.runtime.dto.ConfigurationDTO;
@@ -332,7 +333,8 @@
Objects.requireNonNull(serviceType);
Objects.requireNonNull(componentName);
Objects.requireNonNull(targetFilter);
- String base = "(objectClass=".concat(serviceType).concat(")");
+ String base = Reference.Any.class.getName().equals(serviceType) || Object.class.getName().equals(serviceType) ?
+ "" : "(objectClass=".concat(serviceType).concat(")");
String extraFilter = Optional.ofNullable(
properties.get(componentName.concat(".target"))
).map(
diff --git a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ReferenceModel.java b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ReferenceModel.java
index df21438..278b3c0 100644
--- a/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ReferenceModel.java
+++ b/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/model/ReferenceModel.java
@@ -159,7 +159,8 @@
}
private Optional<Class<?>> getReferenceType() {
- if ((_reference != null) && (_reference.value() != null) && (_reference.value() != Object.class)) {
+ if ((_reference != null) && (_reference.value() != null) &&
+ (_reference.value() != Object.class) && (_reference.value() != Reference.Any.class)) {
return Optional.of(_reference.value());
}
return Optional.empty();