You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2018/12/25 13:54:06 UTC

[myfaces] branch master updated (e766ee5 -> 6f3e9d6)

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git.


    from e766ee5  resolve TODOs + cleanup
     new 14c0d2e  removed TODO
     new 6f3e9d6  removed TODO

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../java/javax/faces/component/UIComponent.java    |  5 ++--
 .../javax/faces/component/UIComponentBase.java     |  6 +---
 .../faces/component/_ComponentAttributesMap.java   |  3 --
 .../java/javax/faces/context/ExternalContext.java  |  9 +-----
 .../java/javax/faces/model/ResultSetDataModel.java | 27 ++++++++---------
 .../main/java/javax/faces/webapp/FacesServlet.java |  1 -
 .../config/annotation/AnnotationConfigurator.java  |  1 -
 .../context/servlet/PartialViewContextImpl.java    | 17 ++---------
 .../renderkit/html/HtmlResponseStateManager.java   |  2 +-
 .../html/base/HtmlButtonRendererBase.java          |  7 ++---
 .../html/base/HtmlCheckboxRendererBase.java        |  8 ++---
 .../html/base/HtmlInputFileRendererBase.java       |  6 ++--
 .../html/base/HtmlListboxRendererBase.java         | 10 ++-----
 .../renderkit/html/base/HtmlMenuRendererBase.java  | 10 ++-----
 .../renderkit/html/base/HtmlRadioRendererBase.java |  1 -
 .../html/base/HtmlSecretRendererBase.java          |  1 -
 .../renderkit/html/base/HtmlTextRendererBase.java  |  5 +---
 .../html/base/HtmlTextareaRendererBase.java        |  1 -
 .../spi/impl/AllAnnotationInjectionProvider.java   |  4 +--
 .../apache/myfaces/util/SharedStringBuilder.java   | 35 ++++++++++++++++++++++
 20 files changed, 68 insertions(+), 91 deletions(-)


[myfaces] 01/02: removed TODO

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git

commit 14c0d2ef4b9eeda34e47c28bf92e0e8d951f9f21
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Tue Dec 25 14:18:58 2018 +0100

    removed TODO
---
 api/src/main/java/javax/faces/component/_ComponentAttributesMap.java | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java b/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java
index 8018f83..3d660ae 100755
--- a/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java
+++ b/api/src/main/java/javax/faces/component/_ComponentAttributesMap.java
@@ -622,9 +622,6 @@ class _ComponentAttributesMap implements Map<String, Object>, Serializable
      * UIComponent by maintaining a cache of ProperyDescriptor objects for
      * that class.
      * <p/>
-     * TODO: Consider making the cache shared between component instances;
-     * currently 100 UIInputText components means performing introspection
-     * on the UIInputText component 100 times.
      */
     private _PropertyDescriptorHolder getPropertyDescriptor(String key)
     {


[myfaces] 02/02: removed TODO

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git

commit 6f3e9d6905086c02af28fbf9fae9dcc163c293d2
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Tue Dec 25 14:54:15 2018 +0100

    removed TODO
---
 .../java/javax/faces/component/UIComponent.java    |  5 ++--
 .../javax/faces/component/UIComponentBase.java     |  6 +---
 .../java/javax/faces/context/ExternalContext.java  |  9 +-----
 .../java/javax/faces/model/ResultSetDataModel.java | 27 ++++++++---------
 .../main/java/javax/faces/webapp/FacesServlet.java |  1 -
 .../config/annotation/AnnotationConfigurator.java  |  1 -
 .../context/servlet/PartialViewContextImpl.java    | 17 ++---------
 .../renderkit/html/HtmlResponseStateManager.java   |  2 +-
 .../html/base/HtmlButtonRendererBase.java          |  7 ++---
 .../html/base/HtmlCheckboxRendererBase.java        |  8 ++---
 .../html/base/HtmlInputFileRendererBase.java       |  6 ++--
 .../html/base/HtmlListboxRendererBase.java         | 10 ++-----
 .../renderkit/html/base/HtmlMenuRendererBase.java  | 10 ++-----
 .../renderkit/html/base/HtmlRadioRendererBase.java |  1 -
 .../html/base/HtmlSecretRendererBase.java          |  1 -
 .../renderkit/html/base/HtmlTextRendererBase.java  |  5 +---
 .../html/base/HtmlTextareaRendererBase.java        |  1 -
 .../spi/impl/AllAnnotationInjectionProvider.java   |  4 +--
 .../apache/myfaces/util/SharedStringBuilder.java   | 35 ++++++++++++++++++++++
 19 files changed, 68 insertions(+), 88 deletions(-)

diff --git a/api/src/main/java/javax/faces/component/UIComponent.java b/api/src/main/java/javax/faces/component/UIComponent.java
index e37ec95..2b4781c 100755
--- a/api/src/main/java/javax/faces/component/UIComponent.java
+++ b/api/src/main/java/javax/faces/component/UIComponent.java
@@ -812,8 +812,7 @@ public abstract class UIComponent
                 expression.setValue(getFacesContext().getELContext(), this);
             }
 
