Merge branch 'dev'
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index d827e4a..a0f7004 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/EntityManager.java b/src/main/java/org/eclipse/mdm/api/dflt/EntityManager.java
index bb51184..ac126a7 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/EntityManager.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/EntityManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016 Gigatronik Ingolstadt GmbH
+ * Copyright (c) 2016 Gigatronik Ingolstadt GmbH and others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,6 +8,8 @@
package org.eclipse.mdm.api.dflt;
+import java.util.Collection;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
@@ -55,9 +57,19 @@
* @throws DataAccessException
* Thrown if unable to retrieve the entity.
*/
- <T extends Entity> T load(Class<T> entityClass, ContextType contextType, String instanceID)
- throws DataAccessException;
+ default <T extends Entity> T load(Class<T> entityClass, ContextType contextType, String instanceID)
+ throws DataAccessException {
+ List<T> entities = load(entityClass, contextType, Collections.singletonList(instanceID));
+ if (entities.size() != 1) {
+ throw new DataAccessException("Failed to load entity by instance ID.");
+ }
+ return entities.get(0);
+
+ }
+ <T extends Entity> List<T> load(Class<T> entityClass, ContextType contextType, Collection<String> instanceIDs)
+ throws DataAccessException;
+
// default List<Status> loadAllStatus(Class<? extends StatusAttachable>
// entityClass) throws DataAccessException {
// return loadAllStatus(entityClass, "*");
@@ -148,7 +160,7 @@
*/
default <T extends Versionable> Optional<T> loadLatestValid(Class<T> entityClass, String name)
throws DataAccessException {
- return loadAll(entityClass, name).stream().filter(v -> v.nameMatches(name)).filter(Versionable::isValid)
+ return loadAll(entityClass, name).stream().filter(v -> v.nameEquals(name)).filter(Versionable::isValid)
.max(Versionable.COMPARATOR);
}
@@ -170,7 +182,7 @@
*/
default <T extends Versionable> Optional<T> loadLatestValid(Class<T> entityClass, ContextType contextType,
String name) throws DataAccessException {
- return loadAll(entityClass, contextType, name).stream().filter(v -> v.nameMatches(name))
+ return loadAll(entityClass, contextType, name).stream().filter(v -> v.nameEquals(name))
.filter(Versionable::isValid).max(Versionable.COMPARATOR);
}
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogAttribute.java b/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogAttribute.java
index d0deee5..cf2eb29 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogAttribute.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogAttribute.java
@@ -16,6 +16,9 @@
import org.eclipse.mdm.api.base.model.Core;
import org.eclipse.mdm.api.base.model.Deletable;
import org.eclipse.mdm.api.base.model.Describable;
+import org.eclipse.mdm.api.base.model.EnumRegistry;
+import org.eclipse.mdm.api.base.model.EnumerationValue;
+import org.eclipse.mdm.api.base.model.Enumeration;
import org.eclipse.mdm.api.base.model.ScalarType;
import org.eclipse.mdm.api.base.model.Sortable;
import org.eclipse.mdm.api.base.model.Unit;
@@ -34,7 +37,7 @@
* @see CatalogComponent
* @see CatalogSensor
*/
-public final class CatalogAttribute extends BaseEntity implements Deletable, Describable, Sortable {
+public class CatalogAttribute extends BaseEntity implements Deletable, Describable, Sortable {
// ======================================================================
// Class variables
@@ -219,7 +222,7 @@
*
* @return The {@code ValueType} is returned.
*/
- public ValueType getValueType() {
+ public ValueType<?> getValueType() {
ScalarType scalarType = scalarTypeValue.extract();
Boolean sequence = sequenceValue.extract();
return sequence.booleanValue() ? scalarType.toValueType() : scalarType.toSingleValueType();
@@ -235,17 +238,13 @@
* {@code true} when {@link ValueType#isEnumerationType()} is
* called.
*/
- @SuppressWarnings("unchecked")
- public Class<? extends Enum<?>> getEnumerationClass() {
+ @SuppressWarnings("rawtypes")
+ public Enumeration getEnumerationObject() {
if (!getValueType().isEnumerationType()) {
throw new IllegalStateException("Catalog attribute is not of type enumeration.");
}
- try {
- return (Class<? extends Enum<?>>) Class.forName(enumerationClassValue.extract());
- } catch (ClassNotFoundException e) {
- throw new IllegalStateException("Unable to load enum class due to: " + e.getMessage(), e);
- }
+ return EnumRegistry.getInstance().get(enumerationClassValue.extract(ValueType.ENUMERATION).name());
}
/**
@@ -277,7 +276,7 @@
ScalarType scalarType = scalarTypeValue.extract();
sb.append("ScalarType = ").append(scalarType);
if (scalarType.isEnumeration()) {
- sb.append(", EnumerationClass = ").append(getEnumerationClass());
+ sb.append(", EnumerationObject = ").append(getEnumerationObject());
}
sb.append(", Sequence = ").append((boolean) sequenceValue.extract());
@@ -302,20 +301,21 @@
* @param valueType
* The {@link ValueType}.
*/
- void setValueType(ValueType valueType) {
- scalarTypeValue.set(ScalarType.valueOf(valueType.toSingleType().name()));
+ void setValueType(ValueType<?> valueType) {
+ Enumeration<?> scalarTypeEnum = EnumRegistry.getInstance().get(EnumRegistry.SCALAR_TYPE);
+ scalarTypeValue.set(scalarTypeEnum.valueOf(valueType.toSingleType().name()));
sequenceValue.set(valueType.isSequence());
}
/**
* Sets enumeration class of this catalog attribute.
*
- * @param enumerationClass
+ * @param enumerationValueClass
* The enumeration class.
*/
- void setEnumerationClass(Class<? extends Enum<?>> enumerationClass) {
+ void setEnumerationValueClass(Class<? extends EnumerationValue> enumerationValueClass) {
setValueType(ValueType.ENUMERATION);
- enumerationClassValue.set(enumerationClass.getName());
+ enumerationClassValue.set(enumerationValueClass.getName());
}
}
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogComponent.java b/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogComponent.java
index 2a13137..7a3e89d 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogComponent.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogComponent.java
@@ -37,7 +37,7 @@
* @see CatalogAttribute
* @see CatalogSensor
*/
-public final class CatalogComponent extends BaseEntity implements Datable, Deletable, Describable {
+public class CatalogComponent extends BaseEntity implements Datable, Deletable, Describable {
// ======================================================================
// Instance variables
@@ -91,7 +91,7 @@
* given name does not exist.
*/
public Optional<CatalogAttribute> getCatalogAttribute(String name) {
- return getCatalogAttributes().stream().filter(ca -> ca.nameMatches(name)).findAny();
+ return getCatalogAttributes().stream().filter(ca -> ca.nameEquals(name)).findAny();
}
/**
@@ -131,7 +131,7 @@
* given name does not exist.
*/
public Optional<CatalogSensor> getCatalogSensor(String name) {
- return getCatalogSensors().stream().filter(cs -> cs.nameMatches(name)).findAny();
+ return getCatalogSensors().stream().filter(cs -> cs.nameEquals(name)).findAny();
}
/**
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogSensor.java b/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogSensor.java
index 69a6efa..377913a 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogSensor.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/CatalogSensor.java
@@ -35,7 +35,7 @@
* @see CatalogComponent
* @see CatalogComponent
*/
-public final class CatalogSensor extends BaseEntity implements Datable, Deletable, Describable {
+public class CatalogSensor extends BaseEntity implements Datable, Deletable, Describable {
// ======================================================================
// Constructors
@@ -73,7 +73,7 @@
* given name does not exist.
*/
public Optional<CatalogAttribute> getCatalogAttribute(String name) {
- return getCatalogAttributes().stream().filter(ca -> ca.nameMatches(name)).findAny();
+ return getCatalogAttributes().stream().filter(ca -> ca.nameEquals(name)).findAny();
}
/**
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java b/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java
index 928efce..4f5a0b2 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/EntityFactory.java
@@ -23,6 +23,7 @@
import org.eclipse.mdm.api.base.model.ContextType;
import org.eclipse.mdm.api.base.model.Core;
import org.eclipse.mdm.api.base.model.Entity;
+import org.eclipse.mdm.api.base.model.EnumerationValue;
import org.eclipse.mdm.api.base.model.Measurement;
import org.eclipse.mdm.api.base.model.ScalarType;
import org.eclipse.mdm.api.base.model.Test;
@@ -262,6 +263,8 @@
templateSensor.get().getTemplateAttributes().forEach(ta -> {
contextSensor.getValue(ta.getName()).set(ta.getDefaultValue().extract());
});
+
+ return contextSensor;
}
throw new IllegalArgumentException("Template sensor with name '" + name + "' does not exist.");
@@ -338,7 +341,7 @@
* Thrown if given name is already in use or not allowed or
* given {@code ValueType} is not supported.
*/
- public CatalogAttribute createCatalogAttribute(String name, ValueType valueType,
+ public CatalogAttribute createCatalogAttribute(String name, ValueType<?> valueType,
CatalogComponent catalogComponent) {
validateCatalogName(name, true);
@@ -370,7 +373,7 @@
*
* @param name
* Name of the created {@code CatalogAttribute}.
- * @param enumerationClass
+ * @param enumerationValueClass
* The enumeration class.
* @param catalogComponent
* The parent {@code CatalogComponent}.
@@ -379,10 +382,10 @@
* Thrown if given name is already in use or not allowed or
* given enumeration class is not supported.
*/
- public CatalogAttribute createCatalogAttribute(String name, Class<? extends Enum<?>> enumerationClass,
+ public CatalogAttribute createCatalogAttribute(String name, Class<? extends EnumerationValue> enumerationValueClass,
CatalogComponent catalogComponent) {
validateCatalogName(name, true);
- validateEnum(enumerationClass);
+ validateEnum(enumerationValueClass);
if (catalogComponent.getCatalogAttribute(name).isPresent()) {
throw new IllegalArgumentException("Catalog attribute with name '" + name + "' already exists.");
}
@@ -396,7 +399,7 @@
// properties
catalogAttribute.setName(name);
- catalogAttribute.setEnumerationClass(enumerationClass);
+ catalogAttribute.setEnumerationValueClass(enumerationValueClass);
catalogAttribute.setSortIndex(nextIndex(catalogComponent.getCatalogAttributes()));
return catalogAttribute;
@@ -955,7 +958,7 @@
* @throws IllegalArgumentException
* Thrown if given enumeration class is not supported.
*/
- protected abstract void validateEnum(Class<? extends Enum<?>> enumClass);
+ protected abstract void validateEnum(Class<? extends EnumerationValue> enumClass);
// ======================================================================
// Private methods
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/Pool.java b/src/main/java/org/eclipse/mdm/api/dflt/model/Pool.java
index 048fd41..1b9e4ad 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/Pool.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/Pool.java
@@ -16,7 +16,7 @@
* @see Project
* @see Test
*/
-public final class Pool extends BaseEntity implements Deletable {
+public class Pool extends BaseEntity implements Deletable {
// ======================================================================
// Class variables
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/Project.java b/src/main/java/org/eclipse/mdm/api/dflt/model/Project.java
index 506b487..b338d88 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/Project.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/Project.java
@@ -13,7 +13,7 @@
* @author Viktor Stoehr, Gigatronik Ingolstadt GmbH
* @see Pool
*/
-public final class Project extends BaseEntity implements Deletable {
+public class Project extends BaseEntity implements Deletable {
// ======================================================================
// Class variables
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/Status.java b/src/main/java/org/eclipse/mdm/api/dflt/model/Status.java
index 43c1d8f..cd96a42 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/Status.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/Status.java
@@ -26,7 +26,7 @@
* @since 1.0.0
* @author Viktor Stoehr, Gigatronik Ingolstadt GmbH
*/
-public final class Status extends BaseEntity implements Describable {
+public class Status extends BaseEntity implements Describable {
// ======================================================================
// Constructors
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java
index 4adc3b2..caa4b85 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateAttribute.java
@@ -27,6 +27,7 @@
import org.eclipse.mdm.api.base.model.Core;
import org.eclipse.mdm.api.base.model.Deletable;
import org.eclipse.mdm.api.base.model.DoubleComplex;
+import org.eclipse.mdm.api.base.model.Enumeration;
import org.eclipse.mdm.api.base.model.FileLink;
import org.eclipse.mdm.api.base.model.FloatComplex;
import org.eclipse.mdm.api.base.model.MimeType;
@@ -45,7 +46,7 @@
* @see TemplateComponent
* @see TemplateSensor
*/
-public final class TemplateAttribute extends BaseEntity implements Deletable {
+public class TemplateAttribute extends BaseEntity implements Deletable {
// ======================================================================
// Class variables
@@ -96,15 +97,15 @@
*
* @return The default {@code Value} is returned.
*/
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings({ "rawtypes" })
public Value getDefaultValue() {
ValueType valueType = getCatalogAttribute().getValueType();
Value defaultValue = getValue(ATTR_DEFAULT_VALUE);
boolean isValid = defaultValue.isValid();
String value = defaultValue.extract();
if (valueType.isEnumerationType()) {
- Class<? extends Enum> enumClass = getCatalogAttribute().getEnumerationClass();
- return valueType.create(enumClass, getName(), "", isValid, isValid ? Enum.valueOf(enumClass, value) : null);
+ Enumeration enumObject = getCatalogAttribute().getEnumerationObject();
+ return valueType.create(getName(), "", isValid, isValid ? enumObject.valueOf(value) : null, enumObject.getName());
} else {
return valueType.create(getName(), isValid ? parse(value, valueType) : null);
}
@@ -123,7 +124,7 @@
return;
}
- ValueType valueType = getCatalogAttribute().getValueType();
+ ValueType<?> valueType = getCatalogAttribute().getValueType();
boolean sequence = valueType.isSequence();
// if this passes -> input is valid
@@ -270,7 +271,7 @@
* Used to resolve the corresponding converter.
* @return The parsed object is returned.
*/
- private static Object parse(String value, ValueType valueType) {
+ private static Object parse(String value, ValueType<?> valueType) {
if (valueType.isFileLinkType()) {
Pattern pattern = Pattern.compile("([^,].*?)\\[(.*?),(.*?)\\]");
Matcher matcher = pattern.matcher(value);
@@ -309,7 +310,7 @@
* @throws IllegalArgumentException
* Thrown if a corresponding {@code String} is not supported.
*/
- private static Function<String, Object> getParser(ValueType valueType) {
+ private static Function<String, Object> getParser(ValueType<?> valueType) {
Function<String, Object> converter;
if (valueType.isString()) {
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateComponent.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateComponent.java
index 718f55a..189917b 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateComponent.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateComponent.java
@@ -41,7 +41,7 @@
* @see TemplateAttribute
* @see TemplateSensor
*/
-public final class TemplateComponent extends BaseEntity implements Deletable, Sortable {
+public class TemplateComponent extends BaseEntity implements Deletable, Sortable {
// ======================================================================
// Class variables
@@ -221,7 +221,7 @@
* given name does not exist.
*/
public Optional<TemplateAttribute> getTemplateAttribute(String name) {
- return getTemplateAttributes().stream().filter(ta -> ta.nameMatches(name)).findAny();
+ return getTemplateAttributes().stream().filter(ta -> ta.nameEquals(name)).findAny();
}
/**
@@ -270,7 +270,7 @@
*/
public Optional<TemplateComponent> getTemplateComponent(String name) {
List<TemplateComponent> templateComponents = getTemplateComponents();
- Optional<TemplateComponent> templateComponent = templateComponents.stream().filter(tc -> tc.nameMatches(name))
+ Optional<TemplateComponent> templateComponent = templateComponents.stream().filter(tc -> tc.nameEquals(name))
.findAny();
if (templateComponent.isPresent()) {
return templateComponent;
@@ -329,7 +329,7 @@
* given name does not exist.
*/
public Optional<TemplateSensor> getTemplateSensor(String name) {
- return getTemplateSensors().stream().filter(ts -> ts.nameMatches(name)).findAny();
+ return getTemplateSensors().stream().filter(ts -> ts.nameEquals(name)).findAny();
}
/**
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateRoot.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateRoot.java
index 20a5b2a..cc980f7 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateRoot.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateRoot.java
@@ -39,7 +39,7 @@
* @see TemplateComponent
* @see Versionable
*/
-public final class TemplateRoot extends BaseEntity implements Deletable, Versionable {
+public class TemplateRoot extends BaseEntity implements Deletable, Versionable {
// ======================================================================
// Instance variables
@@ -102,7 +102,7 @@
*/
public Optional<TemplateComponent> getTemplateComponent(String name) {
List<TemplateComponent> templateComponents = getTemplateComponents();
- Optional<TemplateComponent> templateComponent = templateComponents.stream().filter(tc -> tc.nameMatches(name))
+ Optional<TemplateComponent> templateComponent = templateComponents.stream().filter(tc -> tc.nameEquals(name))
.findAny();
if (templateComponent.isPresent()) {
return templateComponent;
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateSensor.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateSensor.java
index 862470c..330725c 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateSensor.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateSensor.java
@@ -39,7 +39,7 @@
* @see TemplateComponent
* @see TemplateAttribute
*/
-public final class TemplateSensor extends BaseEntity implements Deletable, Describable, Sortable {
+public class TemplateSensor extends BaseEntity implements Deletable, Describable, Sortable {
// ======================================================================
// Class variables
@@ -279,7 +279,7 @@
* given name does not exist.
*/
public Optional<TemplateAttribute> getTemplateAttribute(String name) {
- return getTemplateAttributes().stream().filter(ta -> ta.nameMatches(name)).findAny();
+ return getTemplateAttributes().stream().filter(ta -> ta.nameEquals(name)).findAny();
}
/**
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTest.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTest.java
index f944497..0a98273 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTest.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTest.java
@@ -38,7 +38,7 @@
* @see TemplateTestStepUsage
* @see Versionable
*/
-public final class TemplateTest extends BaseEntity implements Deletable, Describable, Versionable {
+public class TemplateTest extends BaseEntity implements Deletable, Describable, Versionable {
// ======================================================================
// Class variables
@@ -143,7 +143,7 @@
* with given name does not exist.
*/
public Optional<TemplateTestStepUsage> getTemplateTestStepUsage(String name) {
- return getTemplateTestStepUsages().stream().filter(ttsu -> ttsu.nameMatches(name)).findAny();
+ return getTemplateTestStepUsages().stream().filter(ttsu -> ttsu.nameEquals(name)).findAny();
}
/**
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStep.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStep.java
index 41a9b2f..d70879f 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStep.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStep.java
@@ -37,7 +37,7 @@
* @see TemplateRoot
* @see Versionable
*/
-public final class TemplateTestStep extends BaseEntity implements Deletable, Describable, Versionable {
+public class TemplateTestStep extends BaseEntity implements Deletable, Describable, Versionable {
// ======================================================================
// Constructors
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStepUsage.java b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStepUsage.java
index fa5812c..e01a99d 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStepUsage.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/TemplateTestStepUsage.java
@@ -26,7 +26,7 @@
* @see TemplateTest
* @see TemplateTestStep
*/
-public final class TemplateTestStepUsage extends BaseEntity implements Deletable, Sortable {
+public class TemplateTestStepUsage extends BaseEntity implements Deletable, Sortable {
// ======================================================================
// Class variables
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/ValueList.java b/src/main/java/org/eclipse/mdm/api/dflt/model/ValueList.java
index 581fa59..64f538a 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/ValueList.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/ValueList.java
@@ -29,7 +29,7 @@
* @see ValueListValue
* @see CatalogAttribute
*/
-public final class ValueList extends BaseEntity implements Datable, Describable, Deletable {
+public class ValueList extends BaseEntity implements Datable, Describable, Deletable {
// ======================================================================
// Constructors
@@ -58,7 +58,7 @@
* given name does not exist.
*/
public Optional<ValueListValue> getValueListValue(String name) {
- return getValueListValues().stream().filter(vlv -> vlv.nameMatches(name)).findAny();
+ return getValueListValues().stream().filter(vlv -> vlv.nameEquals(name)).findAny();
}
/**
diff --git a/src/main/java/org/eclipse/mdm/api/dflt/model/ValueListValue.java b/src/main/java/org/eclipse/mdm/api/dflt/model/ValueListValue.java
index 746acd7..9102bf2 100644
--- a/src/main/java/org/eclipse/mdm/api/dflt/model/ValueListValue.java
+++ b/src/main/java/org/eclipse/mdm/api/dflt/model/ValueListValue.java
@@ -23,7 +23,7 @@
* @author Viktor Stoehr, Gigatronik Ingolstadt GmbH
* @see ValueList
*/
-public final class ValueListValue extends BaseEntity implements Deletable, Describable, Sortable {
+public class ValueListValue extends BaseEntity implements Deletable, Describable, Sortable {
// ======================================================================
// Class variables