svn commit: r754649 [1/2] - in /ofbiz/trunk: applications/product/config/ framework/webtools/config/ framework/webtools/src/org/ofbiz/webtools/labelmanager/ framework/webtools/webapp/webtools/WEB-INF/ framework/webtools/webapp/webtools/labelmanager/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r754649 [1/2] - in /ofbiz/trunk: applications/product/config/ framework/webtools/config/ framework/webtools/src/org/ofbiz/webtools/labelmanager/ framework/webtools/webapp/webtools/WEB-INF/ framework/webtools/webapp/webtools/labelmanager/

jleroux@apache.org
Author: jleroux
Date: Sun Mar 15 10:36:41 2009
New Revision: 754649

URL: http://svn.apache.org/viewvc?rev=754649&view=rev
Log:
LabelsReferences6.patch from Marco : "New tool to get labels information." (https://issues.apache.org/jira/browse/OFBIZ-2070) - OFBIZ-2070
+ 2 French translations (test), the Labels Manager is now really cool to use, thanks Marco!


Modified:
    ofbiz/trunk/applications/product/config/ProductUiLabels.xml
    ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml
    ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java
    ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelReferences.java
    ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml
    ofbiz/trunk/framework/webtools/webapp/webtools/labelmanager/UpdateLabel.ftl

Modified: ofbiz/trunk/applications/product/config/ProductUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/config/ProductUiLabels.xml?rev=754649&r1=754648&r2=754649&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/config/ProductUiLabels.xml (original)
+++ ofbiz/trunk/applications/product/config/ProductUiLabels.xml Sun Mar 15 10:36:41 2009
@@ -434,10 +434,6 @@
         <value xml:lang="th">อนุมัติการตรวจสอบอัตโนมัติ</value>
         <value xml:lang="zh">自动批准浏览</value>
     </property>
-    <property key="FormFieldTitle_automaticExtend">
-        <value xml:lang="en">Automatic Extend</value>
-        <value xml:lang="it">Estendi automaticamente</value>
-    </property>
     <property key="FormFieldTitle_autoInvoiceDigitalItems">
         <value xml:lang="de">Automatische Rechnungsstellung Digitaler Produkte</value>
         <value xml:lang="en">Auto Invoice Digital Items</value>
@@ -504,6 +500,11 @@
         <value xml:lang="th">บันทึกลงตระกร้าอัตโนมัติ</value>
         <value xml:lang="zh">自动保存购物车</value>
     </property>
+    <property key="FormFieldTitle_automaticExtend">
+        <value xml:lang="en">Automatic Extend</value>
+        <value xml:lang="fr">Extension automatique</value>
+        <value xml:lang="it">Estendi automaticamente</value>
+    </property>
     <property key="FormFieldTitle_availableFromDate">
         <value xml:lang="de">Verfügbar von Datum</value>
         <value xml:lang="en">Available From Date</value>

Modified: ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml?rev=754649&r1=754648&r2=754649&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml (original)
+++ ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml Sun Mar 15 10:36:41 2009
@@ -1592,6 +1592,11 @@
         <value xml:lang="fr">Mettre à jour la traduction</value>
         <value xml:lang="it">Aggiorna Label</value>
     </property>
+    <property key="WebtoolsLabelManagerUpdateAndSave">
+        <value xml:lang="en">Update and Save to xml file the label</value>
+        <value xml:lang="fr">Mettre à jour et sauver la  traduction dans le fichier XML</value>
+        <value xml:lang="it">Aggiorna e salva la label</value>
+    </property>
     <property key="WebtoolsLabelManagerUpdateFile">
         <value xml:lang="en">Update Labels Files</value>
         <value xml:lang="fr">Mettre à jour les fichiers de traduction</value>

Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java?rev=754649&r1=754648&r2=754649&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/labelmanager/LabelManagerFactory.java Sun Mar 15 10:36:41 2009
@@ -41,6 +41,7 @@
 import org.ofbiz.base.util.UtilXml;
 import org.ofbiz.base.util.cache.UtilCache;
 import org.ofbiz.entity.GenericDelegator;
+import org.ofbiz.entity.GenericValue;
 import org.ofbiz.entity.model.ModelReader;
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.GenericServiceException;
@@ -52,14 +53,14 @@
 import org.w3c.dom.Node;
 
 public class LabelManagerFactory {
-
+    
     public static final String module = LabelManagerFactory.class.getName();
     public static final String resource = "WebtoolsUiLabels";
-
+    
     public static final String keySeparator = "#";
-
+    
     protected static UtilCache<String, LabelManagerFactory> labelManagerFactoryCache = new UtilCache<String, LabelManagerFactory>("LabelManagerFactory");
-
+    
     protected static Map<String, LabelInfo> labels = null;
     protected static Map<String, String> fileNamesFound = null;
     protected static Map<String, String> fileComponent = null;
@@ -68,32 +69,32 @@
     protected static Map<String, Map<String, Integer>> references = null;
     protected static List<LabelInfo> duplicatedLocalesLabelsList = null;
     protected static int duplicatedLocalesLabels = 0;
-
+    
     protected static GenericDelegator delegator;
     protected static ModelReader entityModelReader;
     protected static DispatchContext dispatchContext;
-
+    
     public static LabelManagerFactory getLabelManagerFactory(String delegatorName) throws GeneralException {
         if (UtilValidate.isEmpty(delegatorName)) {
             delegatorName = "default";
         }
-
+        
         LabelManagerFactory lmf = labelManagerFactoryCache.get(delegatorName);
-
+        
         if (lmf == null) {
             lmf = new LabelManagerFactory(delegatorName);
             labelManagerFactoryCache.put(delegatorName, lmf);
         }
         return lmf;
     }
-
+    
     protected LabelManagerFactory(String delegatorName) throws GeneralException {
         delegator = GenericDelegator.getGenericDelegator(delegatorName);
         entityModelReader = ModelReader.getModelReader(delegatorName);
         dispatchContext = new DispatchContext("LabelManagerFactoryDispCtx", null, this.getClass().getClassLoader(), null);
         prepareAll();
     }
-
+    
     private static void prepareAll() throws GeneralException {
         labels = new TreeMap<String, LabelInfo>();
         fileNamesFound = new TreeMap<String, String>();
@@ -103,35 +104,35 @@
         duplicatedLocalesLabelsList = FastList.newInstance();
         references = null;
         int duplicatedLocales = 0;
-
+        
         try {
             boolean sharkComponent = false;
             Collection<ComponentConfig> componentConfigs = ComponentConfig.getAllComponents();
-
-            for (ComponentConfig componentConfig: componentConfigs) {
+            
+            for (ComponentConfig componentConfig : componentConfigs) {
                 String componentName = componentConfig.getComponentName();
                 List<File> resourceFiles = FileUtil.findXmlFiles(componentConfig.getRootLocation(), null, "resource", null);
                 boolean cycle = true;
                 while (cycle) {
-                    for (File resourceFile: resourceFiles) {
+                    for (File resourceFile : resourceFiles) {
                         String fileName = resourceFile.getName();
                         Document resourceDocument = UtilXml.readXmlDocument(resourceFile.toURI().toURL());
                         Element resourceElem = resourceDocument.getDocumentElement();
                         String labelKeyComment = "";
-
-                        for (Node propertyNode: UtilXml.childNodeList(resourceElem.getFirstChild())) {
+                        
+                        for (Node propertyNode : UtilXml.childNodeList(resourceElem.getFirstChild())) {
                             if (propertyNode instanceof Element) {
-                                Element propertyElem = (Element)propertyNode;
-                                String labelKey = StringUtil.htmlEncoder.encode(propertyElem.getAttribute("key"));
+                                Element propertyElem = (Element) propertyNode;
+                                String labelKey = StringUtil.defaultWebEncoder.canonicalize(propertyElem.getAttribute("key"));
                                 String labelComment = "";
-
-                                for (Node valueNode: UtilXml.childNodeList(propertyElem.getFirstChild())) {
+                                
+                                for (Node valueNode : UtilXml.childNodeList(propertyElem.getFirstChild())) {
                                     if (valueNode instanceof Element) {
-                                        Element valueElem = (Element)valueNode;
+                                        Element valueElem = (Element) valueNode;
                                         String localeName = valueElem.getAttribute("xml:lang");
-                                        String labelValue = StringUtil.htmlEncoder.encode(UtilXml.nodeValue(valueElem.getFirstChild()));
-                                        LabelInfo label = (LabelInfo)labels.get(labelKey + keySeparator + fileName);
-
+                                        String labelValue = StringUtil.defaultWebEncoder.canonicalize(UtilXml.nodeValue(valueElem.getFirstChild()));
+                                        LabelInfo label = labels.get(labelKey + keySeparator + fileName);
+                                        
                                         if (UtilValidate.isEmpty(label)) {
                                             label = new LabelInfo(labelKey, labelKeyComment, fileName, componentName, localeName, labelValue, labelComment);
                                             labels.put(labelKey + keySeparator + fileName, label);
@@ -147,12 +148,12 @@
                                         fileComponent.put(fileName, componentName);
                                         labelComment = "";
                                     } else if (valueNode instanceof Comment) {
-                                        labelComment = labelComment + StringUtil.htmlEncoder.encode(valueNode.getNodeValue());
+                                        labelComment = labelComment + StringUtil.defaultWebEncoder.canonicalize(valueNode.getNodeValue());
                                     }
                                 }
                                 labelKeyComment = "";
                             } else if (propertyNode instanceof Comment) {
-                                labelKeyComment = labelKeyComment + StringUtil.htmlEncoder.encode(propertyNode.getNodeValue());
+                                labelKeyComment = labelKeyComment + StringUtil.defaultWebEncoder.canonicalize(propertyNode.getNodeValue());
                             }
                         }
                     }
@@ -165,7 +166,7 @@
                     }
                 }
             }
-
+            
             // get labels references from sources
             references = LabelReferences.getLabelReferences();
         } catch (IOException ioe) {
@@ -175,31 +176,31 @@
         }
         duplicatedLocalesLabels = duplicatedLocales;
     }
-
+    
     public static GenericDelegator getDelegator() {
         return delegator;
     }
-
+    
     public static ModelReader getModelReader() {
         return entityModelReader;
     }
-
+    
     public static DispatchContext getDispatchContext() {
         return dispatchContext;
     }
-
+    
     public static Map<String, LabelInfo> getLabels() {
         return labels;
     }
-
+    
     public static Set<String> getLocalesFound() {
         return localesFound;
     }
-
+    
     public static Map<String, String> getFileNamesFound() {
         return fileNamesFound;
     }
-
+    
     public static String getFileComponent(String fileName) {
         String componentName = null;
         if (UtilValidate.isNotEmpty(fileName)) {
@@ -207,83 +208,83 @@
         }
         return componentName;
     }
-
+    
     public static Set<String> getComponentNamesFound() {
         return componentNamesFound;
     }
-
+    
     public static Map<String, Map<String, Integer>> getReferences() {
         return references;
     }
-
+    
     public static Set<String> getLabelsList() {
         return labels.keySet();
     }
-
+    
     public static Set<String> getReferencesList() {
         return references.keySet();
     }
-
+    
     public static int getLabelReferenceFile(String key) {
         int refFile = 0;
         boolean keyFound = false;
-
+        
         if (key == null) {
             key = "";
         }
-
-        for (Map.Entry<String, String> e: fileNamesFound.entrySet()) {
+        
+        for (Map.Entry<String, String> e : fileNamesFound.entrySet()) {
             String keyToSearch = key + keySeparator + e.getKey();
-
+            
             if (labels.containsKey(keyToSearch)) {
                 keyFound = true;
                 break;
             }
         }
-
+        
         if (!keyFound) {
             Map<String, Integer> reference = references.get(key);
-
+            
             if (UtilValidate.isNotEmpty(reference)) {
                 refFile = reference.size();
             }
         }
-
+        
         return refFile;
     }
-
+    
     public static int getDuplicatedLocalesLabels() {
         return duplicatedLocalesLabels;
     }
-
+    
     public static List<LabelInfo> getDuplicatedLocalesLabelsList() {
         return duplicatedLocalesLabelsList;
     }
-
+    
     public static Map<String, Object> updateLabelKey(DispatchContext dctx, Map<String, ? extends Object> context) {
-        String key = (String)context.get("key");
-        String keyComment = (String)context.get("keyComment");
-        String update_label = (String)context.get("update_label");
-        String fileName = (String)context.get("fileName");
-        String confirm = (String)context.get("confirm");
-        String removeLabel = (String)context.get("removeLabel");
+        String key = (String) context.get("key");
+        String keyComment = (String) context.get("keyComment");
+        String update_label = (String) context.get("update_label");
+        String fileName = (String) context.get("fileName");
+        String confirm = (String) context.get("confirm");
+        String removeLabel = (String) context.get("removeLabel");
         List<String> localeNames = UtilGenerics.cast(context.get("localeNames"));
         List<String> localeValues = UtilGenerics.cast(context.get("localeValues"));
         List<String> localeComments = UtilGenerics.cast(context.get("localeComments"));
         Locale locale = (Locale) context.get("locale");
-
+        
         // Remove a Label
         if (UtilValidate.isNotEmpty(removeLabel)) {
-           labels.remove(key + keySeparator + fileName);
+            labels.remove(key + keySeparator + fileName);
         } else if (UtilValidate.isNotEmpty(confirm)) {
             LabelInfo label = labels.get(key + keySeparator + fileName);
-
+            
             // Update a Label
             if (update_label.equalsIgnoreCase("Y")) {
                 if (UtilValidate.isNotEmpty(label)) {
                     updateLabelValue(localeNames, localeValues, localeComments, label, key, keyComment, fileName);
                 }
-            // Insert a new Label
+                // Insert a new Label
             } else {
                 if (UtilValidate.isNotEmpty(label)) {
                     return ServiceUtil.returnError(UtilProperties.getMessage(resource, "WebtoolsLabelManagerNewLabelExisting", UtilMisc.toMap("key", key, "fileName", fileName), locale));
@@ -299,47 +300,46 @@
                 }
             }
         }
-
+        
         return ServiceUtil.returnSuccess();
     }
-
+    
     public static Map<String, Object> updateAndSaveLabelKey(DispatchContext dctx, Map<String, ? extends Object> context) {
-        String key = (String)context.get("key");
-        String keyComment = (String)context.get("keyComment");
-        String update_label = (String)context.get("update_label");
-        String fileName = (String)context.get("fileName");
-        String confirm = (String)context.get("confirm");
-        String removeLabel = (String)context.get("removeLabel");
+        String key = (String) context.get("key");
+        String keyComment = (String) context.get("keyComment");
+        String update_label = (String) context.get("update_label");
+        String fileName = (String) context.get("fileName");
+        String confirm = (String) context.get("confirm");
+        String removeLabel = (String) context.get("removeLabel");
         List<String> localeNames = UtilGenerics.cast(context.get("localeNames"));
         List<String> localeValues = UtilGenerics.cast(context.get("localeValues"));
         List<String> localeComments = UtilGenerics.cast(context.get("localeComments"));
-        Locale locale = (Locale) context.get("locale");
+        GenericValue userLogin = (GenericValue) context.get("userLogin");
         LocalDispatcher dispatcher = dctx.getDispatcher();
-
-        Map<String, Object> contextInput = UtilMisc.toMap("key", key, "keyComment", keyComment, "update_label", update_label,
-                                                          "fileName", fileName, "confirm", confirm, "removeLabel", removeLabel,
-                                                          "localeNames", localeNames, "localeValues", localeValues, "localeComments", localeComments);
+        
+        Map<String, Object> contextInput = UtilMisc.toMap("key", key, "keyComment", keyComment, "update_label", update_label, "fileName", fileName, "confirm", confirm, "removeLabel", removeLabel,
+                "localeNames", localeNames, "localeValues", localeValues, "localeComments", localeComments, "userLogin", userLogin);
         try {
             Map<String, Object> updatedKey = dispatcher.runSync("updateLabelKey", contextInput);
-
+            
             if (ServiceUtil.isError(updatedKey)) {
                 return updatedKey;
             } else {
-                return dispatcher.runSync("saveLabelsToXmlFile", UtilMisc.toMap("fileName", fileName));
+                return dispatcher.runSync("saveLabelsToXmlFile", UtilMisc.toMap("labelFileName", fileName, "userLogin", userLogin));
             }
         } catch (GenericServiceException e) {
             return ServiceUtil.returnError("error on saving label key :" + key);
         }
     }
-
+    
     private static int updateLabelValue(List<String> localeNames, List<String> localeValues, List<String> localeComments, LabelInfo label, String key, String keyComment, String fileName) {
         int notEmptyLabels = 0;
         int i = 0;
         while (i < localeNames.size()) {
-            String localeName = (String)localeNames.get(i);
-            String localeValue = (String)localeValues.get(i);
-            String localeComment = (String)localeComments.get(i);
-
+            String localeName = localeNames.get(i);
+            String localeValue = localeValues.get(i);
+            String localeComment = localeComments.get(i);
+            
             if (UtilValidate.isNotEmpty(localeValue) || UtilValidate.isNotEmpty(localeComment)) {
                 if (label == null) {
                     try {
@@ -357,8 +357,7 @@
             }
             i++;
         }
-
+        
         return notEmptyLabels;
     }
 }
-