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 2017/01/09 20:51:23 UTC
svn commit: r1778044 - in /myfaces/core/branches/2.3.x/impl/src:
main/java/org/apache/myfaces/component/search/
test/java/org/apache/myfaces/component/search/
Author: tandraschko
Date: Mon Jan 9 20:51:23 2017
New Revision: 1778044
URL: http://svn.apache.org/viewvc?rev=1778044&view=rev
Log:
MYFACES-4075 SearchExpression API (spec alignments)
Modified:
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/AllSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ChildSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeComponentParentSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/FormSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/IdSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NamingContainerSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NextSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NoneSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ParentSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/PreviousSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/RootSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/SearchExpressionHandlerImpl.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ThisSearchKeywordResolver.java
myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/component/search/SearchExpressionImplTest.java
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/AllSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/AllSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/AllSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/AllSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -33,9 +33,9 @@ public class AllSearchKeywordResolver ex
public static final String ALL_KEYWORD = "all";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- UIComponent parent = previous.getParent();
+ UIComponent parent = current.getParent();
while (parent.getParent() != null)
{
@@ -46,7 +46,7 @@ public class AllSearchKeywordResolver ex
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return ALL_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ChildSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ChildSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ChildSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ChildSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -39,28 +39,28 @@ public class ChildSearchKeywordResolver
private static final Pattern PATTERN = Pattern.compile("child\\((\\d+)\\)");
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
try
{
- Matcher matcher = PATTERN.matcher(command);
+ Matcher matcher = PATTERN.matcher(keyword);
if (matcher.matches())
{
int childNumber = Integer.parseInt(matcher.group(1));
- if (childNumber + 1 > previous.getChildCount())
+ if (childNumber + 1 > current.getChildCount())
{
throw new FacesException("Component with clientId \""
- + previous.getClientId(expressionContext.getSearchExpressionContext().getFacesContext())
+ + current.getClientId(expressionContext.getSearchExpressionContext().getFacesContext())
+ "\" has fewer children as \"" +
- childNumber + "\". Expression: \"" + command + "\"");
+ childNumber + "\". Expression: \"" + keyword + "\"");
}
- List<UIComponent> list = previous.getChildren();
+ List<UIComponent> list = current.getChildren();
int count = 0;
- for (int i = 0; i < previous.getChildCount(); i++)
+ for (int i = 0; i < current.getChildCount(); i++)
{
if (! (list.get(i) instanceof UntargetableComponent))
{
@@ -68,34 +68,34 @@ public class ChildSearchKeywordResolver
}
if (count == childNumber + 1)
{
- expressionContext.invokeContextCallback(previous.getChildren().get(childNumber));
+ expressionContext.invokeContextCallback(current.getChildren().get(childNumber));
break;
}
}
if (count < childNumber)
{
throw new FacesException("Component with clientId \""
- + previous.getClientId(expressionContext.getSearchExpressionContext().getFacesContext())
+ + current.getClientId(expressionContext.getSearchExpressionContext().getFacesContext())
+ "\" has fewer children as \"" +
- childNumber + "\". Expression: \"" + command + "\"");
+ childNumber + "\". Expression: \"" + keyword + "\"");
}
}
else
{
throw new FacesException(
- "Expression does not match following pattern @child(n). Expression: \"" + command + "\"");
+ "Expression does not match following pattern @child(n). Expression: \"" + keyword + "\"");
}
}
catch (Exception e)
{
throw new FacesException(
- "Expression does not match following pattern @child(n). Expression: \"" + command + "\"", e);
+ "Expression does not match following pattern @child(n). Expression: \"" + keyword + "\"", e);
}
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String command)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String command)
{
if (command != null && command.length() > 6 &&
command.substring(0, CHILD_KEYWORD.length()).equalsIgnoreCase(CHILD_KEYWORD))
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeComponentParentSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeComponentParentSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeComponentParentSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeComponentParentSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -32,13 +32,13 @@ public class CompositeComponentParentSea
public static final String COMPOSITE_KEYWORD = "composite";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- expressionContext.invokeContextCallback(UIComponent.getCompositeComponentParent(previous));
+ expressionContext.invokeContextCallback(UIComponent.getCompositeComponentParent(current));
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return COMPOSITE_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/CompositeSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -56,16 +56,16 @@ public class CompositeSearchKeywordResol
}
@Override
- public void resolve(SearchKeywordContext context, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext context, UIComponent current, String keyword)
{
- context.setCommandResolved(false);
+ context.setKeywordResolved(false);
int sz = this.size;
for (int i = 0; i < sz; i++)
{
- if (this.resolvers[i].matchKeyword(context.getSearchExpressionContext(), command))
+ if (this.resolvers[i].isResolverForKeyword(context.getSearchExpressionContext(), keyword))
{
- this.resolvers[i].resolve(context, previous, command);
- if (context.isCommandResolved())
+ this.resolvers[i].resolve(context, current, keyword);
+ if (context.isKeywordResolved())
{
return;
}
@@ -74,12 +74,12 @@ public class CompositeSearchKeywordResol
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
int sz = this.size;
for (int i = 0; i < sz; i++)
{
- if (this.resolvers[i].matchKeyword(searchExpressionContext, keyword))
+ if (this.resolvers[i].isResolverForKeyword(searchExpressionContext, keyword))
{
return true;
}
@@ -93,7 +93,7 @@ public class CompositeSearchKeywordResol
int sz = this.size;
for (int i = 0; i < sz; i++)
{
- if (this.resolvers[i].matchKeyword(searchExpressionContext, keyword))
+ if (this.resolvers[i].isResolverForKeyword(searchExpressionContext, keyword))
{
return this.resolvers[i].isPassthrough(searchExpressionContext, keyword);
}
@@ -107,7 +107,7 @@ public class CompositeSearchKeywordResol
int sz = this.size;
for (int i = 0; i < sz; i++)
{
- if (this.resolvers[i].matchKeyword(searchExpressionContext, keyword))
+ if (this.resolvers[i].isResolverForKeyword(searchExpressionContext, keyword))
{
return this.resolvers[i].isLeaf(searchExpressionContext, keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/FormSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/FormSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/FormSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/FormSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -34,9 +34,9 @@ public class FormSearchKeywordResolver e
public static final String FORM_KEYWORD = "form";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- expressionContext.invokeContextCallback(closest(UIForm.class, previous));
+ expressionContext.invokeContextCallback(closest(UIForm.class, current));
}
private static <T> T closest(Class<T> type, UIComponent base)
@@ -57,7 +57,7 @@ public class FormSearchKeywordResolver e
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return FORM_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/IdSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/IdSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/IdSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/IdSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -43,23 +43,23 @@ public class IdSearchKeywordResolver ext
private static final Pattern PATTERN = Pattern.compile("id\\((\\w+)\\)");
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
FacesContext facesContext = expressionContext.getSearchExpressionContext().getFacesContext();
- final String targetId = extractId(command);
+ final String targetId = extractId(keyword);
if (expressionContext.getSearchExpressionContext().getExpressionHints() != null
&& expressionContext.getSearchExpressionContext().getExpressionHints().contains(
SearchExpressionHint.SKIP_VIRTUAL_COMPONENTS))
{
// Avoid visit tree because in this case we need real component instances.
// This means components inside UIData will not be scanned.
- withId(facesContext, targetId, previous, expressionContext.getCallback());
- expressionContext.setCommandResolved(true);
+ withId(facesContext, targetId, current, expressionContext.getCallback());
+ expressionContext.setKeywordResolved(true);
}
else
{
- previous.visitTree(
+ current.visitTree(
VisitContext.createVisitContext(facesContext, null,
expressionContext.getSearchExpressionContext().getVisitHints()),
new VisitCallback()
@@ -139,7 +139,7 @@ public class IdSearchKeywordResolver ext
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String command)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String command)
{
if (command != null && command.length() > 6 &&
command.substring(0, ID_KEYWORD.length()).equalsIgnoreCase(ID_KEYWORD))
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NamingContainerSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NamingContainerSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NamingContainerSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NamingContainerSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -33,9 +33,9 @@ public class NamingContainerSearchKeywor
public static final String NAMING_CONTAINER_KEYWORD = "namingcontainer";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- expressionContext.invokeContextCallback((UIComponent) closest(NamingContainer.class, previous));
+ expressionContext.invokeContextCallback((UIComponent) closest(NamingContainer.class, current));
}
private static <T> T closest(Class<T> type, UIComponent base)
@@ -56,7 +56,7 @@ public class NamingContainerSearchKeywor
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return NAMING_CONTAINER_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NextSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NextSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NextSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NextSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -34,13 +34,13 @@ public class NextSearchKeywordResolver e
public static final String NEXT_KEYWORD = "next";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- UIComponent parent = previous.getParent();
+ UIComponent parent = current.getParent();
if (parent.getChildCount() > 1)
{
List<UIComponent> children = parent.getChildren();
- int index = children.indexOf(previous);
+ int index = children.indexOf(current);
if (index < parent.getChildCount() - 1)
{
@@ -60,11 +60,11 @@ public class NextSearchKeywordResolver e
}
}
}
- expressionContext.setCommandResolved(true);
+ expressionContext.setKeywordResolved(true);
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return NEXT_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NoneSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NoneSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NoneSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/NoneSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -33,13 +33,13 @@ public class NoneSearchKeywordResolver e
public static final String NONE_KEYWORD = "none";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- expressionContext.setCommandResolved(true);
+ expressionContext.setKeywordResolved(true);
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return NONE_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ParentSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ParentSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ParentSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ParentSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -32,13 +32,13 @@ public class ParentSearchKeywordResolver
public static final String PARENT_KEYWORD = "parent";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- expressionContext.invokeContextCallback(previous.getParent());
+ expressionContext.invokeContextCallback(current.getParent());
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return PARENT_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/PreviousSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/PreviousSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/PreviousSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/PreviousSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -34,14 +34,14 @@ public class PreviousSearchKeywordResolv
public static final String PREVIOUS_KEYWORD = "previous";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- UIComponent parent = previous.getParent();
+ UIComponent parent = current.getParent();
if (parent.getChildCount() > 1)
{
List<UIComponent> children = parent.getChildren();
- int index = children.indexOf(previous);
+ int index = children.indexOf(current);
if (index > 0)
{
@@ -61,11 +61,11 @@ public class PreviousSearchKeywordResolv
}
}
}
- expressionContext.setCommandResolved(true);
+ expressionContext.setKeywordResolved(true);
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return PREVIOUS_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/RootSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/RootSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/RootSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/RootSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -32,14 +32,14 @@ public class RootSearchKeywordResolver e
public static final String ROOT_KEYWORD = "root";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
expressionContext.invokeContextCallback(
expressionContext.getSearchExpressionContext().getFacesContext().getViewRoot());
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return ROOT_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/SearchExpressionHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/SearchExpressionHandlerImpl.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/SearchExpressionHandlerImpl.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/SearchExpressionHandlerImpl.java Mon Jan 9 20:51:23 2017
@@ -19,12 +19,9 @@
package org.apache.myfaces.component.search;
-import java.beans.BeanInfo;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.EnumSet;
import java.util.List;
-import java.util.Set;
import javax.faces.FacesException;
import javax.faces.component.ContextCallback;
import javax.faces.component.NamingContainer;
@@ -35,8 +32,6 @@ import javax.faces.component.search.Sear
import javax.faces.component.search.SearchExpressionHint;
import javax.faces.component.search.SearchKeywordContext;
import javax.faces.context.FacesContext;
-import javax.faces.view.AttachedObjectTarget;
-import javax.faces.view.EditableValueHolderAttachedObjectTarget;
/**
*
@@ -94,10 +89,6 @@ public class SearchExpressionHandlerImpl
searchExpressionContext, searchExpressionContext.getSource(), expression, callback);
}
- if (!callback.isClientIdFound() && isHintSet(searchExpressionContext, SearchExpressionHint.PARENT_FALLBACK))
- {
- callback.invokeContextCallback(facesContext, searchExpressionContext.getSource().getParent());
- }
if (!callback.isClientIdFound())
{
if (isHintSet(searchExpressionContext, SearchExpressionHint.IGNORE_NO_RESULT))
@@ -173,10 +164,6 @@ public class SearchExpressionHandlerImpl
}
}
- if (!callback.isClientIdFound() && isHintSet(searchExpressionContext, SearchExpressionHint.PARENT_FALLBACK))
- {
- callback.invokeContextCallback(facesContext, searchExpressionContext.getSource().getParent());
- }
if (!callback.isClientIdFound())
{
if (isHintSet(searchExpressionContext, SearchExpressionHint.IGNORE_NO_RESULT))
@@ -253,10 +240,6 @@ public class SearchExpressionHandlerImpl
expression, checkCallback);
}
- if (!checkCallback.isInvoked() && isHintSet(searchExpressionContext, SearchExpressionHint.PARENT_FALLBACK))
- {
- checkCallback.invokeContextCallback(facesContext, searchExpressionContext.getSource().getParent());
- }
if (!checkCallback.isInvoked())
{
if (isHintSet(searchExpressionContext, SearchExpressionHint.IGNORE_NO_RESULT))
@@ -333,11 +316,6 @@ public class SearchExpressionHandlerImpl
}
}
- // ...
- if (!checkCallback.isInvoked() && isHintSet(searchExpressionContext, SearchExpressionHint.PARENT_FALLBACK))
- {
- checkCallback.invokeContextCallback(facesContext, searchExpressionContext.getSource().getParent());
- }
if (!checkCallback.isInvoked())
{
if (isHintSet(searchExpressionContext, SearchExpressionHint.IGNORE_NO_RESULT))
@@ -545,14 +523,7 @@ public class SearchExpressionHandlerImpl
}
if (currentBase != null)
{
- if (isHintSet(searchExpressionContext, SearchExpressionHint.UNWRAP_COMPOSITE_COMPONENT))
- {
- unwrapCompositeComponent(facesContext, target, topCallback);
- }
- else
- {
- topCallback.invokeContextCallback(facesContext, currentBase);
- }
+ topCallback.invokeContextCallback(facesContext, currentBase);
}
}
}
@@ -561,28 +532,9 @@ public class SearchExpressionHandlerImpl
protected void applyKeyword(SearchExpressionContext searchExpressionContext, UIComponent last,
String command, String remainingExpression, ContextCallback topCallback)
{
- SearchKeywordContext searchContext;
-
- if (isHintSet(searchExpressionContext, SearchExpressionHint.UNWRAP_COMPOSITE_COMPONENT)
- && remainingExpression == null)
- {
- ContextCallback wrapperCallback = new ContextCallback()
- {
- @Override
- public void invokeContextCallback(FacesContext context, UIComponent target)
- {
- unwrapCompositeComponent(context, target, topCallback);
- }
- };
-
- searchContext = new SearchKeywordContext(searchExpressionContext, wrapperCallback);
- }
- else
- {
- searchContext = new SearchKeywordContext(searchExpressionContext, topCallback);
- }
+ SearchKeywordContext searchContext =
+ new SearchKeywordContext(searchExpressionContext, topCallback, remainingExpression);
- searchContext.setRemainingExpression(remainingExpression);
searchExpressionContext.getFacesContext().getApplication()
.getSearchKeywordResolver().resolve(searchContext, last, command);
}
@@ -685,7 +637,7 @@ public class SearchExpressionHandlerImpl
// If the keyword is @child, @composite, @form, @namingcontainer, @next, @none, @parent, @previous,
// @root, @this , all commands change the source to be applied the action
- isValid = facesContext.getApplication().getSearchKeywordResolver().matchKeyword(
+ isValid = facesContext.getApplication().getSearchKeywordResolver().isResolverForKeyword(
searchExpressionContext, command);
if (remaining != null)
{
@@ -853,38 +805,4 @@ public class SearchExpressionHandlerImpl
return tokens.toArray(new String[tokens.size()]);
}
- private static final Set<SearchExpressionHint> UNWRAP_COMPOSITE_COMPONENT_HINTS = EnumSet.of(
- SearchExpressionHint.SKIP_VIRTUAL_COMPONENTS,
- SearchExpressionHint.UNWRAP_COMPOSITE_COMPONENT);
-
- protected void unwrapCompositeComponent(FacesContext facesContext, UIComponent composite,
- ContextCallback callback)
- {
- boolean resolved = false;
-
- if (UIComponent.isCompositeComponent(composite))
- {
- BeanInfo info = (BeanInfo) composite.getAttributes().get(UIComponent.BEANINFO_KEY);
- List<AttachedObjectTarget> targets = (List<AttachedObjectTarget>) info.getBeanDescriptor()
- .getValue(AttachedObjectTarget.ATTACHED_OBJECT_TARGETS_KEY);
-
- for (AttachedObjectTarget target : targets)
- {
- if (target instanceof EditableValueHolderAttachedObjectTarget)
- {
- SearchExpressionContext searchExpressionContext =
- SearchExpressionContext.createSearchExpressionContext(facesContext, composite,
- UNWRAP_COMPOSITE_COMPONENT_HINTS, null);
- facesContext.getApplication().getSearchExpressionHandler().resolveComponent(
- searchExpressionContext, target.getName(), callback);
- resolved = true;
- }
- }
- }
-
- if (!resolved)
- {
- callback.invokeContextCallback(facesContext, composite);
- }
- }
}
\ No newline at end of file
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ThisSearchKeywordResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ThisSearchKeywordResolver.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ThisSearchKeywordResolver.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/component/search/ThisSearchKeywordResolver.java Mon Jan 9 20:51:23 2017
@@ -32,13 +32,13 @@ public class ThisSearchKeywordResolver e
public static final String THIS_KEYWORD = "this";
@Override
- public void resolve(SearchKeywordContext expressionContext, UIComponent previous, String command)
+ public void resolve(SearchKeywordContext expressionContext, UIComponent current, String keyword)
{
- expressionContext.invokeContextCallback(previous);
+ expressionContext.invokeContextCallback(current);
}
@Override
- public boolean matchKeyword(SearchExpressionContext searchExpressionContext, String keyword)
+ public boolean isResolverForKeyword(SearchExpressionContext searchExpressionContext, String keyword)
{
return THIS_KEYWORD.equalsIgnoreCase(keyword);
}
Modified: myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/component/search/SearchExpressionImplTest.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/component/search/SearchExpressionImplTest.java?rev=1778044&r1=1778043&r2=1778044&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/component/search/SearchExpressionImplTest.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/test/java/org/apache/myfaces/component/search/SearchExpressionImplTest.java Mon Jan 9 20:51:23 2017
@@ -228,24 +228,16 @@ public class SearchExpressionImplTest ex
executeBeforeRender();
executeBuildViewCycle();
- UIOutput out = (UIOutput) facesContext.getViewRoot().findComponent("mainForm:showName");
- Set<SearchExpressionHint> expressionHints = new HashSet<SearchExpressionHint>();
- expressionHints.add(SearchExpressionHint.PARENT_FALLBACK);
- SearchExpressionContext searchContextWithParentFallback =
- SearchExpressionContext.createSearchExpressionContext(facesContext, out, expressionHints, null);
SearchExpressionHandler handler = facesContext.getApplication().getSearchExpressionHandler();
- String clientId = handler.resolveClientId(searchContextWithParentFallback, "@none");
- Assert.assertNotNull(clientId);
-
- Assert.assertNotNull(handler.resolveClientId(searchContextWithParentFallback, " "));
-
- expressionHints = new HashSet<SearchExpressionHint>();
+ UIOutput out = (UIOutput) facesContext.getViewRoot().findComponent("mainForm:showName");
+ Set<SearchExpressionHint> expressionHints = new HashSet<SearchExpressionHint>();
+
expressionHints.add(SearchExpressionHint.IGNORE_NO_RESULT);
SearchExpressionContext searchContextWithIgnoreNoResult =
SearchExpressionContext.createSearchExpressionContext(facesContext, out, expressionHints, null);
- clientId = handler.resolveClientId(searchContextWithIgnoreNoResult, "@none");
+ String clientId = handler.resolveClientId(searchContextWithIgnoreNoResult, "@none");
Assert.assertNull(clientId);
SearchExpressionContext searchContext =
@@ -270,22 +262,15 @@ public class SearchExpressionImplTest ex
executeBeforeRender();
executeBuildViewCycle();
- UIOutput out = (UIOutput) facesContext.getViewRoot().findComponent("mainForm:showName");
- Set<SearchExpressionHint> expressionHints = new HashSet<SearchExpressionHint>();
- expressionHints.add(SearchExpressionHint.PARENT_FALLBACK);
- SearchExpressionContext searchContextWithParentFallback =
- SearchExpressionContext.createSearchExpressionContext(facesContext, out, expressionHints, null);
SearchExpressionHandler handler = facesContext.getApplication().getSearchExpressionHandler();
- List<String> clientId = handler.resolveClientIds(searchContextWithParentFallback, "@none");
- Assert.assertNotNull(clientId.get(0));
-
- expressionHints = new HashSet<SearchExpressionHint>();
+ UIOutput out = (UIOutput) facesContext.getViewRoot().findComponent("mainForm:showName");
+ Set<SearchExpressionHint> expressionHints = new HashSet<SearchExpressionHint>();
expressionHints.add(SearchExpressionHint.IGNORE_NO_RESULT);
SearchExpressionContext searchContextWithIgnoreNoResult =
SearchExpressionContext.createSearchExpressionContext(facesContext, out, expressionHints, null);
- clientId = handler.resolveClientIds(searchContextWithIgnoreNoResult, "@none");
+ List<String> clientId = handler.resolveClientIds(searchContextWithIgnoreNoResult, "@none");
Assert.assertTrue(clientId.isEmpty());
SearchExpressionContext searchContext =
@@ -396,49 +381,4 @@ public class SearchExpressionImplTest ex
}
-
- @Test
- public void testCompositeComponentWrappedInput() throws Exception
- {
- startViewRequest("/testCompositeWrappedInput.xhtml");
- processLifecycleExecute();
- executeBeforeRender();
- executeBuildViewCycle();
-
- Assert.assertNotNull(
- facesContext.getViewRoot().findComponent("testForm1"));
- Assert.assertNotNull(
- facesContext.getViewRoot().findComponent(":testForm1:myComposite"));
- Assert.assertTrue(
- UIComponent.isCompositeComponent(facesContext.getViewRoot().findComponent(":testForm1:myComposite")));
- Assert.assertNotNull(
- facesContext.getViewRoot().findComponent(":testForm1:myComposite:myComposite"));
-
- final SearchExpressionHandler handler = facesContext.getApplication().getSearchExpressionHandler();
-
- final Set<SearchExpressionHint> expressionHints = new HashSet<>();
- expressionHints.add(SearchExpressionHint.UNWRAP_COMPOSITE_COMPONENT);
-
- SearchExpressionContext searchContext = SearchExpressionContext.createSearchExpressionContext(facesContext,
- facesContext.getViewRoot(), expressionHints, null);
- Assert.assertEquals("testForm1:myComposite:myInput",
- handler.resolveClientId(searchContext, ":testForm1:myComposite"));
-
- handler.resolveComponent(searchContext, "testForm1", new ContextCallback() {
-
- @Override
- public void invokeContextCallback(FacesContext context, UIComponent target) {
- SearchExpressionContext innerSearchContext =
- SearchExpressionContext.createSearchExpressionContext(facesContext,
- target, expressionHints, null);
-
- Assert.assertEquals("testForm1:myComposite:myInput", handler.resolveClientId(innerSearchContext, "@child(0)"));
- Assert.assertEquals("testForm1:myWrappedComposite:wrappedWrapped:myInput", handler.resolveClientId(innerSearchContext, "@child(1)"));
- }
- });
-
-
- searchContext = SearchExpressionContext.createSearchExpressionContext(facesContext, facesContext.getViewRoot());
- Assert.assertEquals("testForm1:myComposite", handler.resolveClientId(searchContext, ":testForm1:myComposite"));
- }
}