no jira: java.util.Properties should be used to read language files
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
index bd8447b..4a51331 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
@@ -22,6 +22,7 @@
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
@@ -29,17 +30,16 @@
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.InvalidPropertiesFormatException;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.Predicate;
import org.apache.openmeetings.db.dao.IDataProviderDao;
@@ -53,12 +53,6 @@
import org.dom4j.io.SAXReader;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
/**
*
@@ -190,65 +184,11 @@
return labels;
}
- private static List<StringLabel> getLabels(InputStream is) throws Exception {
+ private static List<StringLabel> getLabels(InputStream is) throws InvalidPropertiesFormatException, IOException {
final List<StringLabel> labels = new ArrayList<>();
- SAXParserFactory spf = SAXParserFactory.newInstance();
- spf.setNamespaceAware(true);
- try {
- SAXParser parser = spf.newSAXParser();
- XMLReader xr = parser.getXMLReader();
- xr.setContentHandler(new ContentHandler() {
- StringLabel label = null;
-
- @Override
- public void startPrefixMapping(String prefix, String uri) throws SAXException {}
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
- if (ENTRY_ELEMENT.equals(localName)) {
- label = new StringLabel(atts.getValue(KEY_ATTR), "");
- }
- }
-
- @Override
- public void startDocument() throws SAXException {}
-
- @Override
- public void skippedEntity(String name) throws SAXException {}
-
- @Override
- public void setDocumentLocator(Locator locator) {}
-
- @Override
- public void processingInstruction(String target, String data) throws SAXException {}
-
- @Override
- public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {}
-
- @Override
- public void endPrefixMapping(String prefix) throws SAXException {}
-
- @Override
- public void endElement(String uri, String localName, String qName) throws SAXException {
- if (ENTRY_ELEMENT.equals(localName)) {
- labels.add(label);
- }
- }
-
- @Override
- public void endDocument() throws SAXException {}
-
- @Override
- public void characters(char[] ch, int start, int length) throws SAXException {
- StringBuilder sb = new StringBuilder(label.getValue());
- sb.append(ch, start, length);
- label.setValue(sb.toString());
- }
- });
- xr.parse(new InputSource(is));
- } catch (Exception e) {
- throw e;
- }
+ Properties props = new Properties();
+ props.loadFromXML(is);
+ props.forEach((k, v) -> labels.add(new StringLabel((String)k, (String)v)));
return labels;
}
diff --git a/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml b/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml
index 171b4a9..9114bdd 100644
--- a/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml
+++ b/openmeetings-server/src/site/xdoc/GeneralConfiguration.xml
@@ -63,6 +63,7 @@
<td> rss_feed2 </td>
<td> http-URL </td>
<td> Dashboard: ATOM-Feed URL for the dashboard RSS Tab </td>
+ <td> 1.9.x </td>
</tr>
<tr>
<td> ldap_default_id </td>