From c284463ee6f4e2d3724596afb496b129e49290d1 Mon Sep 17 00:00:00 2001
From: Alexander Diewald <diewald@fortiss.org>
Date: Tue, 5 Feb 2019 09:42:20 +0100
Subject: [PATCH] Migrator: Avoid JDK-11 classcastexception in deprecated
 artifacts.

Issue-Ref: 3620
Issue-Url: https://af3-developer.fortiss.org/issues/3620
Signed-off-by: Alexander Diewald <diewald@fortiss.org>
---
 .../src/org/fortiss/tooling/kernel/extension/base/.ratings    | 2 +-
 .../base/RemoveDeprecatedArtifactsMigrationProviderBase.java  | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings
index 0a29d0c1e..10e157853 100644
--- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings
+++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings
@@ -5,6 +5,6 @@ DialogMessage.java 8420640e999e4fb15fa644333e5d71e1d16c2559 GREEN
 ElementCompositorBase.java 7a445e5adde11878fe0515baca8b915287149b28 GREEN
 MultiViolationConstraintCheckerBase.java 30886a94c99cf8948f64401b1db821abe06e1e6c GREEN
 PrototypeProviderBase.java ebcd1794c3798b9899a620b01fd5aa0402129423 GREEN
-RemoveDeprecatedArtifactsMigrationProviderBase.java 3fdbcadf1d42a27d88952290a71e8bfe1450b946 GREEN
+RemoveDeprecatedArtifactsMigrationProviderBase.java 4a1b676223b7ec53259a26d1a671b11ff2f911e2 YELLOW
 TransformationContextChainBase.java 1ef37880ab275778c563928e80ba378fec964cb6 GREEN
 TransformationProviderBase.java 9e91100cc1f2c8fbd8d41af55aedfea34e02ff71 GREEN
diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/RemoveDeprecatedArtifactsMigrationProviderBase.java b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/RemoveDeprecatedArtifactsMigrationProviderBase.java
index 3fdbcadf1..4a1b67622 100644
--- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/RemoveDeprecatedArtifactsMigrationProviderBase.java
+++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/RemoveDeprecatedArtifactsMigrationProviderBase.java
@@ -50,11 +50,11 @@ public abstract class RemoveDeprecatedArtifactsMigrationProviderBase implements
 	protected abstract Collection<Class<? extends EObject>> getDeprecatedRootArtifacts();
 
 	/** Returns the {@link Stream} of deprecated model elements to be removed. */
-	@SuppressWarnings("unchecked")
 	private Stream<EObject> getDeprecatedModelElements(ITopLevelElement modelElement) {
 		Stream<EObject> root = asStream(modelElement.getRootModelElement().eAllContents());
+		Collection<Class<? extends EObject>> deprArtifacts = getDeprecatedArtifacts();
 		return root.filter(
-				e -> isInstanceOfAny(e, (Class<EObject>[])getDeprecatedArtifacts().toArray()));
+				e -> isInstanceOfAny(e, deprArtifacts.toArray(new Class[deprArtifacts.size()])));
 	}
 
 	/** {@inheritDoc} */
-- 
GitLab