Skip to content
Snippets Groups Projects

Resolve "Cleanup parser"

Merged René Schöne requested to merge 41-cleanup-parser into dev
17 files
+ 205
93
Compare changes
  • Side-by-side
  • Inline

Files

  • 728745c7
    many bug-fixes related to parser · 728745c7
    René Schöne authored
    - ensure trailing slash of mqtt topic
    - correct handling of hierarchy of items and subgroups during parsing (using placeholder elements)
    - full traversal handling empty Opts
    - correct ordering of all parsed elements (that were wrong before)
    - fixed metadata parsing
    - fixed handling of unknown group
    - fixed attribute items and add groups (both comply with group hierarchy)
    - also fixed file handling used in MarshallingTests under Windows
@@ -7,8 +7,27 @@ aspect Navigation {
@@ -7,8 +7,27 @@ aspect Navigation {
//--- items ---
//--- items ---
syn java.util.List<Item> SmartHomeEntityModel.items() {
syn java.util.List<Item> SmartHomeEntityModel.items() {
java.util.List<Item> result = new java.util.ArrayList<>();
java.util.List<Item> result = new java.util.ArrayList<>();
unknownGroup().getItemList().forEach(item -> result.add(item));
getGroupList().forEach(group -> result.addAll(group.items()));
getGroupList().forEach(group -> group.getItemList().forEach(item -> result.add(item)));
result.addAll(unknownGroup().items());
 
return result;
 
}
 
syn java.util.List<Item> Group.items() {
 
java.util.List<Item> result = new java.util.ArrayList<>();
 
getItemList().forEach(item -> result.add(item));
 
getGroupList().forEach(subgroup -> result.addAll(subgroup.items()));
 
return result;
 
}
 
 
//--- groups ---
 
syn java.util.List<Group> SmartHomeEntityModel.groups() {
 
java.util.List<Group> result = new java.util.ArrayList<>();
 
getGroupList().forEach(group -> result.addAll(group.groups()));
 
return result;
 
}
 
syn java.util.List<Group> Group.groups() {
 
java.util.List<Group> result = new java.util.ArrayList<>();
 
getGroupList().forEach(subgroup -> result.addAll(subgroup.groups()));
 
result.add(this);
return result;
return result;
}
}
Loading