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 2016/05/12 16:21:26 UTC

svn commit: r1743521 - in /openmeetings/application: branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/ branches/3.2.x/openmeetings-db/src/main/ja...

Author: solomax
Date: Thu May 12 16:21:26 2016
New Revision: 1743521

URL: http://svn.apache.org/viewvc?rev=1743521&view=rev
Log:
[OPENMEETINGS-1393] minor app destroy fix

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
    openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
    openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
    openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
    openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java Thu May 12 16:21:26 2016
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -45,6 +46,7 @@ import org.apache.wicket.request.cycle.R
 import org.apache.wicket.request.cycle.RequestCycleContext;
 import org.apache.wicket.util.tester.WicketTester;
 import org.slf4j.Logger;
+import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class ApplicationHelper {
@@ -119,10 +121,20 @@ public class ApplicationHelper {
 			WebSession s = WebSession.get();
 			if (langId > 0) {
 				((IWebSession)s).setLanguage(langId);
-				
 			}
-			ThreadContext.setSession(s);
 		}
 		return a;
 	}
+	
+	public static void destroyApplication() {
+		WebApplicationContext ctx = getWebApplicationContext(((WebApplication)ensureApplication()).getServletContext());
+		((XmlWebApplicationContext)ctx).destroy();
+		ThreadContext.setApplication(null);
+		ThreadContext.setRequestCycle(null);
+		ThreadContext.setSession(null);
+	}
+
+	public static WebApplicationContext getApplicationContext(Long langId) {
+		return getWebApplicationContext(((WebApplication)ensureApplication(langId)).getServletContext());
+	}
 }

Modified: openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Thu May 12 16:21:26 2016
@@ -18,12 +18,11 @@
  */
 package org.apache.openmeetings.cli;
 
