Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv30416

Modified Files:
        LocalizedString.java 
Log Message:
StringBuffer -> StringBuilder


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util


Index: LocalizedString.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/LocalizedString.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- LocalizedString.java        23 May 2007 13:19:59 -0000      1.31
+++ LocalizedString.java        11 Jul 2008 14:47:58 -0000      1.32
@@ -32,7 +32,7 @@
  *</p>
  *
  * @author Michiel Meeuwissen
- * @version $Id: LocalizedString.java,v 1.31 2007/05/23 13:19:59 michiel Exp $
+ * @version $Id: LocalizedString.java,v 1.32 2008/07/11 14:47:58 michiel Exp $
  * @since MMBase-1.8
  */
 public class LocalizedString implements java.io.Serializable, Cloneable {
@@ -312,7 +312,7 @@
      */
     public static String getXmlLang(Locale locale) {
         if (locale == null) return null;
-        StringBuffer lang = new StringBuffer(locale.getLanguage());
+        StringBuilder lang = new StringBuilder(locale.getLanguage());
         String country = locale.getCountry();
         if (country.length() > 0) {
             lang.append("-").append(country);
@@ -378,11 +378,12 @@
                 Locale loc   = entry.getKey();
                 String value = entry.getValue();
                 String xmlLang = getXmlLang(loc);
-                // look if such an element is available
+                // look if such an element is already available
                 Element child = null;
                 for (int j = 0; j < nl.getLength(); j++) {
                     Element cand = (Element) nl.item(j);
-                    if (cand.getAttribute("xml:lang").equals(xmlLang)) {
+                    String l = cand.getAttribute("xml:lang");
+                    if (l.equals(xmlLang) || (l.equals("") && xmlLang == 
null)) {
                         child = cand;
                         break;
                     }
@@ -393,7 +394,9 @@
                     } else {
                         child = 
element.getOwnerDocument().createElement(tagName);
                     }
+                    if (loc != null || value.length() > 0) {
                     DocumentReader.appendChild(element, child, path);
+                    }
                     setXmlLang(child, loc);
                 }
                 DocumentReader.setNodeTextValue(child, value);
@@ -401,6 +404,7 @@
         }
     }
 
+
     public Object clone() {
         try {
             LocalizedString clone = (LocalizedString)super.clone();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to