Repository: openmeetings Updated Branches: refs/heads/master e76158747 -> b2e50da13
[OPENMEETINGS-1714] coverage is improved Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/b2e50da1 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/b2e50da1 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/b2e50da1 Branch: refs/heads/master Commit: b2e50da132800c8393e2f664f836e7535dc6568e Parents: e761587 Author: Maxim Solodovnik <[email protected]> Authored: Mon Oct 9 17:19:04 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Mon Oct 9 17:19:04 2017 +0700 ---------------------------------------------------------------------- .../java/org/apache/openmeetings/cli/Admin.java | 220 ++++++++++--------- .../openmeetings/util/CalendarPatterns.java | 3 +- .../util/mail/ByteArrayDataSource.java | 1 + .../webservice/NetTestWebService.java | 4 +- 4 files changed, 120 insertions(+), 108 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b2e50da1/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java ---------------------------------------------------------------------- diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java index 09d98e3..3073a29 100644 --- a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java +++ b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java @@ -66,12 +66,14 @@ import org.apache.openmeetings.util.CalendarPatterns; import org.apache.openmeetings.util.ConnectionProperties; import org.apache.openmeetings.util.ConnectionProperties.DbType; import org.apache.openmeetings.util.ImportHelper; +import org.apache.openmeetings.util.OmException; import org.apache.openmeetings.util.OmFileHelper; import org.apache.openmeetings.util.mail.MailUtil; import org.apache.wicket.validation.IValidator; import org.apache.wicket.validation.Validatable; import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; +import org.springframework.beans.BeansException; import org.springframework.scheduling.quartz.SchedulerFactoryBean; import org.springframework.web.context.WebApplicationContext; @@ -235,119 +237,24 @@ public class Admin { String file = cmdl.getOptionValue("file", ""); switch(cmd) { case install: - { - step = "Install"; - if (cmdl.hasOption("file") && (cmdl.hasOption("user") || cmdl.hasOption("email") || cmdl.hasOption("group"))) { - log("Please specify even 'file' option or 'admin user'."); - throw new ExitException(); - } - boolean force = cmdl.hasOption("force"); - if (cmdl.hasOption("skip-default-objects")) { - cfg.setCreateDefaultObjects(false); - } - if (cmdl.hasOption("disable-frontend-register")) { - cfg.setAllowFrontendRegister(false); - } - if (cmdl.hasOption("system-email-address")) { - cfg.setMailReferer(cmdl.getOptionValue("system-email-address")); - } - if (cmdl.hasOption("smtp-server")) { - cfg.setSmtpServer(cmdl.getOptionValue("smtp-server")); - } - if (cmdl.hasOption("smtp-port")) { - cfg.setSmtpPort(Integer.valueOf(cmdl.getOptionValue("smtp-port"))); - } - if (cmdl.hasOption("email-auth-user")) { - cfg.setMailAuthName(cmdl.getOptionValue("email-auth-user")); - } - if (cmdl.hasOption("email-auth-pass")) { - cfg.setMailAuthPass(cmdl.getOptionValue("email-auth-pass")); - } - if (cmdl.hasOption("email-use-tls")) { - cfg.setMailUseTls(true); - } - if (cmdl.hasOption("default-language")) { - cfg.setDefaultLangId(Integer.parseInt(cmdl.getOptionValue("default-language"))); - } - ConnectionProperties connectionProperties; - File conf = OmFileHelper.getPersistence(); - if (!conf.exists() || 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", DbType.derby.name()); - connectionProperties = ConnectionPropertiesPatcher.patch(dbType - , cmdl.getOptionValue("db-host", "localhost") - , cmdl.getOptionValue("db-port", null) - , cmdl.getOptionValue("db-name", null) - , cmdl.getOptionValue("db-user", null) - , cmdl.getOptionValue("db-pass", null) - ); - } else { - //get properties from existent persistence.xml - connectionProperties = ConnectionPropertiesPatcher.getConnectionProperties(conf); - } - if (cmdl.hasOption("file")) { - File backup = checkRestoreFile(file); - dropDB(connectionProperties); - - ImportInitvalues importInit = getApplicationContext().getBean(ImportInitvalues.class); - importInit.loadSystem(cfg, force); - restoreOm(backup); - } else { - checkAdminDetails(); - dropDB(connectionProperties); - - ImportInitvalues importInit = getApplicationContext().getBean(ImportInitvalues.class); - importInit.loadAll(cfg, force); - } - } + step = "Install"; + processInstall(file); break; case backup: - { - step = "Backup"; - File f; - if (!cmdl.hasOption("file")) { - file = "backup_" + CalendarPatterns.getTimeForStreamId(new Date()) + ".zip"; - f = new File(home, file); - log("File name was not specified, '" + file + "' will be used"); - } else { - f = new File(file); - } - boolean includeFiles = !cmdl.hasOption("exclude-files"); - File backupDir = new File(OmFileHelper.getUploadBackupDir(), String.valueOf(System.currentTimeMillis())); - backupDir.mkdirs(); - - BackupExport export = getApplicationContext().getBean(BackupExport.class); - export.performExport(f, includeFiles, new ProgressHolder()); - FileUtils.deleteDirectory(backupDir); - backupDir.delete(); - } + step = "Backup"; + processBackup(file); break; case restore: step = "Restore"; - restoreOm(checkRestoreFile(file)); + processRestore(checkRestoreFile(file)); break; case files: - { - step = "Files"; - boolean cleanup = cmdl.hasOption("cleanup"); - if (cleanup) { - log("WARNING: all intermediate files will be clean up!"); - } - StringBuilder report = new StringBuilder(); - reportUploads(report, cleanup); - reportStreams(report, cleanup); - log(report); - } + step = "Files"; + processFiles(); break; case ldap: - { - step = "LDAP import"; - if (!cmdl.hasOption("d")) { - log("Please specify LDAP domain Id."); - throw new ExitException(); - } - Long domainId = Long.valueOf(cmdl.getOptionValue('d')); - getApplicationContext().getBean(LdapLoginManagement.class).importUsers(domainId, cmdl.hasOption("print-only")); - } + step = "LDAP import"; + processLdap(); break; case usage: default: @@ -356,6 +263,109 @@ public class Admin { } } + private void processInstall(String file) throws Exception { + if (cmdl.hasOption("file") && (cmdl.hasOption("user") || cmdl.hasOption("email") || cmdl.hasOption("group"))) { + log("Please specify even 'file' option or 'admin user'."); + throw new ExitException(); + } + boolean force = cmdl.hasOption("force"); + if (cmdl.hasOption("skip-default-objects")) { + cfg.setCreateDefaultObjects(false); + } + if (cmdl.hasOption("disable-frontend-register")) { + cfg.setAllowFrontendRegister(false); + } + if (cmdl.hasOption("system-email-address")) { + cfg.setMailReferer(cmdl.getOptionValue("system-email-address")); + } + if (cmdl.hasOption("smtp-server")) { + cfg.setSmtpServer(cmdl.getOptionValue("smtp-server")); + } + if (cmdl.hasOption("smtp-port")) { + cfg.setSmtpPort(Integer.valueOf(cmdl.getOptionValue("smtp-port"))); + } + if (cmdl.hasOption("email-auth-user")) { + cfg.setMailAuthName(cmdl.getOptionValue("email-auth-user")); + } + if (cmdl.hasOption("email-auth-pass")) { + cfg.setMailAuthPass(cmdl.getOptionValue("email-auth-pass")); + } + if (cmdl.hasOption("email-use-tls")) { + cfg.setMailUseTls(true); + } + if (cmdl.hasOption("default-language")) { + cfg.setDefaultLangId(Integer.parseInt(cmdl.getOptionValue("default-language"))); + } + ConnectionProperties connectionProperties; + File conf = OmFileHelper.getPersistence(); + if (!conf.exists() || 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", DbType.derby.name()); + connectionProperties = ConnectionPropertiesPatcher.patch(dbType + , cmdl.getOptionValue("db-host", "localhost") + , cmdl.getOptionValue("db-port", null) + , cmdl.getOptionValue("db-name", null) + , cmdl.getOptionValue("db-user", null) + , cmdl.getOptionValue("db-pass", null) + ); + } else { + //get properties from existent persistence.xml + connectionProperties = ConnectionPropertiesPatcher.getConnectionProperties(conf); + } + if (cmdl.hasOption("file")) { + File backup = checkRestoreFile(file); + dropDB(connectionProperties); + + ImportInitvalues importInit = getApplicationContext().getBean(ImportInitvalues.class); + importInit.loadSystem(cfg, force); + processRestore(backup); + } else { + checkAdminDetails(); + dropDB(connectionProperties); + + ImportInitvalues importInit = getApplicationContext().getBean(ImportInitvalues.class); + importInit.loadAll(cfg, force); + } + } + + private void processBackup(String file) throws Exception { + File f; + if (!cmdl.hasOption("file")) { + file = "backup_" + CalendarPatterns.getTimeForStreamId(new Date()) + ".zip"; + f = new File(home, file); + log("File name was not specified, '" + file + "' will be used"); + } else { + f = new File(file); + } + boolean includeFiles = !cmdl.hasOption("exclude-files"); + File backupDir = new File(OmFileHelper.getUploadBackupDir(), String.valueOf(System.currentTimeMillis())); + backupDir.mkdirs(); + + BackupExport export = getApplicationContext().getBean(BackupExport.class); + export.performExport(f, includeFiles, new ProgressHolder()); + FileUtils.deleteDirectory(backupDir); + backupDir.delete(); + } + + private void processFiles() throws IOException { + boolean cleanup = cmdl.hasOption("cleanup"); + if (cleanup) { + log("WARNING: all intermediate files will be clean up!"); + } + StringBuilder report = new StringBuilder(); + reportUploads(report, cleanup); + reportStreams(report, cleanup); + log(report); + } + + private void processLdap() throws BeansException, OmException { + if (!cmdl.hasOption("d")) { + log("Please specify LDAP domain Id."); + throw new ExitException(); + } + Long domainId = Long.valueOf(cmdl.getOptionValue('d')); + getApplicationContext().getBean(LdapLoginManagement.class).importUsers(domainId, cmdl.hasOption("print-only")); + } + private void reportUploads(StringBuilder report, boolean cleanup) throws IOException { long sectionSize = OmFileHelper.getSize(OmFileHelper.getUploadDir()); report.append("Upload totally allocates: ").append(OmFileHelper.getHumanSize(sectionSize)).append("\n"); @@ -520,7 +530,7 @@ public class Admin { return backup; } - private void restoreOm(File backup) throws Exception { + private void processRestore(File backup) throws Exception { try (InputStream is = new FileInputStream(backup)) { BackupImport importCtrl = getApplicationContext().getBean(BackupImport.class); importCtrl.performImport(is); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b2e50da1/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java index 7407904..a4ffba3 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/CalendarPatterns.java @@ -100,14 +100,13 @@ public class CalendarPatterns { private static Date validDate(String testdate) { try { - Long t = Long.valueOf(testdate); if (t != null) { return new Date(t); } - } catch (Exception err) { + //no-op } return null; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b2e50da1/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java index 6c2fd5e..8910122 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/ByteArrayDataSource.java @@ -44,6 +44,7 @@ public class ByteArrayDataSource implements DataSource { } data = os.toByteArray(); } catch (IOException ioex) { + //no-op } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b2e50da1/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java ---------------------------------------------------------------------- diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java index 9fd244b..49015e1 100644 --- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java +++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/NetTestWebService.java @@ -106,7 +106,9 @@ public class NetTestWebService { @Path("/") public void upload(@Multipart(value = "stream", type = MediaType.APPLICATION_OCTET_STREAM) InputStream stream) throws IOException { byte[] b = new byte[1024]; - while (stream.read(b) >= 0 ) {}; + while (stream.read(b) >= 0 ) { + //no-op + }; } private static TestType getTypeByString(String typeString) {
