You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2013/04/19 17:29:07 UTC

svn commit: r1469901 - in /myfaces/tobago/branches/tobago-1.5.x: tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/ tobago-core/src/main/java/org/apache/myfaces/tobago/util/ tobago-example/tobago-example-test/src/main/webapp/test/link/ toba...

Author: lofwyr
Date: Fri Apr 19 15:29:07 2013
New Revision: 1469901

URL: http://svn.apache.org/r1469901
Log:
TOBAGO-1254: Improve logging

Added:
    myfaces/tobago/branches/tobago-1.5.x/tobago-example/tobago-example-test/src/main/webapp/test/link/
Modified:
    myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/InputRendererBase.java
    myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/RendererBase.java
    myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java
    myfaces/tobago/branches/tobago-1.5.x/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java

Modified: myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/InputRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/InputRendererBase.java?rev=1469901&r1=1469900&r2=1469901&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/InputRendererBase.java (original)
+++ myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/InputRendererBase.java Fri Apr 19 15:29:07 2013
@@ -19,6 +19,8 @@
 
 package org.apache.myfaces.tobago.renderkit;
 
+import org.apache.commons.lang.StringUtils;
+import org.apache.myfaces.tobago.component.Attributes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -33,7 +35,7 @@ public class InputRendererBase extends L
   private static final Logger LOG = LoggerFactory.getLogger(InputRendererBase.class);
 
   public void decode(FacesContext context, UIComponent component) {
-    UIInput uiInput;
+    final UIInput uiInput;
     if (component instanceof UIInput) {
       uiInput = (UIInput) component;
     } else {
@@ -44,19 +46,17 @@ public class InputRendererBase extends L
       return;
     }
 
-    String clientId = component.getClientId(context);
+    final String clientId = component.getClientId(context);
 
-    Map requestParameterMap = context.getExternalContext()
-        .getRequestParameterMap();
+    final Map requestParameterMap = context.getExternalContext().getRequestParameterMap();
     if (requestParameterMap.containsKey(clientId)) {
+      final String newValue = (String) requestParameterMap.get(clientId);
       if (LOG.isDebugEnabled()) {
+        final boolean password = ComponentUtils.getBooleanAttribute(component, Attributes.PASSWORD);
         LOG.debug("clientId = '" + clientId + "'");
         LOG.debug("requestParameterMap.get(clientId) = '"
-            + requestParameterMap.get(clientId) + "'");
-        LOG.debug("requestParameterMap.get(clientId).getClass().getName() = '"
-            + requestParameterMap.get(clientId).getClass().getName() + "'");
+            + (password ? StringUtils.leftPad("", newValue.length(), '*') : newValue) + "'");
       }
-      String newValue = (String) requestParameterMap.get(clientId);
       uiInput.setSubmittedValue(newValue);
     }
   }

