You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2015/02/06 21:47:42 UTC
svn commit: r1657956 - in
/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets:
FaceletCompositionContext.java impl/FaceletCompositionContextImpl.java
impl/SectionUniqueIdCounter.java tag/composite/InterfaceHandler.java
Author: lu4242
Date: Fri Feb 6 20:47:42 2015
New Revision: 1657956
URL: http://svn.apache.org/r1657956
Log:
MYFACES-3951 Action not performed on first click
Modified:
myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java
myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java
myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/SectionUniqueIdCounter.java
myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InterfaceHandler.java
Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java?rev=1657956&r1=1657955&r2=1657956&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/FaceletCompositionContext.java Fri Feb 6 20:47:42 2015
@@ -449,6 +449,25 @@ abstract public class FaceletComposition
}
/**
+ * Start a new unique id section, which means a new counter is used to
+ * generate unique ids to components, but appending a base to the
+ * new counter.
+ *
+ * @return
+ */
+ public String startComponentUniqueIdSection(String base)
+ {
+ return null;
+ }
+
+ /**
+ * @param base
+ */
+ public void endComponentUniqueIdSection(String base)
+ {
+ }
+
+ /**
* Generate a unique id that will be used later to derive a unique id per tag
* by FaceletContext.generateUniqueId(). This generator ensures uniqueness per
* view but FaceletContext.generateUniqueId() ensures uniqueness per view and
@@ -548,7 +567,7 @@ abstract public class FaceletComposition
}
/**
- * Check if the view
+ * Check if the facelet is building view metadata
*
* since 2.1.7, 2.0.13
* @return
Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java?rev=1657956&r1=1657955&r2=1657956&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/FaceletCompositionContextImpl.java Fri Feb 6 20:47:42 2015
@@ -979,6 +979,13 @@ public class FaceletCompositionContextIm
_sectionUniqueComponentIdCounter.startUniqueIdSection();
return _sectionUniqueIdCounter.startUniqueIdSection();
}
+
+ public String startComponentUniqueIdSection(String base)
+ {
+ _level++;
+ _sectionUniqueComponentIdCounter.startUniqueIdSection(base);
+ return _sectionUniqueIdCounter.startUniqueIdSection(base);
+ }
@Override
public void incrementUniqueId()
@@ -1017,6 +1024,13 @@ public class FaceletCompositionContextIm
_sectionUniqueComponentIdCounter.endUniqueIdSection();
}
+ public void endComponentUniqueIdSection(String base)
+ {
+ _level--;
+ _sectionUniqueIdCounter.endUniqueIdSection(base);
+ _sectionUniqueComponentIdCounter.endUniqueIdSection(base);
+ }
+
@Override
public void startMetadataSection()
{
Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/SectionUniqueIdCounter.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/SectionUniqueIdCounter.java?rev=1657956&r1=1657955&r2=1657956&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/SectionUniqueIdCounter.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/impl/SectionUniqueIdCounter.java Fri Feb 6 20:47:42 2015
@@ -145,7 +145,7 @@ public class SectionUniqueIdCounter
_builder.append(lastPrefix);
_builder.append('_');
}
- appendToBuilder(_counterStack.get(_counterStack.size()-1).getCounter(),
+ appendToBuilder(_counterStack.get(_counterStack.size()-1).getCounter()-1,
_radix, _builder, _bufferConversion);
}
Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InterfaceHandler.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InterfaceHandler.java?rev=1657956&r1=1657955&r2=1657956&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InterfaceHandler.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/tag/composite/InterfaceHandler.java Fri Feb 6 20:47:42 2015
@@ -200,7 +200,9 @@ public class InterfaceHandler extends Ta
// in other words we are calling ViewDeclarationLanguage.getComponentMetadata
if ( ((AbstractFaceletContext)ctx).isBuildingCompositeComponentMetadata() )
{
- UIComponent compositeBaseParent = FaceletCompositionContext.getCurrentInstance(ctx).getCompositeComponentFromStack();
+ FaceletCompositionContext fcc = FaceletCompositionContext.getCurrentInstance(ctx);
+ UIComponent compositeBaseParent
+ = fcc.getCompositeComponentFromStack();
CompositeComponentBeanInfo beanInfo =
(CompositeComponentBeanInfo) compositeBaseParent.getAttributes()
@@ -243,7 +245,16 @@ public class InterfaceHandler extends Ta
CompositeTagAttributeUtils.addUnspecifiedAttributes(descriptor, tag,
STANDARD_ATTRIBUTES_SORTED, ctx);
- nextHandler.apply(ctx, parent);
+ try
+ {
+ fcc.startComponentUniqueIdSection("__ccmd_");
+
+ nextHandler.apply(ctx, parent);
+ }
+ finally
+ {
+ fcc.endComponentUniqueIdSection("__ccmd_");
+ }
}
}