diff --git a/java/bundles/org.eclipse.set.application.test/META-INF/MANIFEST.MF b/java/bundles/org.eclipse.set.application.test/META-INF/MANIFEST.MF
index 27c2343aff..2eea53a4c4 100644
--- a/java/bundles/org.eclipse.set.application.test/META-INF/MANIFEST.MF
+++ b/java/bundles/org.eclipse.set.application.test/META-INF/MANIFEST.MF
@@ -6,7 +6,8 @@ Bundle-Version: 2.6.0.qualifier
Fragment-Host: org.eclipse.set.application
Bundle-RequiredExecutionEnvironment: JavaSE-21
Bundle-Vendor: Eclipse Signalling Engineering Toolbox
-Import-Package: net.bytebuddy;version="[1.17.0,2.0.0)",
+Import-Package: com.google.common.util.concurrent.internal,
+ net.bytebuddy;version="[1.17.0,2.0.0)",
net.bytebuddy.agent;version="[1.17.0,2.0.0)",
org.apache.commons.lang3.reflect;version="[3.17.0,4.0.0)",
org.eclipse.set.unittest.utils,
diff --git a/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/defaultvalue/DefaultValueServiceImpl.xtend b/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/defaultvalue/DefaultValueServiceImpl.xtend
index bff3610d5c..3dc05a0d5f 100644
--- a/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/defaultvalue/DefaultValueServiceImpl.xtend
+++ b/java/bundles/org.eclipse.set.application/src/org/eclipse/set/application/defaultvalue/DefaultValueServiceImpl.xtend
@@ -8,17 +8,17 @@
*/
package org.eclipse.set.application.defaultvalue
-import org.eclipse.set.model.planpro.PlanPro.ENUMUntergewerkArt
-import org.eclipse.set.model.planpro.PlanPro.PlanProFactory
-import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle
import jakarta.inject.Inject
import org.eclipse.core.runtime.Assert
import org.eclipse.set.core.services.defaultvalue.DefaultValueService
import org.eclipse.set.core.services.version.PlanProVersionService
+import org.eclipse.set.model.planpro.PlanPro.ENUMUntergewerkArt
+import org.eclipse.set.model.planpro.PlanPro.PlanProFactory
+import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle
import static extension org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions.*
-import static extension org.eclipse.set.ppmodel.extensions.PlanungProjektExtensions.*
import static extension org.eclipse.set.ppmodel.extensions.PlanungEinzelExtensions.*
+import static extension org.eclipse.set.ppmodel.extensions.PlanungProjektExtensions.*
/**
* Implementation of {@link DefaultValueService}.
@@ -94,8 +94,8 @@ class DefaultValueServiceImpl implements DefaultValueService {
}
if (planungGAllg.planProXSDVersion.wert === null) {
- val versionInfo = versionService.createSupportedVersion()
- planungGAllg.planProXSDVersion.wert = versionInfo.planPro
+ val versionInfo = versionService.getCurrentVersion()
+ planungGAllg.planProXSDVersion.wert = versionInfo.planProVersions.head
}
if (planungGAllg.untergewerkArt === null) {
diff --git a/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/constants/ToolboxConstants.java b/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/constants/ToolboxConstants.java
index 528b40dd93..e9d0ed9c14 100644
--- a/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/constants/ToolboxConstants.java
+++ b/java/bundles/org.eclipse.set.basis/src/org/eclipse/set/basis/constants/ToolboxConstants.java
@@ -390,6 +390,11 @@ public interface CacheId {
*/
public static final double TOP_GEO_LENGTH_TOLERANCE = 0.01;
+ /**
+ * The separator for supported PlanPro, Signalbegriffe_Ril301 versions
+ */
+ public static final String VERSION_SEPARATOR = ", ";
+
/**
* The tolerance value between the Begrenzungen of a Teilbereich and its
* associated TOP_KANTE
diff --git a/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/version/PlanProVersionService.java b/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/version/PlanProVersionService.java
index 5a4359b596..c6e2e807c0 100644
--- a/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/version/PlanProVersionService.java
+++ b/java/bundles/org.eclipse.set.core.services/src/org/eclipse/set/core/services/version/PlanProVersionService.java
@@ -9,6 +9,9 @@
package org.eclipse.set.core.services.version;
import java.nio.file.Path;
+import java.util.Comparator;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.eclipse.set.model.validationreport.VersionInfo;
@@ -31,6 +34,9 @@ public interface PlanProVersionService {
*/
public record PlanProVersionFormat(String major, String patch,
String minor) {
+
+ private static final String VERSION_FORMAT = "(?[1-9]+\\.\\d+)\\.(?\\d+)(\\.(?\\d))*"; //$NON-NLS-1$
+
/**
* @return .
*/
@@ -45,6 +51,11 @@ public String getFullVersion() {
return String.format("%s.%s.%s", major, patch, minor); //$NON-NLS-1$
}
+ /**
+ * @param another
+ * the another version format
+ * @return true, if same
+ */
public int compare(final PlanProVersionFormat another) {
if (!major.equals(another.major)) {
return major.compareToIgnoreCase(another.major);
@@ -58,6 +69,38 @@ public int compare(final PlanProVersionFormat another) {
return minor.compareToIgnoreCase(another.minor);
}
return 0;
+ }
+
+ /**
+ * @return the planpro version comparator
+ */
+ public static Comparator compareVersion() {
+ return (first, second) -> {
+ final PlanProVersionFormat firstVersion = parseVersionFormat(
+ first);
+ final PlanProVersionFormat secondVersion = parseVersionFormat(
+ second);
+ return firstVersion.compare(secondVersion);
+ };
+ }
+
+ /**
+ * Parse planpro version from string
+ *
+ * @param version
+ * the version
+ * @return the {@link PlanProVersionFormat}
+ */
+ public static PlanProVersionFormat parseVersionFormat(
+ final String version) {
+ final Pattern compile = Pattern.compile(VERSION_FORMAT);
+ final Matcher matcher = compile.matcher(version);
+ if (!matcher.matches()) {
+ throw new IllegalArgumentException("Illegal Version Foramt"); //$NON-NLS-1$
+ }
+
+ return new PlanProVersionFormat(matcher.group("major"), //$NON-NLS-1$
+ matcher.group("patch"), matcher.group("minor")); //$NON-NLS-1$ //$NON-NLS-2$
}
}
@@ -65,7 +108,7 @@ public int compare(final PlanProVersionFormat another) {
/**
* @return the supported PlanPro version
*/
- public VersionInfo createSupportedVersion();
+ public VersionInfo getSupportedVersions();
/**
* @return the supported PlanPro version format
@@ -81,7 +124,15 @@ public int compare(final PlanProVersionFormat another) {
public VersionInfo createUsedVersion(Path location);
/**
- * @return the current PlanPro version
+ * @return the version info with actual PlanPro and Signalbegriff_Ril301
+ * version
+ */
+ public VersionInfo getCurrentVersion();
+
+ /**
+ * @param uri
+ * the used version in loaded file
+ * @return true, if this version was supported
*/
- public String getCurrentVersion();
+ public boolean isSupportedVersion(String uri);
}
diff --git a/java/bundles/org.eclipse.set.core.test/src/org/eclipse/set/core/fileservice/MockPlanProVersionService.java b/java/bundles/org.eclipse.set.core.test/src/org/eclipse/set/core/fileservice/MockPlanProVersionService.java
index 4af702ebc5..890251606e 100644
--- a/java/bundles/org.eclipse.set.core.test/src/org/eclipse/set/core/fileservice/MockPlanProVersionService.java
+++ b/java/bundles/org.eclipse.set.core.test/src/org/eclipse/set/core/fileservice/MockPlanProVersionService.java
@@ -13,7 +13,10 @@
import org.eclipse.set.core.services.Services;
import org.eclipse.set.core.services.version.PlanProVersionService;
import org.eclipse.set.core.services.version.PlanProVersionService.PlanProVersionFormat;
+import org.eclipse.set.model.validationreport.ValidationreportFactory;
+import org.eclipse.set.model.validationreport.VersionInfo;
import org.junit.function.ThrowingRunnable;
+import org.mockito.ArgumentMatchers;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
@@ -24,6 +27,14 @@ public class MockPlanProVersionService {
private static final PlanProVersionFormat currentVersion = new PlanProVersionFormat(
"1.10", "0", "3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ private static VersionInfo givenCurrentVersionInfo() {
+ final VersionInfo currentVersionInfo = ValidationreportFactory.eINSTANCE
+ .createVersionInfo();
+ currentVersionInfo.getPlanProVersions().add("1.10.0.3"); //$NON-NLS-1$
+ currentVersionInfo.getSignalbegriffeVersions().add("1.10.0.4"); //$NON-NLS-1$
+ return currentVersionInfo;
+ }
+
/**
* Mock {@link PlanProVersionService}
*
@@ -32,12 +43,17 @@ public class MockPlanProVersionService {
* @throws Throwable
* the exception
*/
+ @SuppressWarnings("boxing")
public static void mockPlanProVersionService(final ThrowingRunnable doTest)
throws Throwable {
final PlanProVersionService mockVersionService = Mockito
.mock(PlanProVersionService.class);
+
Mockito.when(mockVersionService.getCurrentVersion())
- .thenReturn(currentVersion.getFullVersion());
+ .thenReturn(givenCurrentVersionInfo());
+ Mockito.when(mockVersionService
+ .isSupportedVersion(ArgumentMatchers.anyString()))
+ .thenReturn(Boolean.TRUE);
Mockito.when(mockVersionService.getSupportedVersionFormat())
.thenReturn(currentVersion);
try (MockedStatic mockStatic = Mockito
diff --git a/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/fileservice/PlanProXMLHelper.java b/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/fileservice/PlanProXMLHelper.java
index f2339ba4b4..fbe53b5510 100644
--- a/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/fileservice/PlanProXMLHelper.java
+++ b/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/fileservice/PlanProXMLHelper.java
@@ -13,6 +13,7 @@
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl;
import org.eclipse.set.core.services.version.PlanProVersionService;
+import org.eclipse.set.model.validationreport.VersionInfo;
/**
* Make the old minor version compatible
@@ -21,7 +22,8 @@
*/
public class PlanProXMLHelper extends XMLHelperImpl {
- private static final String PLANPRO_URI_PREFIX = "http://www.plan-pro.org/modell/"; //$NON-NLS-1$
+ private static final String PLANPRO_URI_PREFIX = "http://www.plan-pro.org/modell/PlanPro"; //$NON-NLS-1$
+ private static final String SIGNALBEGRIFF_RIL_URI_PREFIX = "http://www.plan-pro.org/modell/Signalbegriffe_Ril_301"; //$NON-NLS-1$
private final PlanProVersionService versionService;
private static String parseVersion(final String uri) {
@@ -42,21 +44,23 @@ public PlanProXMLHelper(final XMLResource resource,
@Override
public void addPrefix(final String prefix, final String uri) {
- if (!uri.startsWith(PLANPRO_URI_PREFIX)
- || parseVersion(uri).equals(versionService.getCurrentVersion())
- || !parseVersion(uri)
- .startsWith(versionService.getSupportedVersionFormat()
- .getMajorPatchVersion())) {
+ if (!versionService.isSupportedVersion(uri)) {
super.addPrefix(prefix, uri);
return;
}
// When the version isn't equal current version, but this version is
// supported then replace the version part in uri to current version
- final String version = parseVersion(uri);
- final String newUri = uri.replace(version,
- versionService.getCurrentVersion());
+ final VersionInfo currentVersion = versionService.getCurrentVersion();
+ String newUri = uri;
+ final String loadedVersion = parseVersion(uri);
+ if (uri.startsWith(PLANPRO_URI_PREFIX)) {
+ newUri = uri.replace(loadedVersion,
+ currentVersion.getPlanProVersions().getFirst());
+ } else if (uri.startsWith(SIGNALBEGRIFF_RIL_URI_PREFIX)) {
+ newUri = uri.replace(loadedVersion,
+ currentVersion.getSignalbegriffeVersions().getFirst());
+ }
super.addPrefix(prefix, newUri);
-
}
}
diff --git a/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/version/PlanProVersionServiceImpl.java b/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/version/PlanProVersionServiceImpl.java
index ebbbbc053b..1caa70a1db 100644
--- a/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/version/PlanProVersionServiceImpl.java
+++ b/java/bundles/org.eclipse.set.core/src/org/eclipse/set/core/version/PlanProVersionServiceImpl.java
@@ -8,6 +8,8 @@
*/
package org.eclipse.set.core.version;
+import static org.eclipse.set.core.services.version.PlanProVersionService.PlanProVersionFormat.parseVersionFormat;
+
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -24,6 +26,7 @@
import org.eclipse.set.model.validationreport.ValidationreportFactory;
import org.eclipse.set.model.validationreport.VersionInfo;
import org.eclipse.set.ppmodel.extensions.PlanProPackageExtensions;
+import org.eclipse.set.ppmodel.extensions.SignalbegriffeRil301PackageExtensions;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
@@ -41,10 +44,6 @@ public class PlanProVersionServiceImpl implements PlanProVersionService {
private static final String SIGNALS_KEY = "http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/"; //$NON-NLS-1$
private static final int VALUE_GROUP = 1;
- private static final String VERSION_FORMAT = "(?[1-9]+\\.[0-9]+)\\.(?[0-9]+)(\\.(?[0-9]))*"; //$NON-NLS-1$
-
- private static final String VERSION_SEPARATOR = ", "; //$NON-NLS-1$
-
@Activate
private void active() {
Services.setPlanProVersionService(this);
@@ -77,34 +76,22 @@ private static String parseVersion(final String text, final String key) {
return null;
}
- private static PlanProVersionFormat parseVersionFormat(
- final String version) {
- final Pattern compile = Pattern.compile(VERSION_FORMAT);
- final Matcher matcher = compile.matcher(version);
- if (!matcher.matches()) {
- throw new IllegalArgumentException("Illegal Version Foramt"); //$NON-NLS-1$
- }
-
- return new PlanProVersionFormat(matcher.group("major"), //$NON-NLS-1$
- matcher.group("patch"), matcher.group("minor")); //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
@Override
- public VersionInfo createSupportedVersion() {
+ public VersionInfo getSupportedVersions() {
final VersionInfo versionInfo = ValidationreportFactory.eINSTANCE
.createVersionInfo();
- final String modelVersionsSupported = getSupportedVersions(
+ final List modelVersionsSupported = getSupportedVersions(
PlanProPackage.eNAME);
- versionInfo.setPlanPro(modelVersionsSupported);
- final String signalbegriffSupportedVersion = getSupportedVersions(
+ versionInfo.getPlanProVersions().addAll(modelVersionsSupported);
+ final List signalbegriffSupportedVersion = getSupportedVersions(
Signalbegriffe_Ril_301Package.eNAME);
- versionInfo.setSignals(signalbegriffSupportedVersion);
+ versionInfo.getSignalbegriffeVersions()
+ .addAll(signalbegriffSupportedVersion);
return versionInfo;
}
- private static String getSupportedVersions(final String packageName) {
+ private static List getSupportedVersions(final String packageName) {
return PlanProSchemaDir.getSchemaPaths()
.stream()
.filter(p -> p.getFileName()
@@ -115,14 +102,8 @@ private static String getSupportedVersions(final String packageName) {
.map(Path::toString)
.collect(Collectors.toSet())
.stream()
- .sorted((first, second) -> {
- final PlanProVersionFormat firstVersion = parseVersionFormat(
- first);
- final PlanProVersionFormat secondVersion = parseVersionFormat(
- second);
- return firstVersion.compare(secondVersion);
- })
- .collect(Collectors.joining(VERSION_SEPARATOR));
+ .sorted(PlanProVersionFormat.compareVersion())
+ .toList();
}
@Override
@@ -134,8 +115,10 @@ public VersionInfo createUsedVersion(final Path location) {
final String planProVersion = parseVersion(text, PLAN_PRO_KEY);
- versionInfo.setPlanPro(planProVersion != null ? planProVersion : ""); //$NON-NLS-1$
- versionInfo.setSignals(parseVersion(text, SIGNALS_KEY));
+ versionInfo.getPlanProVersions()
+ .add(planProVersion != null ? planProVersion : ""); //$NON-NLS-1$
+ versionInfo.getSignalbegriffeVersions()
+ .add(parseVersion(text, SIGNALS_KEY));
return versionInfo;
}
@@ -146,7 +129,32 @@ public PlanProVersionFormat getSupportedVersionFormat() {
}
@Override
- public String getCurrentVersion() {
- return PlanProPackageExtensions.getModelVersion();
+ public VersionInfo getCurrentVersion() {
+ final VersionInfo versionInfo = ValidationreportFactory.eINSTANCE
+ .createVersionInfo();
+ final String planProVersion = PlanProPackageExtensions
+ .getModelVersion();
+ versionInfo.getPlanProVersions().add(planProVersion);
+
+ final String signalBegriffeVersion = SignalbegriffeRil301PackageExtensions
+ .getModelVersion();
+ versionInfo.getSignalbegriffeVersions().add(signalBegriffeVersion);
+ return versionInfo;
+ }
+
+ @Override
+ public boolean isSupportedVersion(final String uri) {
+ final VersionInfo supportedVersions = getSupportedVersions();
+ final String loadedVersion = uri.substring(uri.lastIndexOf("/") + 1); //$NON-NLS-1$
+ if (uri.startsWith(PLAN_PRO_KEY)) {
+ return supportedVersions.getPlanProVersions()
+ .contains(loadedVersion);
+ }
+
+ if (uri.startsWith(SIGNALS_KEY)) {
+ return supportedVersions.getSignalbegriffeVersions()
+ .contains(loadedVersion);
+ }
+ return false;
}
}
diff --git a/java/bundles/org.eclipse.set.emfforms/META-INF/MANIFEST.MF b/java/bundles/org.eclipse.set.emfforms/META-INF/MANIFEST.MF
index 1a4f083de4..126b7b33ac 100644
--- a/java/bundles/org.eclipse.set.emfforms/META-INF/MANIFEST.MF
+++ b/java/bundles/org.eclipse.set.emfforms/META-INF/MANIFEST.MF
@@ -62,6 +62,7 @@ Import-Package: com.google.common.base;version="15.0.0",
org.eclipse.set.basis,
org.eclipse.set.basis.attachments,
org.eclipse.set.basis.commands,
+ org.eclipse.set.basis.constants,
org.eclipse.set.basis.context,
org.eclipse.set.basis.emfforms,
org.eclipse.set.basis.exceptions,
@@ -76,6 +77,7 @@ Import-Package: com.google.common.base;version="15.0.0",
org.eclipse.set.core.services.part,
org.eclipse.set.core.services.planningaccess,
org.eclipse.set.core.services.session,
+ org.eclipse.set.core.services.version,
org.eclipse.set.core.services.viewmodel,
org.eclipse.set.ppmodel.extensions,
org.eclipse.set.utils,
@@ -107,4 +109,5 @@ Service-Component: OSGI-INF/org.eclipse.set.emfforms.attachment.AttachmentListRe
OSGI-INF/org.eclipse.set.emfforms.table.TableControlDetailCustomSWTRendererService.xml,
OSGI-INF/org.eclipse.set.emfforms.text.TextFieldService.xml,
OSGI-INF/org.eclipse.set.emfforms.text.TextWithButtonControlSWTRendererService.xml,
+ OSGI-INF/org.eclipse.set.emfforms.text.VersionInfoRendererService.xml,
OSGI-INF/org.eclipse.set.emfforms.view.ViewRendererService.xml
diff --git a/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/TextFieldRenderer.java b/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/TextFieldRenderer.java
index 08f476706b..34e485ee8a 100644
--- a/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/TextFieldRenderer.java
+++ b/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/TextFieldRenderer.java
@@ -8,8 +8,6 @@
*/
package org.eclipse.set.emfforms.text;
-import jakarta.inject.Inject;
-
import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
import org.eclipse.emf.ecp.view.spi.model.VControl;
@@ -23,6 +21,8 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import jakarta.inject.Inject;
+
/**
* Renders texts in multiline field
*
@@ -79,9 +79,8 @@ protected Control createSWTControl(final Composite parent) {
@Override
protected int getTextWidgetStyle() {
- final int textStyle = SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL
- | SWT.BORDER | getDefaultAlignment();
- return textStyle;
+ return SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER
+ | getDefaultAlignment();
}
}
diff --git a/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/VersionInfoRenderer.java b/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/VersionInfoRenderer.java
new file mode 100644
index 0000000000..3aa513008c
--- /dev/null
+++ b/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/VersionInfoRenderer.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright (c) 2026 DB InfraGO AG and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ */
+package org.eclipse.set.emfforms.text;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.eclipse.core.databinding.Binding;
+import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.UpdateValueStrategy;
+import org.eclipse.core.databinding.conversion.Converter;
+import org.eclipse.core.databinding.conversion.IConverter;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.emf.databinding.EMFUpdateValueStrategy;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.core.swt.renderer.TextControlSWTRenderer;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
+import org.eclipse.set.basis.constants.ToolboxConstants;
+import org.eclipse.set.core.services.version.PlanProVersionService.PlanProVersionFormat;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+import jakarta.inject.Inject;
+
+/**
+ * Custom control for get planpro/signalbegriff versions IMPROVE: convert EMF
+ * Forms view model to java code with SWTWidget
+ *
+ * @author truong
+ */
+public class VersionInfoRenderer extends TextControlSWTRenderer {
+
+ /**
+ * Default constructor.
+ *
+ * @param vElement
+ * the view model element to be rendered
+ * @param viewContext
+ * the view context
+ * @param reportService
+ * The {@link ReportService}
+ * @param emfFormsDatabinding
+ * The {@link EMFFormsDatabinding}
+ * @param emfFormsLabelProvider
+ * The {@link EMFFormsLabelProvider}
+ * @param vtViewTemplateProvider
+ * The {@link VTViewTemplateProvider}
+ * @param emfFormsEditSupport
+ * The {@link EMFFormsEditSupport}
+ */
+ @Inject
+ public VersionInfoRenderer(final VControl vElement,
+ final ViewModelContext viewContext,
+ final ReportService reportService,
+ final EMFFormsDatabinding emfFormsDatabinding,
+ final EMFFormsLabelProvider emfFormsLabelProvider,
+ final VTViewTemplateProvider vtViewTemplateProvider,
+ final EMFFormsEditSupport emfFormsEditSupport) {
+ super(vElement, viewContext, reportService, emfFormsDatabinding,
+ emfFormsLabelProvider, vtViewTemplateProvider,
+ emfFormsEditSupport);
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ protected Binding bindValue(final Control text,
+ final IObservableValue modelValue,
+ final DataBindingContext dataBindingContext,
+ final UpdateValueStrategy targetToModel,
+ final UpdateValueStrategy modelToTarget) {
+ final Control controlToObserve = Composite.class.cast(text)
+ .getChildren()[0];
+ final boolean useOnModifyDatabinding = useOnModifyDatabinding();
+ final IObservableValue value;
+ if (useOnModifyDatabinding) {
+ value = WidgetProperties.text(SWT.Modify)
+ .observeDelayed(250, controlToObserve);
+ } else {
+ value = WidgetProperties.text(SWT.FocusOut)
+ .observe(controlToObserve);
+ }
+
+ return dataBindingContext.bindValue(value, modelValue, targetToModel,
+ new CustomModelToTargetStrategy());
+ }
+
+ protected class CustomModelToTargetStrategy extends EMFUpdateValueStrategy {
+ @Override
+ protected IConverter, ?> createConverter(final Object fromType,
+ final Object toType) {
+ if (fromType == String.class
+ && toType instanceof final EAttribute eAttribute) {
+ return stringToEAttribute(fromType, eAttribute);
+ }
+
+ if (toType == String.class
+ && fromType instanceof final EAttribute eAttribute) {
+ return eAttributeToString(eAttribute, toType);
+ }
+
+ return super.createConverter(fromType, toType);
+ }
+
+ protected IConverter, ?> stringToEAttribute(final Object from,
+ final EAttribute to) {
+ final EDataType eDataType = to.getEAttributeType();
+ final EFactory eFactory = eDataType.getEPackage()
+ .getEFactoryInstance();
+ return new Converter<>(from, to) {
+ @Override
+ public Object convert(final Object fromObject) {
+ final String value = fromObject == null ? null
+ : fromObject.toString();
+ if (to.isMany()) {
+ final List result = new ArrayList<>();
+ if (value != null) {
+ for (final String element : value.split(" ")) { //$NON-NLS-1$
+ result.add(eFactory.createFromString(eDataType,
+ element));
+ }
+ }
+ return result;
+ }
+ return eFactory.createFromString(eDataType, value);
+ }
+ };
+ }
+
+ protected IConverter, ?> eAttributeToString(final EAttribute from,
+ final Object to) {
+ final EDataType eDataType = from.getEAttributeType();
+ final EFactory eFactory = eDataType.getEPackage()
+ .getEFactoryInstance();
+ return new Converter<>(from, to) {
+ @Override
+ public Object convert(final Object fromObject) {
+ if (from.isMany()) {
+ return ((List>) fromObject).stream()
+ .map(obj -> eFactory.convertToString(eDataType,
+ obj))
+ .sorted(PlanProVersionFormat.compareVersion())
+ .collect(Collectors.joining(
+ ToolboxConstants.VERSION_SEPARATOR));
+ }
+ return eFactory.convertToString(eDataType, fromObject);
+ }
+ };
+ }
+ }
+
+}
diff --git a/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/VersionInfoRendererService.java b/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/VersionInfoRendererService.java
new file mode 100644
index 0000000000..f77b8389c4
--- /dev/null
+++ b/java/bundles/org.eclipse.set.emfforms/src/org/eclipse/set/emfforms/text/VersionInfoRendererService.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2026 DB InfraGO AG and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0.
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ */
+package org.eclipse.set.emfforms.text;
+
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+import org.eclipse.set.emfforms.utils.AnnotatedViewModelRendererService;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ *
+ */
+@Component(immediate = true, service = { EMFFormsDIRendererService.class })
+public class VersionInfoRendererService extends
+ AnnotatedViewModelRendererService {
+ private static final double PRIORITY = 30;
+
+ /**
+ * Create the service
+ */
+ public VersionInfoRendererService() {
+ super(VersionInfoRenderer.class, PRIORITY);
+ }
+
+}
diff --git a/java/bundles/org.eclipse.set.feature.validation/META-INF/MANIFEST.MF b/java/bundles/org.eclipse.set.feature.validation/META-INF/MANIFEST.MF
index 3d3c442eaa..79f66c12b9 100644
--- a/java/bundles/org.eclipse.set.feature.validation/META-INF/MANIFEST.MF
+++ b/java/bundles/org.eclipse.set.feature.validation/META-INF/MANIFEST.MF
@@ -11,7 +11,6 @@ Import-Package: com.google.common.base;version="15.0.0",
jakarta.annotation,
jakarta.inject;version="1.0.0",
org.apache.commons.io;version="2.2.0",
- org.apache.commons.text,
org.apache.commons.io.filefilter;version="2.15.0",
org.apache.poi;version="5.0.0",
org.eclipse.core.runtime;version="3.5.0",
diff --git a/java/bundles/org.eclipse.set.feature.validation/OSGI-INF/l10n/bundle.properties b/java/bundles/org.eclipse.set.feature.validation/OSGI-INF/l10n/bundle.properties
index b269d268c4..a1edf57cfc 100644
--- a/java/bundles/org.eclipse.set.feature.validation/OSGI-INF/l10n/bundle.properties
+++ b/java/bundles/org.eclipse.set.feature.validation/OSGI-INF/l10n/bundle.properties
@@ -56,3 +56,5 @@ XsdSuccessMsg=Es sind keine Schemawarnungen aufgetreten.
IoSuccessMsg=Es sind keine Ein-/Ausgabefehler aufgetreten.
SaveToolboxFile=Speichern PlanPro Daten
+ValidationInformation_PlanPro_Versions_Label=PlanPro
+ValidationInformation_Signalbegriff_Ril301_Versions_Label=Signalbegriffe
\ No newline at end of file
diff --git a/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/parts/ValidationPart.java b/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/parts/ValidationPart.java
index de7f5e0be0..cbadcdc6ad 100644
--- a/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/parts/ValidationPart.java
+++ b/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/parts/ValidationPart.java
@@ -155,65 +155,7 @@ private void create(final Composite parent) {
// Register nattable injector
tableView = new ValidationTableView(this, messages,
tableMenuService);
- final Function func = innerParent -> {
-
- final Composite composite = new Composite(innerParent,
- SWT.NONE);
-
- GridLayoutFactory.swtDefaults()
- .numColumns(3)
- .applyTo(composite);
- GridDataFactory.swtDefaults()
- .align(SWT.FILL, SWT.FILL)
- .grab(true, false)
- .applyTo(composite);
-
- final Control natTable = tableView.create(innerParent,
- validationReport);
- // create the open view button
- final Button showTableButton = new Button(composite, SWT.PUSH);
- GridDataFactory.swtDefaults()
- .align(SWT.LEFT, SWT.FILL)
- .grab(false, false)
- .applyTo(showTableButton);
-
- showTableButton.setText(messages.ShowValidationTableMsg);
- showTableButton.addListener(SWT.Selection,
- event -> showValidationTable());
- showTableButton.setSize(BUTTON_WIDTH_EXPORT_VALIDATION, 0);
-
- // create the toggle collapsed button
- final Button collapseAllButton = tableView
- .createExpandCollapseAllButton(composite,
- messages.ValidationTable_ExpandAllGroup,
- messages.ValidationTable_CollapseAllGroup);
-
- exportValidationButton = new Button(composite, SWT.PUSH);
- GridDataFactory.swtDefaults()
- .align(SWT.RIGHT, SWT.FILL)
- .grab(true, false)
- .applyTo(exportValidationButton);
- exportValidationButton.setText(messages.ExportValidationMsg);
- exportValidationButton.addListener(SWT.Selection,
- event -> tableView.exportCsv());
- exportValidationButton.setSize(BUTTON_WIDTH_EXPORT_VALIDATION,
- 0);
-
- // Setup layout
- showTableButton.setLayoutData(
- new GridData(SWT.LEFT, SWT.TOP, false, true));
- collapseAllButton.setLayoutData(
- new GridData(SWT.LEFT, SWT.TOP, false, true));
- exportValidationButton.setLayoutData(
- new GridData(SWT.RIGHT, SWT.TOP, true, true));
-
- GridDataFactory.swtDefaults()
- .align(SWT.FILL, SWT.FILL)
- .grab(true, true)
- .hint(SWT.DEFAULT, 600)
- .applyTo(natTable);
- return natTable;
- };
+ final Function func = this::createInjectedTable;
modelService.put(INJECT_VIEW_VALIDATION_NATTABLE, func);
// create form content
@@ -257,6 +199,61 @@ private void create(final Composite parent) {
}
}
+ protected Control createInjectedTable(final Composite innerParent) {
+ final Composite composite = new Composite(innerParent, SWT.NONE);
+
+ GridLayoutFactory.swtDefaults().numColumns(3).applyTo(composite);
+ GridDataFactory.swtDefaults()
+ .align(SWT.FILL, SWT.FILL)
+ .grab(true, false)
+ .applyTo(composite);
+
+ final Control natTable = tableView.create(innerParent,
+ validationReport);
+ // create the open view button
+ final Button showTableButton = new Button(composite, SWT.PUSH);
+ GridDataFactory.swtDefaults()
+ .align(SWT.LEFT, SWT.FILL)
+ .grab(false, false)
+ .applyTo(showTableButton);
+
+ showTableButton.setText(messages.ShowValidationTableMsg);
+ showTableButton.addListener(SWT.Selection,
+ event -> showValidationTable());
+ showTableButton.setSize(BUTTON_WIDTH_EXPORT_VALIDATION, 0);
+
+ // create the toggle collapsed button
+ final Button collapseAllButton = tableView
+ .createExpandCollapseAllButton(composite,
+ messages.ValidationTable_ExpandAllGroup,
+ messages.ValidationTable_CollapseAllGroup);
+
+ exportValidationButton = new Button(composite, SWT.PUSH);
+ GridDataFactory.swtDefaults()
+ .align(SWT.RIGHT, SWT.FILL)
+ .grab(true, false)
+ .applyTo(exportValidationButton);
+ exportValidationButton.setText(messages.ExportValidationMsg);
+ exportValidationButton.addListener(SWT.Selection,
+ event -> tableView.exportCsv());
+ exportValidationButton.setSize(BUTTON_WIDTH_EXPORT_VALIDATION, 0);
+
+ // Setup layout
+ showTableButton
+ .setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, true));
+ collapseAllButton
+ .setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, true));
+ exportValidationButton
+ .setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, true, true));
+
+ GridDataFactory.swtDefaults()
+ .align(SWT.FILL, SWT.FILL)
+ .grab(true, true)
+ .hint(SWT.DEFAULT, 600)
+ .applyTo(natTable);
+ return natTable;
+ }
+
private void storageReport() {
final Cache cache = cacheService.getCache(ToolboxFileRole.SESSION,
ToolboxConstants.CacheId.PROBLEM_MESSAGE);
diff --git a/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/report/SessionToValidationReportTransformation.xtend b/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/report/SessionToValidationReportTransformation.xtend
index 0c1125cab6..ca507238b4 100644
--- a/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/report/SessionToValidationReportTransformation.xtend
+++ b/java/bundles/org.eclipse.set.feature.validation/src/org/eclipse/set/feature/validation/report/SessionToValidationReportTransformation.xtend
@@ -170,7 +170,7 @@ class SessionToValidationReportTransformation {
transform
report.supportedVersion = report.supportedVersion ?:
- versionService.createSupportedVersion
+ versionService.supportedVersions
report.toolboxVersion = ToolboxConfiguration.toolboxVersion.longVersion
}
diff --git a/java/bundles/org.eclipse.set.feature.validation/viewmodel/ValidationReport.view b/java/bundles/org.eclipse.set.feature.validation/viewmodel/ValidationReport.view
index e59e9e4600..9e98629434 100644
--- a/java/bundles/org.eclipse.set.feature.validation/viewmodel/ValidationReport.view
+++ b/java/bundles/org.eclipse.set.feature.validation/viewmodel/ValidationReport.view
@@ -33,16 +33,18 @@
-
-
-
+
+
+
+
-
-
-
+
+
+
+
@@ -71,15 +73,17 @@
-
-
-
+
+
+
+
-
-
-
+
+
+
+
diff --git a/java/bundles/org.eclipse.set.model.validationreport.edit/.settings/org.eclipse.jdt.core.prefs b/java/bundles/org.eclipse.set.model.validationreport.edit/.settings/org.eclipse.jdt.core.prefs
index ee6f3d1479..edca84d242 100644
--- a/java/bundles/org.eclipse.set.model.validationreport.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/java/bundles/org.eclipse.set.model.validationreport.edit/.settings/org.eclipse.jdt.core.prefs
@@ -8,9 +8,12 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.doc.comment.support=disabled
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
@@ -19,6 +22,8 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
@@ -76,6 +81,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=igno
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -112,3 +118,5 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=21
diff --git a/java/bundles/org.eclipse.set.model.validationreport.edit/plugin.properties b/java/bundles/org.eclipse.set.model.validationreport.edit/plugin.properties
index b2c74d1471..f54d9e7170 100644
--- a/java/bundles/org.eclipse.set.model.validationreport.edit/plugin.properties
+++ b/java/bundles/org.eclipse.set.model.validationreport.edit/plugin.properties
@@ -72,3 +72,5 @@ _UI_ObjectState_NONE_literal = Keine
_UI_ObjectScope_Layout_literal = Layout
_UI_ObjectScope_Content_literal = Fachdaten
+_UI_VersionInfo_planProVersions_feature = PlanPro
+_UI_VersionInfo_signalbegriffeVersions_feature = Signalbegriffe
diff --git a/java/bundles/org.eclipse.set.model.validationreport.edit/src/org/eclipse/set/model/validationreport/provider/VersionInfoItemProvider.java b/java/bundles/org.eclipse.set.model.validationreport.edit/src/org/eclipse/set/model/validationreport/provider/VersionInfoItemProvider.java
index 9df5b708d0..2702f3d679 100644
--- a/java/bundles/org.eclipse.set.model.validationreport.edit/src/org/eclipse/set/model/validationreport/provider/VersionInfoItemProvider.java
+++ b/java/bundles/org.eclipse.set.model.validationreport.edit/src/org/eclipse/set/model/validationreport/provider/VersionInfoItemProvider.java
@@ -61,50 +61,50 @@ public List getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
- addPlanProPropertyDescriptor(object);
- addSignalsPropertyDescriptor(object);
+ addPlanProVersionsPropertyDescriptor(object);
+ addSignalbegriffeVersionsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
- * This adds a property descriptor for the Plan Pro feature.
*
* @generated
*/
- protected void addPlanProPropertyDescriptor(Object object) {
+ protected void addPlanProVersionsPropertyDescriptor(Object object) {
itemPropertyDescriptors.add(createItemPropertyDescriptor(
((ComposeableAdapterFactory) adapterFactory)
.getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_VersionInfo_planPro_feature"),
+ getString("_UI_VersionInfo_planProVersions_feature"),
getString("_UI_PropertyDescriptor_description",
- "_UI_VersionInfo_planPro_feature",
+ "_UI_VersionInfo_planProVersions_feature",
"_UI_VersionInfo_type"),
- ValidationreportPackage.Literals.VERSION_INFO__PLAN_PRO, true,
- false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
- null));
+ ValidationreportPackage.Literals.VERSION_INFO__PLAN_PRO_VERSIONS,
+ true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
}
/**
- * This adds a property descriptor for the Signals feature.
+ * This adds a property descriptor for the Signalbegriffe Versions feature.
+ *
*
* @generated
*/
- protected void addSignalsPropertyDescriptor(Object object) {
+ protected void addSignalbegriffeVersionsPropertyDescriptor(Object object) {
itemPropertyDescriptors.add(createItemPropertyDescriptor(
((ComposeableAdapterFactory) adapterFactory)
.getRootAdapterFactory(),
getResourceLocator(),
- getString("_UI_VersionInfo_signals_feature"),
+ getString("_UI_VersionInfo_signalbegriffeVersions_feature"),
getString("_UI_PropertyDescriptor_description",
- "_UI_VersionInfo_signals_feature",
+ "_UI_VersionInfo_signalbegriffeVersions_feature",
"_UI_VersionInfo_type"),
- ValidationreportPackage.Literals.VERSION_INFO__SIGNALS, true,
- false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null,
- null));
+ ValidationreportPackage.Literals.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS,
+ true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null, null));
}
/**
@@ -127,10 +127,7 @@ public Object getImage(Object object) {
*/
@Override
public String getText(Object object) {
- String label = ((VersionInfo) object).getPlanPro();
- return label == null || label.length() == 0
- ? getString("_UI_VersionInfo_type")
- : getString("_UI_VersionInfo_type") + " " + label;
+ return getString("_UI_VersionInfo_type");
}
/**
@@ -146,8 +143,8 @@ public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(VersionInfo.class)) {
- case ValidationreportPackage.VERSION_INFO__PLAN_PRO:
- case ValidationreportPackage.VERSION_INFO__SIGNALS:
+ case ValidationreportPackage.VERSION_INFO__PLAN_PRO_VERSIONS:
+ case ValidationreportPackage.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS:
fireNotifyChanged(new ViewerNotification(notification,
notification.getNotifier(), false, true));
return;
diff --git a/java/bundles/org.eclipse.set.model.validationreport/.settings/org.eclipse.jdt.core.prefs b/java/bundles/org.eclipse.set.model.validationreport/.settings/org.eclipse.jdt.core.prefs
index f9c421c8b8..b7f3d712de 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/.settings/org.eclipse.jdt.core.prefs
+++ b/java/bundles/org.eclipse.set.model.validationreport/.settings/org.eclipse.jdt.core.prefs
@@ -8,9 +8,12 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.doc.comment.support=disabled
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
@@ -19,6 +22,8 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
@@ -76,6 +81,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=igno
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -112,3 +118,5 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=21
diff --git a/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.ecore b/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.ecore
index 52ab071606..1074b71842 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.ecore
+++ b/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.ecore
@@ -38,8 +38,10 @@
-
-
+
+
diff --git a/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.genmodel b/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.genmodel
index 261da00800..c3bb4d1f0b 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.genmodel
+++ b/java/bundles/org.eclipse.set.model.validationreport/model/validationreport.genmodel
@@ -5,7 +5,7 @@
modelPluginID="org.eclipse.set.model.validationreport" modelName="Validationreport"
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
commentFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.ecore"
- complianceLevel="17.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
+ complianceLevel="21.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
validationreport.ecore
@@ -58,8 +58,8 @@
-
-
+
+
diff --git a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/ValidationreportPackage.java b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/ValidationreportPackage.java
index 8129ae3728..d7ec5e8a16 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/ValidationreportPackage.java
+++ b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/ValidationreportPackage.java
@@ -323,22 +323,22 @@ public interface ValidationreportPackage extends EPackage {
int VERSION_INFO = 2;
/**
- * The feature id for the 'Plan Pro ' attribute.
+ * The feature id for the 'Plan Pro Versions ' attribute
+ * list.
*
* @generated
* @ordered
*/
- int VERSION_INFO__PLAN_PRO = 0;
+ int VERSION_INFO__PLAN_PRO_VERSIONS = 0;
/**
- * The feature id for the 'Signals ' attribute.
+ * The feature id for the 'Signalbegriffe Versions '
+ * attribute list.
*
* @generated
* @ordered
*/
- int VERSION_INFO__SIGNALS = 1;
+ int VERSION_INFO__SIGNALBEGRIFFE_VERSIONS = 1;
/**
* The number of structural features of the 'Version Info ' class.
@@ -779,28 +779,32 @@ public interface ValidationreportPackage extends EPackage {
EClass getVersionInfo();
/**
- * Returns the meta object for the attribute
- * '{@link org.eclipse.set.model.validationreport.VersionInfo#getPlanPro
- * Plan Pro }'.
+ * Returns the meta object for the attribute list
+ * '{@link org.eclipse.set.model.validationreport.VersionInfo#getPlanProVersions
+ * Plan Pro Versions }'.
*
- * @return the meta object for the attribute 'Plan Pro '.
- * @see org.eclipse.set.model.validationreport.VersionInfo#getPlanPro()
+ * @return the meta object for the attribute list 'Plan Pro
+ * Versions '.
+ * @see org.eclipse.set.model.validationreport.VersionInfo#getPlanProVersions()
* @see #getVersionInfo()
* @generated
*/
- EAttribute getVersionInfo_PlanPro();
+ EAttribute getVersionInfo_PlanProVersions();
/**
- * Returns the meta object for the attribute
- * '{@link org.eclipse.set.model.validationreport.VersionInfo#getSignals
- * Signals }'.
+ * Returns the meta object for the attribute list
+ * '{@link org.eclipse.set.model.validationreport.VersionInfo#getSignalbegriffeVersions
+ * Signalbegriffe Versions }'.
*
- * @return the meta object for the attribute 'Signals '.
- * @see org.eclipse.set.model.validationreport.VersionInfo#getSignals()
+ * @return the meta object for the attribute list 'Signalbegriffe
+ * Versions '.
+ * @see org.eclipse.set.model.validationreport.VersionInfo#getSignalbegriffeVersions()
* @see #getVersionInfo()
* @generated
*/
- EAttribute getVersionInfo_Signals();
+ EAttribute getVersionInfo_SignalbegriffeVersions();
/**
* Returns the meta object for class
@@ -1185,20 +1189,23 @@ interface Literals {
EClass VERSION_INFO = eINSTANCE.getVersionInfo();
/**
- * The meta object literal for the 'Plan Pro ' attribute
- * feature.
+ * The meta object literal for the 'Plan Pro Versions '
+ * attribute list feature.
*
* @generated
*/
- EAttribute VERSION_INFO__PLAN_PRO = eINSTANCE.getVersionInfo_PlanPro();
+ EAttribute VERSION_INFO__PLAN_PRO_VERSIONS = eINSTANCE
+ .getVersionInfo_PlanProVersions();
/**
- * The meta object literal for the 'Signals ' attribute
- * feature.
+ * The meta object literal for the 'Signalbegriffe
+ * Versions ' attribute list feature.
+ *
*
* @generated
*/
- EAttribute VERSION_INFO__SIGNALS = eINSTANCE.getVersionInfo_Signals();
+ EAttribute VERSION_INFO__SIGNALBEGRIFFE_VERSIONS = eINSTANCE
+ .getVersionInfo_SignalbegriffeVersions();
/**
* The meta object literal for the
diff --git a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/VersionInfo.java b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/VersionInfo.java
index 255a747945..a9a7db2fa5 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/VersionInfo.java
+++ b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/VersionInfo.java
@@ -8,6 +8,7 @@
*/
package org.eclipse.set.model.validationreport;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
@@ -18,10 +19,10 @@
* The following features are supported:
*
*
- * {@link org.eclipse.set.model.validationreport.VersionInfo#getPlanPro
- * Plan Pro }
- * {@link org.eclipse.set.model.validationreport.VersionInfo#getSignals
- * Signals }
+ * {@link org.eclipse.set.model.validationreport.VersionInfo#getPlanProVersions
+ * Plan Pro Versions }
+ * {@link org.eclipse.set.model.validationreport.VersionInfo#getSignalbegriffeVersions
+ * Signalbegriffe Versions }
*
*
* @see org.eclipse.set.model.validationreport.ValidationreportPackage#getVersionInfo()
@@ -30,63 +31,28 @@
*/
public interface VersionInfo extends EObject {
/**
- * Returns the value of the 'Plan Pro ' attribute.
- *
- * If the meaning of the 'Plan Pro ' attribute isn't clear, there
- * really should be more of a description here...
- *
- *
+ * Returns the value of the 'Plan Pro Versions ' attribute
+ * list. The list contents are of type {@link java.lang.String}.
*
- * @return the value of the 'Plan Pro ' attribute.
- * @see #setPlanPro(String)
- * @see org.eclipse.set.model.validationreport.ValidationreportPackage#getVersionInfo_PlanPro()
+ * @return the value of the 'Plan Pro Versions ' attribute list.
+ * @see org.eclipse.set.model.validationreport.ValidationreportPackage#getVersionInfo_PlanProVersions()
* @model
* @generated
*/
- String getPlanPro();
+ EList getPlanProVersions();
/**
- * Sets the value of the
- * '{@link org.eclipse.set.model.validationreport.VersionInfo#getPlanPro
- * Plan Pro }' attribute.
+ * Returns the value of the 'Signalbegriffe Versions '
+ * attribute list. The list contents are of type {@link java.lang.String}.
+ *
*
- * @param value
- * the new value of the 'Plan Pro ' attribute.
- * @see #getPlanPro()
- * @generated
- */
- void setPlanPro(String value);
-
- /**
- * Returns the value of the 'Signals ' attribute.
- *
- * If the meaning of the 'Signals ' attribute isn't clear, there
- * really should be more of a description here...
- *
- *
- *
- * @return the value of the 'Signals ' attribute.
- * @see #setSignals(String)
- * @see org.eclipse.set.model.validationreport.ValidationreportPackage#getVersionInfo_Signals()
+ * @return the value of the 'Signalbegriffe Versions ' attribute
+ * list.
+ * @see org.eclipse.set.model.validationreport.ValidationreportPackage#getVersionInfo_SignalbegriffeVersions()
* @model
* @generated
*/
- String getSignals();
-
- /**
- * Sets the value of the
- * '{@link org.eclipse.set.model.validationreport.VersionInfo#getSignals
- * Signals }' attribute.
- *
- * @param value
- * the new value of the 'Signals ' attribute.
- * @see #getSignals()
- * @generated
- */
- void setSignals(String value);
+ EList getSignalbegriffeVersions();
} // VersionInfo
diff --git a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/ValidationreportPackageImpl.java b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/ValidationreportPackageImpl.java
index a2649611fc..912c4582ee 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/ValidationreportPackageImpl.java
+++ b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/ValidationreportPackageImpl.java
@@ -429,7 +429,7 @@ public EClass getVersionInfo() {
* @generated
*/
@Override
- public EAttribute getVersionInfo_PlanPro() {
+ public EAttribute getVersionInfo_PlanProVersions() {
return (EAttribute) versionInfoEClass.getEStructuralFeatures().get(0);
}
@@ -439,7 +439,7 @@ public EAttribute getVersionInfo_PlanPro() {
* @generated
*/
@Override
- public EAttribute getVersionInfo_Signals() {
+ public EAttribute getVersionInfo_SignalbegriffeVersions() {
return (EAttribute) versionInfoEClass.getEStructuralFeatures().get(1);
}
@@ -621,8 +621,9 @@ public void createPackageContents() {
VALIDATION_PROBLEM__GENERAL_MSG);
versionInfoEClass = createEClass(VERSION_INFO);
- createEAttribute(versionInfoEClass, VERSION_INFO__PLAN_PRO);
- createEAttribute(versionInfoEClass, VERSION_INFO__SIGNALS);
+ createEAttribute(versionInfoEClass, VERSION_INFO__PLAN_PRO_VERSIONS);
+ createEAttribute(versionInfoEClass,
+ VERSION_INFO__SIGNALBEGRIFFE_VERSIONS);
fileInfoEClass = createEClass(FILE_INFO);
createEAttribute(fileInfoEClass, FILE_INFO__FILE_NAME);
@@ -781,14 +782,15 @@ public void initializePackageContents() {
initEClass(versionInfoEClass, VersionInfo.class, "VersionInfo",
!IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getVersionInfo_PlanPro(), ecorePackage.getEString(),
- "planPro", null, 0, 1, VersionInfo.class, !IS_TRANSIENT,
- !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
- !IS_DERIVED, IS_ORDERED);
- initEAttribute(getVersionInfo_Signals(), ecorePackage.getEString(),
- "signals", null, 0, 1, VersionInfo.class, !IS_TRANSIENT,
- !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
- !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVersionInfo_PlanProVersions(),
+ ecorePackage.getEString(), "planProVersions", null, 0, -1,
+ VersionInfo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+ !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getVersionInfo_SignalbegriffeVersions(),
+ ecorePackage.getEString(), "signalbegriffeVersions", null, 0,
+ -1, VersionInfo.class, !IS_TRANSIENT, !IS_VOLATILE,
+ IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
initEClass(fileInfoEClass, FileInfo.class, "FileInfo", !IS_ABSTRACT,
!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
diff --git a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/VersionInfoImpl.java b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/VersionInfoImpl.java
index 614152746d..fd2652bb63 100644
--- a/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/VersionInfoImpl.java
+++ b/java/bundles/org.eclipse.set.model.validationreport/src/org/eclipse/set/model/validationreport/impl/VersionInfoImpl.java
@@ -8,13 +8,12 @@
*/
package org.eclipse.set.model.validationreport.impl;
-import org.eclipse.emf.common.notify.Notification;
-
+import java.util.Collection;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
import org.eclipse.set.model.validationreport.ValidationreportPackage;
import org.eclipse.set.model.validationreport.VersionInfo;
@@ -25,10 +24,10 @@
* The following features are implemented:
*
*
- * {@link org.eclipse.set.model.validationreport.impl.VersionInfoImpl#getPlanPro
- * Plan Pro }
- * {@link org.eclipse.set.model.validationreport.impl.VersionInfoImpl#getSignals
- * Signals }
+ * {@link org.eclipse.set.model.validationreport.impl.VersionInfoImpl#getPlanProVersions
+ * Plan Pro Versions }
+ * {@link org.eclipse.set.model.validationreport.impl.VersionInfoImpl#getSignalbegriffeVersions
+ * Signalbegriffe Versions }
*
*
* @generated
@@ -36,44 +35,26 @@
public class VersionInfoImpl extends MinimalEObjectImpl.Container
implements VersionInfo {
/**
- * The default value of the '{@link #getPlanPro() Plan Pro }'
- * attribute.
- *
- * @see #getPlanPro()
- * @generated
- * @ordered
- */
- protected static final String PLAN_PRO_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getPlanPro() Plan Pro }'
- * attribute.
+ * The cached value of the '{@link #getPlanProVersions() Plan Pro
+ * Versions }' attribute list.
*
- * @see #getPlanPro()
+ * @see #getPlanProVersions()
* @generated
* @ordered
*/
- protected String planPro = PLAN_PRO_EDEFAULT;
+ protected EList planProVersions;
/**
- * The default value of the '{@link #getSignals() Signals }'
- * attribute.
+ * The cached value of the '{@link #getSignalbegriffeVersions()
+ * Signalbegriffe Versions }' attribute list.
*
- * @see #getSignals()
+ * @see #getSignalbegriffeVersions()
* @generated
* @ordered
*/
- protected static final String SIGNALS_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getSignals() Signals }'
- * attribute.
- *
- * @see #getSignals()
- * @generated
- * @ordered
- */
- protected String signals = SIGNALS_EDEFAULT;
+ protected EList signalbegriffeVersions;
/**
*
@@ -100,33 +81,13 @@ protected EClass eStaticClass() {
* @generated
*/
@Override
- public String getPlanPro() {
- return planPro;
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public void setPlanPro(String newPlanPro) {
- String oldPlanPro = planPro;
- planPro = newPlanPro;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET,
- ValidationreportPackage.VERSION_INFO__PLAN_PRO, oldPlanPro,
- planPro));
- }
-
- /**
- *
- *
- * @generated
- */
- @Override
- public String getSignals() {
- return signals;
+ public EList getPlanProVersions() {
+ if (planProVersions == null) {
+ planProVersions = new EDataTypeUniqueEList(String.class,
+ this,
+ ValidationreportPackage.VERSION_INFO__PLAN_PRO_VERSIONS);
+ }
+ return planProVersions;
}
/**
@@ -135,13 +96,13 @@ public String getSignals() {
* @generated
*/
@Override
- public void setSignals(String newSignals) {
- String oldSignals = signals;
- signals = newSignals;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET,
- ValidationreportPackage.VERSION_INFO__SIGNALS, oldSignals,
- signals));
+ public EList getSignalbegriffeVersions() {
+ if (signalbegriffeVersions == null) {
+ signalbegriffeVersions = new EDataTypeUniqueEList(
+ String.class, this,
+ ValidationreportPackage.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS);
+ }
+ return signalbegriffeVersions;
}
/**
@@ -152,10 +113,10 @@ public void setSignals(String newSignals) {
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
- case ValidationreportPackage.VERSION_INFO__PLAN_PRO:
- return getPlanPro();
- case ValidationreportPackage.VERSION_INFO__SIGNALS:
- return getSignals();
+ case ValidationreportPackage.VERSION_INFO__PLAN_PRO_VERSIONS:
+ return getPlanProVersions();
+ case ValidationreportPackage.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS:
+ return getSignalbegriffeVersions();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -165,14 +126,19 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
*
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
- case ValidationreportPackage.VERSION_INFO__PLAN_PRO:
- setPlanPro((String) newValue);
+ case ValidationreportPackage.VERSION_INFO__PLAN_PRO_VERSIONS:
+ getPlanProVersions().clear();
+ getPlanProVersions()
+ .addAll((Collection extends String>) newValue);
return;
- case ValidationreportPackage.VERSION_INFO__SIGNALS:
- setSignals((String) newValue);
+ case ValidationreportPackage.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS:
+ getSignalbegriffeVersions().clear();
+ getSignalbegriffeVersions()
+ .addAll((Collection extends String>) newValue);
return;
}
super.eSet(featureID, newValue);
@@ -186,11 +152,11 @@ public void eSet(int featureID, Object newValue) {
@Override
public void eUnset(int featureID) {
switch (featureID) {
- case ValidationreportPackage.VERSION_INFO__PLAN_PRO:
- setPlanPro(PLAN_PRO_EDEFAULT);
+ case ValidationreportPackage.VERSION_INFO__PLAN_PRO_VERSIONS:
+ getPlanProVersions().clear();
return;
- case ValidationreportPackage.VERSION_INFO__SIGNALS:
- setSignals(SIGNALS_EDEFAULT);
+ case ValidationreportPackage.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS:
+ getSignalbegriffeVersions().clear();
return;
}
super.eUnset(featureID);
@@ -204,12 +170,11 @@ public void eUnset(int featureID) {
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
- case ValidationreportPackage.VERSION_INFO__PLAN_PRO:
- return PLAN_PRO_EDEFAULT == null ? planPro != null
- : !PLAN_PRO_EDEFAULT.equals(planPro);
- case ValidationreportPackage.VERSION_INFO__SIGNALS:
- return SIGNALS_EDEFAULT == null ? signals != null
- : !SIGNALS_EDEFAULT.equals(signals);
+ case ValidationreportPackage.VERSION_INFO__PLAN_PRO_VERSIONS:
+ return planProVersions != null && !planProVersions.isEmpty();
+ case ValidationreportPackage.VERSION_INFO__SIGNALBEGRIFFE_VERSIONS:
+ return signalbegriffeVersions != null
+ && !signalbegriffeVersions.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -225,10 +190,10 @@ public String toString() {
return super.toString();
StringBuilder result = new StringBuilder(super.toString());
- result.append(" (planPro: ");
- result.append(planPro);
- result.append(", signals: ");
- result.append(signals);
+ result.append(" (planProVersions: ");
+ result.append(planProVersions);
+ result.append(", signalbegriffeVersions: ");
+ result.append(signalbegriffeVersions);
result.append(')');
return result.toString();
}
diff --git a/java/bundles/org.eclipse.set.releng.set.product/set.product b/java/bundles/org.eclipse.set.releng.set.product/set.product
index 8adc79ff55..a5ccc2cfdc 100644
--- a/java/bundles/org.eclipse.set.releng.set.product/set.product
+++ b/java/bundles/org.eclipse.set.releng.set.product/set.product
@@ -64,7 +64,6 @@
-
diff --git a/java/bundles/org.eclipse.set.unittest.utils/META-INF/MANIFEST.MF b/java/bundles/org.eclipse.set.unittest.utils/META-INF/MANIFEST.MF
index e205d0c67b..bf5bb83a4b 100644
--- a/java/bundles/org.eclipse.set.unittest.utils/META-INF/MANIFEST.MF
+++ b/java/bundles/org.eclipse.set.unittest.utils/META-INF/MANIFEST.MF
@@ -11,8 +11,11 @@ Require-Bundle: org.hamcrest.core,
org.eclipse.set.model.planpro,
junit-platform-commons,
junit-platform-launcher,
- junit-platform-runner
-Import-Package: org.eclipse.emf.common.util,
+ junit-platform-runner,
+ org.mockito.mockito-core
+Import-Package: net.bytebuddy,
+ net.bytebuddy.agent,
+ org.eclipse.emf.common.util,
org.eclipse.emf.ecore.resource,
org.eclipse.emf.ecore.xmi,
org.eclipse.emf.edit.domain,
@@ -26,6 +29,8 @@ Import-Package: org.eclipse.emf.common.util,
org.eclipse.set.core.services.session,
org.eclipse.set.core.services.version,
org.eclipse.set.core.version,
+ org.eclipse.set.model.validationreport,
+ org.eclipse.set.ppmodel.extensions,
org.junit.jupiter.api,
org.junit.jupiter.api.function,
org.junit.jupiter.params,
diff --git a/java/bundles/org.eclipse.set.unittest.utils/src/org/eclipse/set/unittest/utils/AbstractToolboxTest.java b/java/bundles/org.eclipse.set.unittest.utils/src/org/eclipse/set/unittest/utils/AbstractToolboxTest.java
index 3200576910..9e171bde98 100644
--- a/java/bundles/org.eclipse.set.unittest.utils/src/org/eclipse/set/unittest/utils/AbstractToolboxTest.java
+++ b/java/bundles/org.eclipse.set.unittest.utils/src/org/eclipse/set/unittest/utils/AbstractToolboxTest.java
@@ -38,13 +38,19 @@
import org.eclipse.set.core.modelservice.PlanningAccessServiceImpl;
import org.eclipse.set.core.services.Services;
import org.eclipse.set.core.services.cache.NoCacheService;
-import org.eclipse.set.core.version.PlanProVersionServiceImpl;
+import org.eclipse.set.core.services.version.PlanProVersionService;
import org.eclipse.set.model.planpro.PlanPro.DocumentRoot;
import org.eclipse.set.model.planpro.PlanPro.PlanProPackage;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.model.planpro.PlanPro.util.PlanProResourceFactoryImpl;
import org.eclipse.set.model.planpro.Signalbegriffe_Ril_301.Signalbegriffe_Ril_301Package;
+import org.eclipse.set.model.validationreport.ValidationreportFactory;
+import org.eclipse.set.model.validationreport.VersionInfo;
+import org.eclipse.set.ppmodel.extensions.PlanProPackageExtensions;
+import org.eclipse.set.ppmodel.extensions.SignalbegriffeRil301PackageExtensions;
import org.junit.jupiter.api.BeforeEach;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mockito;
/**
* Base class for Siteplan Tests with common utilities
@@ -79,6 +85,7 @@ public class AbstractToolboxTest {
protected PlanPro_Schnittstelle planProSchnittstelle;
private ResourceSet resourceSet;
+ private PlanProVersionService planproVersionService;
protected static String getModel(final Class> clazz, final String name) {
final URL res = clazz.getClassLoader().getResource(name);
@@ -154,7 +161,7 @@ protected void initPackages() {
.eClass();
org.eclipse.set.model.planpro.Layoutinformationen.LayoutinformationenPackage.eINSTANCE
.eClass();
-
+ givenPlanProVersionService();
Services.setCacheService(new NoCacheService());
Services.setPlanningAccessService(new PlanningAccessServiceImpl());
@@ -255,8 +262,8 @@ private XMLResource loadResource(final URI resourceURI) throws IOException {
final XMLResource resource = (XMLResource) resourceSet
.createResource(resourceURI);
final PlanProFileResource planproResource = new PlanProFileResource(
- resourceURI, new PlanProXMLHelper(resource,
- new PlanProVersionServiceImpl()));
+ resourceURI,
+ new PlanProXMLHelper(resource, planproVersionService));
try {
planproResource.load(null);
} catch (final Exception e) {
@@ -268,4 +275,20 @@ resourceURI, new PlanProXMLHelper(resource,
return planproResource;
}
+ @SuppressWarnings("boxing")
+ protected void givenPlanProVersionService() {
+ planproVersionService = Mockito.mock(PlanProVersionService.class);
+ final VersionInfo versionInfo = ValidationreportFactory.eINSTANCE
+ .createVersionInfo();
+ versionInfo.getPlanProVersions()
+ .add(PlanProPackageExtensions.getModelVersion());
+ versionInfo.getSignalbegriffeVersions()
+ .add(SignalbegriffeRil301PackageExtensions.getModelVersion());
+ Mockito.when(planproVersionService
+ .isSupportedVersion(ArgumentMatchers.anyString()))
+ .thenReturn(Boolean.TRUE);
+ Mockito.when(planproVersionService.getCurrentVersion())
+ .thenReturn(versionInfo);
+ }
+
}