Skip to content
Snippets Groups Projects
Commit 3a1200aa authored by Simon Barner's avatar Simon Barner
Browse files

Merge branch 'master' of https://git.fortiss.org/af3/kernel.git into

4232

Conflicts:
	org.fortiss.tooling.base/META-INF/MANIFEST.MF


Signed-off-by: default avatarSimon Barner <barner@fortiss.org>
parents 54332e6b 873218cd
No related branches found
No related tags found
1 merge request!1774232: Apply autolayouter to architectures synthesized by DSE
Showing
with 102 additions and 36 deletions
......@@ -2,10 +2,10 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tooling Base UI
Bundle-SymbolicName: org.fortiss.tooling.base.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-Activator: org.fortiss.tooling.base.ui.ToolingBaseUIActivator
Require-Bundle: org.fortiss.tooling.base;bundle-version="2.20.0";visibility:=reexport,
org.fortiss.tooling.kernel.ui;bundle-version="2.20.0";visibility:=reexport,
Require-Bundle: org.fortiss.tooling.base;bundle-version="2.21.0";visibility:=reexport,
org.fortiss.tooling.kernel.ui;bundle-version="2.21.0";visibility:=reexport,
org.eclipse.swt,
org.fortiss.tooling.common.ui
Bundle-ActivationPolicy: lazy
......
......@@ -2,14 +2,14 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.tooling.base;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.fortiss.tooling.kernel;bundle-version="2.20.0";visibility:=reexport,
org.fortiss.tooling.kernel;bundle-version="2.20.1";visibility:=reexport,
org.eclipse.elk.core;bundle-version="0.7.1",
org.eclipse.elk.alg.layered;bundle-version="0.7.1",
org.eclipse.elk.graph;bundle-version="0.7.1",
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tooling Commons UI
Bundle-SymbolicName: org.fortiss.tooling.common.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Bundle: org.fortiss.tooling.common;visibility:=reexport,
org.eclipse.core.resources;visibility:=reexport,
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tooling Commons
Bundle-SymbolicName: org.fortiss.tooling.common;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
com.ibm.icu;visibility:=reexport,
org.junit;visibility:=reexport
......
......@@ -3,7 +3,7 @@ Automatic-Module-Name: org.fortiss.tooling.ext.reuse.ui
Bundle-ManifestVersion: 2
Bundle-Name: AF3 Reuse UI
Bundle-SymbolicName: org.fortiss.tooling.ext.reuse.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-Activator: org.fortiss.tooling.ext.reuse.ui.ToolingReuseUIActivator
Require-Bundle: org.eclipse.ui.ide;visibility:=reexport,
org.fortiss.tooling.base.ui;visibility:=reexport,
......
......@@ -3,7 +3,7 @@ Automatic-Module-Name: org.fortiss.tooling.ext.reuse
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.tooling.ext.reuse;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
......
ReuseLibraryModelElementFactory.java 2e7e8f0b3b6a93225204bfbfc6223e28c2bd69b4 GREEN
ReuseLibraryUtils.java 0dce9ab39ccc7646c9cddad2bf882ec1e4cfd777 GREEN
ReuseLibraryUtils.java 9ba005d6be2e2e2fc0c8635a9567c000b8dd9e9b GREEN
......@@ -15,6 +15,7 @@
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.ext.reuse.utils;
import static org.eclipse.emf.ecore.util.EcoreUtil.delete;
import static org.eclipse.emf.ecore.util.EcoreUtil.replace;
import static org.fortiss.tooling.ext.reuse.ToolingReuseActivator.getDefault;
import static org.fortiss.tooling.ext.reuse.service.ReuseProviderService.getPossibleExternalReferenceClasses;
......@@ -25,7 +26,9 @@ import static org.fortiss.tooling.ext.reuse.storage.ReuseLibraryStorageManager.s
import static org.fortiss.tooling.ext.reuse.utils.ReuseLibraryModelElementFactory.createReuseElementSpec;
import static org.fortiss.tooling.ext.reuse.utils.ReuseLibraryModelElementFactory.createReuseLibrary;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.copy;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.getAllReferencesSetting;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.getChildrenWithType;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.replaceEObjectReferences;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.error;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.showError;
import static org.fortiss.tooling.kernel.utils.UniqueIDUtils.generateMissingIDs;
......@@ -36,12 +39,17 @@ import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.fortiss.tooling.base.model.element.IConnection;
import org.fortiss.tooling.base.model.element.IConnector;
import org.fortiss.tooling.base.model.element.IHierarchicElement;
import org.fortiss.tooling.base.model.element.IModelElement;
import org.fortiss.tooling.base.model.element.IModelElementSpecification;
import org.fortiss.tooling.ext.reuse.model.ReuseElementSpec;
......@@ -309,6 +317,71 @@ public class ReuseLibraryUtils {
setReuseElementLastUpdate(element, new Date());
}
/**
* Removes all {@link IConnection}s from/to the target element except the
* {@link IConnection} that belongs to a {@link IConnector} of the target
* element that can be matched to a {@link IConnector} of the source element. In
* this case, the {@link IConnection} will be updated to connect now to the
* source element instead of the target element. This method is useful when the
* target element should be replaced by the source element during reuse.
* Regarding the matching, a {@link Comparator} must be given that realizes a
* compare() method that returns 0 if both given {@link IConnector}s are
* matching, otherwise +/-1.
*
* @param target The target element (e.g. the replaced
* element)
* @param source The source element (e.g. the replacing
* element)
* @param connectorMatchComparator A comparator that will return 0 with
* compare() if both given {@link IConnector}s
* are matching
*/
public static void removeNonMatchingConnections(IHierarchicElement target, IHierarchicElement source,
Comparator<IConnector> connectorMatchComparator) {
IConnector matchedConnector = null;
for (IConnector targetConnector : target.getConnectors()) {
// check if a matching connector can be found
boolean saveConnections = false;
for (IConnector sourceConnector : source.getConnectors()) {
// matching is done via custom compare method (individual comparators possible)
if (connectorMatchComparator.compare(targetConnector, sourceConnector) == 0) {
matchedConnector = sourceConnector;
saveConnections = true;
replaceEObjectReferences(targetConnector, matchedConnector);
break;
}
}
// remove all connections or replace one end of them if a match was found
List<IConnection> connectionsToBeRemoved = new ArrayList<IConnection>();
for (IConnection incoming : targetConnector.getIncoming()) {
if (saveConnections) {
incoming.setTarget(matchedConnector);
} else {
connectionsToBeRemoved.add(incoming);
}
}
for (IConnection outgoing : targetConnector.getOutgoing()) {
if (saveConnections) {
outgoing.setSource(matchedConnector);
} else {
connectionsToBeRemoved.add(outgoing);
}
}
for (IConnection connection : connectionsToBeRemoved) {
delete(connection);
}
// delete all external references
if (!saveConnections) {
for (Setting setting : getAllReferencesSetting(targetConnector)) {
delete(setting.getEObject());
}
}
}
}
/**
* Returns all {@link ReuseElementSpec}s of the given element to a
* {@link ReuseLibrary}. If none exist, an empty list will be returned.
......@@ -800,5 +873,4 @@ public class ReuseLibraryUtils {
}
}
}
}
......@@ -3,7 +3,7 @@ Automatic-Module-Name: org.fortiss.tooling.ext.variability.ui
Bundle-ManifestVersion: 2
Bundle-Name: fortiss AF3 variability UI
Bundle-SymbolicName: org.fortiss.tooling.ext.variability.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-Activator: org.fortiss.tooling.ext.variability.ui.VariabilityUIActivator
Require-Bundle: org.fortiss.tooling.ext.variability;visibility:=reexport,
org.fortiss.tooling.base.ui;visibility:=reexport
......
......@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.tooling.ext.variability;singleton:=true
Automatic-Module-Name: org.fortiss.af3.variability
Bundle-Version: 2.20.0.qualifier
Automatic-Module-Name: org.fortiss.tooling.ext.variability
Bundle-Version: 2.21.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
......
......@@ -2,10 +2,10 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tooling Graphics GL UI
Bundle-SymbolicName: org.fortiss.tooling.graphicsGL.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-Activator: org.fortiss.tooling.graphicsGL.ui.ToolingGraphicsGLUIActivator
Require-Bundle: org.fortiss.tooling.graphicsGL;bundle-version="2.20.0";visibility:=reexport,
org.fortiss.tooling.base.ui;bundle-version="2.20.0";visibility:=reexport
Require-Bundle: org.fortiss.tooling.graphicsGL;bundle-version="2.21.0";visibility:=reexport,
org.fortiss.tooling.base.ui;bundle-version="2.21.0";visibility:=reexport
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-Vendor: fortiss GmbH
......
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.tooling.graphicsGL;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
......@@ -23,5 +23,5 @@ Export-Package: org.fortiss.tooling.graphicsGL,
org.fortiss.tooling.graphicsGL.model.scene.util,
org.fortiss.tooling.graphicsGL.model.util,
org.fortiss.tooling.graphicsGL.util
Require-Bundle: org.fortiss.tooling.kernel;bundle-version="2.20.0";visibility:=reexport
Require-Bundle: org.fortiss.tooling.kernel;bundle-version="2.21.0";visibility:=reexport
Automatic-Module-Name: org.fortiss.tooling.graphicsGL
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tooling Kernel UI
Bundle-SymbolicName: org.fortiss.tooling.kernel.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-Activator: org.fortiss.tooling.kernel.ui.ToolingKernelUIActivator
Require-Bundle: org.fortiss.tooling.common.ui;visibility:=reexport,
org.fortiss.tooling.kernel;visibility:=reexport,
......@@ -10,7 +10,7 @@ Require-Bundle: org.fortiss.tooling.common.ui;visibility:=reexport,
org.eclipse.emf.databinding;visibility:=reexport,
org.eclipse.core.databinding.property;visibility:=reexport,
com.google.guava;visibility:=reexport,
org.fortiss.tooling.base;bundle-version="2.20.0"
org.fortiss.tooling.base;bundle-version="2.21.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-Vendor: fortiss GmbH
......
......@@ -2,20 +2,19 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.tooling.kernel;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.fortiss.tooling.kernel.ToolingKernelActivator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle: org.fortiss.tooling.common;bundle-version="2.20.0";visibility:=reexport,
Require-Bundle: org.fortiss.tooling.common;bundle-version="2.21.0";visibility:=reexport,
org.eclipse.core.runtime,
org.eclipse.emf.ecore;bundle-version="2.7.0";visibility:=reexport,
org.eclipse.emf.transaction;bundle-version="1.4.0";visibility:=reexport,
org.eclipse.emf.ecore.xmi;bundle-version="2.7.0";visibility:=reexport
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Export-Package: org.fortiss.tooling.kernel;
uses:="org.eclipse.core.runtime,
Export-Package: org.fortiss.tooling.kernel; uses:="org.eclipse.core.runtime,
org.osgi.framework",
org.fortiss.tooling.kernel.clipboard,
org.fortiss.tooling.kernel.constraint,
......@@ -26,25 +25,20 @@ Export-Package: org.fortiss.tooling.kernel;
org.fortiss.tooling.kernel.internal,
org.fortiss.tooling.kernel.introspection,
org.fortiss.tooling.kernel.introspection.items,
org.fortiss.tooling.kernel.model;
uses:="org.eclipse.emf.ecore",
org.fortiss.tooling.kernel.model.impl;
uses:="org.fortiss.tooling.kernel.model",
org.fortiss.tooling.kernel.model.util;
uses:="org.eclipse.emf.ecore,
org.fortiss.tooling.kernel.model; uses:="org.eclipse.emf.ecore",
org.fortiss.tooling.kernel.model.impl; uses:="org.fortiss.tooling.kernel.model",
org.fortiss.tooling.kernel.model.util; uses:="org.eclipse.emf.ecore,
org.fortiss.tooling.kernel.model,
org.eclipse.emf.common.notify.impl,
org.eclipse.emf.common.notify",
org.fortiss.tooling.kernel.service;
uses:="org.eclipse.core.runtime,
org.fortiss.tooling.kernel.service; uses:="org.eclipse.core.runtime,
org.eclipse.emf.ecore,
org.fortiss.tooling.kernel.interfaces,
org.conqat.lib.commons.collections",
org.fortiss.tooling.kernel.service.base,
org.fortiss.tooling.kernel.service.listener,
org.fortiss.tooling.kernel.service.types,
org.fortiss.tooling.kernel.utils;
uses:="org.eclipse.emf.ecore,
org.fortiss.tooling.kernel.utils; uses:="org.eclipse.emf.ecore,
org.eclipse.core.resources"
Automatic-Module-Name: org.fortiss.tooling.kernel
Import-Package: com.google.common.collect
......@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Spider Chart
Bundle-SymbolicName: org.fortiss.tooling.spiderchart.ui;singleton:=true
Bundle-Version: 2.20.0.qualifier
Bundle-Version: 2.21.0.qualifier
Bundle-Vendor: fortiss GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-Developer: Amit Kumar Mondal (admin@amitinside.com)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment