You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/08/30 02:48:44 UTC

openmeetings git commit: [OPENMEETINGS-1685] language export is fixed to to produce ordered startings

Repository: openmeetings
Updated Branches:
  refs/heads/master d7ab3a96c -> 99ede5cab


[OPENMEETINGS-1685] language export is fixed to to produce ordered startings


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/99ede5ca
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/99ede5ca
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/99ede5ca

Branch: refs/heads/master
Commit: 99ede5cabaeb499c3fe5cb3643c572d247a9672b
Parents: d7ab3a9
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Wed Aug 30 09:48:37 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Wed Aug 30 09:48:37 2017 +0700

----------------------------------------------------------------------
 .../openmeetings/db/dao/label/LabelDao.java     | 49 +++++++++++++-------
 .../org/apache/openmeetings/util/XmlExport.java | 23 ++++-----
 2 files changed, 43 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/99ede5ca/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
----------------------------------------------------------------------
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 e02a11b..18ad071 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
@@ -138,7 +138,8 @@ public class LabelDao implements IDataProviderDao<StringLabel>{
 	private static void storeLabels(Locale l) throws Exception {
 		Document d = XmlExport.createDocument();
 		Element r = XmlExport.createRoot(d);
-		List<StringLabel> labels = labelCache.get(l);
+		List<StringLabel> labels = new ArrayList<>(labelCache.get(l));
+		Collections.sort(labels, new LabelComparator());
 		for (StringLabel sl : labels) {
 			r.addElement(ENTRY_ELEMENT).addAttribute(KEY_ATTR, sl.getKey()).addCDATA(sl.getValue());
 		}
@@ -218,23 +219,7 @@ public class LabelDao implements IDataProviderDao<StringLabel>{
 	public List<StringLabel> get(Locale l, final String search, int start, int count, final SortParam<String> sort) {
 		List<StringLabel> result = getLabels(l, search);
 		if (sort != null) {
-			Collections.sort(result, new Comparator<StringLabel>() {
-				@Override
-				public int compare(StringLabel o1, StringLabel o2) {
-					int val = 0;
-					if (KEY_ATTR.equals(sort.getProperty())) {
-						try {
-							int i1 = Integer.parseInt(o1.getKey()), i2 = Integer.parseInt(o2.getKey());
-							val = i1 - i2;
-						} catch (Exception e) {
-							val = o1.getKey().compareTo(o2.getKey());
-						}
-					} else {
-						val = o1.getValue().compareTo(o2.getValue());
-					}
-					return (sort.isAscending() ? 1 : -1) * val;
-				}
-			});
+			Collections.sort(result, new LabelComparator(sort));
 		}
 		return result.subList(start, start + count > result.size() ? result.size() : start + count);
 	}
@@ -302,4 +287,32 @@ public class LabelDao implements IDataProviderDao<StringLabel>{
 			log.error("Unexpected error while deleting language", e);
 		}
 	}
+
+	private static class LabelComparator implements Comparator<StringLabel> {
+		final SortParam<String> sort;
+
+		LabelComparator() {
+			this.sort = new SortParam<>(KEY_ATTR, true);
+		}
+
+		LabelComparator(SortParam<String> sort) {
+			this.sort = sort;
+		}
+
+		@Override
+		public int compare(StringLabel o1, StringLabel o2) {
+			int val = 0;
+			if (KEY_ATTR.equals(sort.getProperty())) {
+				try {
+					int i1 = Integer.parseInt(o1.getKey()), i2 = Integer.parseInt(o2.getKey());
+					val = i1 - i2;
+				} catch (Exception e) {
+					val = o1.getKey().compareTo(o2.getKey());
+				}
+			} else {
+				val = o1.getValue().compareTo(o2.getValue());
+			}
+			return (sort.isAscending() ? 1 : -1) * val;
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/99ede5ca/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java
----------------------------------------------------------------------
diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java
index 07ebab3..a010bfa 100644
--- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java
+++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/XmlExport.java
@@ -33,9 +33,9 @@ import org.dom4j.io.OutputFormat;
 import org.dom4j.io.XMLWriter;
 
 /**
- * 
+ *
  * @author sebastianwagner
- * 
+ *
  */
 public class XmlExport {
 	public static final String FILE_COMMENT = ""
@@ -58,11 +58,10 @@ public class XmlExport {
 			+ "  under the License.\n"
 			+ "\n"
 			+ "\n"
-			+ "\n"
 			+ "###############################################\n"
-			+ "This File is auto-generated by the LanguageEditor \n"
-			+ "to add new Languages or modify/customize it use the LanguageEditor \n"
-			+ "see http://openmeetings.apache.org/LanguageEditor.html for Details \n"
+			+ "This File is auto-generated by the LanguageEditor\n"
+			+ "to add new Languages or modify/customize it use the LanguageEditor\n"
+			+ "see http://openmeetings.apache.org/LanguageEditor.html for Details\n"
 			+ "###############################################\n";
 
 	public static Document createDocument() {
@@ -71,20 +70,22 @@ public class XmlExport {
 		document.addComment(XmlExport.FILE_COMMENT);
 		return document;
 	}
-	
+
 	public static Element createRoot(Document document) {
 		document.addDocType("properties", null, "http://java.sun.com/dtd/properties.dtd");
 		Element root = document.addElement("properties");
 		return root;
 	}
-	
+
 	public static Element createRoot(Document document, String _root) {
 		Element root = document.addElement(_root);
 		return root;
 	}
-	
+
 	public static void toXml(Writer out, Document doc) throws Exception {
 		OutputFormat outformat = OutputFormat.createPrettyPrint();
+		outformat.setIndentSize(1);
+		outformat.setIndent("\t");
 		outformat.setEncoding(UTF_8.name());
 		XMLWriter writer = new XMLWriter(out, outformat);
 		writer.write(doc);
@@ -92,11 +93,11 @@ public class XmlExport {
 		out.flush();
 		out.close();
 	}
-	
+
 	public static void toXml(File f, Document doc) throws Exception {
 		toXml(new FileOutputStream(f), doc);
 	}
-	
+
 	public static void toXml(OutputStream out, Document doc) throws Exception {
 		toXml(new OutputStreamWriter(out, "UTF8"), doc);
 	}