Hi Maxim,

I don't think this will work.
I thought you would use the field "ical" for matching the given
timezone to the user input?

I was not able to use the CLI installer to accept any of my input,
neither "Berlin", nor "Europe/Berlin".
What should be the input that I have to give

Also as error / options you list then all available timezone name's as
options. There are two times the name GMT+1, so how should the user
understand what is the different between GMT+1 and GMT+1 ?


Sebastian


2012/4/25  <[email protected]>:
> Author: solomax
> Date: Wed Apr 25 10:35:08 2012
> New Revision: 1330188
>
> URL: http://svn.apache.org/viewvc?rev=1330188&view=rev
> Log:
> OPENMEETINGS-111 tz issues was fixed; options to install OM from backup 
> provided is added.
>
> Modified:
>    
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/ImportInitvalues.java
>    
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
>    
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/Install.java
>    
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/utils/ImportHelper.java
>
> 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=1330188&r1=1330187&r2=1330188&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
>  Wed Apr 25 10:35:08 2012
> @@ -768,8 +768,7 @@ public class ImportInitvalues {
>                List<OmTimeZone> omTimeZones = new LinkedList<OmTimeZone>();
>
>                SAXReader reader = new SAXReader();
> -               Document document = reader.read(filePath
> -                               + ImportInitvalues.nameOfTimeZoneFile);
> +               Document document = reader.read(new File(filePath, 
> ImportInitvalues.nameOfTimeZoneFile));
>
>                Element root = document.getRootElement();
>
> @@ -960,8 +959,7 @@ public class ImportInitvalues {
>        }
>        // 
> ------------------------------------------------------------------------------
>
> -       public void loadAll(String filePath, InstallationConfig cfg, String 
> username,
> -                       String userpass, String useremail, String groupame, 
> String timeZone) throws Exception {
> +       public void loadSystem(String filePath, InstallationConfig cfg) 
> throws Exception {
>                loadMainMenu();
>                loadErrorMappingsFromXML(filePath);
>                loadInitLanguages(filePath);
> @@ -974,7 +972,12 @@ public class ImportInitvalues {
>                loadPollTypes();
>
>                loadConfiguration(cfg);
> +       }
> +
> +       public void loadAll(String filePath, InstallationConfig cfg, String 
> username,
> +                       String userpass, String useremail, String groupame, 
> String timeZone) throws Exception {
>
> +               loadSystem(filePath, cfg);
>                loadInitUserAndOrganisation(username,
>                                userpass, useremail, groupame, timeZone, 
> cfg.defaultLangId);
>
>
> 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=1330188&r1=1330187&r2=1330188&view=diff
> ==============================================================================
> --- 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java 
> (original)
> +++ 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java 
> Wed Apr 25 10:35:08 2012
> @@ -9,6 +9,7 @@ import java.net.MalformedURLException;
>  import java.net.URL;
>  import java.util.Date;
>  import java.util.Enumeration;
> +import java.util.Map;
>  import java.util.Set;
>
>  import javax.mail.internet.AddressException;
> @@ -27,15 +28,14 @@ import org.apache.commons.cli.Parser;
>  import org.apache.commons.cli.PosixParser;
>  import org.apache.openjpa.jdbc.meta.MappingTool;
>  import org.openmeetings.app.OpenmeetingsVariables;
> -import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
>  import org.openmeetings.app.data.file.FileUtils;
>  import org.openmeetings.app.documents.InstallationDocumentHandler;
>  import org.openmeetings.app.installation.ImportInitvalues;
>  import org.openmeetings.app.installation.InstallationConfig;
> -import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
>  import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
>  import org.openmeetings.servlet.outputhandler.BackupExport;
>  import org.openmeetings.servlet.outputhandler.BackupImportController;
> +import org.openmeetings.utils.ImportHelper;
>  import org.openmeetings.utils.OMContextListener;
>  import org.openmeetings.utils.mail.MailUtil;
>  import org.openmeetings.utils.math.CalendarPatterns;
> @@ -49,6 +49,8 @@ public class Admin {
>        private boolean verbose = false;
>        private InstallationConfig cfg = null;
>        private Options opts = null;
> +       private CommandLine cmdl = null;
> +       File omHome = null;
>
>        private Admin() {
>                cfg = new InstallationConfig();
> @@ -69,12 +71,12 @@ public class Admin {
>                options.addOption(new OmOption(null, "v", "verbose", false, 
> "verbose error messages"));
>                //backup/restore
>                options.addOption(new OmOption("b", null, "exclude-files", 
> false, "should backup exclude files [default: include]", true));
> -               options.addOption(new OmOption("b,r", "file", null, true, 
> "file used for backup/restore", "b"));
> +               options.addOption(new OmOption("b,r,i", "file", null, true, 
> "file used for backup/restore/install", "b"));
>                //install
> -               options.addOption(new OmOption("i", "user", null, true, 
> "Login name of the default user, minimum " + 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters"));
> -               options.addOption(new OmOption("i", "email", null, true, 
> "Email of the default user"));
> -               options.addOption(new OmOption("i", "group", null, true, "The 
> name of the default user group"));
> -               options.addOption(new OmOption("i", "tz", null, true, 
> "Default server time zone, and time zone for the selected user [for ex: 
> 'GMT+10', '-2', 'Chicago']"));
> +               options.addOption(new OmOption("i", "user", null, true, 
> "Login name of the default user, minimum " + 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters (mutually 
> exclusive with 'file')"));
> +               options.addOption(new OmOption("i", "email", null, true, 
> "Email of the default user (mutually exclusive with 'file')"));
> +               options.addOption(new OmOption("i", "group", null, true, "The 
> name of the default user group (mutually exclusive with 'file')"));
> +               options.addOption(new OmOption("i", "tz", null, true, 
> "Default server time zone, and time zone for the selected user (mutually 
> exclusive with 'file')"));
>                options.addOption(new OmOption("i", null, "password", true, 
> "Password of the default user, minimum " + 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters (will be prompted 
> if not set)", true));
>                options.addOption(new OmOption("i", null, 
> "system-email-address", true, "System e-mail address [default: " + 
> cfg.mailReferer + "]", true));
>                options.addOption(new OmOption("i", null, "smtp-server", true, 
> "SMTP server for outgoing e-mails [default: " + cfg.smtpServer + "]", true));
> @@ -242,11 +244,10 @@ public class Admin {
>        private void process(String[] args) {
>                String ctxName = System.getProperty("context", "openmeetings");
>                File home = new File(System.getenv("RED5_HOME"));
> -               File omHome = new File(new File(home, "webapps"), ctxName);
> +               omHome = new File(new File(home, "webapps"), ctxName);
>                File omUploadTemp = new File(omHome, 
> OpenmeetingsVariables.UPLOAD_TEMP_DIR);
>
>                Parser parser = new PosixParser();
> -               CommandLine cmdl = null;
>                try {
>                        cmdl = parser.parse(opts, args);
>                } catch (ParseException e) {
> @@ -271,9 +272,10 @@ public class Admin {
>                switch(cmd) {
>                        case install:
>                                try {
> -                                       String login = 
> cmdl.getOptionValue("user");
> -                                       String email = 
> cmdl.getOptionValue("email");
> -                                       String group = 
> cmdl.getOptionValue("group");
> +                                       if (cmdl.hasOption("file") && 
> (cmdl.hasOption("user") || cmdl.hasOption("email") || 
> cmdl.hasOption("group"))) {
> +                                               System.out.println("Please 
> specify even 'file' option or 'admin user'.");
> +                                               System.exit(1);
> +                                       }
>                                        //TODO commented for now, since not in 
> use boolean force = cmdl.hasOption("force");
>                                        if 
> (cmdl.hasOption("skip-default-rooms")) {
>                                                cfg.createDefaultRooms = "0";
> @@ -299,33 +301,7 @@ public class Admin {
>                                        if (cmdl.hasOption("email-use-tls")) {
>                                                cfg.mailUseTls = "1";
>                                        }
> -                                       if (login == null || login.length() < 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH) {
> -                                               System.out.println("User 
> login was not provided, or too short, should be at least " + 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " character long.");
> -                                               System.exit(1);
> -                                       }
> -
> -                                       try {
> -                                               if (!MailUtil.matches(email)) 
> {
> -                                                   throw new 
> AddressException("Invalid address");
> -                                               }
> -                                               new InternetAddress(email, 
> true);
> -                                       } catch (AddressException ae) {
> -                                               System.out.println("Please 
> provide non-empty valid email: '" + email + "' is not valid.");
> -                                               System.exit(1);
> -                                       }
> -                                       if (group == null || login.length() < 
> 1) {
> -                                               System.out.println("User 
> group was not provided, or too short, should be at least 1 character long.");
> -                                               System.exit(1);
> -                                       }
> -                                       String pass = 
> cmdl.getOptionValue("password");
> -                                       if (pass == null || pass.length() < 
> InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH) {
> -                                               System.out.print("Please 
> enter password:");
> -                                               pass = new BufferedReader(new 
> InputStreamReader(System.in)).readLine();
> -                                               if (pass == null || 
> pass.length() < InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH) {
> -                                                       
> System.out.println("Password was not provided, or too short, should be at 
> least " + InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH + " character 
> long.");
> -                                                       System.exit(1);
> -                                               }
> -                                       }
> +                                       String langPath = new File(omHome, 
> ImportInitvalues.languageFolderName).getAbsolutePath(); //FIXME need to be 
> moved to helper
>                                        ConnectionProperties 
> connectionProperties = new ConnectionProperties();
>                                        if (cmdl.hasOption("db-type") || 
> cmdl.hasOption("db-host") || cmdl.hasOption("db-port") || 
> cmdl.hasOption("db-name") || cmdl.hasOption("db-user") || 
> cmdl.hasOption("db-pass")) {
>                                                String dbType = 
> cmdl.getOptionValue("db-type", "derby");
> @@ -342,30 +318,18 @@ public class Admin {
>                                                                , 
> connectionProperties
>                                                                );
>                                        }
> -
> -                                       if(cmdl.hasOption("drop")) {
> -                                               String[] mappingToolArgs = 
> {"-sa", "drop", "-p", omHome.getPath() + 
> "/WEB-INF/classes/META-INF/persistence.xml",
> -                                                               
> "-connectionDriverName", connectionProperties.getDriverName(), 
> "-connectionURL", connectionProperties.getConnectionURL(),
> -                                                               
> "-connectionUserName", connectionProperties.getConnectionLogin(), 
> "-connectionPassword", connectionProperties.getConnectionPass()};
> -                                               
> MappingTool.main(mappingToolArgs);
> -                                       }
> -
>                                        ClassPathXmlApplicationContext ctx = 
> getApplicationContext(ctxName);
> -                                       OmTimeZoneDaoImpl tzDao =  
> ctx.getBean(OmTimeZoneDaoImpl.class);
> -                                       String tz = null;
> -                                       if (cmdl.hasOption("tz")) {
> -                                               tz = 
> cmdl.getOptionValue("tz");
> -                                               tz = tzDao.getOmTimeZone(tz) 
> == null ? null : tz;
> -                                       }
> -                                       if (tz == null) {
> -                                               System.out.println("Please 
> enter timezone, Possible timezones are:");
> -                                               for (OmTimeZone omTz : 
> tzDao.getOmTimeZones()) {
> -                                                       
> System.out.println(omTz.getJname());
> -                                               }
> -                                               System.exit(1);
> -                                       }
>                                        ImportInitvalues importInit = 
> ctx.getBean(ImportInitvalues.class);
> -                                       importInit.loadAll(new File(omHome, 
> ImportInitvalues.languageFolderName).getAbsolutePath(), cfg, login, pass, 
> email, group, tz);
> +                                       if (cmdl.hasOption("file")) {
> +                                               File backup = 
> checkRestoreFile(file);
> +                                               dropDB(connectionProperties);
> +                                               
> importInit.loadSystem(langPath, cfg);
> +                                               restoreOm(ctxName, backup);
> +                                       } else {
> +                                               AdminUserDetails admin = 
> checkAdminDetails(importInit, langPath);
> +                                               dropDB(connectionProperties);
> +                                               importInit.loadAll(langPath, 
> cfg, admin.login, admin.pass, admin.email, admin.group, admin.tz);
> +                                       }
>
>                                        File installerFile = new File(new 
> File(home, ScopeApplicationAdapter.configDirName), 
> InstallationDocumentHandler.installFileName);
>                                        
> InstallationDocumentHandler.getInstance().createDocument(installerFile.getAbsolutePath(),
>  1);
> @@ -392,19 +356,7 @@ public class Admin {
>                                }
>                                break;
>                        case restore:
> -                               try {
> -                                       File backup = new File(file);
> -                                       if (!cmdl.hasOption("file") || 
> !backup.exists() || !backup.isFile()) {
> -                                               System.out.println("File 
> should be specified, and point the existent zip file");
> -                                               usage();
> -                                               System.exit(1);
> -                                       }
> -
> -                                       BackupImportController importCtrl = 
> getApplicationContext(ctxName).getBean(BackupImportController.class);
> -                                       importCtrl.performImport(new 
> FileInputStream(backup), omHome.getAbsolutePath());
> -                               } catch (Exception e) {
> -                                       handleError("Restore failed", e);
> -                               }
> +                               restoreOm(ctxName, checkRestoreFile(file));
>                                break;
>                        case files:
>                                try {
> @@ -451,6 +403,95 @@ public class Admin {
>                System.exit(0);
>        }
>
> +       private class AdminUserDetails {
> +               String login = null;
> +               String email = null;
> +               String group = null;
> +               String pass = null;
> +               String tz = null;
> +       }
> +
> +       private AdminUserDetails checkAdminDetails(ImportInitvalues 
> importInit, String langPath) throws Exception {
> +               AdminUserDetails admin = new AdminUserDetails();
> +               admin.login = cmdl.getOptionValue("user");
> +               admin.email = cmdl.getOptionValue("email");
> +               admin.group = cmdl.getOptionValue("group");
> +               if (admin.login == null || admin.login.length() < 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH) {
> +                       System.out.println("User login was not provided, or 
> too short, should be at least " + 
> InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " character long.");
> +                       System.exit(1);
> +               }
> +
> +               try {
> +                       if (!MailUtil.matches(admin.email)) {
> +                           throw new AddressException("Invalid address");
> +                       }
> +                       new InternetAddress(admin.email, true);
> +               } catch (AddressException ae) {
> +                       System.out.println("Please provide non-empty valid 
> email: '" + admin.email + "' is not valid.");
> +                       System.exit(1);
> +               }
> +               if (admin.group == null || admin.group.length() < 1) {
> +                       System.out.println("User group was not provided, or 
> too short, should be at least 1 character long: " + admin.group);
> +                       System.exit(1);
> +               }
> +               admin.pass = cmdl.getOptionValue("password");
> +               if (checkPassword(admin.pass)) {
> +                       System.out.print("Please enter password:");
> +                       admin.pass = new BufferedReader(new 
> InputStreamReader(System.in)).readLine();
> +                       if (checkPassword(admin.pass)) {
> +                               System.out.println("Password was not 
> provided, or too short, should be at least " + 
> InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH + " character long.");
> +                               System.exit(1);
> +                       }
> +               }
> +               Map<String, String> tzMap = 
> ImportHelper.getAllTimeZones(importInit.getTimeZones(langPath));
> +               admin.tz = null;
> +               if (cmdl.hasOption("tz")) {
> +                       admin.tz = cmdl.getOptionValue("tz");
> +                       admin.tz = tzMap.containsKey(admin.tz) ? admin.tz : 
> null;
> +               }
> +               if (admin.tz == null) {
> +                       System.out.println("Please enter timezone, Possible 
> timezones are:");
> +                       for (String tzJname : tzMap.keySet()) {
> +                               System.out.println(tzJname);
> +                       }
> +                       System.exit(1);
> +               }
> +               return admin;
> +       }
> +
> +       private boolean checkPassword(String pass) {
> +               return (pass == null || pass.length() < 
> InstallationConfig.USER_PASSWORD_MINIMUM_LENGTH);
> +       }
> +
> +       private void dropDB(ConnectionProperties props) throws Exception {
> +               if(cmdl.hasOption("drop")) {
> +                       String[] mappingToolArgs = {"-sa", "drop", "-p", 
> omHome.getAbsolutePath() + "/WEB-INF/classes/META-INF/persistence.xml",
> +                                       "-connectionDriverName", 
> props.getDriverName(), "-connectionURL", props.getConnectionURL(),
> +                                       "-connectionUserName", 
> props.getConnectionLogin(), "-connectionPassword", props.getConnectionPass()};
> +                       MappingTool.main(mappingToolArgs);
> +               }
> +       }
> +
> +       private File checkRestoreFile(String file) {
> +               File backup = new File(file);
> +               if (!cmdl.hasOption("file") || !backup.exists() || 
> !backup.isFile()) {
> +                       System.out.println("File should be specified, and 
> point the existent zip file");
> +                       usage();
> +                       System.exit(1);
> +               }
> +
> +               return backup;
> +       }
> +
> +       private void restoreOm(String ctxName, File backup) {
> +               try {
> +                       BackupImportController importCtrl = 
> getApplicationContext(ctxName).getBean(BackupImportController.class);
> +                       importCtrl.performImport(new FileInputStream(backup), 
> omHome.getAbsolutePath());
> +               } catch (Exception e) {
> +                       handleError("Restore failed", e);
> +               }
> +       }
> +
>        public static void main(String[] args) {
>                new Admin().process(args);
>        }
>
> Modified: 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/Install.java
> URL: 
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/Install.java?rev=1330188&r1=1330187&r2=1330188&view=diff
> ==============================================================================
> --- 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/Install.java
>  (original)
> +++ 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/Install.java
>  Wed Apr 25 10:35:08 2012
> @@ -38,6 +38,7 @@ import org.openmeetings.app.installation
>  import org.openmeetings.app.installation.InstallationConfig;
>  import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
>  import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
> +import org.openmeetings.utils.ImportHelper;
>  import org.red5.logging.Red5LoggerFactory;
>  import org.slf4j.Logger;
>  import org.springframework.context.ApplicationContext;
> @@ -117,22 +118,14 @@ public class Install extends VelocityVie
>                allFonts.put("Verdana", "Verdana");
>                allFonts.put("Arial", "Arial");
>
> -               LinkedHashMap<String, String> allTimeZones = new 
> LinkedHashMap<String, String>();
>                List<OmTimeZone> omTimeZoneList = getImportInitvalues()
>                                .getTimeZones(filePath);
> -               log.debug("omTimeZoneList :: " + omTimeZoneList.size());
> -               for (OmTimeZone omTimeZone : omTimeZoneList) {
> -                       String labelName = omTimeZone.getJname() + " ("
> -                                       + omTimeZone.getLabel() + ")";
> -                       log.debug("labelName :: " + labelName);
> -                       allTimeZones.put(omTimeZone.getJname(), labelName);
> -               }
>
>                Template tpl = super.getTemplate("install_step1_"
>                                + lang + ".vm");
>                ctx.put("allLanguages", allLanguages);
>                ctx.put("allFonts", allFonts);
> -               ctx.put("allTimeZones", allTimeZones);
> +               ctx.put("allTimeZones", 
> ImportHelper.getAllTimeZones(omTimeZoneList));
>                StringWriter writer = new StringWriter();
>                tpl.merge(ctx, writer);
>
>
> Modified: 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/utils/ImportHelper.java
> URL: 
> http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/utils/ImportHelper.java?rev=1330188&r1=1330187&r2=1330188&view=diff
> ==============================================================================
> --- 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/utils/ImportHelper.java
>  (original)
> +++ 
> incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/utils/ImportHelper.java
>  Wed Apr 25 10:35:08 2012
> @@ -18,9 +18,13 @@
>  */
>  package org.openmeetings.utils;
>
> +import java.util.LinkedHashMap;
> +import java.util.List;
> +import java.util.Map;
> +
>  import org.openmeetings.app.OpenmeetingsVariables;
>  import org.openmeetings.app.data.basic.Configurationmanagement;
> -import org.openmeetings.app.persistence.beans.basic.Configuration;
> +import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
>  import org.red5.logging.Red5LoggerFactory;
>  import org.slf4j.Logger;
>
> @@ -31,22 +35,27 @@ public class ImportHelper {
>
>        public static final int getMaxUploadSize(
>                        Configurationmanagement cfgManagement) {
> -               return getMaxUploadSize(cfgManagement, 3L);
> -       }
> -
> -       public static final int getMaxUploadSize(
> -                       Configurationmanagement cfgManagement, Long 
> userLevel) {
> -               Configuration cfg = cfgManagement.getConfKey(userLevel,
> -                               "DEFAULT_MAX_UPLOAD_SIZE");
>                int result = DEFAULT_MAX_UPLOAD_SIZE;
> -               if (cfg != null) {
> -                       String val = cfg.getConf_value();
> -                       try {
> -                               result = (int) Math.min(Long.parseLong(val), 
> Integer.MAX_VALUE);
> -                       } catch (Exception e) {
> -                               log.error("Invalid value saved for 
> maxUploadSize: " + val, e);
> -                       }
> +               String maxSize = 
> cfgManagement.getConfValue("DEFAULT_MAX_UPLOAD_SIZE", String.class, "" + 
> result);
> +               try {
> +                       result = (int) Math.min(Long.parseLong(maxSize), 
> Integer.MAX_VALUE);
> +               } catch (Exception e) {
> +                       log.error("Invalid value saved for maxUploadSize: " + 
> maxSize, e);
> +               }
> +               return result;
> +       }
> +
> +       public static Map<String, String> getAllTimeZones(List<OmTimeZone> 
> tzList) {
> +               Map<String, String> result = new LinkedHashMap<String, 
> String>();
> +
> +               log.debug("omTimeZoneList :: " + tzList.size());
> +               for (OmTimeZone omTimeZone : tzList) {
> +                       String labelName = omTimeZone.getJname() + " ("
> +                                       + omTimeZone.getLabel() + ")";
> +                       log.debug("labelName :: " + labelName);
> +                       result.put(omTimeZone.getJname(), labelName);
>                }
> +
>                return result;
>        }
>  }
>
>



-- 
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.openmeetings.de
http://www.webbase-design.de
http://www.wagner-sebastian.com
[email protected]

Reply via email to