-            //we issue a PostRestoreStateEvent
-            //we issue it here because the spec clearly states what UIComponent is allowed to do
+            //we issue a PostRestoreStateEvent, because the spec clearly states what UIComponent is allowed to do
             //the main issue is that the spec does not say anything about a global dispatch on this level
             //but a quick blackbox test against the ri revealed that the event clearly is dispatched
             //at restore level for every component so we either issue it here or in UIViewRoot and/or the facelet
@@ -843,7 +842,7 @@ public abstract class UIComponent
                         // avoid StackoverflowException
                         boolean shouldProcessEvent = true;
                         if (listener instanceof EventListenerWrapper && 
-                            ((EventListenerWrapper)listener).listenerCapability == 
+                            ((EventListenerWrapper)listener).listenerCapability ==
                                 EventListenerWrapper.LISTENER_TYPE_COMPONENT)
                         {
                             shouldProcessEvent = false;
diff --git a/api/src/main/java/javax/faces/component/UIComponentBase.java b/api/src/main/java/javax/faces/component/UIComponentBase.java
index 8c623e2..ccabc5a 100755
--- a/api/src/main/java/javax/faces/component/UIComponentBase.java
+++ b/api/src/main/java/javax/faces/component/UIComponentBase.java
@@ -897,7 +897,6 @@ public abstract class UIComponentBase extends UIComponent
             return _clientId;
         }
 
-        //boolean idWasNull = false;
         String id = getId();
         if (id == null)
         {
@@ -932,8 +931,6 @@ public abstract class UIComponentBase extends UIComponent
                 id = parentUniqueIdVendor.createUniqueId(context, null);
             }
             setId(id);
-            // We remember that the id was null and log a warning down below
-            // idWasNull = true;
         }
 
         UIComponent namingContainer = _ComponentUtils.findParentNamingContainer(this, false);
@@ -2484,7 +2481,7 @@ public abstract class UIComponentBase extends UIComponent
         }
     }
 
