|
38 | 38 | import java.util.Collections;
|
39 | 39 | import java.util.HashSet;
|
40 | 40 | import java.util.LinkedHashMap;
|
| 41 | +import java.util.LinkedHashSet; |
41 | 42 | import java.util.List;
|
42 | 43 | import java.util.Locale;
|
43 | 44 | import java.util.Map;
|
| 45 | +import java.util.Optional; |
44 | 46 | import java.util.Set;
|
| 47 | +import java.util.TreeMap; |
45 | 48 | import java.util.function.Supplier;
|
46 | 49 | import java.util.regex.Pattern;
|
47 | 50 | import java.util.regex.PatternSyntaxException;
|
@@ -1467,6 +1470,16 @@ public static class TemplateSetAssociation
|
1467 | 1470 | private final Set<PwmSettingTemplate> settingTemplates;
|
1468 | 1471 | }
|
1469 | 1472 |
|
| 1473 | + public static Set<PwmSetting> sortedByMenuLocation( final Locale locale ) |
| 1474 | + { |
| 1475 | + final TreeMap<String, PwmSetting> treeMap = new TreeMap<>(); |
| 1476 | + for ( final PwmSetting pwmSetting : PwmSetting.values() ) |
| 1477 | + { |
| 1478 | + treeMap.put( pwmSetting.toMenuLocationDebug( null, locale ), pwmSetting ); |
| 1479 | + } |
| 1480 | + return Collections.unmodifiableSet( new LinkedHashSet<>( treeMap.values() ) ); |
| 1481 | + } |
| 1482 | + |
1470 | 1483 | private static TemplateSetAssociation associationForTempleSet(
|
1471 | 1484 | final List<TemplateSetAssociation> associationSets,
|
1472 | 1485 | final PwmSettingTemplateSet pwmSettingTemplate
|
@@ -1529,10 +1542,10 @@ private static Map<String, String> readOptions( final PwmSetting pwmSetting )
|
1529 | 1542 | {
|
1530 | 1543 | final Map<String, String> returnList = new LinkedHashMap<>();
|
1531 | 1544 | final XmlElement settingElement = PwmSettingXml.readSettingXml( pwmSetting );
|
1532 |
| - final XmlElement optionsElement = settingElement.getChild( PwmSettingXml.XML_ELEMENT_OPTIONS ); |
1533 |
| - if ( optionsElement != null ) |
| 1545 | + final Optional<XmlElement> optionsElement = settingElement.getChild( PwmSettingXml.XML_ELEMENT_OPTIONS ); |
| 1546 | + if ( optionsElement.isPresent() ) |
1534 | 1547 | {
|
1535 |
| - final List<XmlElement> optionElements = optionsElement.getChildren( PwmSettingXml.XML_ELEMENT_OPTION ); |
| 1548 | + final List<XmlElement> optionElements = optionsElement.get().getChildren( PwmSettingXml.XML_ELEMENT_OPTION ); |
1536 | 1549 | if ( optionElements != null )
|
1537 | 1550 | {
|
1538 | 1551 | for ( final XmlElement optionElement : optionElements )
|
@@ -1601,10 +1614,10 @@ private static Map<PwmSettingProperty, String> readProperties( final PwmSetting
|
1601 | 1614 | {
|
1602 | 1615 | final Map<PwmSettingProperty, String> newProps = new LinkedHashMap<>();
|
1603 | 1616 | final XmlElement settingElement = PwmSettingXml.readSettingXml( pwmSetting );
|
1604 |
| - final XmlElement propertiesElement = settingElement.getChild( PwmSettingXml.XML_ELEMENT_PROPERTIES ); |
1605 |
| - if ( propertiesElement != null ) |
| 1617 | + final Optional<XmlElement> propertiesElement = settingElement.getChild( PwmSettingXml.XML_ELEMENT_PROPERTIES ); |
| 1618 | + if ( propertiesElement.isPresent() ) |
1606 | 1619 | {
|
1607 |
| - final List<XmlElement> propertyElements = propertiesElement.getChildren( PwmSettingXml.XML_ELEMENT_PROPERTY ); |
| 1620 | + final List<XmlElement> propertyElements = propertiesElement.get().getChildren( PwmSettingXml.XML_ELEMENT_PROPERTY ); |
1608 | 1621 | if ( propertyElements != null )
|
1609 | 1622 | {
|
1610 | 1623 | for ( final XmlElement propertyElement : propertyElements )
|
@@ -1678,12 +1691,12 @@ private static int readLevel( final PwmSetting pwmSetting )
|
1678 | 1691 | private static Pattern readPattern( final PwmSetting pwmSetting )
|
1679 | 1692 | {
|
1680 | 1693 | final XmlElement settingNode = PwmSettingXml.readSettingXml( pwmSetting );
|
1681 |
| - final XmlElement regexNode = settingNode.getChild( PwmSettingXml.XML_ELEMENT_REGEX ); |
1682 |
| - if ( regexNode != null ) |
| 1694 | + final Optional<XmlElement> regexNode = settingNode.getChild( PwmSettingXml.XML_ELEMENT_REGEX ); |
| 1695 | + if ( regexNode.isPresent() ) |
1683 | 1696 | {
|
1684 | 1697 | try
|
1685 | 1698 | {
|
1686 |
| - return Pattern.compile( regexNode.getText() ); |
| 1699 | + return Pattern.compile( regexNode.get().getText() ); |
1687 | 1700 | }
|
1688 | 1701 | catch ( final PatternSyntaxException e )
|
1689 | 1702 | {
|
|
0 commit comments