Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

- https://github.com/eclipse-syson/syson/issues/1581[#1581] [diagrams] Display inherited ports as border nodes in diagrams.

=== Architectural decision records

- [ADR-002] Services organization

=== Breaking changes

=== Dependency update
Expand Down Expand Up @@ -33,6 +37,8 @@
- https://github.com/eclipse-syson/syson/issues/1581[#1581] [diagrams] Redefine inherited `PortUsages` when connected as graphical border nodes.
- https://github.com/eclipse-syson/syson/issues/1589[#1589] [explorer] Add a filter to hide expose elements in `ViewUsage`.
- https://github.com/eclipse-syson/syson/issues/1587[#1587] [diagrams] Handle `ActionUsage` and `ActionDefinition` parameters as graphical border nodes.
- https://github.com/eclipse-syson/syson/issues/1628[#1628] [services] Introduce new services organization.
xref:developer-guide:index#services_organization.adoc[See the developer guide in the documentation for more details].

== v2025.10.0

Expand Down
10 changes: 10 additions & 0 deletions backend/application/syson-application-configuration/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,16 @@
<artifactId>syson-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-model-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-form-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-siriusweb-customnodes-metamodel</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
import org.eclipse.sirius.components.view.widget.reference.ReferenceFactory;
import org.eclipse.sirius.components.view.widget.reference.ReferenceWidgetDescription;
import org.eclipse.syson.application.services.DetailsViewService;
import org.eclipse.syson.form.services.FormMutationAQLService;
import org.eclipse.syson.form.services.FormQueryAQLService;
import org.eclipse.syson.model.services.ModelMutationAQLService;
import org.eclipse.syson.model.services.ModelQueryAQLService;
import org.eclipse.syson.services.UtilService;
import org.eclipse.syson.sysml.SysmlPackage;
import org.eclipse.syson.sysml.helper.LabelConstants;
Expand Down Expand Up @@ -142,7 +146,8 @@ public void addPropertiesDescriptions(IPropertiesDescriptionRegistry registry) {

// Convert the View-based FormDescription and register the result into the system
AQLInterpreter interpreter = new AQLInterpreter(List.of(),
List.of(new DetailsViewService(this.composedAdapterFactory, this.feedbackMessageService, this.readOnlyObjectPredicate), this.labelService, this.utilService),
List.of(new DetailsViewService(this.composedAdapterFactory, this.feedbackMessageService, this.readOnlyObjectPredicate), this.labelService, this.utilService,
new ModelMutationAQLService(), new ModelQueryAQLService(), new FormMutationAQLService(), new FormQueryAQLService()),
List.of(SysmlPackage.eINSTANCE));
IRepresentationDescription converted = this.converter.convert(viewFormDescription, List.of(), interpreter);
if (converted instanceof org.eclipse.sirius.components.forms.description.FormDescription formDescription) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,7 @@ public void givenAProjectWithManyElementsWhenWeSubscribeToItsValidationEventsThe
.map(ValidationRefreshedEventPayload::validation)
.ifPresentOrElse(validation -> {
assertNotNull(validation);
// It remains some AQL Errors in console, should be false when all validation rules will be valid
assertTrue(capturedOutput.getOut().contains("AQLInterpreter"));
assertFalse(capturedOutput.getOut().contains("AQLInterpreter"));
// Some constraints are not respected, should be 0 when all validation rules will be valid, all
// derived references will be implemented and all implicit specialization added.
assertTrue(validation.getDiagnostics().size() > 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ public class SysMLv2ValidationRules {
new ValidationRule(SysmlPackage.eINSTANCE.getEventOccurrenceUsage(), "validateEventOccurrenceUsageReference", "aql:self.referencedFeatureTarget() <> null implies self.referencedFeatureTarget().oclIsKindOf(sysml::OccurrenceUsage)", "If an EventOccurrenceUsage has an ownedReferenceSubsetting, then the featureTarget of the referencedFeature must be an OccurrenceUsage."),
new ValidationRule(SysmlPackage.eINSTANCE.getExhibitStateUsage(), "validateExhibitStateUsageReference", "aql:self.referencedFeatureTarget() <> null implies self.referencedFeatureTarget().oclIsKindOf(sysml::StateUsage)", "If an ExhibitStateUsage has an ownedReferenceSubsetting, then the featureTarget of the referencedFeature must be a StateUsage."),
new ValidationRule(SysmlPackage.eINSTANCE.getExpose(), "validateExposeIsImportAll", "aql:self.isImportAll", "An Expose always imports all Elements, regardless of visibility."),
new ValidationRule(SysmlPackage.eINSTANCE.getExpose(), "validateExposeOwningNamespace", "aql:self.importOwningNamespace.ocIsTypeOf(sysml::ViewUsage)", "The importOwningNamespace of an Expose must be a ViewUsage."),
new ValidationRule(SysmlPackage.eINSTANCE.getExpose(), "validateExposeOwningNamespace", "aql:self.importOwningNamespace.oclIsTypeOf(sysml::ViewUsage)", "The importOwningNamespace of an Expose must be a ViewUsage."),
new ValidationRule(SysmlPackage.eINSTANCE.getExpose(), "validateExposeVisibility", "aql:self.visibility = sysml::VisibilityKind::protected", "An Expose always has protected visibility."),
new ValidationRule(SysmlPackage.eINSTANCE.getExpression(), "validateExpressionResultExpressionMembership", "aql:self.membership->filter(sysml::ResultExpressionMembership)->size() <= 1", "An Expression must have at most one ResultExpressionMembership."),
new ValidationRule(SysmlPackage.eINSTANCE.getExpression(), "validateExpressionResultParameterMembership", "aql:self.featureMembership->filter(sysml::ReturnParameterMembership)->size() = 1", "An Expression must have exactly one featureMembership (owned or inherited) that is a ResultParameterMembership."),
Expand Down
35 changes: 35 additions & 0 deletions backend/releng/syson-test-coverage/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,46 @@
<artifactId>syson-direct-edit-grammar</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-diagram-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-form-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-model-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-representation-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-table-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-tree-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-sysml-metamodel-services</artifactId>
<version>2025.10.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.syson</groupId>
<artifactId>syson-sysml-rest-api-services</artifactId>
Expand Down
7 changes: 7 additions & 0 deletions backend/services/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,14 @@

<modules>
<module>syson-direct-edit-grammar</module>
<module>syson-diagram-services</module>
<module>syson-form-services</module>
<module>syson-model-services</module>
<module>syson-representation-services</module>
<module>syson-services</module>
<module>syson-table-services</module>
<module>syson-tree-services</module>
<module>syson-sysml-metamodel-services</module>
<module>syson-sysml-rest-api-services</module>
</modules>
</project>
11 changes: 11 additions & 0 deletions backend/services/syson-diagram-services/.checkstyle
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>

<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
<fileset name="all" enabled="true" check-config-name="SysON" local="false">
<file-match-pattern match-pattern="." include-pattern="true"/>
</fileset>
<filter name="FilesFromPackage" enabled="true">
<filter-data value="src/main/resources"/>
<filter-data value="src/test/resources"/>
</filter>
</fileset-config>
40 changes: 40 additions & 0 deletions backend/services/syson-diagram-services/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="test" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
29 changes: 29 additions & 0 deletions backend/services/syson-diagram-services/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>syson-diagram-services</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#Mon Sep 24 15:04:19 CEST 2007
eclipse.preferences.version=1
line.separator=\n
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=false
Loading
Loading