Skip to content

Commit 12e6bf9

Browse files
committed
Merge branch 'main' into 2.11.x
2 parents 2dd4cc3 + 4c49c34 commit 12e6bf9

File tree

20 files changed

+291
-88
lines changed

20 files changed

+291
-88
lines changed

.github/workflows/pull-request-check.yml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@ jobs:
3232
- name: Setup JDK
3333
uses: graalvm/setup-graalvm@01ed653ac833fe80569f1ef9f25585ba2811baab # v1.3.3
3434
with:
35-
java-version: '21.0.6'
35+
java-version: '21.0.7'
3636
distribution: 'graalvm'
37-
components: 'native-image,js'
3837
github-token: ${{ secrets.GITHUB_TOKEN }}
3938
native-image-job-reports: 'true'
4039

@@ -89,20 +88,20 @@ jobs:
8988
run: |
9089
bundle="samm-bundle-DEV-SNAPSHOT-$(date +%s)"
9190
mkdir ${bundle}
92-
curl -Lo jre.tar.gz https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jre_x64_mac_hotspot_21.0.6_7.tar.gz
93-
tar -xvf jre.tar.gz
94-
cp -r ./jdk-21.0.6+7-jre/Contents/Home ./${bundle}/jre
91+
curl -Lo jre.tar.gz https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.7%2B6/OpenJDK21U-jre_x64_mac_hotspot_21.0.7_6.tar.gz
92+
tar -xvf jre.tar.gz
93+
cp -r ./jdk-21.0.7+6-jre/Contents/Home ./${bundle}/jre
9594
cp tools/samm-cli/target/samm-cli-DEV-SNAPSHOT.jar ./${bundle}/
96-
95+
9796
cat <<EOF > ./${bundle}/run.sh
9897
#!/usr/bin/env bash
99-
98+
10099
HERE=\${BASH_SOURCE%/*}
101-
100+
102101
"\$HERE/jre/bin/java" -jar "\$HERE/samm-cli-DEV-SNAPSHOT.jar" "\$@"
103102
EOF
104-
chmod +x ./${bundle}/run.sh
105-
103+
chmod +x ./${bundle}/run.sh
104+
106105
curl -Lo warp-packer https://github.com/dgiagio/warp/releases/download/v0.3.0/macos-x64.warp-packer
107106
chmod +x warp-packer
108107
./warp-packer --arch macos-x64 --input_dir ${bundle} --exec run.sh --output samm

.github/workflows/release-workflow.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
uses: actions/setup-java@v4
2121
with:
2222
distribution: 'temurin'
23-
java-version: '21'
23+
java-version: '21.0.7'
2424
overwrite-settings: false
2525

2626
- name: Setup Git
@@ -62,7 +62,7 @@ jobs:
6262
uses: actions/setup-java@v4
6363
with:
6464
distribution: 'temurin'
65-
java-version: '21'
65+
java-version: '21.0.7'
6666
server-id: central
6767
# The following variables are defined in https://github.com/eclipse-esmf/.eclipsefdn/blob/main/otterdog/eclipse-esmf.jsonnet
6868
gpg-private-key: ${{ secrets.PGP_KEY }}
@@ -74,7 +74,7 @@ jobs:
7474
- name: Setup JDK
7575
uses: graalvm/setup-graalvm@01ed653ac833fe80569f1ef9f25585ba2811baab # v1.3.3
7676
with:
77-
java-version: '21.0.6'
77+
java-version: '21.0.7'
7878
distribution: 'graalvm'
7979
github-token: ${{ secrets.GITHUB_TOKEN }}
8080
native-image-job-reports: 'true'
@@ -136,7 +136,7 @@ jobs:
136136
uses: actions/setup-java@v4
137137
with:
138138
distribution: 'temurin'
139-
java-version: '21'
139+
java-version: '21.0.7'
140140
overwrite-settings: false
141141

142142
- name: Test executable jar on Temurin
@@ -169,7 +169,7 @@ jobs:
169169
- name: Setup JDK
170170
uses: graalvm/setup-graalvm@01ed653ac833fe80569f1ef9f25585ba2811baab # v1.3.3
171171
with:
172-
java-version: '21.0.6'
172+
java-version: '21.0.7'
173173
distribution: 'graalvm'
174174
github-token: ${{ secrets.GITHUB_TOKEN }}
175175
native-image-job-reports: 'false'
@@ -200,9 +200,9 @@ jobs:
200200
run: |
201201
bundle="samm-bundle-$(date +%s)"
202202
mkdir ${bundle}
203-
curl -Lo jre.tar.gz https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jre_x64_mac_hotspot_21.0.6_7.tar.gz
203+
curl -Lo jre.tar.gz https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.7%2B6/OpenJDK21U-jre_x64_mac_hotspot_21.0.7_6.tar.gz
204204
tar -xvf jre.tar.gz
205-
cp -r ./jdk-21.0.6+7-jre/Contents/Home ./${bundle}/jre
205+
cp -r ./jdk-21.0.7+6-jre/Contents/Home ./${bundle}/jre
206206
cp tools/samm-cli/target/samm-cli-${{ github.event.inputs.release_version }}.jar ./${bundle}/
207207
208208
cat <<EOF > ./${bundle}/run.sh
@@ -243,7 +243,7 @@ jobs:
243243
- name: Setup JDK
244244
uses: graalvm/setup-graalvm@01ed653ac833fe80569f1ef9f25585ba2811baab # v1.3.3
245245
with:
246-
java-version: '21.0.6'
246+
java-version: '21.0.7'
247247
distribution: 'graalvm'
248248
github-token: ${{ secrets.GITHUB_TOKEN }}
249249
native-image-job-reports: 'true'
@@ -309,7 +309,7 @@ jobs:
309309
uses: actions/setup-java@v4
310310
with:
311311
distribution: 'temurin'
312-
java-version: '21'
312+
java-version: '21.0.7'
313313
server-id: central
314314
# The following variables are defined in https://github.com/eclipse-esmf/.eclipsefdn/blob/main/otterdog/eclipse-esmf.jsonnet
315315
server-username: CENTRAL_SONATYPE_TOKEN_USERNAME
@@ -321,7 +321,7 @@ jobs:
321321
- name: Setup JDK
322322
uses: graalvm/setup-graalvm@01ed653ac833fe80569f1ef9f25585ba2811baab # v1.3.3
323323
with:
324-
java-version: '21.0.6'
324+
java-version: '21.0.7'
325325
distribution: 'graalvm'
326326
github-token: ${{ secrets.GITHUB_TOKEN }}
327327
native-image-job-reports: 'false'

core/esmf-aspect-meta-model-interface/src/main/java/org/eclipse/esmf/metamodel/vocabulary/RdfNamespace.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ static Map<String, String> createPrefixMap( final KnownVersion metaModelVersion
5757
result.put( samme.getShortForm(), samme.getNamespace() );
5858
final UNIT unit = new UNIT( metaModelVersion, samm );
5959
result.put( unit.getShortForm(), unit.getNamespace() );
60-
result.put( SammNs.RDF.getShortForm(), SammNs.RDF.getNamespace() );
61-
result.put( SammNs.RDFS.getShortForm(), SammNs.RDFS.getNamespace() );
62-
result.put( SammNs.XSD.getShortForm(), SammNs.XSD.getNamespace() );
60+
result.put( SammNs.RDF().getShortForm(), SammNs.RDF().getNamespace() );
61+
result.put( SammNs.RDFS().getShortForm(), SammNs.RDFS().getNamespace() );
62+
result.put( SammNs.XSD().getShortForm(), SammNs.XSD().getNamespace() );
6363
return result;
6464
}
6565

@@ -69,9 +69,9 @@ static Map<String, String> createPrefixMap() {
6969
result.put( SammNs.SAMMC.getShortForm(), SammNs.SAMMC.getNamespace() );
7070
result.put( SammNs.SAMME.getShortForm(), SammNs.SAMME.getNamespace() );
7171
result.put( SammNs.UNIT.getShortForm(), SammNs.UNIT.getNamespace() );
72-
result.put( SammNs.RDF.getShortForm(), SammNs.RDF.getNamespace() );
73-
result.put( SammNs.RDFS.getShortForm(), SammNs.RDFS.getNamespace() );
74-
result.put( SammNs.XSD.getShortForm(), SammNs.XSD.getNamespace() );
72+
result.put( SammNs.RDF().getShortForm(), SammNs.RDF().getNamespace() );
73+
result.put( SammNs.RDFS().getShortForm(), SammNs.RDFS().getNamespace() );
74+
result.put( SammNs.XSD().getShortForm(), SammNs.XSD().getNamespace() );
7575
return result;
7676
}
7777
}

core/esmf-aspect-meta-model-interface/src/main/java/org/eclipse/esmf/metamodel/vocabulary/SammNs.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,16 @@
2020
/**
2121
* RDF vocabularies of the SAMM meta model namespaces
2222
*/
23+
@SuppressWarnings( { "checkstyle:AbbreviationAsWordInName", "checkstyle:MethodName" } ) // RDF vocabularies are exempt from naming rules
2324
public class SammNs {
2425
public static final SAMM SAMM = new SAMM( KnownVersion.getLatest() );
2526
public static final SAMMC SAMMC = new SAMMC( KnownVersion.getLatest() );
2627
public static final SAMME SAMME = new SAMME( KnownVersion.getLatest(), SAMM );
2728
public static final UNIT UNIT = new UNIT( KnownVersion.getLatest(), SAMM );
28-
public static final RdfNamespace RDF = new SimpleRdfNamespace( "rdf", org.apache.jena.vocabulary.RDF.getURI() );
29-
public static final RdfNamespace RDFS = new SimpleRdfNamespace( "rdfs", org.apache.jena.vocabulary.RDFS.getURI() );
30-
public static final RdfNamespace XSD = new SimpleRdfNamespace( "xsd", org.apache.jena.vocabulary.XSD.getURI() );
29+
30+
private static RdfNamespace RDF;
31+
private static RdfNamespace RDFS;
32+
private static RdfNamespace XSD;
3133

3234
private SammNs() {
3335
}
@@ -41,12 +43,33 @@ public static Stream<RdfNamespace> sammNamespaces() {
4143
return Stream.of( SAMM, SAMMC, SAMME, UNIT );
4244
}
4345

46+
public static synchronized RdfNamespace RDF() {
47+
if ( RDF == null ) {
48+
RDF = new SimpleRdfNamespace( "rdf", org.apache.jena.vocabulary.RDF.getURI() );
49+
}
50+
return RDF;
51+
}
52+
53+
public static synchronized RdfNamespace RDFS() {
54+
if ( RDFS == null ) {
55+
RDFS = new SimpleRdfNamespace( "rdfs", org.apache.jena.vocabulary.RDFS.getURI() );
56+
}
57+
return RDFS;
58+
}
59+
60+
public static synchronized RdfNamespace XSD() {
61+
if ( XSD == null ) {
62+
XSD = new SimpleRdfNamespace( "xsd", org.apache.jena.vocabulary.XSD.getURI() );
63+
}
64+
return XSD;
65+
}
66+
4467
/**
4568
* All "well-known" RDF namespaces
4669
*
4770
* @return the namespaces
4871
*/
4972
public static Stream<RdfNamespace> wellKnownNamespaces() {
50-
return Stream.concat( sammNamespaces(), Stream.of( RDF, RDFS, XSD ) );
73+
return Stream.concat( sammNamespaces(), Stream.of( RDF(), RDFS(), XSD() ) );
5174
}
5275
}

core/esmf-aspect-meta-model-java/src/test/java/org/eclipse/esmf/aspectmodel/serializer/RdfModelCreatorVisitorTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ class RdfModelCreatorVisitorTest {
5656
"ASPECT_WITH_TIME_SERIES",
5757
"ASPECT_WITH_QUANTITY",
5858
"ASPECT_WITH_NAMESPACE_DESCRIPTION",
59-
"ASPECT_WITH_ANY_VALUE_DECLARATIONS"
59+
"ASPECT_WITH_ANY_VALUE_DECLARATIONS",
60+
"ASPECT_WITH_OPTIONAL_PROPERTIES_AND_ENTITY_WITH_SEPARATE_FILES"
6061
} )
6162
void testRdfModelCreatorVisitor( final TestAspect testAspect ) {
6263
final AspectModel aspectModel = TestResources.load( testAspect );

core/esmf-aspect-meta-model-java/src/test/java/org/eclipse/esmf/metamodel/UnitGenerationTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
import org.junit.jupiter.api.Test;
2323

24-
public class UnitGenerationTest {
24+
class UnitGenerationTest {
2525
@Test
26-
public void testUnitFromName() {
26+
void testUnitFromName() {
2727
final Optional<Unit> optionalUnit = Units.fromName( "degreeCelsius" );
2828
final Unit unit = optionalUnit.get();
2929
assertThat( unit )
@@ -33,19 +33,19 @@ public void testUnitFromName() {
3333
}
3434

3535
@Test
36-
public void testUnitWithoutReferenceUnit() {
36+
void testUnitWithoutReferenceUnit() {
3737
final Unit ampere = Units.fromName( "ampere" ).get();
3838
assertThat( ampere ).hasNoReferenceUnit();
3939
}
4040

4141
@Test
42-
public void testUnitFromcode() {
42+
void testUnitFromcode() {
4343
final Unit unit = Units.fromCode( "A97" ).get();
4444
assertThat( unit ).isEqualTo( Units.fromName( "hectopascal" ).get() );
4545
}
4646

4747
@Test
48-
public void testUnitFromSymbol() {
48+
void testUnitFromSymbol() {
4949
// Unit with unique symbol
5050
assertThat( Units.fromSymbol( "kg" ) ).containsExactly( Units.fromName( "kilogram" ).get() );
5151

@@ -54,7 +54,7 @@ public void testUnitFromSymbol() {
5454
}
5555

5656
@Test
57-
public void testUnitsWithQuantityKind() {
57+
void testUnitsWithQuantityKind() {
5858
final Set<Unit> units = Units.unitsWithQuantityKind( QuantityKinds.DISTANCE );
5959
assertThat( units ).containsAnyOf( Units.fromName( "nanometre" ).get(), Units.fromName( "metre" ).get(),
6060
Units.fromName( "kilometre" ).get(), Units.fromName( "foot" ).get(), Units.fromName( "lightYear" ).get() );
@@ -63,12 +63,12 @@ public void testUnitsWithQuantityKind() {
6363
}
6464

6565
@Test
66-
public void testGeneratedQuantityKinds() {
66+
void testGeneratedQuantityKinds() {
6767
assertThat( QuantityKinds.values().length ).isGreaterThanOrEqualTo( 80 );
6868
}
6969

7070
@Test
71-
public void testQuantityKindFromName() {
71+
void testQuantityKindFromName() {
7272
final QuantityKind quantityKind = QuantityKinds.fromName( "distance" ).get();
7373
assertThat( quantityKind ).hasName( "distance" ).hasLabel( "distance" );
7474
}

core/esmf-aspect-model-document-generators/src/main/java/org/eclipse/esmf/aspectmodel/generator/sql/databricks/AspectModelDatabricksDenormalizedSqlVisitor.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,11 @@ private String processComplexType( final ComplexType entity, final Context conte
297297

298298
if ( type instanceof Scalar ) {
299299
final String typeDef = type.accept( this, context );
300-
columns.append( column( columnPrefix, typeDef, property.isOptional(),
301-
Optional.ofNullable( property.getDescription( config.commentLanguage() ) ) ) )
300+
final Optional<String> comment = config.includeColumnComments()
301+
? Optional.ofNullable( Optional.ofNullable( context.forceDescriptionFromElement() ).orElse( property )
302+
.getDescription( config.commentLanguage() ) )
303+
: Optional.empty();
304+
columns.append( column( columnPrefix, typeDef, property.isOptional(), comment ) )
302305
.append( lineDelimiter );
303306
} else if ( type instanceof ComplexType ) {
304307
columns.append( processComplexType( type.as( ComplexType.class ), context, columnPrefix, type.is( DefaultList.class ) ) );

core/esmf-aspect-model-document-generators/src/test/java/org/eclipse/esmf/aspectmodel/generator/json/AspectModelJsonPayloadGeneratorTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ static void setup() {
147147
@ParameterizedTest
148148
@EnumSource( value = TestAspect.class, mode = EnumSource.Mode.EXCLUDE, names = {
149149
"MODEL_WITH_BROKEN_CYCLES",
150-
"ASPECT_WITH_MULTIPLE_ENTITIES_SAME_EXTEND"
150+
"ASPECT_WITH_MULTIPLE_ENTITIES_SAME_EXTEND",
151+
"ASPECT_WITH_OPTIONAL_PROPERTIES_AND_ENTITY_WITH_SEPARATE_FILES"
151152
} )
152153
void testDeserializationForGeneratedJson( final TestAspect testAspect ) {
153154
final Aspect aspect = TestResources.load( testAspect ).aspect();

core/esmf-aspect-model-document-generators/src/test/java/org/eclipse/esmf/aspectmodel/generator/sql/AspectModelSqlGeneratorTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,26 @@ void testDatabricksGeneration( final TestAspect testAspect ) {
4848
assertThat( result ).doesNotContain( "ARRAY<ARRAY" );
4949
} ).doesNotThrowAnyException();
5050
}
51+
52+
@ParameterizedTest
53+
@EnumSource( value = TestAspect.class )
54+
void testDatabricksGenerationExcludeComments( final TestAspect testAspect ) {
55+
final Aspect aspect = TestResources.load( testAspect ).aspect();
56+
assertThatCode( () -> {
57+
final DatabricksSqlGenerationConfig dialectSpecificConfig = DatabricksSqlGenerationConfigBuilder.builder()
58+
.includeTableComment( false )
59+
.includeColumnComments( false )
60+
.commentLanguage( Locale.ENGLISH )
61+
.build();
62+
final SqlArtifact sqlArtifact = new AspectModelSqlGenerator( aspect, SqlGenerationConfigBuilder.builder()
63+
.dialect( SqlGenerationConfig.Dialect.DATABRICKS )
64+
.dialectSpecificConfig( dialectSpecificConfig )
65+
.build() ).singleResult();
66+
final String result = sqlArtifact.getContent();
67+
68+
assertThat( result ).contains( "TBLPROPERTIES ('x-samm-aspect-model-urn'='" );
69+
assertThat( result ).doesNotContain( "ARRAY<ARRAY" );
70+
assertThat( result ).doesNotContain( "COMMENT" );
71+
} ).doesNotThrowAnyException();
72+
}
5173
}

0 commit comments

Comments
 (0)