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();


Reply via email to