Skip to content

Commit 4e2369a

Browse files
committed
[fix] Use new diagram description style feature to display helper image
Signed-off-by: Axel RICHARD <axel.richard@obeo.fr>
1 parent 75b6856 commit 4e2369a

13 files changed

Lines changed: 47 additions & 517 deletions

File tree

backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/CreateRedundantEdgesTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public void testAttemptToCreateRedundantFeatureTyping(EClass sourceNodeClass, St
149149

150150
Consumer<Object> initialDiagramContentConsumer = assertRefreshedDiagramThat(diagram -> {
151151
diagramId.set(diagram.getId());
152-
assertThat(diagram.getNodes()).hasSize(1); // The "Add your first element" pseudo-node
152+
assertThat(diagram.getNodes()).hasSize(0);
153153
assertThat(diagram.getEdges()).isEmpty();
154154
});
155155

backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVDropFromExplorerTests.java

Lines changed: 6 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
import org.eclipse.syson.services.diagrams.api.IGivenDiagramDescription;
6363
import org.eclipse.syson.services.diagrams.api.IGivenDiagramSubscription;
6464
import org.eclipse.syson.standard.diagrams.view.SDVDescriptionNameGenerator;
65-
import org.eclipse.syson.standard.diagrams.view.nodes.GeneralViewEmptyDiagramNodeDescriptionProvider;
6665
import org.eclipse.syson.sysml.Element;
6766
import org.eclipse.syson.sysml.Package;
6867
import org.eclipse.syson.sysml.PartUsage;
@@ -172,11 +171,9 @@ public void dropFromExplorerOnEmptyDiagram() {
172171
var diagramDescriptionIdProvider = new DiagramDescriptionIdProvider(diagramDescription, this.diagramIdProvider);
173172

174173
Runnable dropFromExplorerRunnable = () -> {
175-
assertThat(diagram.get().getNodes()).hasSize(1);
176-
Node emptyDiagramNode = diagram.get().getNodes().get(0);
177-
String emptyDiagramNodeDescriptionId = diagramDescriptionIdProvider.getNodeDescriptionId(GeneralViewEmptyDiagramNodeDescriptionProvider.NAME);
178-
// Ensure the existing node is the "empty diagram" one.
179-
assertThat(emptyDiagramNode).hasDescriptionId(emptyDiagramNodeDescriptionId);
174+
assertThat(diagram.get().getNodes()).hasSize(0);
175+
var background = diagram.get().getStyle().getBackground();
176+
assertThat(background).isNotEqualTo("transparent");
180177
this.dropFromExplorerTester.dropFromExplorerOnDiagram(GeneralViewAddExistingElementsTestProjectData.EDITING_CONTEXT_ID, diagram, semanticElementId.get());
181178
};
182179

@@ -192,6 +189,8 @@ public void dropFromExplorerOnEmptyDiagram() {
192189
.hasTargetObjectLabel("part1")
193190
.hasTotalCompartmentCount(11)
194191
.check(diagram.get(), newDiagram);
192+
var background = newDiagram.getStyle().getBackground();
193+
assertThat(background).isEqualTo("transparent");
195194
});
196195

197196
Runnable exposedElementsChecker = this.semanticRunnableFactory.createRunnable(GeneralViewAddExistingElementsTestProjectData.EDITING_CONTEXT_ID,
@@ -229,11 +228,7 @@ public void dropFromExplorerShortNameOnlyOnEmptyDiagram() {
229228
var diagramDescriptionIdProvider = new DiagramDescriptionIdProvider(diagramDescription, this.diagramIdProvider);
230229

231230
Runnable dropFromExplorerRunnable = () -> {
232-
assertThat(diagram.get().getNodes()).hasSize(1);
233-
Node emptyDiagramNode = diagram.get().getNodes().get(0);
234-
String emptyDiagramNodeDescriptionId = diagramDescriptionIdProvider.getNodeDescriptionId(GeneralViewEmptyDiagramNodeDescriptionProvider.NAME);
235-
// Ensure the existing node is the "empty diagram" one.
236-
assertThat(emptyDiagramNode).hasDescriptionId(emptyDiagramNodeDescriptionId);
231+
assertThat(diagram.get().getNodes()).hasSize(0);
237232
this.dropFromExplorerTester.dropFromExplorerOnDiagram(GeneralViewAddExistingElementsTestProjectData.EDITING_CONTEXT_ID, diagram,
238233
GeneralViewAddExistingElementsTestProjectData.SemanticIds.SN_REQUIREMENT_ELEMENT_ID);
239234
};
@@ -272,58 +267,6 @@ public void dropFromExplorerShortNameOnlyOnEmptyDiagram() {
272267

273268
}
274269

275-
@GivenSysONServer({ GeneralViewAddExistingElementsTestProjectData.SCRIPT_PATH })
276-
@Test
277-
public void dropFromExplorerOnEmptyDiagramNode() {
278-
var flux = this.givenSubscriptionToDiagram();
279-
280-
AtomicReference<String> semanticElementId = new AtomicReference<>();
281-
Runnable semanticChecker = this.semanticRunnableFactory.createRunnable(GeneralViewAddExistingElementsTestProjectData.EDITING_CONTEXT_ID,
282-
(editingContext, executeEditingContextFunctionInput) -> {
283-
String partUsageId = this.getSemanticElementWithTargetObjectLabel(editingContext, "part1");
284-
semanticElementId.set(partUsageId);
285-
return new ExecuteEditingContextFunctionSuccessPayload(executeEditingContextFunctionInput.id(), true);
286-
});
287-
288-
AtomicReference<Diagram> diagram = new AtomicReference<>();
289-
Consumer<Object> initialDiagramContentConsumer = assertRefreshedDiagramThat(diagram::set);
290-
291-
var diagramDescription = this.givenDiagramDescription.getDiagramDescription(GeneralViewAddExistingElementsTestProjectData.EDITING_CONTEXT_ID,
292-
SysONRepresentationDescriptionIdentifiers.GENERAL_VIEW_DIAGRAM_DESCRIPTION_ID);
293-
var diagramDescriptionIdProvider = new DiagramDescriptionIdProvider(diagramDescription, this.diagramIdProvider);
294-
295-
Runnable dropFromExplorerRunnable = () -> {
296-
assertThat(diagram.get().getNodes()).hasSize(1);
297-
Node emptyDiagramNode = diagram.get().getNodes().get(0);
298-
String emptyDiagramNodeDescriptionId = diagramDescriptionIdProvider.getNodeDescriptionId(GeneralViewEmptyDiagramNodeDescriptionProvider.NAME);
299-
// Ensure the existing node is the "empty diagram" one.
300-
assertThat(emptyDiagramNode).hasDescriptionId(emptyDiagramNodeDescriptionId);
301-
this.dropFromExplorerTester.dropFromExplorer(GeneralViewAddExistingElementsTestProjectData.EDITING_CONTEXT_ID, diagram, emptyDiagramNode.getId(), semanticElementId.get());
302-
};
303-
304-
Consumer<Object> updatedDiagramConsumer = assertRefreshedDiagramThat(newDiagram -> {
305-
new CheckDiagramElementCount(this.diagramComparator)
306-
.hasNewEdgeCount(0)
307-
// 1 node for the PartUsage, 11 for its compartments, 1 for the list-item for part2 in its
308-
// "parts" compartment
309-
.hasNewNodeCount(13)
310-
.check(diagram.get(), newDiagram);
311-
new CheckNodeOnDiagram(diagramDescriptionIdProvider, this.diagramComparator)
312-
.hasNodeDescriptionName(this.descriptionNameGenerator.getNodeName(SysmlPackage.eINSTANCE.getPartUsage()))
313-
.hasTargetObjectLabel("part1")
314-
.hasTotalCompartmentCount(11)
315-
.check(diagram.get(), newDiagram);
316-
});
317-
318-
StepVerifier.create(flux)
319-
.then(semanticChecker)
320-
.consumeNextWith(initialDiagramContentConsumer)
321-
.then(dropFromExplorerRunnable)
322-
.consumeNextWith(updatedDiagramConsumer)
323-
.thenCancel()
324-
.verify(Duration.ofSeconds(10));
325-
}
326-
327270
@GivenSysONServer({ GeneralViewAddExistingElementsTestProjectData.SCRIPT_PATH })
328271
@Test
329272
public void dropFromExplorerTwiceShouldNotExposeElementTwice() {

backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVUndoTests.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,7 @@ public void testUndoAfterDelete() {
136136

137137
Consumer<Object> updatedDiagramAfterPartDeletion = assertRefreshedDiagramThat(diag -> {
138138
var nodeCount = new DiagramNavigator(diag).findDiagramNodeCount();
139-
assertThat(nodeCount).isEqualTo(1); // empty node to help users to start modeling
140-
Node node = new DiagramNavigator(diag).nodeWithTargetObjectId(GeneralViewEmptyTestProjectData.SemanticIds.VIEW_USAGE_ID).getNode();
141-
assertThat(node).isNotNull();
139+
assertThat(nodeCount).isEqualTo(0);
142140
});
143141

144142
Runnable invokeUndoDeletePartUsage = () -> {

backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractEmptyDiagramNodeDescriptionProvider.java

Lines changed: 0 additions & 214 deletions
This file was deleted.

backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AddYourFirstElement.java

Lines changed: 23 additions & 0 deletions
Large diffs are not rendered by default.

backend/views/syson-diagram-tests/src/main/java/org/eclipse/syson/diagram/tests/checkers/DiagramDescriptionHasNoEmptyDiagramNodeChecker.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)