-import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
 import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -58,6 +57,7 @@ import org.apache.openmeetings.db.dao.ba
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.ApplicationHelper;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
 import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -67,13 +67,11 @@ import org.apache.openmeetings.util.Impo
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.mail.MailUtil;
-import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.string.StringValue;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
 import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class Admin {
 	private static final Logger log = Red5LoggerFactory.getLogger(Admin.class);
@@ -174,7 +172,7 @@ public class Admin {
 	private WebApplicationContext getApplicationContext() {
 		if (ctx == null) {
 			Long lngId = StringValue.valueOf(cfg.defaultLangId).toLong(1L);
-			ctx = getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
+			ctx = ApplicationHelper.getApplicationContext(lngId);
 			SchedulerFactoryBean sfb = ctx.getBean(SchedulerFactoryBean.class);
 			try {
 				sfb.getScheduler().shutdown(false);
@@ -487,7 +485,7 @@ public class Admin {
 	
 	private void immediateDropDB(ConnectionProperties props) throws Exception {
 		if (ctx != null) {
-			((XmlWebApplicationContext)ctx).destroy();
+			destroyApplication();
 			ctx = null;
 		}
 		JDBCConfigurationImpl conf = new JDBCConfigurationImpl();

Modified: openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java Thu May 12 16:21:26 2016
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -45,6 +46,7 @@ import org.apache.wicket.request.cycle.R
 import org.apache.wicket.request.cycle.RequestCycleContext;
 import org.apache.wicket.util.tester.WicketTester;
 import org.slf4j.Logger;
+import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class ApplicationHelper {
@@ -119,10 +121,20 @@ public class ApplicationHelper {
 			WebSession s = WebSession.get();
 			if (langId > 0) {
 				((IWebSession)s).setLanguage(langId);
-				
 			}
-			ThreadContext.setSession(s);
 		}
 		return a;
 	}
+	
+	public static void destroyApplication() {
+		WebApplicationContext ctx = getWebApplicationContext(((WebApplication)ensureApplication()).getServletContext());
+		((XmlWebApplicationContext)ctx).destroy();
+		ThreadContext.setApplication(null);
+		ThreadContext.setRequestCycle(null);
+		ThreadContext.setSession(null);
+	}
+
+	public static WebApplicationContext getApplicationContext(Long langId) {
+		return getWebApplicationContext(((WebApplication)ensureApplication(langId)).getServletContext());
+	}
 }

Modified: openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Thu May 12 16:21:26 2016
@@ -18,12 +18,11 @@
  */
 package org.apache.openmeetings.cli;
 
-import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
 import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -58,6 +57,7 @@ import org.apache.openmeetings.db.dao.ba
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.ApplicationHelper;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
 import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -67,13 +67,11 @@ import org.apache.openmeetings.util.Impo
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.mail.MailUtil;
-import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.string.StringValue;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
 import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class Admin {
 	private static final Logger log = Red5LoggerFactory.getLogger(Admin.class);
@@ -174,7 +172,7 @@ public class Admin {
 	private WebApplicationContext getApplicationContext() {
 		if (ctx == null) {
 			Long lngId = StringValue.valueOf(cfg.defaultLangId).toLong(1L);
-			ctx = getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
+			ctx = ApplicationHelper.getApplicationContext(lngId);
 			SchedulerFactoryBean sfb = ctx.getBean(SchedulerFactoryBean.class);
 			try {
 				sfb.getScheduler().shutdown(false);
@@ -487,7 +485,7 @@ public class Admin {
 	
 	private void immediateDropDB(ConnectionProperties props) throws Exception {
 		if (ctx != null) {
-			((XmlWebApplicationContext)ctx).destroy();
+			destroyApplication();
 			ctx = null;
 		}
 		JDBCConfigurationImpl conf = new JDBCConfigurationImpl();

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/ApplicationHelper.java Thu May 12 16:21:26 2016
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static org.springframework.web.context.WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE;
+import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -45,6 +46,7 @@ import org.apache.wicket.request.cycle.R
 import org.apache.wicket.request.cycle.RequestCycleContext;
 import org.apache.wicket.util.tester.WicketTester;
 import org.slf4j.Logger;
+import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class ApplicationHelper {
@@ -119,10 +121,20 @@ public class ApplicationHelper {
 			WebSession s = WebSession.get();
 			if (langId > 0) {
 				((IWebSession)s).setLanguage(langId);
-				
 			}
-			ThreadContext.setSession(s);
 		}
 		return a;
 	}
+	
+	public static void destroyApplication() {
+		WebApplicationContext ctx = getWebApplicationContext(((WebApplication)ensureApplication()).getServletContext());
+		((XmlWebApplicationContext)ctx).destroy();
+		ThreadContext.setApplication(null);
+		ThreadContext.setRequestCycle(null);
+		ThreadContext.setSession(null);
+	}
+
+	public static WebApplicationContext getApplicationContext(Long langId) {
+		return getWebApplicationContext(((WebApplication)ensureApplication(langId)).getServletContext());
+	}
 }

Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java?rev=1743521&r1=1743520&r2=1743521&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/cli/Admin.java Thu May 12 16:21:26 2016
@@ -18,12 +18,11 @@
  */
 package org.apache.openmeetings.cli;
 
-import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static org.apache.openmeetings.db.util.ApplicationHelper.destroyApplication;
 import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength;
 import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
-import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -58,6 +57,7 @@ import org.apache.openmeetings.db.dao.ba
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.ApplicationHelper;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
 import org.apache.openmeetings.installation.InstallationDocumentHandler;
@@ -67,13 +67,11 @@ import org.apache.openmeetings.util.Impo
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.mail.MailUtil;
-import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.string.StringValue;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
 import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.context.support.XmlWebApplicationContext;
 
 public class Admin {
 	private static final Logger log = Red5LoggerFactory.getLogger(Admin.class);
@@ -174,7 +172,7 @@ public class Admin {
 	private WebApplicationContext getApplicationContext() {
 		if (ctx == null) {
 			Long lngId = StringValue.valueOf(cfg.defaultLangId).toLong(1L);
-			ctx = getWebApplicationContext(((WebApplication)ensureApplication(lngId)).getServletContext());
+			ctx = ApplicationHelper.getApplicationContext(lngId);
 			SchedulerFactoryBean sfb = ctx.getBean(SchedulerFactoryBean.class);
 			try {
 				sfb.getScheduler().shutdown(false);
@@ -487,7 +485,7 @@ public class Admin {
 	
 	private void immediateDropDB(ConnectionProperties props) throws Exception {
 		if (ctx != null) {
-			((XmlWebApplicationContext)ctx).destroy();
+			destroyApplication();
 			ctx = null;
 		}
 		JDBCConfigurationImpl conf = new JDBCConfigurationImpl();