-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding CustomDataspecification Feature and UnitTests (#207)
* add custom dataspecification * add successful json test * start xml test * fix dataspecification behavior for xml * move CustomDataSpecification into model * reuse same environment for JSON and XML tests * rename DataSpecification to DummyDataSpecfication
- Loading branch information
1 parent
9494911
commit f1bdbab
Showing
10 changed files
with
356 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
89 changes: 89 additions & 0 deletions
89
...e/src/test/java/org/eclipse/digitaltwin/aas4j/v3/model/DefaultDummyDataSpecification.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
/* | ||
* Copyright (C) 2023 SAP SE or an SAP affiliate company. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
package org.eclipse.digitaltwin.aas4j.v3.model; | ||
|
||
import java.util.Objects; | ||
|
||
/** | ||
* This interface is needed to test the serialization/deserialization of a custom data specification content. | ||
* See: https://github.com/eclipse-aas4j/aas4j/issues/196 | ||
*/ | ||
public class DefaultDummyDataSpecification implements DummyDataSpecification { | ||
private LangStringNameType name; | ||
private String text; | ||
private int pages; | ||
|
||
public LangStringNameType getName() { | ||
return name; | ||
} | ||
|
||
public void setName(LangStringNameType name) { | ||
this.name = name; | ||
} | ||
|
||
public String getText() { | ||
return text; | ||
} | ||
|
||
public void setText(String text) { | ||
this.text = text; | ||
} | ||
|
||
public int getPages() { | ||
return pages; | ||
}; | ||
public void setPages(int pages) { | ||
this.pages = pages; | ||
} | ||
|
||
@Override | ||
public int hashCode() { | ||
return Objects.hash(this.name, this.text, this.pages); | ||
} | ||
|
||
@Override | ||
public boolean equals(Object obj) { | ||
if (this == obj) { | ||
return true; | ||
} else if (obj == null) { | ||
return false; | ||
} else if (this.getClass() != obj.getClass()) { | ||
return false; | ||
} else { | ||
DefaultDummyDataSpecification other = (DefaultDummyDataSpecification) obj; | ||
return Objects.equals(this.name, other.name) && | ||
Objects.equals(this.text, other.text) && | ||
Objects.equals(this.pages, other.pages); | ||
} | ||
} | ||
|
||
/** | ||
* This builder class can be used to construct a DefaultCustomDataSpecificationContent. | ||
*/ | ||
public static class Builder extends DummyDataSpecificationBuilder<DefaultDummyDataSpecification, | ||
Builder> { | ||
|
||
@Override | ||
protected DefaultDummyDataSpecification.Builder getSelf() { | ||
return this; | ||
} | ||
|
||
@Override | ||
protected DefaultDummyDataSpecification newBuildingInstance() { | ||
return new DefaultDummyDataSpecification(); | ||
} | ||
} | ||
} |
37 changes: 37 additions & 0 deletions
37
...mat-core/src/test/java/org/eclipse/digitaltwin/aas4j/v3/model/DummyDataSpecification.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/* | ||
* Copyright (C) 2023 SAP SE or an SAP affiliate company. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
package org.eclipse.digitaltwin.aas4j.v3.model; | ||
|
||
/** | ||
* This interface is needed to test the serialization/deserialization of a custom data specification content. | ||
* See: https://github.com/eclipse-aas4j/aas4j/issues/196 | ||
*/ | ||
public interface DummyDataSpecification extends CustomDataSpecification { | ||
|
||
LangStringNameType getName(); | ||
|
||
void setName(LangStringNameType name); | ||
|
||
|
||
String getText(); | ||
|
||
void setText(String text); | ||
|
||
|
||
int getPages(); | ||
|
||
void setPages(int pages); | ||
} |
42 changes: 42 additions & 0 deletions
42
...e/src/test/java/org/eclipse/digitaltwin/aas4j/v3/model/DummyDataSpecificationBuilder.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/* | ||
* Copyright (C) 2023 SAP SE or an SAP affiliate company. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
package org.eclipse.digitaltwin.aas4j.v3.model; | ||
|
||
import org.eclipse.digitaltwin.aas4j.v3.model.builder.ExtendableBuilder; | ||
|
||
/** | ||
* This interface is needed to test the serialization/deserialization of a custom data specification content. | ||
* | ||
* See: https://github.com/eclipse-aas4j/aas4j/issues/196 | ||
*/ | ||
public abstract class DummyDataSpecificationBuilder<T extends DummyDataSpecification, | ||
B extends DummyDataSpecificationBuilder<T, B>> extends ExtendableBuilder<T, B> { | ||
|
||
public B name(LangStringNameType name) { | ||
getBuildingInstance().setName(name); | ||
return getSelf(); | ||
} | ||
|
||
public B text(String text) { | ||
getBuildingInstance().setText(text); | ||
return getSelf(); | ||
} | ||
|
||
public B pages(int pages) { | ||
getBuildingInstance().setPages(pages); | ||
return getSelf(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.