Bug 561324 - ModelAssembler emits unavoidable warnings
Removes potential unavoidable warnings because at the point of testing
it is not guaranteed, that all elements referenced by some import are
already imported. And provides more substantial info instead of null for
an other warning. Adapted a test case accordingly.
Change-Id: Idb83f99b931c373bdbad50c80ee2204b33db23e2
Signed-off-by: Gerhard Kreuzer <gerhard.kreuzer@siemens.com>
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ModelAssembler.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ModelAssembler.java
index 8b36e40..74ec209 100644
--- a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ModelAssembler.java
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/internal/workbench/ModelAssembler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2018 BestSolution.at and others.
+ * Copyright (c) 2010, 2020 BestSolution.at and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,6 +14,7 @@
* René Brandstetter - Bug 419749
* Brian de Alwis (MTI) - Bug 433053
* Alexandra Buzila - Refactoring, Bug 475934
+ * Gerhard Kreuzer - Bug 561324
******************************************************************************/
package org.eclipse.e4.ui.internal.workbench;
@@ -443,9 +444,6 @@
Map<MApplicationElement, MApplicationElement> importMaps = new HashMap<>();
for (MApplicationElement importedElement : imports) {
MApplicationElement realElement = ModelUtils.findElementById(application, importedElement.getElementId());
- if (realElement == null) {
- logger.warn("Could not resolve an import element for '" + importedElement.getElementId() + "'"); //$NON-NLS-1$ //$NON-NLS-2$
- }
importMaps.put(importedElement, realElement);
}
@@ -465,10 +463,11 @@
MApplicationElement el = null;
if (importObject instanceof MApplicationElement) {
el = importMaps.get((MApplicationElement) importObject);
- }
- if (el == null) {
- logger.warn("Could not resolve import for " + el); //$NON-NLS-1$
+ if (el == null) {
+ logger.warn("Could not resolve import for " //$NON-NLS-1$
+ + ((MApplicationElement) importObject).getElementId());
+ }
}
final EObject interalTarget = o;
diff --git a/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/ModelAssemblerTests.java b/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/ModelAssemblerTests.java
index 5f0fb94..6e5376d 100644
--- a/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/ModelAssemblerTests.java
+++ b/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/ModelAssemblerTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2016 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2016, 2020 EclipseSource Muenchen GmbH and others.
*
*
* This program and the accompanying materials
@@ -11,6 +11,7 @@
*
* Contributors:
* Alexandra Buzila - initial API and implementation
+ * Gerhard Kreuzer - Bug 561324
******************************************************************************/
package org.eclipse.e4.ui.tests.workbench;
@@ -294,7 +295,6 @@
assembler.resolveImports(imports, addedElements);
assertEquals(null, placeholder.getRef());
- verify(logger).warn("Could not resolve an import element for 'null'");
verify(logger).warn("Could not resolve import for null");
verifyZeroInteractions(logger);
}