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 2013/11/25 15:13:10 UTC

svn commit: r1545295 - in /myfaces/tobago/trunk: tobago-core/src/main/java/org/apache/myfaces/tobago/compat/ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/ tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/ toba...

Author: lofwyr
Date: Mon Nov 25 14:13:09 2013
New Revision: 1545295

URL: http://svn.apache.org/r1545295
Log:
TOBAGO-1228: JSF 2.0
 - using invokeOnComponent form JSF

Added:
    myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java
      - copied, changed from r1545238, myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java
Removed:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java
Modified:
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIForm.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java
    myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/ComponentUtils.java
    myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java
    myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/generate/ComponentInfo.java
    myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/ClassesGenerator.java
    myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/resources/org/apache/myfaces/tobago/apt/component2.0.stg

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxResponseRenderer.java Mon Nov 25 14:13:09 2013
@@ -87,7 +87,7 @@ public class AjaxResponseRenderer {
     writer.write("\",\n");
 
     writer.write("    \"html\": \"");
-    ComponentUtils.invokeOnComponent(facesContext, facesContext.getViewRoot(), clientId, callback);
+    facesContext.getViewRoot().invokeOnComponent(facesContext, clientId, callback);
     writer.write("\",\n");
 
     writer.write("    \"responseCode\": ");

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIData.java Mon Nov 25 14:13:09 2013
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.compat.InvokeOnComponent;
 import org.apache.myfaces.tobago.component.Attributes;
 import org.apache.myfaces.tobago.model.ExpandedState;
 import org.apache.myfaces.tobago.model.Selectable;
@@ -39,7 +38,7 @@ import javax.swing.tree.TreeNode;
 import java.io.IOException;
 import java.util.List;
 
-public abstract class AbstractUIData extends javax.faces.component.UIData implements InvokeOnComponent {
+public abstract class AbstractUIData extends javax.faces.component.UIData {
 
   private static final Logger LOG = LoggerFactory.getLogger(AbstractUIData.class);
 
@@ -184,7 +183,7 @@ public abstract class AbstractUIData ext
     return false;
   }
 
-  // todo: after removing jsf 1.1: @Override
+  @Override
   public boolean invokeOnComponent(
       final FacesContext facesContext, final String clientId, final ContextCallback callback)
       throws FacesException {
@@ -216,7 +215,7 @@ public abstract class AbstractUIData ext
         }
       }
 
-      return ComponentUtils.invokeOnComponent(facesContext, this, clientId, callback);
+      return super.invokeOnComponent(facesContext, clientId, callback);
 
     } finally {
       // we should reset rowIndex on UISheet

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIForm.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIForm.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIForm.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIForm.java Mon Nov 25 14:13:09 2013
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.compat.InvokeOnComponent;
 import org.apache.myfaces.tobago.component.Form;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 import org.apache.myfaces.tobago.util.TobagoCallback;
@@ -34,7 +33,7 @@ import javax.faces.context.FacesContext;
 import javax.faces.event.PhaseId;
 import java.util.Iterator;
 
-public abstract class AbstractUIForm extends UIForm implements InvokeOnComponent, Form {
+public abstract class AbstractUIForm extends UIForm implements Form {
 
   private static final Logger LOG = LoggerFactory.getLogger(AbstractUIForm.class);
 
@@ -116,6 +115,7 @@ public abstract class AbstractUIForm ext
       }
     }
     context.getExternalContext().getRequestMap().put(AbstractUIForm.SUBMITTED_MARKER, isSubmitted());
-    return ComponentUtils.invokeOnComponent(context, this, clientId, callback);
+
+    return invokeOnComponent(context, clientId, callback);
   }
 }

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java Mon Nov 25 14:13:09 2013
@@ -52,7 +52,6 @@ import org.slf4j.LoggerFactory;
 
 import javax.el.ELContext;
 import javax.el.ValueExpression;
-import javax.faces.FacesException;
 import javax.faces.application.FacesMessage;
 import javax.faces.component.ContextCallback;
 import javax.faces.component.UIComponent;
@@ -228,14 +227,6 @@ public abstract class AbstractUIPage ext
     }
   }
 
