Author: solomax
Date: Tue Apr 10 18:05:00 2012
New Revision: 1311892
URL: http://svn.apache.org/viewvc?rev=1311892&view=rev
Log:
OPENMEETINGS-111 command line admin is partially fixed
Added:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
- copied, changed from r1311794,
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/Admin.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmHelpFormatter.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmOption.java
Removed:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/Admin.java
Modified:
incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.bat
incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.sh
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/InstallationConfig.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.bat
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.bat?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.bat
(original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.bat Tue Apr
10 18:05:00 2012
@@ -3,5 +3,5 @@ set RED5_HOME=%~dp0
set
CLASSPATH=%RED5_HOME%\*;%RED5_HOME%\conf;%RED5_HOME%\lib\*;%RED5_HOME%\webapps\openmeetings\WEB-INF\lib\*;%RED5_HOME%\webapps\openmeetings\WEB-INF;%RED5_HOME%\webapps\openmeetings\WEB-INF\classes
-java -cp "%CLASSPATH%"
-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector
org.openmeetings.app.Admin %*
+java -cp "%CLASSPATH%"
-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector
org.openmeetings.cli.Admin %*
Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.sh
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.sh?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.sh
(original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/red5/admin.sh Tue Apr
10 18:05:00 2012
@@ -3,5 +3,5 @@ export RED5_HOME=$(cd $(dirname "$0"); p
export
CLASSPATH=$RED5_HOME/*:$RED5_HOME/conf:$RED5_HOME/lib/*:$RED5_HOME/webapps/openmeetings/WEB-INF/lib/*:$RED5_HOME/webapps/openmeetings/WEB-INF:$RED5_HOME/webapps/openmeetings/WEB-INF/classes
-java -cp "$CLASSPATH"
-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector
org.openmeetings.app.Admin $*
+java -cp "$CLASSPATH"
-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector
org.openmeetings.cli.Admin $*
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/dao/OmTimeZoneDaoImpl.java
Tue Apr 10 18:05:00 2012
@@ -89,7 +89,7 @@ public class OmTimeZoneDaoImpl {
String hql = "select sl from OmTimeZone as sl "
+ "WHERE sl.jname LIKE :jname";
TypedQuery<OmTimeZone> query = em.createQuery(hql,
OmTimeZone.class);
- query.setParameter("jname", jname);
+ query.setParameter("jname", "%" + jname + "%");
List<OmTimeZone> sList = query.getResultList();
if (sList.size() > 0) {
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/user/dao/UsersDaoImpl.java
Tue Apr 10 18:05:00 2012
@@ -139,8 +139,7 @@ public class UsersDaoImpl {
public List<Users> getAllUsers() {
try {
-
- // get all users
+ // get all non-deleted users
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Users> cq = cb.createQuery(Users.class);
Root<Users> c = cq.from(Users.class);
@@ -150,7 +149,6 @@ public class UsersDaoImpl {
List<Users> ll = q.getResultList();
return ll;
-
} catch (Exception ex2) {
log.error("[getAllUsers] ", ex2);
}
@@ -159,20 +157,10 @@ public class UsersDaoImpl {
public List<Users> getAllUsersDeleted() {
try {
-
- // get all users
- CriteriaBuilder cb = em.getCriteriaBuilder();
- CriteriaQuery<Users> cq = cb.createQuery(Users.class);
- Root<Users> c = cq.from(Users.class);
- Predicate condition = cb.equal(c.get("deleted"),
"false");
- cq.where(condition);
- TypedQuery<Users> q = em.createQuery(cq);
- List<Users> ll = q.getResultList();
-
- return ll;
-
+ TypedQuery<Users> q =
em.createNamedQuery("getAllUsers", Users.class);
+ return q.getResultList();
} catch (Exception ex2) {
- log.error("[getAllUsers] ", ex2);
+ log.error("[getAllUsersDeleted] ", ex2);
}
return null;
}
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/InstallationConfig.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/InstallationConfig.java?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/InstallationConfig.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/installation/InstallationConfig.java
Tue Apr 10 18:05:00 2012
@@ -12,8 +12,8 @@ public class InstallationConfig {
//email
public String smtpPort = "25";
public String smtpServer = "localhost";
- public String mailAuthName = "xyz";
- public String mailAuthPass = "qwertz";
+ public String mailAuthName = "";
+ public String mailAuthPass = "";
public String mailReferer = "[email protected]";
public String mailUseTls = "0";
//paths
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/user/Users.java
Tue Apr 10 18:05:00 2012
@@ -46,7 +46,9 @@ import org.openmeetings.app.persistence.
@Entity
@NamedQueries({
- @NamedQuery(name="getUsersByOrganisationId",
+ @NamedQuery(name="getAllUsers",
+ query="SELECT u FROM Users u")
+ , @NamedQuery(name="getUsersByOrganisationId",
query="SELECT u FROM Users u WHERE u.deleted = 'false' AND
u.organisation_users.organisation.organisation_id = :organisation_id")
})
@Table(name = "users")
Copied:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
(from r1311794,
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/Admin.java)
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/Admin.java&r1=1311794&r2=1311892&rev=1311892&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/Admin.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/Admin.java
Tue Apr 10 18:05:00 2012
@@ -1,4 +1,4 @@
-package org.openmeetings.app;
+package org.openmeetings.cli;
import java.io.BufferedReader;
import java.io.File;
@@ -18,15 +18,15 @@ import javax.servlet.ServletContextEvent
import javax.servlet.ServletException;
import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.OptionGroup;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.Parser;
import org.apache.commons.cli.PosixParser;
+import org.openmeetings.app.data.user.dao.UsersDaoImpl;
import org.openmeetings.app.installation.ImportInitvalues;
import org.openmeetings.app.installation.InstallationConfig;
+import org.openmeetings.app.persistence.beans.user.Users;
import org.openmeetings.servlet.outputhandler.BackupExport;
import org.openmeetings.servlet.outputhandler.BackupImportController;
import org.openmeetings.utils.OMContextListener;
@@ -38,28 +38,44 @@ import org.springframework.context.suppo
public class Admin {
private static final Logger log =
Red5LoggerFactory.getLogger(Admin.class);
private boolean verbose = false;
- private Options opts = buildOptions();
+ private InstallationConfig cfg = null;
+ private Options opts = null;
+ private Admin() {
+ cfg = new InstallationConfig();
+ opts = buildOptions();
+ }
+
@SuppressWarnings("static-access")
private Options buildOptions() {
Options options = new Options();
OptionGroup group = new OptionGroup()
-
.addOption(OptionBuilder.withLongOpt("install").withDescription("Fill DB table,
and make OM usable").create('i'))
-
.addOption(OptionBuilder.withLongOpt("backup").withDescription("Backups
OM").create('b'))
-
.addOption(OptionBuilder.withLongOpt("restore").withDescription("Restores
OM").create('r'))
-
.addOption(OptionBuilder.withLongOpt("help").withDescription("print this
message").create('h'));
+ .addOption(new OmOption("i", "i", "install", false,
"Fill DB table, and make OM usable"))
+ .addOption(new OmOption("b", "b", "backup", false,
"Backups OM"))
+ .addOption(new OmOption("r", "r", "restore", false,
"Restores OM"))
+ .addOption(new OmOption("f", "f", "files", false, "File
operations - statictics/cleanup"))
+ .addOption(new OmOption("h", "h", "help", false,
"prints this message"));
group.setRequired(true);
options.addOptionGroup(group);
-
options.addOption(OptionBuilder.withLongOpt("verbose").withDescription("verbose
error messages").create('v'));
-
options.addOption(OptionBuilder.withLongOpt("file").hasArg().withDescription("file
used for backup/restore").create('f'));
-
options.addOption(OptionBuilder.withLongOpt("exclude-files").withDescription("should
backup exclude files [default: include]").create());
- //install options
- options.addOption(OptionBuilder.hasArg().withDescription("Login
name of the default user, minimum " +
InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters").create("user"));
- options.addOption(OptionBuilder.hasArg().withDescription("Email
of the default user").create("email"));
- options.addOption(OptionBuilder.hasArg().withDescription("The
name of the default user group").create("group"));
-
options.addOption(OptionBuilder.hasArg().withDescription("Default server time
zone, and time zone for the selected user [GMT+10, GMT-2]").create("tz"));
-
options.addOption(OptionBuilder.withLongOpt("skip-default-rooms").withDescription("Do
not create default rooms [created by default]").create());
-
options.addOption(OptionBuilder.withLongOpt("disable-frontend-register").withDescription("Do
not allow front end register [allowed by default]").create());
+ //general
+ 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]"));
+ options.addOption(new OmOption("b,r", "file", null, true, "file
used for backup/restore"));
+ //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", "pass", null, true,
"Password of the default user, minimum " +
InstallationConfig.USER_LOGIN_MINIMUM_LENGTH + " characters (will be prompted
if not set)"));
+ 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", null,
"system-email-address", true, "System e-mail address [default: " +
cfg.mailReferer + "]"));
+ options.addOption(new OmOption("i", null, "smtp-server", true,
"SMTP server for outgoing e-mails [default: " + cfg.smtpServer + "]"));
+ options.addOption(new OmOption("i", null, "smtp-port", true,
"SMTP server for outgoing e-mails [default: " + cfg.smtpPort + "]"));
+ options.addOption(new OmOption("i", null, "email-auth-user",
true, "Email auth username (anonymous connection will be used if not set)"));
+ options.addOption(new OmOption("i", null, "email-auth-pass",
true, "Email auth password (anonymous connection will be used if not set)"));
+ options.addOption(new OmOption("i", null, "email-use-tls",
false, "Is secure e-mail connection [default: no]"));
+ options.addOption(new OmOption("i", null, "skip-default-rooms",
false, "Do not create default rooms [created by default]"));
+ options.addOption(new OmOption("i", null,
"disable-frontend-register", false, "Do not allow front end register [allowed
by default]"));
return options;
}
@@ -68,11 +84,12 @@ public class Admin {
install
, backup
, restore
+ , files
, usage
}
private void usage() {
- new HelpFormatter().printHelp("admin [-h|-i|-b|-r] [options]",
opts);
+ new OmHelpFormatter().printHelp("admin", opts);
}
private void handleError(String msg, Exception e) {
@@ -225,13 +242,14 @@ public class Admin {
cmd = Command.backup;
} else if (cmdl.hasOption('r')) {
cmd = Command.restore;
+ } else if (cmdl.hasOption('f')) {
+ cmd = Command.files;
}
String file = cmdl.getOptionValue('f', "");
switch(cmd) {
case install:
try {
- InstallationConfig cfg = new
InstallationConfig();
String login =
cmdl.getOptionValue("user");
String email =
cmdl.getOptionValue("email");
String group =
cmdl.getOptionValue("group");
@@ -242,6 +260,24 @@ public class Admin {
if
(cmdl.hasOption("disable-frontend-register")) {
cfg.allowFrontendRegister = "0";
}
+ if
(cmdl.hasOption("system-email-address")) {
+ cfg.mailReferer =
cmdl.getOptionValue("system-email-address");
+ }
+ if (cmdl.hasOption("smtp-server")) {
+ cfg.smtpServer =
cmdl.getOptionValue("smtp-server");
+ }
+ if (cmdl.hasOption("smtp-port")) {
+ cfg.smtpPort =
cmdl.getOptionValue("smtp-port");
+ }
+ if (cmdl.hasOption("email-auth-user")) {
+ cfg.mailAuthName =
cmdl.getOptionValue("email-auth-user");
+ }
+ if (cmdl.hasOption("email-auth-pass")) {
+ cfg.mailAuthPass =
cmdl.getOptionValue("email-auth-pass");
+ }
+ 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);
@@ -250,13 +286,15 @@ public class Admin {
System.out.println("User group
was not provided, or too short, should be at least 1 character long.");
System.exit(1);
}
- System.out.print("Please enter
password:");
- String pass = new BufferedReader(new
InputStreamReader(System.in)).readLine();
+ String pass =
cmdl.getOptionValue("pass");
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);
+ 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);
+ }
}
-
ImportInitvalues importInit =
getApplicationContext(ctxName).getBean(ImportInitvalues.class);
importInit.loadAll(new File(omHome,
ImportInitvalues.languageFolderName).getAbsolutePath()
, cfg, login, pass,
email, group, tz);
@@ -297,6 +335,23 @@ public class Admin {
handleError("Restore failed", e);
}
break;
+ case files:
+ try {
+ ClassPathXmlApplicationContext ctx =
getApplicationContext(ctxName);
+ //user pictures
+
//dist/red5/webapps/openmeetings/upload/profiles
+ UsersDaoImpl udao =
ctx.getBean(UsersDaoImpl.class);
+ for (Users u :
udao.getAllUsersDeleted()) {
+ System.out.println("id == " +
u.getUser_id() + "; deleted ? " + u.getDeleted() + "; uri -> " +
u.getPictureuri());
+ }
+ //public files
+ //private files
+ //public recordings
+ //private recordings
+ } catch (Exception e) {
+ handleError("Files failed", e);
+ }
+ break;
case usage:
default:
usage();
Added:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmHelpFormatter.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmHelpFormatter.java?rev=1311892&view=auto
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmHelpFormatter.java
(added)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmHelpFormatter.java
Tue Apr 10 18:05:00 2012
@@ -0,0 +1,62 @@
+package org.openmeetings.cli;
+
+import java.io.PrintWriter;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.OptionGroup;
+import org.apache.commons.cli.Options;
+
+public class OmHelpFormatter extends HelpFormatter {
+
+ @SuppressWarnings("unchecked")
+ private Collection<Option> getReqOptions(Options opts) {
+ //suppose we have only 1 group (for now)
+ OptionGroup g =
((List<OptionGroup>)opts.getRequiredOptions()).get(0);
+ return g.getOptions();
+ }
+
+ private String getReqOptionsString(Options opts) {
+ String delim = "";
+ StringBuilder result = new StringBuilder();
+ for (Option o : getReqOptions(opts)) {
+ result.append(delim).append(o.getOpt());
+ delim = "|";
+ }
+ return result.toString();
+ }
+
+ @Override
+ public void printOptions(PrintWriter pw, int width, Options options,
+ int leftPad, int descPad) {
+ // TODO Auto-generated method stub
+ super.printOptions(pw, width, options, leftPad, descPad);
+ }
+
+ @Override
+ public void printHelp(PrintWriter pw, int width, String cmdLineSyntax,
+ String header, Options options, int leftPad, int
descPad,
+ String footer, boolean autoUsage) {
+ if ((cmdLineSyntax == null) || (cmdLineSyntax.length() == 0)) {
+ throw new IllegalArgumentException("cmdLineSyntax not
provided");
+ }
+
+ printUsage(pw, width, cmdLineSyntax, options);
+
+ if ((header != null) && (header.trim().length() > 0)) {
+ printWrapped(pw, width, header);
+ }
+
+ printOptions(pw, width, options, leftPad, descPad);
+
+ if ((footer != null) && (footer.trim().length() > 0)) {
+ printWrapped(pw, width, footer);
+ }
+ }
+
+ public void printUsage(PrintWriter pw, int width, String app, Options
opts) {
+ pw.println(String.format("usage: %1$s [%2$s] [options]", app,
getReqOptionsString(opts)));
+ }
+}
Added:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmOption.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmOption.java?rev=1311892&view=auto
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmOption.java
(added)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/cli/OmOption.java
Tue Apr 10 18:05:00 2012
@@ -0,0 +1,31 @@
+package org.openmeetings.cli;
+
+import org.apache.commons.cli.Option;
+
+public class OmOption extends Option {
+ private static final long serialVersionUID = -544426769898915573L;
+ private String group = null;
+ private boolean optional = true;
+
+ public OmOption(String group, String opt, String longOpt, boolean
hasArg,
+ String description) throws IllegalArgumentException {
+ super(opt, longOpt, hasArg, description);
+ this.setGroup(group);
+ }
+
+ public String getGroup() {
+ return group;
+ }
+
+ public void setGroup(String group) {
+ this.group = group;
+ }
+
+ public boolean isOptional() {
+ return optional;
+ }
+
+ public void setOptional(boolean optional) {
+ this.optional = optional;
+ }
+}
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java?rev=1311892&r1=1311891&r2=1311892&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/BackupExport.java
Tue Apr 10 18:05:00 2012
@@ -1527,9 +1527,7 @@ public class BackupExport {
Element users = root.addElement("users");
- for (Iterator<Users> it = uList.iterator(); it.hasNext();) {
- Users u = it.next();
-
+ for (Users u : uList) {
Element user = users.addElement("user");
user.addElement("user_id").addCDATA(