-/**
+    /**
      * <p>
      * This gets a single FacesContext-local shared stringbuilder instance, each time you call
      * _getSharedStringBuilder it sets the length of the stringBuilder instance to 0.
@@ -2522,7 +2519,6 @@ public abstract class UIComponentBase extends UIComponent
         return _getSharedStringBuilder(FacesContext.getCurrentInstance());
     }
 
-    // TODO checkstyle complains; does this have to lead with __ ?
     static StringBuilder _getSharedStringBuilder(FacesContext facesContext)
     {
         Map<Object, Object> attributes = facesContext.getAttributes();
diff --git a/api/src/main/java/javax/faces/context/ExternalContext.java b/api/src/main/java/javax/faces/context/ExternalContext.java
index 9e2a58b..32ae2f5 100755
--- a/api/src/main/java/javax/faces/context/ExternalContext.java
+++ b/api/src/main/java/javax/faces/context/ExternalContext.java
@@ -108,7 +108,6 @@ public abstract class ExternalContext
      */
     public String encodePartialActionURL(String url)
     {
-        // TODO: IMPLEMENT IMPL
         ExternalContext ctx = _MyFacesExternalContextHelper.firstInstance.get();
         
         if (ctx == null)
@@ -744,10 +743,7 @@ public abstract class ExternalContext
         
         if (ctx == null)
         {
-            /*throw new UnsupportedOperationException();*/
-            // TODO: Return null for now, but it should throw exception
-            // in JSF 2.2
-            return null;
+            throw new UnsupportedOperationException();
         }
         
         return ctx.getClientWindow();
@@ -759,8 +755,6 @@ public abstract class ExternalContext
      */
     public void setClientWindow(ClientWindow window)
     {
-        // No op for now.
-        /*
         ExternalContext ctx = _MyFacesExternalContextHelper.firstInstance.get();
         
         if (ctx == null)
@@ -769,7 +763,6 @@ public abstract class ExternalContext
         }
         
         ctx.setClientWindow(window);
-        */
     }
     
     /**
diff --git a/api/src/main/java/javax/faces/model/ResultSetDataModel.java b/api/src/main/java/javax/faces/model/ResultSetDataModel.java
index 93db9e6..b8cfacb 100755
--- a/api/src/main/java/javax/faces/model/ResultSetDataModel.java
+++ b/api/src/main/java/javax/faces/model/ResultSetDataModel.java
@@ -36,8 +36,6 @@ import java.util.TreeMap;
  */
 public class ResultSetDataModel extends DataModel<Map<String,Object>>
 {
-    // FIELDS
-
     private int _currentIndex = -1;
 
     /**
@@ -55,7 +53,6 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
      */
     private boolean _currentRowUpdated = false;
 
-    // CONSTRUCTORS
     public ResultSetDataModel()
     {
         this(null);
@@ -63,10 +60,8 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
 
     public ResultSetDataModel(ResultSet resultSet)
     {
-
         super();
         setWrappedData(resultSet);
-
     }
 
     /**
@@ -244,7 +239,6 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
     /*
      * A map wrapping the result set and calling the corresponding operations on the result set, first setting the
      * correct row index.
-     * TODO: Implement Map, use internal TreeMap for keys instead, it's cleaner
      */
     private class WrapResultSetMap extends TreeMap<String, Object>
     {
@@ -307,17 +301,11 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
                 return null;
             }
 
-            return basicGet(key);
-        }
-
-        private Object basicGet(Object key)
-        { // #################################################### remove
             try
             {
                 _resultSet.absolute(_currentIndex + 1);
 
                 return _resultSet.getObject((String) getUnderlyingKey(key));
-
             }
             catch (SQLException e)
             {
@@ -487,7 +475,6 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
 
     private static class WrapResultSetEntriesIterator implements Iterator<Map.Entry<String, Object>>
     {
-
         private WrapResultSetMap _wrapMap = null;
         private Iterator<String> _keyIterator = null;
 
@@ -497,16 +484,19 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
             _keyIterator = _wrapMap.keySet().iterator();
         }
 
+        @Override
         public boolean hasNext()
         {
             return _keyIterator.hasNext();
         }
 
+        @Override
         public Map.Entry<String, Object> next()
         {
             return new WrapResultSetEntry(_wrapMap, _keyIterator.next());
         }
 
+        @Override
         public void remove()
         {
             throw new UnsupportedOperationException("It is not allowed to remove from this iterator");
@@ -552,11 +542,13 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
             return value == null ? cmpValue != null : value.equals(cmpValue);
         }
 
+        @Override
         public String getKey()
         {
             return _entryKey;
         }
 
+        @Override
         public Object getValue()
         {
             return _wrapMap.get(_entryKey);
@@ -571,6 +563,7 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
             return result;
         }
 
+        @Override
         public Object setValue(Object value)
         {
             Object oldValue = _wrapMap.get(_entryKey);
@@ -658,16 +651,19 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
             _keyIterator = map.getUnderlyingKeys();
         }
 
+        @Override
         public boolean hasNext()
         {
             return _keyIterator.hasNext();
         }
 
+        @Override
         public String next()
         {
             return _keyIterator.next();
         }
 
+        @Override
         public void remove()
         {
             throw new UnsupportedOperationException("it is not allowed to remove from this iterator");
@@ -742,7 +738,6 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
 
     private static class WrapResultSetValuesIterator implements Iterator<Object>
     {
-
         private WrapResultSetMap _wrapMap;
         private Iterator<String> _keyIterator;
 
@@ -752,21 +747,23 @@ public class ResultSetDataModel extends DataModel<Map<String,Object>>
             _keyIterator = _wrapMap.keySet().iterator();
         }
 
+        @Override
         public boolean hasNext()
         {
             return _keyIterator.hasNext();
         }
 
+        @Override
         public Object next()
         {
             return _wrapMap.get(_keyIterator.next());
         }
 
+        @Override
         public void remove()
         {
             throw new UnsupportedOperationException("it is not allowed to remove from this map");
         }
-
     }
 
 }
diff --git a/api/src/main/java/javax/faces/webapp/FacesServlet.java b/api/src/main/java/javax/faces/webapp/FacesServlet.java
index c4cf36e..513b4ba 100755
--- a/api/src/main/java/javax/faces/webapp/FacesServlet.java
+++ b/api/src/main/java/javax/faces/webapp/FacesServlet.java
@@ -122,7 +122,6 @@ public final class FacesServlet implements Servlet
         }
         _servletConfig = servletConfig;
         _facesContextFactory = (FacesContextFactory)FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
-        // TODO: null-check for Weblogic, that tries to initialize Servlet before ContextListener
 
         // Javadoc says: Lifecycle instance is shared across multiple simultaneous requests, it must be implemented in a
         // thread-safe manner.
diff --git a/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java b/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
index 2fe80df..fee1750 100644
--- a/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
+++ b/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
@@ -166,7 +166,6 @@ public class AnnotationConfigurator
                     }
                     else
                     {
-                        // TODO MartinKoci MYFACES-3053
                         throw new FacesException("@FacesConverter must have value, forClass or both. Check annotation "
                                                  + "@FacesConverter on class: " + clazz.getName());
                     }
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/PartialViewContextImpl.java b/impl/src/main/java/org/apache/myfaces/context/servlet/PartialViewContextImpl.java
index 7d6d078..0527308 100644
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/PartialViewContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/PartialViewContextImpl.java
@@ -50,6 +50,7 @@ import javax.faces.render.RenderKit;
 import javax.faces.render.RenderKitFactory;
 import javax.faces.view.ViewMetadata;
 import org.apache.myfaces.application.ResourceHandlerImpl;
+import org.apache.myfaces.application.viewstate.token.StateTokenProcessor;
 
 import org.apache.myfaces.context.PartialResponseWriterImpl;
 import org.apache.myfaces.context.RequestViewContext;
@@ -448,18 +449,6 @@ public class PartialViewContextImpl extends PartialViewContext
 
     private void processPartialRendering(UIViewRoot viewRoot, PhaseId phaseId)
     {
-        //TODO process partial rendering
-        //https://issues.apache.org/jira/browse/MYFACES-2118
-        //Collection<String> renderIds = getRenderIds();
-
-        // We need to always update the view state marker when processing partial
-        // rendering, because there is no way to check when the state has been changed
-        // or not. Anyway, if we return empty response, according to the spec a javascript
-        // message displayed, so we need to return something.
-        //if (renderIds == null || renderIds.isEmpty()) {
-        //    return;
-        //}
-
         // note that we cannot use this.getPartialResponseWriter(), because
         // this could cause problems if PartialResponseWriter is wrapped
         PartialResponseWriter writer = _facesContext.getPartialViewContext().getPartialResponseWriter();
@@ -575,12 +564,10 @@ public class PartialViewContextImpl extends PartialViewContext
             }
             else if (viewRoot.isTransient())
             {
-                //TODO: fix javascript side, so the field is not removed on ajax form update
                 writer.startUpdate(HtmlResponseStateManager.generateUpdateViewStateId(
                     _facesContext));
-                writer.write("stateless");
+                writer.write(StateTokenProcessor.STATELESS_TOKEN);
                 writer.endUpdate();
-                //END TODO
             }
             
             
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
index 855dca3..3600f86 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
@@ -219,7 +219,7 @@ public class HtmlResponseStateManager extends MyfacesResponseStateManager
         {
             String encodedState = 
                 context.getExternalContext().getRequestParameterMap().get(ResponseStateManager.VIEW_STATE_PARAM);
-            if (encodedState==null || ((String) encodedState).length() == 0)
+            if (encodedState == null || ((String) encodedState).length() == 0)
             {
                 return false;
             }
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java
index 6e95fef..f0cee55 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlButtonRendererBase.java
@@ -486,15 +486,12 @@ public class HtmlButtonRendererBase extends HtmlRenderer
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
     {
-        //TODO: overwrite in extended HtmlButtonRenderer and check for enabledOnUserRole
         if (uiComponent instanceof HtmlCommandButton)
         {
-            return ((HtmlCommandButton)uiComponent).isDisabled();
+            return ((HtmlCommandButton) uiComponent).isDisabled();
         }
 
-        return RendererUtils.getBooleanAttribute(
-                uiComponent, HTML.DISABLED_ATTR, false);
-        
+        return RendererUtils.getBooleanAttribute(uiComponent, HTML.DISABLED_ATTR, false);
     }
 
     protected boolean isReadonly(FacesContext facesContext, UIComponent uiComponent)
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java
index 5fc049d..19dec9f 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java
@@ -453,8 +453,6 @@ public class HtmlCheckboxRendererBase extends HtmlRenderer
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent component)
     {
-        //TODO: overwrite in extended HtmlCheckboxRenderer and check for
-        // enabledOnUserRole
         if (component instanceof HtmlSelectBooleanCheckbox)
         {
             return ((HtmlSelectBooleanCheckbox) component).isDisabled();
@@ -463,10 +461,8 @@ public class HtmlCheckboxRendererBase extends HtmlRenderer
         {
             return ((HtmlSelectManyCheckbox) component).isDisabled();
         }
-        else
-        {
-            return RendererUtils.getBooleanAttribute(component, HTML.DISABLED_ATTR, false);
-        }
+
+        return RendererUtils.getBooleanAttribute(component, HTML.DISABLED_ATTR, false);
     }
 
     @Override
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
index b6cb54b..aa60aed 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlInputFileRendererBase.java
@@ -43,6 +43,7 @@ import javax.faces.component.behavior.ClientBehavior;
 import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.component.html.HtmlForm;
 import javax.faces.component.html.HtmlInputText;
+import org.apache.myfaces.renderkit.RendererUtils;
 
 import org.apache.myfaces.renderkit.html.util.HttpPartWrapper;
 import org.apache.myfaces.renderkit.html.util.HTML;
@@ -244,15 +245,12 @@ public class HtmlInputFileRendererBase extends HtmlRenderer
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent component)
     {
-        //TODO: overwrite in extended HtmlTextRenderer and check for enabledOnUserRole
         if (component instanceof HtmlInputText)
         {
             return ((HtmlInputText)component).isDisabled();
         }
 
-        return org.apache.myfaces.renderkit.RendererUtils.getBooleanAttribute(component, 
-                HTML.DISABLED_ATTR, false);
-        
+        return RendererUtils.getBooleanAttribute(component, HTML.DISABLED_ATTR, false);
     }
 
     /**
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java
index ce1f232..7df5674 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlListboxRendererBase.java
@@ -96,13 +96,11 @@ public class HtmlListboxRendererBase
             UISelectMany selectMany, boolean disabled, int size,
             Converter converter) throws IOException
     {
-        internalRenderSelect(facesContext, selectMany, disabled, size, true,
-                converter);
+        internalRenderSelect(facesContext, selectMany, disabled, size, true, converter);
     }
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
     {
-        //TODO: overwrite in extended HtmlListboxRenderer and check for enabledOnUserRole
         if (uiComponent instanceof HtmlSelectManyListbox)
         {
             return ((HtmlSelectManyListbox)uiComponent).isDisabled();
@@ -111,10 +109,8 @@ public class HtmlListboxRendererBase
         {
             return ((HtmlSelectOneListbox)uiComponent).isDisabled();
         }
-        else
-        {
-            return RendererUtils.getBooleanAttribute(uiComponent, HTML.DISABLED_ATTR, false);
-        }
+
+        return RendererUtils.getBooleanAttribute(uiComponent, HTML.DISABLED_ATTR, false);
     }
 
     @Override
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java
index b3139a9..53e649b 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlMenuRendererBase.java
@@ -92,13 +92,11 @@ public class HtmlMenuRendererBase
             UISelectMany selectMany, boolean disabled, Converter converter)
             throws IOException
     {
-        internalRenderSelect(facesContext, selectMany, disabled, 1, true,
-                converter);
+        internalRenderSelect(facesContext, selectMany, disabled, 1, true, converter);
     }
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
     {
-        //TODO: overwrite in extended HtmlMenuRenderer and check for enabledOnUserRole
         if (uiComponent instanceof HtmlSelectManyMenu)
         {
             return ((HtmlSelectManyMenu)uiComponent).isDisabled();
@@ -107,10 +105,8 @@ public class HtmlMenuRendererBase
         {
             return ((HtmlSelectOneMenu)uiComponent).isDisabled();
         }
-        else
-        {
-            return RendererUtils.getBooleanAttribute(uiComponent, HTML.DISABLED_ATTR, false);
-        }
+
+        return RendererUtils.getBooleanAttribute(uiComponent, HTML.DISABLED_ATTR, false);
     }
 
     public void decode(FacesContext facesContext, UIComponent uiComponent)
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java
index 1083acf..2fd11fc 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlRadioRendererBase.java
@@ -517,7 +517,6 @@ public class HtmlRadioRendererBase extends HtmlRenderer
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
     {
-        //TODO: overwrite in extended HtmlRadioRenderer and check for enabledOnUserRole
         if (uiComponent instanceof HtmlSelectOneRadio)
         {
             return ((HtmlSelectOneRadio)uiComponent).isDisabled();
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
index 5a09021..4c86251 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlSecretRendererBase.java
@@ -185,7 +185,6 @@ public class HtmlSecretRendererBase extends HtmlRenderer
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
     {
-        //TODO: overwrite in extended HtmlSecretRenderer and check for enabledOnUserRole
         if (uiComponent instanceof HtmlInputSecret)
         {
             return ((HtmlInputSecret)uiComponent).isDisabled();
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
index d6cdfc7..54decd7 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextRendererBase.java
@@ -293,15 +293,12 @@ public class HtmlTextRendererBase
 
     protected boolean isDisabled(FacesContext facesContext, UIComponent component)
     {
-        //TODO: overwrite in extended HtmlTextRenderer and check for enabledOnUserRole
         if (component instanceof HtmlInputText)
         {
             return ((HtmlInputText)component).isDisabled();
         }
 
-        return RendererUtils.getBooleanAttribute(component, 
-                HTML.DISABLED_ATTR, false);
-        
+        return RendererUtils.getBooleanAttribute(component, HTML.DISABLED_ATTR, false);
     }
 
     /**
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextareaRendererBase.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextareaRendererBase.java
index 15f15ea..28a81cf 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextareaRendererBase.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlTextareaRendererBase.java
@@ -196,7 +196,6 @@ public class HtmlTextareaRendererBase extends HtmlRenderer
     
     protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
     {
-        //TODO: overwrite in extended HtmlTextareaRenderer and check for enabledOnUserRole
         if (uiComponent instanceof HtmlInputTextarea)
         {
             return ((HtmlInputTextarea)uiComponent).isDisabled();
diff --git a/impl/src/main/java/org/apache/myfaces/spi/impl/AllAnnotationInjectionProvider.java b/impl/src/main/java/org/apache/myfaces/spi/impl/AllAnnotationInjectionProvider.java
index edeade4..968cf35 100644
--- a/impl/src/main/java/org/apache/myfaces/spi/impl/AllAnnotationInjectionProvider.java
+++ b/impl/src/main/java/org/apache/myfaces/spi/impl/AllAnnotationInjectionProvider.java
@@ -30,10 +30,8 @@ import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Field;
 
-// TODO @EJBs
 public class AllAnnotationInjectionProvider extends ResourceAnnotationInjectionProvider
 {
-
     public AllAnnotationInjectionProvider(Context context)
     {
         super(context);
@@ -54,7 +52,7 @@ public class AllAnnotationInjectionProvider extends ResourceAnnotationInjectionP
             EJB annotation =  method.getAnnotation(EJB.class);
             lookupMethodResource(context, instance, method, annotation.name());
         }
-        // TODO where i find WebServiceRef?
+        // not implemented since 1.x, lets ignore it
         /*if (method.isAnnotationPresent(WebServiceRef.class)) {
             WebServiceRef annotation =
                 (WebServiceRef) method.getAnnotation(WebServiceRef.class);
diff --git a/impl/src/main/java/org/apache/myfaces/util/SharedStringBuilder.java b/impl/src/main/java/org/apache/myfaces/util/SharedStringBuilder.java
index 8f5ba83..cb5e078 100644
--- a/impl/src/main/java/org/apache/myfaces/util/SharedStringBuilder.java
+++ b/impl/src/main/java/org/apache/myfaces/util/SharedStringBuilder.java
@@ -21,6 +21,41 @@ package org.apache.myfaces.util;
 import java.util.Map;
 import javax.faces.context.FacesContext;
 
+/**
+ * <p>
+ * This gets a single FacesContext-local shared stringbuilder instance, each
+ * time you call _getSharedStringBuilder it sets the length of the stringBuilder
+ * instance to 0.
+ * </p><p>
+ * This allows you to use the same StringBuilder instance over and over. You
+ * must call toString on the instance before calling _getSharedStringBuilder
+ * again.
+ * </p>
+ * Example that works
+ * <pre><code>
+ * StringBuilder sb1 = _getSharedStringBuilder();
+ * sb1.append(a).append(b);
+ * String c = sb1.toString();
+ *
+ * StringBuilder sb2 = _getSharedStringBuilder();
+ * sb2.append(b).append(a);
+ * String d = sb2.toString();
+ * </code></pre>
+ * <br><br>
+ * Example that doesn't work, you must call toString on sb1 before calling
+ * _getSharedStringBuilder again.
+ * <pre><code>
+ * StringBuilder sb1 = _getSharedStringBuilder();
+ * StringBuilder sb2 = _getSharedStringBuilder();
+ *
+ * sb1.append(a).append(b);
+ * String c = sb1.toString();
+ *
+ * sb2.append(b).append(a);
+ * String d = sb2.toString();
+ * </code></pre>
+ *
+ */
 public class SharedStringBuilder
 {
     public static StringBuilder get(String stringBuilderKey)