-
-  @Override
-  public boolean invokeOnComponent(final FacesContext context, final String clientId, final ContextCallback callback)
-      throws FacesException {
-    return ComponentUtils.invokeOnComponent(context, this, clientId, callback);
-  }
-
-
   public void markSubmittedForm(final FacesContext facesContext) {
     // find the form of the action command and set submitted to it and all
     // children

Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/ComponentUtils.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/ComponentUtils.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/ComponentUtils.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/ComponentUtils.java Mon Nov 25 14:13:09 2013
@@ -49,7 +49,6 @@ import javax.faces.component.UICommand;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIGraphic;
 import javax.faces.component.UIInput;
-import javax.faces.component.UINamingContainer;
 import javax.faces.component.UIOutput;
 import javax.faces.component.UIParameter;
 import javax.faces.component.UISelectMany;
@@ -997,42 +996,13 @@ public final class ComponentUtils {
     return (Map<Object, Object>) component.getAttributes().get(DATA_ATTRIBUTES_KEY);
   }
 
+  /**
+   * @deprecated since 2.0.0, please use
+   * {@link javax.faces.component.UIComponent#invokeOnComponent(javax.faces.context.FacesContext, java.lang.String,
+      javax.faces.component.ContextCallback) }
+   */
   public static boolean invokeOnComponent(
       final FacesContext context, final UIComponent component, final String clientId, final ContextCallback callback) {
-    final String thisClientId = component.getClientId(context);
-
-    if (clientId.equals(thisClientId)) {
-      callback.invokeContextCallback(context, component);
-      return true;
-    } else if (component instanceof NamingContainer) {
-      // This component is a naming container. If the client id shows it's inside this naming container,
-      // then process further.
-      // Otherwise we know the client id we're looking for is not in this naming container,
-      // so for improved performance short circuit and return false.
-      if (clientId.startsWith(thisClientId)
-          && (clientId.charAt(thisClientId.length()) == UINamingContainer.getSeparatorChar(context))) {
-        if (invokeOnComponentFacetsAndChildren(context, component, clientId, callback)) {
-          return true;
-        }
-      }
-    } else {
-      if (invokeOnComponentFacetsAndChildren(context, component, clientId, callback)) {
-        return true;
-      }
-    }
-
-    return false;
-  }
-
-  private static boolean invokeOnComponentFacetsAndChildren(
-      final FacesContext context, final UIComponent component, final String clientId, final ContextCallback callback) {
-    for (final java.util.Iterator<UIComponent> it = component.getFacetsAndChildren(); it.hasNext();) {
-      final UIComponent child = it.next();
-      if (child.invokeOnComponent(context, clientId, callback)) {
-        return true;
-      }
-    }
-    return false;
+    return component.invokeOnComponent(context, clientId, callback);
   }
-
 }

Copied: myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java (from r1545238, myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java?p2=myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java&p1=myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java&r1=1545238&r2=1545295&rev=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java (original)
+++ myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/compat/InvokeOnComponent.java Mon Nov 25 14:13:09 2013
@@ -19,13 +19,23 @@
 
 package org.apache.myfaces.tobago.compat;
 
-import javax.faces.component.ContextCallback;
-
 import javax.faces.FacesException;
+import javax.faces.component.ContextCallback;
 import javax.faces.context.FacesContext;
 
+/**
+ * @deprecated since 2.0.0, please use
+ * {@link javax.faces.component.UIComponent#invokeOnComponent(javax.faces.context.FacesContext, java.lang.String,
+   javax.faces.component.ContextCallback) }
+ */
+@Deprecated
 public interface InvokeOnComponent {
 
-  boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback)
-    throws FacesException;
+  /**
+   * @deprecated since 2.0.0, please use
+   * {@link javax.faces.component.UIComponent#invokeOnComponent(javax.faces.context.FacesContext, java.lang.String,
+      javax.faces.component.ContextCallback) }
+   */
+  @Deprecated
+  boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback) throws FacesException;
 }

Modified: myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java (original)
+++ myfaces/tobago/trunk/tobago-extension/tobago-deprecation/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java Mon Nov 25 14:13:09 2013
@@ -20,7 +20,6 @@
 package org.apache.myfaces.tobago.component;
 
 import org.apache.myfaces.tobago.ajax.AjaxUtils;
-import org.apache.myfaces.tobago.compat.InvokeOnComponent;
 import org.apache.myfaces.tobago.context.ClientProperties;
 import org.apache.myfaces.tobago.internal.ajax.AjaxInternalUtils;
 import org.apache.myfaces.tobago.internal.ajax.AjaxResponseRenderer;
@@ -54,7 +53,8 @@ import java.util.Map;
 /**
  * @deprecated since 2.0.0
  */