Modified: myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/RendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/RendererBase.java?rev=1469901&r1=1469900&r2=1469901&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/RendererBase.java (original)
+++ myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/renderkit/RendererBase.java Fri Apr 19 15:29:07 2013
@@ -137,11 +137,7 @@ public class RendererBase extends Render
 
   protected Object getValue(UIComponent component) {
     if (component instanceof ValueHolder) {
-      Object value = ((ValueHolder) component).getValue();
-      if (LOG.isDebugEnabled()) {
-        LOG.debug("component.getValue() returned " + value);
-      }
-      return value;
+      return ((ValueHolder) component).getValue();
     } else {
       return null;
     }

Modified: myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java?rev=1469901&r1=1469900&r2=1469901&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java (original)
+++ myfaces/tobago/branches/tobago-1.5.x/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java Fri Apr 19 15:29:07 2013
@@ -19,69 +19,69 @@
 
 package org.apache.myfaces.tobago.util;
 
+import org.apache.myfaces.tobago.application.ProjectStage;
+import org.apache.myfaces.tobago.config.TobagoConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.faces.context.FacesContext;
+import javax.faces.application.FacesMessage;
 import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
 import javax.faces.event.PhaseEvent;
 import javax.faces.event.PhaseId;
 import javax.faces.event.PhaseListener;
-import javax.faces.application.FacesMessage;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
-import java.util.Map;
-import java.util.Iterator;
 import java.text.MessageFormat;
+import java.util.Iterator;
+import java.util.Map;
 
-/*
- * Date: Dec 6, 2005
- * Time: 7:50:25 PM
- */
 public class DebugPhaseListener implements PhaseListener {
+
   private static final Logger LOG = LoggerFactory.getLogger(DebugPhaseListener.class);
+
   private static final String KEY = DebugPhaseListener.class.getName() + "_ID_";
 
   @SuppressWarnings("unchecked")
   public void afterPhase(PhaseEvent phaseEvent) {
+    final FacesContext facesContext = FacesContext.getCurrentInstance();
+    final boolean productionMode = TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Production;
+    if (productionMode) {
+      return;
+    }
+
     if (LOG.isInfoEnabled()) {
-      Date end = new Date();
-      FacesContext facesContext = phaseEvent.getFacesContext();
-      Map map = facesContext.getExternalContext().getRequestMap();
+      final Long end = System.currentTimeMillis();
+      final Map map = facesContext.getExternalContext().getRequestMap();
       map.put(KEY + phaseEvent.getPhaseId().getOrdinal() + "E", end);
 
       if (LOG.isTraceEnabled()) {
-        LOG.trace("After Phase :" + phaseEvent.getPhaseId()
-            + " Time=" + end.getTime());
+        LOG.trace("After Phase :" + phaseEvent.getPhaseId() + " Time=" + end);
       }
 
       if (LOG.isDebugEnabled()) {
-        Date start
-            = (Date) map.get(KEY + phaseEvent.getPhaseId().getOrdinal() + "S");
-        LOG.debug("Phase " + phaseEvent.getPhaseId() + " needs "
-            + (end.getTime() - start.getTime() + " milliseconds"));
+        final Long start = (Long) map.get(KEY + phaseEvent.getPhaseId().getOrdinal() + "S");
+        LOG.debug("Phase " + phaseEvent.getPhaseId() + " needs " + (end - start + " milliseconds"));
       }
 
       if (phaseEvent.getPhaseId().getOrdinal() == 6) {
         if (LOG.isTraceEnabled()) {
-          HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
-          LOG.trace(" response Locale            = \"" + response.getLocale() + "\"");
-          LOG.trace(" response ContentType       = \"" + response.getContentType() + "\"");
-          LOG.trace(" response CharacterEncoding = \"{" + response.getCharacterEncoding() + "}\"");
+          final HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
+          LOG.trace(" response Locale            = '" + response.getLocale() + "'");
+          LOG.trace(" response ContentType       = '" + response.getContentType() + "'");
+          LOG.trace(" response CharacterEncoding = '{" + response.getCharacterEncoding() + "}'");
         }
 
-        Date start = (Date) map.get(KEY + "1S");
+        final Long start = (Long) map.get(KEY + "1S");
         if (start != null) {
-          LOG.info("Total response time : "
-              + (end.getTime() - start.getTime() + " milliseconds"));
+          LOG.info("Total response time : " + (end - start + " milliseconds"));
         }
       }
       for (Iterator iter = facesContext.getClientIdsWithMessages(); iter.hasNext();) {
-        String clientId = (String) iter.next();
+        final String clientId = (String) iter.next();
 
         for (Iterator msgIter = facesContext.getMessages(clientId); msgIter.hasNext();) {
-          FacesMessage msg = (FacesMessage) msgIter.next();
+          final FacesMessage msg = (FacesMessage) msgIter.next();
           LOG.info(MessageFormat.format("Faces message found."
               + "\n  Component: {0} \n  Severity : {1}"
               + "\n  Summary  : {2} \n  Detail   : {3}",
@@ -93,51 +93,55 @@ public class DebugPhaseListener implemen
 
   @SuppressWarnings("unchecked")
   public void beforePhase(PhaseEvent phaseEvent) {
+    final FacesContext facesContext = FacesContext.getCurrentInstance();
+    final boolean productionMode = TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Production;
+    if (productionMode) {
+      LOG.warn("DebugPhaseListener disabled, because the project stage is 'production'.");
+      return;
+    }
+
     if (LOG.isInfoEnabled()) {
-      Date start = null;
-      Map map = null;
-      PhaseId phaseId = phaseEvent.getPhaseId();
+      final PhaseId phaseId = phaseEvent.getPhaseId();
       if (LOG.isDebugEnabled() || phaseId.getOrdinal() == 1) {
 
-        ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
+        final ExternalContext externalContext = facesContext.getExternalContext();
 
         if (LOG.isTraceEnabled() && PhaseId.RESTORE_VIEW == phaseId) {
           // this is before restoreView
 
-          Object request = externalContext.getRequest();
+          final Object request = externalContext.getRequest();
           if (request instanceof HttpServletRequest) {
             HttpServletRequest servletRequest = (HttpServletRequest) request;
             LOG.trace("RequestURI = " + servletRequest.getRequestURI());
           }
-          Map headerMap = externalContext.getRequestHeaderMap();
+          final Map headerMap = externalContext.getRequestHeaderMap();
           for (Object key : headerMap.keySet()) {
-            LOG.trace("Header : \"" + key + "\" = \"" + headerMap.get(key) + "\"");
+            LOG.trace("Header : '" + key + "' = '" + headerMap.get(key) + "'");
           }
-          Map parameterMap = externalContext.getRequestParameterMap();
+          final Map parameterMap = externalContext.getRequestParameterMap();
           for (Object key : parameterMap.keySet()) {
-            LOG.trace("Param  : \"" + key + "\" = \"" + parameterMap.get(key) + "\"");
+            LOG.trace("Param  : '" + key + "' = '" + parameterMap.get(key) + "'");
           }
         }
 
-        start = new Date();
-        map = externalContext.getRequestMap();
+        final Long start = System.currentTimeMillis();
+        final Map map = externalContext.getRequestMap();
         map.put(KEY + phaseId.getOrdinal() + "S", start);
-      }
 
-      if (LOG.isDebugEnabled()) {
-        Date end = null;
-        int ordinal = phaseId.getOrdinal();
-        while (end == null && ordinal > 0) {
-          end = (Date) map.get(KEY + --ordinal + "E");
-        }
-        if (end != null) {
-          LOG.debug("Time between phases " + ordinal + " and " + phaseId.getOrdinal() + ": "
-              + (start.getTime() - end.getTime()) + " milliseconds");
+        if (LOG.isDebugEnabled()) {
+          Long end = null;
+          int ordinal = phaseId.getOrdinal();
+          while (end == null && ordinal > 0) {
+            end = (Long) map.get(KEY + --ordinal + "E");
+          }
+          if (end != null) {
+            LOG.debug("Time between phases " + ordinal + " and " + phaseId.getOrdinal() + ": "
+                + (start - end) + " milliseconds");
+          }
+        }
+        if (LOG.isTraceEnabled()) {
+          LOG.trace("Before Phase :" + phaseId + " Time=" + start);
         }
-      }
-      if (LOG.isTraceEnabled()) {
-        LOG.trace("Before Phase :" + phaseId
-            + " Time=" + start.getTime());
       }
     }
   }

Modified: myfaces/tobago/branches/tobago-1.5.x/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.5.x/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java?rev=1469901&r1=1469900&r2=1469901&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.5.x/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java (original)
+++ myfaces/tobago/branches/tobago-1.5.x/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java Fri Apr 19 15:29:07 2013
@@ -83,12 +83,14 @@ public class InRenderer extends InputRen
 
       String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, input);
 
-      String currentValue = getCurrentValue(facesContext, input);
+      final String currentValue = getCurrentValue(facesContext, input);
+      final boolean password = ComponentUtils.getBooleanAttribute(input, Attributes.PASSWORD);
       if (LOG.isDebugEnabled()) {
-        LOG.debug("currentValue = '" + currentValue + "'");
+        LOG.debug("currentValue = '"
+            + (password && currentValue != null ? StringUtils.leftPad("", currentValue.length(), '*') : currentValue)
+            + "'");
       }
-      String type = ComponentUtils.getBooleanAttribute(input,
-          Attributes.PASSWORD) ? HtmlInputTypes.PASSWORD : HtmlInputTypes.TEXT;
+      final String type = password ? HtmlInputTypes.PASSWORD : HtmlInputTypes.TEXT;
 
       // Todo: check for valid binding
       boolean renderAjaxSuggest = false;