You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by de...@apache.org on 2017/02/03 13:37:10 UTC

svn commit: r1781547 - in /myfaces/tobago/trunk: tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/ tobago-core/src/main/java/org/apache/myfaces/tobago/r...

Author: deki
Date: Fri Feb  3 13:37:10 2017
New Revision: 1781547

URL: http://svn.apache.org/viewvc?rev=1781547&view=rev
Log:
TOBAGO-1694: Remove Tobago ProjectStage in favor for JSF ProjectStage

Modified:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigBuilder.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigImpl.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/TobagoRenderKit.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugUtils.java
    myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
    myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigBuilder.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigBuilder.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigBuilder.java Fri Feb  3 13:37:10 2017
@@ -52,7 +52,6 @@ public final class TobagoConfigBuilder {
     sorter.sort();
     final TobagoConfigImpl tobagoConfig = sorter.merge();
 
-    tobagoConfig.initProjectState(servletContext);
     // prepare themes
     tobagoConfig.resolveThemes();
 

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigImpl.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigImpl.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigImpl.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/config/TobagoConfigImpl.java Fri Feb  3 13:37:10 2017
@@ -22,7 +22,6 @@ package org.apache.myfaces.tobago.intern
 import org.apache.myfaces.tobago.config.TobagoConfig;
 import org.apache.myfaces.tobago.context.Theme;
 import org.apache.myfaces.tobago.context.ThemeImpl;
-import org.apache.myfaces.tobago.internal.util.JndiUtils;
 import org.apache.myfaces.tobago.sanitizer.Sanitizer;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -30,10 +29,6 @@ import org.slf4j.LoggerFactory;
 import javax.faces.application.Application;
 import javax.faces.application.ProjectStage;
 import javax.faces.context.FacesContext;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.servlet.ServletContext;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -60,7 +55,6 @@ public class TobagoConfigImpl extends To
   private String defaultThemeName;
   private Map<String, ThemeImpl> availableThemes;
   private RenderersConfig renderersConfig;
-  private ProjectStage projectStage;
   private boolean createSessionSecret;
   private boolean checkSessionSecret;
   private boolean preventFrameAttacks;
@@ -223,51 +217,14 @@ public class TobagoConfigImpl extends To
     this.renderersConfig = renderersConfig;
   }
 
+  /**
+   * @deprecated use FacesContext.isProjectStage
+   * @return the ProjectStage
+   */
   @Override
+  @Deprecated
   public ProjectStage getProjectStage() {
-    return projectStage;
-  }
-
-  // TODO one init method
-  protected void initProjectState(final ServletContext servletContext) {
-    checkLocked();
-    String stageName = null;
-    try {
-      final Context ctx = new InitialContext();
-      final Object obj = JndiUtils.getJndiProperty(ctx, "jsf", "ProjectStage");
-      if (obj != null) {
-        if (obj instanceof String) {
-          stageName = (String) obj;
-        } else {
-          LOG.warn("JNDI lookup for key {} should return a java.lang.String value",
-              ProjectStage.PROJECT_STAGE_JNDI_NAME);
-        }
-      }
-    } catch (final NamingException e) {
-      // ignore
-    }
-
-    if (stageName == null) {
-      stageName = servletContext.getInitParameter(ProjectStage.PROJECT_STAGE_PARAM_NAME);
-    }
-
-    if (stageName == null) {
-      stageName = System.getProperty("org.apache.myfaces.PROJECT_STAGE");
-    }
-
-    if (stageName != null) {
-      try {
-        projectStage = ProjectStage.valueOf(stageName);
-      } catch (final IllegalArgumentException e) {
-        LOG.error("Couldn't discover the current project stage", e);
-      }
-    }
-    if (projectStage == null) {
-      if (LOG.isInfoEnabled()) {
-        LOG.info("Couldn't discover the current project stage, using {}", ProjectStage.Production);
-      }
-      projectStage = ProjectStage.Production;
-    }
+    return FacesContext.getCurrentInstance().getApplication().getProjectStage();
   }
 
   protected synchronized void initDefaultValidatorInfo() {
@@ -392,8 +349,6 @@ public class TobagoConfigImpl extends To
     builder.append(defaultTheme != null ? defaultTheme.getName() : null);
     builder.append(", \navailableThemes=");
     builder.append(availableThemes.keySet());
-    builder.append(", \nprojectStage=");
-    builder.append(projectStage);
     builder.append(", \ncreateSessionSecret=");
     builder.append(createSessionSecret);
     builder.append(", \ncheckSessionSecret=");

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/PageRenderer.java Fri Feb  3 13:37:10 2017
@@ -148,7 +148,7 @@ public class PageRenderer extends Render
     }
 
     final String clientId = page.getClientId(facesContext);
