@@ -86,8 +86,10 @@ private Stream<SimplePropertyDefinition> buildProperty(final ParameterMeta p,
8686 final String path = sanitizePropertyName (p .getPath ());
8787 final String name = sanitizePropertyName (p .getName ());
8888 final String type = p .getType ().name ();
89+
8990 final PropertyValidation validation = buildValidation (p );
9091 final Map <String , String > metadata = buildMetadata (p , siblings , parent );
92+
9193 final DefaultValueInspector .Instance instance = defaultValueInspector
9294 .createDemoInstance (ofNullable (rootInstance )
9395 .map (DefaultValueInspector .Instance ::getValue )
@@ -96,10 +98,12 @@ private Stream<SimplePropertyDefinition> buildProperty(final ParameterMeta p,
9698 final ParameterBundle parentBundle = parent == null ? null : parent .findBundle (loader , locale );
9799 final String displayName = bundle .displayName (parentBundle ).orElse (p .getName ());
98100 final String placeholder = bundle .placeholder (parentBundle ).orElse (p .getName ());
101+
99102 final LinkedHashMap <String , String > enumValues = buildEnumDisplayNames (p , bundle , parentBundle );
100103 final SimplePropertyDefinition def = new SimplePropertyDefinition (path , name , displayName , type ,
101104 toDefault (instance , p ), validation , rewriteMetadataForLocale (metadata , parentBundle , bundle ),
102105 placeholder , enumValues );
106+
103107 return Stream .concat (
104108 Stream .of (def ),
105109 buildProperties (p .getNestedParameters (), loader , locale , instance , p ));
@@ -117,7 +121,9 @@ private PropertyValidation buildValidation(final ParameterMeta p) {
117121 return validation ;
118122 }
119123
120- private Map <String , String > buildMetadata (final ParameterMeta p , final List <ParameterMeta > siblings ,
124+ private Map <String , String > buildMetadata (
125+ final ParameterMeta p ,
126+ final List <ParameterMeta > siblings ,
121127 final ParameterMeta parent ) {
122128 final Map <String , String > sanitized = ofNullable (p .getMetadata ())
123129 .map (m -> m
@@ -132,6 +138,7 @@ private Map<String, String> buildMetadata(final ParameterMeta p, final List<Para
132138
133139 final Map <String , String > metadata = ofNullable (sanitized ).orElseGet (HashMap ::new );
134140 metadata .put ("definition::parameter::index" , String .valueOf (siblings .indexOf (p )));
141+ // this one to mark the Schema parameter somehow to differentiate it from the branch name
135142 if (p .getJavaType () instanceof Class <?> clazzType && Schema .class .isAssignableFrom (clazzType )) {
136143 metadata .put ("definition::parameter::schema" , "" );
137144 }
@@ -143,6 +150,7 @@ private LinkedHashMap<String, String> buildEnumDisplayNames(final ParameterMeta
143150 if (p .getType () != ParameterMeta .Type .ENUM ) {
144151 return null ;
145152 }
153+
146154 return p .getProposals ()
147155 .stream ()
148156 .collect (toLinkedMap (identity (), key -> bundle .enumDisplayName (parentBundle , key ).orElse (key )));
@@ -180,20 +188,21 @@ private Map<String, String> rewriteLayoutMetadata(final Map<String, String> meta
180188 return metadata ;
181189 }
182190 final Predicate <Map .Entry <String , ?>> shouldBeRewritten = k -> keysToRewrite .contains (k .getKey ());
183- return Stream
184- . concat ( metadata .entrySet (). stream (). filter ( shouldBeRewritten . negate ()),
185- metadata
186- . entrySet ()
187- . stream ()
188- . filter ( shouldBeRewritten )
189- . map ( it -> new AbstractMap . SimpleEntry <>( bundle
190- . gridLayoutName ( parentBundle ,
191- it
192- .getKey ()
193- .substring ("ui::gridlayout::" .length (),
194- it .getKey ().length () - "::value" .length ()))
191+ return Stream . concat (
192+ metadata .entrySet ()
193+ . stream ()
194+ . filter ( shouldBeRewritten . negate ()),
195+ metadata . entrySet ()
196+ . stream ( )
197+ . filter ( shouldBeRewritten )
198+ . map ( it -> new AbstractMap . SimpleEntry <>(
199+ bundle . gridLayoutName ( parentBundle ,
200+ it .getKey ()
201+ .substring ("ui::gridlayout::" .length (),
202+ it .getKey ().length () - "::value" .length ()))
195203 .map (t -> "ui::gridlayout::" + t + "::value" )
196- .orElse (it .getKey ()), it .getValue ())))
204+ .orElse (it .getKey ()),
205+ it .getValue ())))
197206 .collect (Collectors .toMap (Map .Entry ::getKey , Map .Entry ::getValue ));
198207 }
199208
0 commit comments