You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2010/07/01 13:26:24 UTC
svn commit: r959619 - in /openwebbeans/trunk:
webbeans-impl/src/main/java/org/apache/webbeans/config/
webbeans-impl/src/main/java/org/apache/webbeans/util/
webbeans-jsf/src/main/java/org/apache/webbeans/jsf/
webbeans-web/src/main/java/org/apache/webbea...
Author: gerdogdu
Date: Thu Jul 1 11:26:23 2010
New Revision: 959619
URL: http://svn.apache.org/viewvc?rev=959619&view=rev
Log:
When JSF related plugins put into the server classpath, it is used by the container even if no OWB runtime exist. Adding some marker that provide we run in OWB environment.
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/ConversationAwareViewHandler.java
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/JSFUtil.java
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/OwbApplicationFactory.java
openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/WebBeansPhaseListener.java
openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/servlet/WebBeansConfigurationListener.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/config/OpenWebBeansConfiguration.java Thu Jul 1 11:26:23 2010
@@ -114,6 +114,8 @@ public class OpenWebBeansConfiguration
/**EL Adaptor*/
public static final String EL_ADAPTOR_CLASS = "org.apache.webbeans.spi.adaptor.ELAdaptor";
+ public static final String SYSTEM_PROPERTY_OWB_APPLICATION = "org.apache.webbeans.application.isOwbApplication";
+
/**
* Gets singleton instance.
* @return singleton instance
@@ -335,6 +337,12 @@ public class OpenWebBeansConfiguration
}
+ public boolean isOwbApplication()
+ {
+ String value = SecurityUtil.doPrivilegedGetSystemProperty(SYSTEM_PROPERTY_OWB_APPLICATION, "false");
+ return Boolean.valueOf(value);
+ }
+
/**
* Gets jsp property.
* @return true if jsp
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java Thu Jul 1 11:26:23 2010
@@ -190,6 +190,11 @@ public class SecurityUtil
return value;
}
+ public static void doPrivilegedSetSystemProperty(String propertyName, String value)
+ {
+ AccessController.doPrivileged(new PrivilegedActionForSetProperty(propertyName, value));
+ }
+
public static Properties doPrivilegedGetSystemProperties()
{
return AccessController.doPrivileged(SYSTEM_PROPERTY_ACTION);
@@ -215,6 +220,27 @@ public class SecurityUtil
}
+ protected static class PrivilegedActionForSetProperty implements PrivilegedAction<Object>
+ {
+ private final String propertyName;
+
+ private final String value;
+
+ protected PrivilegedActionForSetProperty(String propertyName, String value)
+ {
+ this.propertyName = propertyName;
+ this.value = value;
+ }
+
+ @Override
+ public String run()
+ {
+ System.setProperty(propertyName, value);
+ return null;
+ }
+
+ }
+
protected static class PrivilegedActionGetSystemProperties implements PrivilegedAction<Properties>
{
Modified: openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/ConversationAwareViewHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/ConversationAwareViewHandler.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/ConversationAwareViewHandler.java (original)
+++ openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/ConversationAwareViewHandler.java Thu Jul 1 11:26:23 2010
@@ -43,6 +43,11 @@ public class ConversationAwareViewHandle
@Override
public String getActionURL(FacesContext context, String viewId)
{
+ if(!JSFUtil.isOwbApplication())
+ {
+ return delegate.getActionURL(context, viewId);
+ }
+
String url = delegate.getActionURL(context, viewId);
ConversationManager conversationManager = ConversationManager.getInstance();
@@ -62,6 +67,12 @@ public class ConversationAwareViewHandle
public String getRedirectURL(FacesContext context, String viewId,
Map<String, List<String>> parameters, boolean includeViewParams)
{
+
+ if(!JSFUtil.isOwbApplication())
+ {
+ return delegate.getRedirectURL(context, viewId, parameters, includeViewParams);
+ }
+
String url = delegate.getRedirectURL(context, viewId, parameters, includeViewParams);
int indexOfQuery = url.indexOf('?');
if (indexOfQuery > 0)
Modified: openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/JSFUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/JSFUtil.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/JSFUtil.java (original)
+++ openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/JSFUtil.java Thu Jul 1 11:26:23 2010
@@ -26,6 +26,7 @@ import javax.faces.context.ExternalConte
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
+import org.apache.webbeans.config.OpenWebBeansConfiguration;
import org.apache.webbeans.util.Asserts;
@@ -185,4 +186,9 @@ public final class JSFUtil
String cid = getJSFRequestParameter("cid");
return cid;
}
+
+ public static boolean isOwbApplication()
+ {
+ return OpenWebBeansConfiguration.getInstance().isOwbApplication();
+ }
}
Modified: openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/OwbApplicationFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/OwbApplicationFactory.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/OwbApplicationFactory.java (original)
+++ openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/OwbApplicationFactory.java Thu Jul 1 11:26:23 2010
@@ -35,6 +35,11 @@ public class OwbApplicationFactory exten
@Override
public Application getApplication()
{
+ if(!JSFUtil.isOwbApplication())
+ {
+ return wrapped.getApplication();
+ }
+
if(wrappedApplication == null)
{
wrappedApplication = new OwbApplication(wrapped.getApplication());
Modified: openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/WebBeansPhaseListener.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/WebBeansPhaseListener.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/WebBeansPhaseListener.java (original)
+++ openwebbeans/trunk/webbeans-jsf/src/main/java/org/apache/webbeans/jsf/WebBeansPhaseListener.java Thu Jul 1 11:26:23 2010
@@ -52,6 +52,11 @@ public class WebBeansPhaseListener imple
if (phaseEvent.getPhaseId().equals(PhaseId.RENDER_RESPONSE) ||
JSFUtil.getCurrentFacesContext().getResponseComplete())
{
+ if(!JSFUtil.isOwbApplication())
+ {
+ return;
+ }
+
ConversationManager conversationManager = ConversationManager.getInstance();
Conversation conversation = conversationManager.getConversationBeanReference();
@@ -76,7 +81,7 @@ public class WebBeansPhaseListener imple
*/
public void beforePhase(PhaseEvent phaseEvent)
{
- if (phaseEvent.getPhaseId().equals(PhaseId.RESTORE_VIEW))
+ if (phaseEvent.getPhaseId().equals(PhaseId.RESTORE_VIEW) && JSFUtil.isOwbApplication())
{
//It looks for cid parameter in the JSF request.
//If request contains cid, then it must restore conversation
Modified: openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/servlet/WebBeansConfigurationListener.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/servlet/WebBeansConfigurationListener.java?rev=959619&r1=959618&r2=959619&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/servlet/WebBeansConfigurationListener.java (original)
+++ openwebbeans/trunk/webbeans-web/src/main/java/org/apache/webbeans/servlet/WebBeansConfigurationListener.java Thu Jul 1 11:26:23 2010
@@ -31,10 +31,12 @@ import javax.servlet.http.HttpSessionEve
import javax.servlet.http.HttpSessionListener;
import org.apache.webbeans.config.OWBLogConst;
+import org.apache.webbeans.config.OpenWebBeansConfiguration;
import org.apache.webbeans.conversation.ConversationManager;
import org.apache.webbeans.lifecycle.LifecycleFactory;
import org.apache.webbeans.logger.WebBeansLogger;
import org.apache.webbeans.spi.ContainerLifecycle;
+import org.apache.webbeans.util.SecurityUtil;
import org.apache.webbeans.util.WebBeansUtil;
/**
@@ -50,7 +52,7 @@ public class WebBeansConfigurationListen
/**Manages the container lifecycle*/
private ContainerLifecycle lifeCycle = null;
-
+
/**
* Default constructor
*/
@@ -68,7 +70,8 @@ public class WebBeansConfigurationListen
try
{
- this.lifeCycle.startApplication(event);
+ this.lifeCycle.startApplication(event);
+ SecurityUtil.doPrivilegedSetSystemProperty(OpenWebBeansConfiguration.SYSTEM_PROPERTY_OWB_APPLICATION, "true");
}
catch (Exception e)
{
@@ -77,6 +80,7 @@ public class WebBeansConfigurationListen
}
}
+
/**
* {@inheritDoc}
*/
@@ -84,6 +88,7 @@ public class WebBeansConfigurationListen
{
this.lifeCycle.stopApplication(event);
this.lifeCycle = null;
+ SecurityUtil.doPrivilegedSetSystemProperty(OpenWebBeansConfiguration.SYSTEM_PROPERTY_OWB_APPLICATION, "false");
}
/**