-public class UIViewRoot extends javax.faces.component.UIViewRoot implements InvokeOnComponent {
+@Deprecated
+public class UIViewRoot extends javax.faces.component.UIViewRoot {
 
   private static final Logger LOG = LoggerFactory.getLogger(UIViewRoot.class);
 
@@ -338,10 +338,4 @@ public class UIViewRoot extends javax.fa
       super.encodeChildren(context);
     }
   }
-
-  @Override
-  public boolean invokeOnComponent(final FacesContext context, final String clientId, final ContextCallback callback)
-      throws FacesException {
-    return ComponentUtils.invokeOnComponent(context, this, clientId, callback);
-  }
 }

Modified: myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/generate/ComponentInfo.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/generate/ComponentInfo.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/generate/ComponentInfo.java (original)
+++ myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/generate/ComponentInfo.java Mon Nov 25 14:13:09 2013
@@ -29,7 +29,6 @@ import java.util.List;
 public class ComponentInfo extends TagInfo {
   private List<PropertyInfo> nonTransientProperties = new ArrayList<PropertyInfo>();
   private List<PropertyInfo> transientProperties = new ArrayList<PropertyInfo>();
-  private boolean invokeOnComponent;
   private boolean messages;
   private String description;
   private boolean deprecated;
@@ -49,14 +48,6 @@ public class ComponentInfo extends TagIn
     super(sourceClass, qualifiedName, rendererType);
   }
 
-  public boolean isInvokeOnComponent() {
-    return invokeOnComponent;
-  }
-
-  public void setInvokeOnComponent(final boolean invokeOnComponent) {
-    this.invokeOnComponent = invokeOnComponent;
-  }
-
   public void addPropertyInfo(final ComponentPropertyInfo propertyInfo) {
     getProperties().add(propertyInfo);
     propertyInfo.setIndex(index);

Modified: myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/ClassesGenerator.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/ClassesGenerator.java?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/ClassesGenerator.java (original)
+++ myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/java/org/apache/myfaces/tobago/apt/processor/ClassesGenerator.java Mon Nov 25 14:13:09 2013
@@ -212,31 +212,6 @@ public class ClassesGenerator extends Ab
         }
 
       }
-/*        boolean found = false;
-        for (Method method : componentBaseClass.getMethods()) {
-          if ("invokeOnComponent".equals(method.getName())) {
-            found = true;
-          }
-        }
-        if (!found) {
-          componentInfo.setInvokeOnComponent(true);
-          componentInfo.addImport("javax.faces.context.FacesContext");
-          componentInfo.addImport("javax.faces.FacesException");
-          componentInfo.addImport("javax.faces.component.ContextCallback");
-          componentInfo.addImport("org.apache.myfaces.tobago.compat.FacesUtils");
-          componentInfo.addInterface("org.apache.myfaces.tobago.compat.InvokeOnComponent");
-        }
-
-      } catch (ClassNotFoundException e) {
-      */
-/*
-        Map<String, PropertyInfo> baseClassProperties = getBaseClassProperties(componentTag.uiComponentBaseClass());
-        for (PropertyInfo info : properties.values()) {
-          if (!baseClassProperties.containsValue(info)) {
-            addPropertyToComponent(componentInfo, info, elMethods, false);
-          }
-        }
-*/
 
       componentStringTemplate.setAttribute("componentInfo", componentInfo);
       writeFile(componentInfo, componentStringTemplate);

Modified: myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/resources/org/apache/myfaces/tobago/apt/component2.0.stg
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/resources/org/apache/myfaces/tobago/apt/component2.0.stg?rev=1545295&r1=1545294&r2=1545295&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/resources/org/apache/myfaces/tobago/apt/component2.0.stg (original)
+++ myfaces/tobago/trunk/tobago-tool/tobago-tool-apt/src/main/resources/org/apache/myfaces/tobago/apt/component2.0.stg Mon Nov 25 14:13:09 2013
@@ -101,20 +101,6 @@ public class <componentInfo.className>
   }
   <endif>
 
-  <if(componentInfo.invokeOnComponent)>
-  <invokeOnComponent()>
-  <endif>
-
-}
->>
-
-import() ::= <<
-import <it>;
->>
-invokeOnComponent() ::= <<
-public boolean invokeOnComponent(FacesContext context, String clientId, ContextCallback callback)
-    throws FacesException {
-  return FacesUtils.invokeOnComponent(context, this, clientId, callback);
 }
 >>