Skip to content

Commit 4b26731

Browse files
committed
TEDEFO-3325 added more debug logs which give insight into the package detection and found classes related to the SdkComponent annotation.
1 parent db8bb0e commit 4b26731

2 files changed

Lines changed: 40 additions & 6 deletions

File tree

src/main/java/eu/europa/ted/eforms/sdk/component/SdkComponentDescriptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public T createInstance(Object... initArgs) throws InstantiationException {
5050
.collect(Collectors.toList())
5151
.toArray(new Class[0]);
5252

53-
logger.trace("Creating an instance of [{}] using constructor with parameter types: {}",
53+
logger.debug("Creating an instance of [{}] using constructor with parameter types: {}",
5454
implType, paramTypes);
5555

5656
Constructor<T> constructor = Optional
@@ -114,7 +114,7 @@ public boolean equals(Object obj) {
114114
if (getClass() != obj.getClass())
115115
return false;
116116
SdkComponentDescriptor<?> other = (SdkComponentDescriptor<?>) obj;
117-
return componentType == other.componentType
117+
return componentType == other.componentType
118118
&& Objects.equals(sdkVersion, other.sdkVersion)
119119
&& Objects.equals(qualifier, other.qualifier)
120120
&& Objects.equals(implType, other.implType);

src/main/java/eu/europa/ted/eforms/sdk/component/SdkComponentFactory.java

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import java.util.Arrays;
55
import java.util.Collections;
66
import java.util.HashMap;
7+
import java.util.List;
78
import java.util.Map;
9+
import java.util.Map.Entry;
810
import java.util.Objects;
911
import java.util.Optional;
1012
import java.util.stream.Stream;
@@ -78,6 +80,20 @@ private void populateComponents() {
7880
.map(Package::getName)
7981
.toArray(String[]::new);
8082

83+
if (logger.isDebugEnabled()) {
84+
final List<String> packages = Arrays.asList(availablePackages);
85+
86+
logger.debug("eforms eu packages:");
87+
packages.stream().sorted()
88+
.filter(p -> p.contains("eu.") && !p.contains("digit"))
89+
.forEach(p -> logger.debug(p));
90+
91+
logger.debug("viewer package");
92+
packages.stream().sorted()
93+
.filter(p -> p.contains("eu.europa.ted.eforms.viewer"))
94+
.forEach(p -> logger.debug(p));
95+
}
96+
8197
new Reflections(ConfigurationBuilder.build().forPackages(availablePackages))
8298
.getTypesAnnotatedWith(annotationType).stream()
8399
.forEach((Class<?> clazz) -> {
@@ -126,22 +142,40 @@ protected <T> T getComponentImpl(String sdkVersion, final SdkComponentType compo
126142
}
127143

128144
protected <T> T getComponentImpl(String sdkVersion, final SdkComponentType componentType,
129-
final String qualifier, final Class<T> intf, Object... initArgs) throws InstantiationException {
145+
final String qualifier, final Class<T> intf, Object... initArgs)
146+
throws InstantiationException {
130147

131148
String normalizedVersion = normalizeVersion(sdkVersion);
132149

133150
ComponentSelector selector = new ComponentSelector(componentType, qualifier);
134151

152+
Map<ComponentSelector, SdkComponentDescriptor<?>> map =
153+
Optional.ofNullable(componentsMap.get(normalizedVersion))
154+
.orElseGet(Collections::emptyMap);
155+
156+
if (logger.isDebugEnabled()) {
157+
logger.debug("selector componentType={}", selector.componentType);
158+
logger.debug("selector qualifier={}", selector.qualifier);
159+
logger.debug("normalized version={}", normalizedVersion);
160+
for (Entry<ComponentSelector, SdkComponentDescriptor<?>> entry : map.entrySet()) {
161+
logger.debug(
162+
"entry key componentType={}, key qualifier={}, value={}",
163+
entry.getKey().componentType,
164+
entry.getKey().qualifier,
165+
entry.getValue().getImplType().getName());
166+
}
167+
}
168+
135169
@SuppressWarnings("unchecked")
136170
SdkComponentDescriptor<T> descriptor =
137-
(SdkComponentDescriptor<T>) Optional.ofNullable(componentsMap.get(normalizedVersion))
138-
.orElseGet(Collections::emptyMap).get(selector);
171+
(SdkComponentDescriptor<T>) map.get(selector);
172+
logger.debug("descriptor descriptor={}", descriptor);
139173

140174
if (descriptor == null) {
141175
logger.error("Failed to load required components of SDK [{}]", sdkVersion);
142176
throw new IllegalArgumentException(
143177
MessageFormat.format(
144-
"No implementation found for SDK [{0}], component type [{1}] and qualifier '{2}'.",
178+
"No implementation found for SDK [{0}], component type [{1}] and qualifier [{2}].",
145179
sdkVersion, componentType, qualifier));
146180
}
147181

0 commit comments

Comments
 (0)