Skip to content

Commit 4f3a04c

Browse files
committed
Correct getAllProperties method so it will generate runnable code
1 parent 3a2380a commit 4f3a04c

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

core/sds-aspect-model-java-generator/src/main/resources/java-static-class-body-lib.vm

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,16 @@ static {
7777

7878
@Override
7979
public List<StaticProperty<?>> getAllProperties() {
80-
#if( $element.getExtends().isPresent() )
81-
#set( $extendedElement = $element.getExtends().get() )
82-
$codeGenerationConfig.getImportTracker().importExplicit( "${codeGenerationConfig.getPackageName()}.Meta${extendedElement.getName()}" )
83-
List<StaticProperty<?>> properties = getProperties();
84-
properties.addAll(Meta${extendedElement.getName()}.INSTANCE.getAllProperties());
85-
return properties;
86-
#else
87-
return getProperties();
88-
#end
80+
#if( $element.getExtends().isPresent() )
81+
#set( $extendedElement = $element.getExtends().get() )
82+
$codeGenerationConfig.getImportTracker().importExplicit( "java.util.stream.Stream" )
83+
$codeGenerationConfig.getImportTracker().importExplicit( "java.util.stream.Collectors" )
84+
$codeGenerationConfig.getImportTracker().importExplicit( "java.util.Collection" )
85+
$codeGenerationConfig.getImportTracker().importExplicit( "${codeGenerationConfig.getPackageName()}.Meta${extendedElement.getName()}" )
86+
return Stream.of( getProperties(), Meta${extendedElement.getName()}.INSTANCE.getAllProperties() ).flatMap( Collection::stream ).collect( Collectors.toList() );
87+
#else
88+
return getProperties();
89+
#end
8990
}
9091

9192
#if( !$element.getPreferredNames().isEmpty() )

core/sds-aspect-model-java-generator/src/test/java/io/openmanufacturing/sds/aspectmodel/java/StaticMetaModelJavaGeneratorTest.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,9 @@ public void testGenerateStaticMetaModelWithExtendedEntity( final KnownVersion me
244244
final int expectedNumberOfParameters = 0;
245245
final List<String> getAllPropertiesWithoutExtended = List.of( "returngetProperties();" );
246246
final List<String> getPropertiesMetaTestEntity = List.of(
247-
"List<StaticProperty<?>>properties=getProperties();",
248-
"properties.addAll(MetaParentTestEntity.INSTANCE.getAllProperties());",
249-
"returnproperties;" );
247+
"returnStream.of(getProperties(),MetaParentTestEntity.INSTANCE.getAllProperties()).flatMap(Collection::stream).collect(Collectors.toList());" );
250248
final List<String> getPropertiesMetaParentTestEntity = List.of(
251-
"List<StaticProperty<?>>properties=getProperties();",
252-
"properties.addAll(MetaParentOfParentEntity.INSTANCE.getAllProperties());",
253-
"returnproperties;" );
249+
"returnStream.of(getProperties(),MetaParentOfParentEntity.INSTANCE.getAllProperties()).flatMap(Collection::stream).collect(Collectors.toList());" );
254250
result.assertMethodBody( "MetaAspectWithExtendedEntity", methodName, expectOverride, Optional.empty(), expectedNumberOfParameters,
255251
getAllPropertiesWithoutExtended );
256252
result.assertMethodBody( "MetaParentTestEntity", methodName, expectOverride, Optional.empty(), expectedNumberOfParameters,

0 commit comments

Comments
 (0)