Author: solomax
Date: Mon May 28 05:32:54 2012
New Revision: 1343142

URL: http://svn.apache.org/viewvc?rev=1343142&view=rev
Log:
OPENMEETINGS-296 fixed

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/LangExport.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java?rev=1343142&r1=1343141&r2=1343142&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Fieldmanagment.java
 Mon May 28 05:32:54 2012
@@ -387,13 +387,26 @@ public class Fieldmanagment {
                return null;
        }
 
-       public List<Fieldlanguagesvalues> getMixedFieldValuesList(Long 
language_id)
-                       throws Exception {
+       public List<Fieldlanguagesvalues> getMixedFieldValuesList(Long 
language_id) {
+               // all Fieldlanguagesvalues in current Language
                TypedQuery<Fieldlanguagesvalues> q = 
em.createNamedQuery("allFieldLanguageValues", Fieldlanguagesvalues.class);
                q.setParameter("language_id", language_id);
                return q.getResultList();
        }
 
+       public List<Fieldlanguagesvalues> getUntranslatedFieldValuesList(Long 
language_id) {
+               // all FieldValuesIds in current Language
+               TypedQuery<Long> q0 = em.createNamedQuery("allFieldValuesIds", 
Long.class);
+               q0.setParameter("language_id", language_id);
+               List<Long> translatedIds = q0.getResultList();
+               
+               // all not translated values from english
+               TypedQuery<Fieldlanguagesvalues> q1 = 
em.createNamedQuery("allNotTranslatedValues", Fieldlanguagesvalues.class);
+               q1.setParameter("id_list", translatedIds);
+
+               return q1.getResultList();
+       }
+
        public Fieldvalues getFieldvaluesById(Long fieldvalues_id, Long 
language_id) {
                try {
                        // log.error("Long fieldvalues_id, Long language_id 
"+fieldvalues_id+" || "+language_id);

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java?rev=1343142&r1=1343141&r2=1343142&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/Fieldlanguagesvalues.java
 Mon May 28 05:32:54 2012
@@ -41,7 +41,16 @@ import javax.persistence.Table;
        @NamedQuery(name = "allFieldLanguageValues", query = "SELECT flv FROM 
Fieldlanguagesvalues flv "
                + "WHERE flv.deleted LIKE 'false' "
                + "             AND flv.fieldvalues.deleted LIKE 'false' "
-               + "             AND flv.language_id = :language_id")})
+               + "             AND flv.language_id = :language_id")
+       , @NamedQuery(name="allFieldValuesIds", query = "SELECT 
flv.fieldvalues_id FROM Fieldlanguagesvalues flv "
+               + "WHERE flv.deleted LIKE 'false' "
+               + "             AND flv.fieldvalues.deleted LIKE 'false' "
+               + "             AND flv.language_id = :language_id")
+       , @NamedQuery(name="allNotTranslatedValues", query = "SELECT 
flv.fieldvalues_id FROM Fieldlanguagesvalues flv "
+               + "WHERE flv.deleted LIKE 'false' "
+               + "             AND flv.fieldvalues.deleted LIKE 'false' "
+               + "             AND flv.language_id = 1 AND flv.fieldvalues_id 
NOT IN (:id_list)")
+})
 @Table(name = "fieldlanguagesvalues")
 public class Fieldlanguagesvalues implements Serializable {
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/LangExport.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/LangExport.java?rev=1343142&r1=1343141&r2=1343142&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/LangExport.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/LangExport.java
 Mon May 28 05:32:54 2012
@@ -155,7 +155,7 @@ public class LangExport extends HttpServ
                                List<Fieldlanguagesvalues> flvList = 
getFieldmanagment().getMixedFieldValuesList(language_id);
 
                                if (fl != null && flvList != null) {
-                                       Document doc = 
this.createDocument(flvList);
+                                       Document doc = createDocument(flvList, 
getFieldmanagment().getUntranslatedFieldValuesList(language_id));
 
                                        String requestedFile = fl.getName() + 
".xml";
 
@@ -186,7 +186,7 @@ public class LangExport extends HttpServ
                }
        }
 
-       public Document createDocument(List<Fieldlanguagesvalues> flvList) 
throws Exception {
+       public Document createDocument(List<Fieldlanguagesvalues> flvList, 
List<Fieldlanguagesvalues> untranslatedList) throws Exception {
                Document document = DocumentHelper.createDocument();
                document.setXMLEncoding("UTF-8");
                
document.addComment("###############################################\n"
@@ -205,6 +205,18 @@ public class LangExport extends HttpServ
                        value.addText(flv.getValue());
                }
 
+               //untranslated
+               if (untranslatedList.size() > 0) {
+                       root.addComment("Untranslated strings");
+                       for (Fieldlanguagesvalues flv : untranslatedList) {
+                               Element eTemp = root.addElement("string")
+                                               .addAttribute("id", 
flv.getFieldvalues().getFieldvalues_id().toString())
+                                               .addAttribute("name", 
flv.getFieldvalues().getName());
+                               Element value = eTemp.addElement("value");
+                               value.addText(flv.getValue());
+                       }
+               }
+
                return document;
        }
 


Reply via email to