-    final boolean productionMode = tobagoConfig.getProjectStage() == ProjectStage.Production;
+    final boolean productionMode = facesContext.isProjectStage(ProjectStage.Production);
     final boolean preventFrameAttacks = tobagoConfig.isPreventFrameAttacks();
     final Markup markup = page.getMarkup();
     final TobagoClass spread = markup != null && markup.contains(Markup.SPREAD) ? TobagoClass.SPREAD : null;

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/TobagoRenderKit.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/TobagoRenderKit.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/TobagoRenderKit.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/TobagoRenderKit.java Fri Feb  3 13:37:10 2017
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.renderkit;
 
-import org.apache.myfaces.tobago.config.TobagoConfig;
 import org.apache.myfaces.tobago.internal.webapp.DebugResponseWriterWrapper;
 import org.apache.myfaces.tobago.internal.webapp.HtmlResponseWriter;
 import org.apache.myfaces.tobago.internal.webapp.XmlResponseWriter;
@@ -92,7 +91,7 @@ public class TobagoRenderKit extends Ren
       // XXX enable xhtml here, by hand:
       //      responseWriter = new XmlResponseWriter(writer, "application/xhtml+xml", characterEncoding);
     }
-    if (TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Development) {
+    if (facesContext.isProjectStage(ProjectStage.Development)) {
       responseWriter = new DebugResponseWriterWrapper(responseWriter);
     }
     return responseWriter;

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java Fri Feb  3 13:37:10 2017
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.util;
 
-import org.apache.myfaces.tobago.config.TobagoConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,7 +44,7 @@ public class DebugPhaseListener implemen
   @Override
   public void afterPhase(final PhaseEvent phaseEvent) {
     final FacesContext facesContext = phaseEvent.getFacesContext();
-    final boolean productionMode = TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Production;
+    final boolean productionMode = facesContext.isProjectStage(ProjectStage.Production);
     if (facesContext.getResponseComplete() || productionMode) {
       return;
     }
@@ -94,7 +93,7 @@ public class DebugPhaseListener implemen
   @Override
   public void beforePhase(final PhaseEvent phaseEvent) {
     final FacesContext facesContext = phaseEvent.getFacesContext();
-    final boolean productionMode = TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Production;
+    final boolean productionMode = facesContext.isProjectStage(ProjectStage.Production);
     if (facesContext.getResponseComplete()) {
       LOG.info("Response is completed.");
       return;

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugUtils.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugUtils.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugUtils.java Fri Feb  3 13:37:10 2017
@@ -19,8 +19,6 @@
 
 package org.apache.myfaces.tobago.util;
 
-import org.apache.myfaces.tobago.config.TobagoConfig;
-
 import javax.faces.application.FacesMessage;
 import javax.faces.application.ProjectStage;
 import javax.faces.component.UIComponent;
@@ -104,7 +102,7 @@ public final class DebugUtils {
   }
 
   public static void addDevelopmentMessage(final FacesContext facesContext, final String message) {
-    if (TobagoConfig.getInstance(FacesContext.getCurrentInstance()).getProjectStage() == ProjectStage.Development) {
+    if (facesContext.isProjectStage(ProjectStage.Development)) {
       facesContext.addMessage(null, new FacesMessage(message));
     }
   }

Modified: myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/test/java/org/apache/myfaces/tobago/internal/config/AbstractTobagoTestBase.java Fri Feb  3 13:37:10 2017
@@ -73,7 +73,6 @@ public abstract class AbstractTobagoTest
     tobagoConfig.addAvailableTheme(theme);
     tobagoConfig.addAvailableTheme(one);
     tobagoConfig.resolveThemes();
-    tobagoConfig.initProjectState(servletContext);
     tobagoConfig.initDefaultValidatorInfo();
     servletContext.setAttribute(TobagoConfig.TOBAGO_CONFIG, tobagoConfig);
     try {

Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml?rev=1781547&r1=1781546&r2=1781547&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/menu.xhtml Fri Feb  3 13:37:10 2017
@@ -86,7 +86,7 @@
           <tc:link omit="true" label="Info" id="headerInfo">
             <tc:link omit="true" label="Theme: #{clientConfigController.localizedTheme}" disabled="true"/>
             <tc:link omit="true" label="Locale: #{clientConfigController.localizedLocale}"/>
-            <tc:link omit="true" label="Project Stage: #{tobagoContext.tobagoConfig.projectStage}"/>
+            <tc:link omit="true" label="Project Stage: #{facesContext.application.projectStage}"/>
             <tc:link omit="true" label="CSP mode: #{tobagoContext.tobagoConfig.contentSecurityPolicy.mode}"/>
             <tc:link omit="true"
                         label="Requests: #{activityList.values[0].jsfRequest} / AJAX: #{activityList.values[0].ajaxRequest}"/>