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 2012/07/02 07:17:19 UTC
svn commit: r1356069 - in
/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings:
app/data/basic/FieldLanguageDaoImpl.java
app/installation/ImportInitvalues.java app/remote/LanguageService.java
cli/Admin.java
Author: solomax
Date: Mon Jul 2 05:17:18 2012
New Revision: 1356069
URL: http://svn.apache.org/viewvc?rev=1356069&view=rev
Log:
OPENMEETINGS-111 option for language reimport is added
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/ImportInitvalues.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/LanguageService.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java?rev=1356069&r1=1356068&r2=1356069&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java Mon Jul 2 05:17:18 2012
@@ -46,10 +46,11 @@ public class FieldLanguageDaoImpl {
@PersistenceContext
private EntityManager em;
- public Long addLanguage(String langName, Boolean langRtl, String code) {
+ public Long addLanguage(int langId, String langName, Boolean langRtl, String code) {
try {
FieldLanguage fl = new FieldLanguage();
+ fl.setLanguage_id((long)langId);
fl.setStarttime(new Date());
fl.setDeleted("false");
fl.setName(langName);
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/ImportInitvalues.java?rev=1356069&r1=1356068&r2=1356069&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/ImportInitvalues.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/ImportInitvalues.java Mon Jul 2 05:17:18 2012
@@ -20,6 +20,7 @@ package org.openmeetings.app.installatio
import java.io.File;
import java.util.Arrays;
+import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
@@ -831,7 +832,7 @@ public class ImportInitvalues {
// log.error("getLanguageFiles "+country);
languages.put(id, lang);
}
- log.debug("Languages ADDED ");
+ log.debug("Language files are loaded");
return languages;
}
@@ -876,22 +877,10 @@ public class ImportInitvalues {
}
}
- // ------------------------------------------------------------------------------
-
- /**
- * Loading initial Language from xml Files into database
- */
- // ------------------------------------------------------------------------------
- public void loadInitLanguages() throws Exception {
-
- loadCountriesFiles();
-
- loadTimeZoneFiles();
-
+ public void loadLanguagesFiles() throws Exception {
LinkedHashMap<Integer, LinkedHashMap<String, Object>> listlanguages = getLanguageFiles();
- boolean langFieldIdIsInited = false;
-
+ Hashtable<Long, Fieldvalues> fieldCache = new Hashtable<Long, Fieldvalues>(3000);
/** Read all languages files */
for (Iterator<Integer> itLang = listlanguages.keySet().iterator(); itLang
.hasNext();) {
@@ -910,7 +899,7 @@ public class ImportInitvalues {
if (rtl != null && rtl.equals("true"))
langRtl = true;
- Long languages_id = fieldLanguageDaoImpl.addLanguage(langName,
+ Long languages_id = fieldLanguageDaoImpl.addLanguage(langId, langName,
langRtl, code);
SAXReader reader = new SAXReader();
@@ -937,10 +926,11 @@ public class ImportInitvalues {
Fieldvalues fv = null;
// Only do that for the first field-set
- if (!langFieldIdIsInited) {
+ if (!fieldCache.containsKey(id)) {
fv = fieldmanagment.addFieldById(name, id);
+ fieldCache.put(id, fv);
} else {
- fv = fieldmanagment.getFieldvaluesById(id);
+ fv = fieldCache.get(id);
}
fieldmanagment.addFieldValueByFieldAndLanguage(fv,
@@ -948,10 +938,20 @@ public class ImportInitvalues {
}
log.debug("Lang ADDED: " + lang);
- if (!langFieldIdIsInited)
- langFieldIdIsInited = true;
}
+ log.debug("All languages are imported");
+ }
+
+ // ------------------------------------------------------------------------------
+ /**
+ * Loading initial Language from xml Files into database
+ */
+ // ------------------------------------------------------------------------------
+ public void loadInitLanguages() throws Exception {
+ loadCountriesFiles();
+ loadTimeZoneFiles();
+ loadLanguagesFiles();
}
// ------------------------------------------------------------------------------
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/LanguageService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/LanguageService.java?rev=1356069&r1=1356068&r2=1356069&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/LanguageService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/LanguageService.java Mon Jul 2 05:17:18 2012
@@ -114,7 +114,7 @@ public class LanguageService {
if (authLevelManagement.checkAdminLevel(user_level)) {
if (langName.length() == 0)
return new Long(-30);
- return fieldLanguageDaoImpl.addLanguage(langName, false, code);
+ return fieldLanguageDaoImpl.addLanguage(0, langName, false, code);
}
return null;
}
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java?rev=1356069&r1=1356068&r2=1356069&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java Mon Jul 2 05:17:18 2012
@@ -82,6 +82,7 @@ public class Admin {
.addOption(new OmOption("b", 1, "b", "backup", false, "Backups OM"))
.addOption(new OmOption("r", 2, "r", "restore", false, "Restores OM"))
.addOption(new OmOption("i", 3, "i", "install", false, "Fill DB table, and make OM usable"))
+ .addOption(new OmOption("l", 3, "l", "languages", false, "Reimport All language files into DB"))
.addOption(new OmOption("f", 4, "f", "files", false, "File operations - statictics/cleanup"));
group.setRequired(true);
options.addOptionGroup(group);
@@ -121,6 +122,7 @@ public class Admin {
install
, backup
, restore
+ , languages
, files
, usage
}
@@ -288,6 +290,8 @@ public class Admin {
cmd = Command.backup;
} else if (cmdl.hasOption('r')) {
cmd = Command.restore;
+ } else if (cmdl.hasOption('l')) {
+ cmd = Command.languages;
} else if (cmdl.hasOption('f')) {
cmd = Command.files;
}
@@ -393,6 +397,15 @@ public class Admin {
handleError("Restore failed", e);
}
break;
+ case languages:
+ System.out.println("All language file will be reimported");
+ try {
+ ImportInitvalues importInit = getApplicationContext(ctxName).getBean(ImportInitvalues.class);
+ importInit.loadLanguagesFiles();
+ } catch (Exception e) {
+ handleError("Language reimport failed", e);
+ }
+ break;
case files:
try {
System.out.println("Temporary upload files allocates: " + OmFileHelper.getHumanSize(OmFileHelper.getUploadTempDir()));