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

svn commit: r648830 - /myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/component/UITreeData.java

Author: lofwyr
Date: Wed Apr 16 13:19:47 2008
New Revision: 648830

URL: http://svn.apache.org/viewvc?rev=648830&view=rev
Log:
TOBAGO-377: Backport from 1.1.0-SNAPSHOT: Implementation of "findComponent" in UITreeData

Modified:
    myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/component/UITreeData.java

Modified: myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/component/UITreeData.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/component/UITreeData.java?rev=648830&r1=648829&r2=648830&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/component/UITreeData.java (original)
+++ myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/component/UITreeData.java Wed Apr 16 13:19:47 2008
@@ -24,6 +24,7 @@
 import org.apache.myfaces.tobago.model.TreeModel;
 
 import javax.faces.component.NamingContainer;
+import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.faces.event.AbortProcessingException;
 import javax.faces.event.FacesEvent;
@@ -208,6 +209,15 @@
     return clientId + NamingContainer.SEPARATOR_CHAR + pathIndex;
   }
 
+  public UIComponent findComponent(String searchId) {
+
+    assert searchId.matches("^(_\\d+)+" + SEPARATOR_CHAR + ".*")
+        : "The searchId '" + searchId + "' does not start with a tree structure";
+
+    searchId = searchId.substring(searchId.indexOf(SEPARATOR_CHAR) + 1);
+    return super.findComponent(searchId);
+  }
+
   @Override
   public void queueEvent(FacesEvent event) {
     super.queueEvent(new FacesEventWrapper(event, getPathIndex(), this));
@@ -216,8 +226,7 @@
   @Override
   public void broadcast(FacesEvent event) throws AbortProcessingException {
     if (event instanceof FacesEventWrapper) {
-      FacesEvent originalEvent
-          = ((FacesEventWrapper) event).getWrappedFacesEvent();
+      FacesEvent originalEvent = ((FacesEventWrapper) event).getWrappedFacesEvent();
       String eventPathIndex = ((FacesEventWrapper) event).getPathIndex();
       String currentPathIndex = getPathIndex();
       setPathIndex(eventPathIndex);
@@ -285,8 +294,7 @@
     private FacesEvent wrappedFacesEvent;
     private String pathIndex;
 
-    FacesEventWrapper(FacesEvent facesEvent, String pathIndex,
-        UITreeData redirectComponent) {
+    FacesEventWrapper(FacesEvent facesEvent, String pathIndex, UITreeData redirectComponent) {
       super(redirectComponent);
       wrappedFacesEvent = facesEvent;
       this.pathIndex = pathIndex;