Null check for handlers that don't implement resolveWrapper
Since not all handlers are arleady implementing the resolveWrapper()
method, is possible to get a nullpointer exception in the unwrapWrapper()
method. This commit adds a check for such handlers that return null.
diff --git a/bundles/org.eclipse.capra.core/src/org/eclipse/capra/core/helpers/ArtifactHelper.java b/bundles/org.eclipse.capra.core/src/org/eclipse/capra/core/helpers/ArtifactHelper.java
index 6eff169..bd877eb 100644
--- a/bundles/org.eclipse.capra.core/src/org/eclipse/capra/core/helpers/ArtifactHelper.java
+++ b/bundles/org.eclipse.capra.core/src/org/eclipse/capra/core/helpers/ArtifactHelper.java
@@ -83,13 +83,13 @@
* to be unwrapped
* @return the original artifact
*/
- public Object unwrapWrapper(Object wrapper) {
+ public <T> Object unwrapWrapper(Object wrapper) {
if (wrapper instanceof EObject) {
ArtifactMetaModelAdapter artifactMetaModelAdapter = ExtensionPointHelper
.getArtifactWrapperMetaModelAdapter().get();
IArtifactHandler<?> handler = (IArtifactHandler<?>) artifactMetaModelAdapter
.getArtifactHandlerInstance((EObject) wrapper);
- if (handler != null) {
+ if (handler != null && handler.resolveWrapper((EObject) wrapper) != null) {
return handler.resolveWrapper((EObject) wrapper);
} else
return wrapper;