Author: [email protected]
Date: Wed Mar 30 12:28:27 2011
New Revision: 927
Log:
AMDATU-283 some cleanup of the servlet/filterhandlerregistry code
Modified:
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
Modified:
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
Wed Mar 30 12:28:27 2011
@@ -62,7 +62,7 @@
int serviceId = getIntProperty(serviceReference, Constants.SERVICE_ID,
0);
int serviceRanking = getIntProperty(serviceReference,
Constants.SERVICE_RANKING, 0);
String contextId = getStringProperty(serviceReference,
DispatcherServiceImpl.CONTEXT_ID_KEY);
- if(contextId == null){
+ if (contextId == null) {
contextId = "";
}
String pattern = getStringProperty(serviceReference,
DispatcherService.PATTERN_KEY);
@@ -80,29 +80,28 @@
throw new IllegalStateException("unforseen duplicate
extender....");
}
- HttpContext context = getHttpContext(contextId,
serviceReference.getBundle());
- if (context != null) {
- HandlerServletContext servletContextWrapper =
+ HttpContext context = getHttpContext(contextId,
serviceReference.getBundle());
+ if (context != null) {
+ HandlerServletContext servletContextWrapper =
new HandlerServletContext(getServletContext(),
context);
- filterHandler.setExtServletContext(servletContextWrapper);
- new Thread(new Runnable() {
-
- public void run() {
- try {
- filterHandler.init();
- }
- catch (ServletException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ filterHandler.setExtServletContext(servletContextWrapper);
+
+ new Thread(new Runnable() {
+ public void run() {
+ try {
+ filterHandler.init();
}
- }).start();
- }
+ catch (ServletException e) {
+ filterHandler.destroy();
+ }
+ }
+ }).start();
+ }
- m_extenderFilterHandlers.put(serviceReference, filterHandler);
- m_extenderFilterHandlerArray =
+ m_extenderFilterHandlers.put(serviceReference, filterHandler);
+ m_extenderFilterHandlerArray =
m_extenderFilterHandlers.values().toArray(new
FilterHandler[m_extenderFilterHandlers.size()]);
- Arrays.sort(m_extenderFilterHandlerArray);
+ Arrays.sort(m_extenderFilterHandlerArray);
}
finally {
m_extenderFilterHandlersLock.writeLock().unlock();
@@ -137,7 +136,7 @@
int serviceId = getIntProperty(serviceReference, Constants.SERVICE_ID,
0);
int serviceRanking = getIntProperty(serviceReference,
Constants.SERVICE_RANKING, 0);
String contextId = getStringProperty(serviceReference,
DispatcherServiceImpl.CONTEXT_ID_KEY);
- if(contextId == null){
+ if (contextId == null) {
contextId = "";
}
String pattern = getStringProperty(serviceReference,
DispatcherService.PATTERN_KEY);
@@ -157,27 +156,26 @@
if (m_filterHandlers.containsKey(serviceReference)) {
throw new IllegalStateException("Unexpected.... ");
}
- HttpContext context = getHttpContext(contextId,
serviceReference.getBundle());
- if (context != null) {
- HandlerServletContext servletContextWrapper =
+ HttpContext context = getHttpContext(contextId,
serviceReference.getBundle());
+ if (context != null) {
+ HandlerServletContext servletContextWrapper =
new HandlerServletContext(getServletContext(),
context);
- filterHandler.setExtServletContext(servletContextWrapper);
- new Thread(new Runnable() {
-
- public void run() {
- try {
- filterHandler.init();
- }
- catch (ServletException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ filterHandler.setExtServletContext(servletContextWrapper);
+
+ new Thread(new Runnable() {
+ public void run() {
+ try {
+ filterHandler.init();
}
- }).start();
- }
+ catch (ServletException e) {
+ filterHandler.destroy();
+ }
+ }
+ }).start();
+ }
- m_filterHandlers.put(serviceReference, filterHandler);
- m_tenantFilterHandlerArrays.clear();
+ m_filterHandlers.put(serviceReference, filterHandler);
+ m_tenantFilterHandlerArrays.clear();
}
finally {
m_filterHandlersLock.writeLock().unlock();
Modified:
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
Wed Mar 30 12:28:27 2011
@@ -57,34 +57,24 @@
try {
for (ServletHandler handler : m_servletHandlers.values()) {
-
+
if (!handler.isActive() &&
handler.getContextId().equals(contextId)) {
final ServletHandler finalHandler = handler;
HandlerServletContext servletContextWrapper =
new HandlerServletContext(getServletContext(),
context);
finalHandler.setExtServletContext(servletContextWrapper);
-
-
+
+ // outside lock
new Thread(new Runnable() {
-
public void run() {
try {
finalHandler.init();
}
catch (ServletException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ finalHandler.destroy();
+ }
}
}).start();
-
-// try {
-// handler.init();
-// }
-// catch (ServletException e) {
-// // TODO Auto-generated catch block
-// e.printStackTrace();
-// }
}
}
}
@@ -115,7 +105,7 @@
int serviceId = getIntProperty(serviceReference, Constants.SERVICE_ID,
0);
int serviceRanking = getIntProperty(serviceReference,
Constants.SERVICE_RANKING, 0);
String contextId = getStringProperty(serviceReference,
DispatcherServiceImpl.CONTEXT_ID_KEY);
- if(contextId == null){
+ if (contextId == null) {
contextId = "";
}
String alias = getStringProperty(serviceReference,
DispatcherServiceImpl.ALIAS_KEY);
@@ -135,35 +125,28 @@
if (m_servletHandlers.containsKey(serviceReference)) {
throw new IllegalStateException("Unexpected.... ");
}
-// try {
-
- // FIXME refector
+
HttpContext context = getHttpContext(contextId,
serviceReference.getBundle());
- if (context != null) {
- HandlerServletContext servletContextWrapper =
+ if (context != null) {
+ HandlerServletContext servletContextWrapper =
new HandlerServletContext(getServletContext(),
context);
- handler.setExtServletContext(servletContextWrapper);
-
- new Thread(new Runnable() {
-
- public void run() {
- try {
- handler.init();
- }
- catch (ServletException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ handler.setExtServletContext(servletContextWrapper);
+
+ // outside lock
+ new Thread(new Runnable() {
+ public void run() {
+ try {
+ handler.init();
}
- }).start();
- }
+ catch (ServletException e) {
+ handler.destroy();
+ }
+ }
+ }).start();
+ }
- m_servletHandlers.put(serviceReference, handler);
- m_tenantServletHandlerArrays.clear();
-// }
-// catch (ServletException e) {
-// e.printStackTrace();
-// }
+ m_servletHandlers.put(serviceReference, handler);
+ m_tenantServletHandlerArrays.clear();
}
finally {
m_servletHandlersLock.writeLock().unlock();
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits