@@ -42,9 +42,9 @@ final class JFCParserHandler extends DefaultHandler {
42
42
private static final String ATTRIBUTE_VERSION = "version" ;
43
43
44
44
final Map <String , String > settings = new LinkedHashMap <String , String >();
45
- private String currentEventPath ;
45
+ private final StringBuilder currentCharacters = new StringBuilder ();
46
+ private String currentEventName ;
46
47
private String currentSettingsName ;
47
- private StringBuilder currentCharacters ;
48
48
String label ;
49
49
String provider ;
50
50
String description ;
@@ -62,13 +62,13 @@ public void startElement(String uri, String localName, String qName, Attributes
62
62
provider = getOptional (attributes , ATTRIBUTE_PROVIDER , "" );
63
63
break ;
64
64
case ELEMENT_EVENT_TYPE :
65
- currentEventPath = attributes .getValue (ATTRIBUTE_NAME );
65
+ currentEventName = attributes .getValue (ATTRIBUTE_NAME );
66
66
break ;
67
67
case ELEMENT_SETTING :
68
68
currentSettingsName = attributes .getValue (ATTRIBUTE_NAME );
69
69
break ;
70
70
}
71
- currentCharacters = null ;
71
+ currentCharacters . setLength ( 0 ) ;
72
72
}
73
73
74
74
private String getOptional (Attributes attributes , String name , String defaultValue ) {
@@ -78,10 +78,9 @@ private String getOptional(Attributes attributes, String name, String defaultVal
78
78
79
79
@ Override
80
80
public void characters (char [] ch , int start , int length ) throws SAXException {
81
- if (currentCharacters = = null ) {
82
- currentCharacters = new StringBuilder ( length );
81
+ if (currentSettingsName ! = null ) {
82
+ currentCharacters . append ( ch , start , length );
83
83
}
84
- currentCharacters .append (ch , start , length );
85
84
}
86
85
87
86
@ Override
@@ -90,17 +89,13 @@ public void endElement(String uri, String localName, String qName) {
90
89
case ELEMENT_CONFIGURATION :
91
90
break ;
92
91
case ELEMENT_EVENT_TYPE :
93
- currentEventPath = null ;
92
+ currentEventName = null ;
94
93
break ;
95
94
case ELEMENT_SETTING :
96
- String settingsValue = currentCharacters == null ? "" : currentCharacters .toString ();
97
- settings .put (currentEventPath + "#" + currentSettingsName , "" + settingsValue );
95
+ String settingsValue = currentCharacters .toString ();
96
+ settings .put (currentEventName + "#" + currentSettingsName , settingsValue );
98
97
currentSettingsName = null ;
99
98
break ;
100
99
}
101
100
}
102
-
103
- public Map <String , String > getSettings () {
104
- return settings ;
105
- }
106
101
}
0 commit comments