Community
Participate
Working Groups
In the case where the edge creation tool also creates the source and the target of the edge, there is a bug. This kind of tool try to create an edge between the extra source mapping and the extra target mapping whereas it is impossible (the evaluation of the targetFinderExpression fails). Steps to reproduce: * Imports the joined project from createBorderNodeWithEdge.zip * Disable the Sirius "Automatic Refresh" preference (to avoid an edge creation by the automatic refresh) * Open the diagram new "SampleDiagram" * Execute one of the tool "Case1-withCreateEdgeView" or "Case2-withouCreateEdgeView" (the result is the same) by clicking between P1 and P2 ** This tool creates an interface in P1, an interface in P2, and the interface of P1 inherits the interface of P2. * The border nodes are created and the edge too. But there are warnings in "Error Log" view because Sirius try to create an edge between P1 and P2 Corresponding warning in Error Log: the following edge mapping target finder expression could not be correctly evaluated : feature:eSuperTypes org.eclipse.sirius.common.tools.api.interpreter.EvaluationException: Unknown feature name eSuperTypes. at org.eclipse.sirius.common.tools.internal.interpreter.FeatureInterpreter.evaluate(FeatureInterpreter.java:95) at org.eclipse.sirius.common.tools.internal.interpreter.AbstractInterpreter.evaluateCollection(AbstractInterpreter.java:52) at org.eclipse.sirius.tools.internal.interpreter.ODesignGenericInterpreter.evaluateCollection(ODesignGenericInterpreter.java:175) at org.eclipse.sirius.diagram.business.api.query.EdgeMappingQuery.evaluateTargetFinderExpression(EdgeMappingQuery.java:186) at org.eclipse.sirius.diagram.tools.api.refresh.BestMappingGetter.isSemanticCandidate(BestMappingGetter.java:350) at org.eclipse.sirius.diagram.tools.api.refresh.BestMappingGetter.getBestEdgeMapping(BestMappingGetter.java:272) at org.eclipse.sirius.diagram.business.internal.helper.task.CreateDEdgeTask.execute(CreateDEdgeTask.java:118) at org.eclipse.sirius.business.api.helper.task.TaskExecutor.operation(TaskExecutor.java:95) at org.eclipse.sirius.business.api.helper.task.TaskExecutor.execute(TaskExecutor.java:65) at org.eclipse.sirius.tools.api.command.SiriusCommand.doExecute(SiriusCommand.java:80) at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) at org.eclipse.sirius.diagram.ui.tools.api.command.GMFCommandWrapper.doExecuteWithResult(GMFCommandWrapper.java:103) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
Created attachment 243479 [details] createBorderNodeWithEdge.zip: Use case for steps to reproduce