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:08 UTC

[myfaces] 02/02: removed TODO

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)