You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2008/04/02 21:37:18 UTC

svn commit: r644014 [4/10] - in /myfaces/tobago/trunk: ./ core/ core/src/main/faces-config/ core/src/main/java/org/apache/myfaces/tobago/ajax/api/ core/src/main/java/org/apache/myfaces/tobago/application/ core/src/main/java/org/apache/myfaces/tobago/co...

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnEventTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnEventTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnEventTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnEventTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -31,8 +31,9 @@
 @Tag(name = "columnEvent")
 @UIComponentTag(uiComponent = "org.apache.myfaces.tobago.component.UIColumnEvent",
     uiComponentBaseClass = "javax.faces.component.UIColumn",
+    interfaces = "org.apache.myfaces.tobago.component.ColumnEvent",
     componentType = "org.apache.myfaces.tobago.ColumnEvent")
-public interface ColumnEventTagDeclaration extends TobagoTagDeclaration, HasId, HasBinding {
+public interface ColumnEventTagDeclaration extends HasId, HasBinding {
 
   @TagAttribute
   @UIComponentTagAttribute()

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnSelectorTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnSelectorTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnSelectorTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnSelectorTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -39,5 +39,5 @@
     componentType = "org.apache.myfaces.tobago.ColumnSelector",
     rendererType = "ColumnSelector",
     allowedChildComponenents = "NONE")
-public interface ColumnSelectorTagDeclaration extends TobagoTagDeclaration, IsDisabled, IsRendered, HasBinding {
+public interface ColumnSelectorTagDeclaration extends IsDisabled, IsRendered, HasBinding {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ColumnTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -40,7 +40,7 @@
     uiComponentBaseClass = "javax.faces.component.UIColumn",
     componentType = "org.apache.myfaces.tobago.Column")
 //rendererType = "Column")
-public interface ColumnTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasLabel, HasTip {
+public interface ColumnTagDeclaration extends HasIdBindingAndRendered, HasLabel, HasTip {
   /**
    * Alignment of this column.
    */

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/CommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/CommandTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/CommandTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/CommandTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -20,6 +20,9 @@
 import org.apache.myfaces.tobago.apt.annotation.Tag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
 import org.apache.myfaces.tobago.taglib.decl.HasId;
+import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * Date: 05.08.2006
@@ -32,16 +35,11 @@
  */
 @Tag(name = "command", tagExtraInfoClassName = "org.apache.myfaces.tobago.taglib.component.CommandTagExtraInfo")
 @UIComponentTag(uiComponent = "org.apache.myfaces.tobago.component.UICommand",
-    generate = false,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUICommand",
     rendererType = "Command",
     allowedChildComponenents = "NONE")
-public interface CommandTagDeclaration extends AbstractCommandTagDeclaration, HasId {
+public interface CommandTagDeclaration extends AbstractCommandTagDeclaration, HasId, HasValue, IsDisabled {
 
-  /**
-   * Indicate the partially rendered Components in a case of a submit.
 
-   @TagAttribute
-   @UIComponentTagAttribute()
-   void setRenderedPartially(String componentIds);   */
 
 }

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ConverterTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ConverterTag.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ConverterTag.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ConverterTag.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,156 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_CONVERTER;
+import org.apache.myfaces.tobago.apt.annotation.BodyContent;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.util.ComponentUtil;
+import org.apache.myfaces.tobago.internal.taglib.TagUtils;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.ValueHolder;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.el.ValueBinding;
+import javax.faces.webapp.UIComponentTag;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+/*
+ * Date: Oct 13, 2006
+ * Time: 6:01:59 PM
+ */
+/**
+ * Register an Converter instance on the UIComponent
+ * associated with the closest parent UIComponent.
+ */
+@Tag(name = "converter", bodyContent = BodyContent.EMPTY)
+public class ConverterTag extends TagSupport {
+
+  private static final long serialVersionUID = 8565994799165107984L;
+
+  /**
+   * The converterId of the {@link javax.faces.convert.Converter}
+   */
+  private String converterId;
+  private String binding;
+
+  /**
+   * The converterId of a registered converter.
+   *
+   * @param converterId A valid converterId
+   */
+  @TagAttribute()
+  public void setConverterId(String converterId) {
+    this.converterId = converterId;
+  }
+
+  /**
+   * The value binding expression to a converter.
+   *
+   * @param binding A valid binding
+   */
+  @TagAttribute
+  public void setBinding(String binding) {
+    this.binding = binding;
+  }
+
+  /**
+   * Create a new instance of the specified {@link javax.faces.convert.Converter}
+   * class, and register it with the {@link javax.faces.component.UIComponent} instance associated
+   * with our most immediately surrounding {@link javax.faces.webapp.UIComponentTag} instance, if
+   * the {@link javax.faces.component.UIComponent} instance was created by this execution of the
+   * containing JSP page.
+   *
+   * @throws javax.servlet.jsp.JspException if a JSP error occurs
+   */
+  public int doStartTag() throws JspException {
+
+    // Locate our parent UIComponentTag
+    UIComponentTag tag =
+        UIComponentTag.getParentUIComponentTag(pageContext);
+    if (tag == null) {
+      // TODO Message resource i18n
+      throw new JspException("Not nested in faces tag");
+    }
+
+    if (!tag.getCreated()) {
+      return (SKIP_BODY);
+    }
+
+    UIComponent component = tag.getComponentInstance();
+    if (component == null) {
+      // TODO Message resource i18n
+      throw new JspException("Component Instance is null");
+    }
+    if (!(component instanceof ValueHolder)) {
+      // TODO Message resource i18n
+      throw new JspException("Component " + component.getClass().getName() + " is not instanceof ValueHolder");
+    }
+    ValueHolder valueHolder = (ValueHolder) component;
+
+    Converter converter = null;
+
+    if (binding != null && UIComponentTag.isValueReference(binding)) {
+      ValueBinding valueBinding = TagUtils.createValueBinding(binding);
+      if (valueBinding != null) {
+        Object obj = valueBinding.getValue(FacesContext.getCurrentInstance());
+        if (obj != null && obj instanceof Converter) {
+          converter = (Converter) obj;
+        }
+      }
+    }
+
+    if (converter == null && converterId != null) {
+      String localConverterId;
+      // evaluate any VB expression that we were passed
+      if (UIComponentTag.isValueReference(converterId)) {
+        ValueBinding typeValueBinding = TagUtils.createValueBinding(converterId);
+        localConverterId = (String) typeValueBinding.getValue(FacesContext.getCurrentInstance());
+      } else {
+        localConverterId = converterId;
+      }
+      converter = FacesContext.getCurrentInstance().getApplication().createConverter(localConverterId);
+      if (converter != null && binding != null) {
+        ComponentUtil.setValueForValueBinding(binding, converter);
+      }
+    }
+    if (converter != null) {
+      if (UIComponentTag.isValueReference(binding)) {
+        component.setValueBinding(ATTR_CONVERTER, TagUtils.createValueBinding(binding));
+      } else {
+        valueHolder.setConverter(converter);
+      }
+    }
+    // TODO else LOG.warn?
+    return (SKIP_BODY);
+  }
+
+
+  /**
+   * <p>Release references to any acquired resources.
+   */
+  public void release() {
+    this.converterId = null;
+    this.binding = null;
+  }
+
+
+}

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DatePickerTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -42,6 +42,5 @@
     componentType = "org.apache.myfaces.tobago.DatePicker",
     rendererType = RENDERER_TYPE_DATE_PICKER,
     allowedChildComponenents = "NONE")
-public interface DatePickerTagDeclaration extends TobagoTagDeclaration, HasFor,
-    HasTabIndex {
+public interface DatePickerTagDeclaration extends HasFor, HasTabIndex {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DateTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DateTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DateTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/DateTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -30,6 +30,7 @@
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
+import org.apache.myfaces.tobago.taglib.decl.InputTagDeclaration;
 
 /*
  * Created: Aug 5, 2005 5:03:15 PM

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FileTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -48,11 +48,11 @@
 @Tag(name = "file")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIFileInput",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractFileInput",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIFileInput",
     rendererType = "File",
     allowedChildComponenents = "NONE")
 public interface FileTagDeclaration
-    extends BeanTagDeclaration, HasValidator, HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, IsDisabled,
+    extends HasValidator, HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, IsDisabled,
     HasLabelAndAccessKey, HasTip, IsReadonly, IsRequired, HasTabIndex {
 
   /**

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FormTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FormTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FormTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/FormTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -29,12 +29,11 @@
 @Tag(name = "form")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIForm",
-    uiComponentBaseClass = "javax.faces.component.UIForm",
-    generate = false,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIForm",
+    interfaces = "org.apache.myfaces.tobago.component.Form",
     rendererType = "Form",
     allowedChildComponenents = "ALL")
-public interface FormTagDeclaration extends TobagoBodyTagDeclaration,
-    HasBinding, HasId {
+public interface FormTagDeclaration extends HasBinding, HasId {
 
   /**
    *   

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/GridLayoutTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/GridLayoutTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/GridLayoutTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/GridLayoutTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -94,10 +94,10 @@
 @Tag(name = "gridLayout", bodyContent = BodyContent.EMPTY)
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIGridLayout",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UILayout",
-    generate = false,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIGridLayout",
     rendererType = "GridLayout",
+    componentFamily = "org.apache.myfaces.tobago.GridLayout",
     allowedChildComponenents = "NONE", isLayout = true)
-public interface GridLayoutTagDeclaration extends TobagoTagDeclaration, HasId, HasBorder, HasCellspacing, HasMargin,
+public interface GridLayoutTagDeclaration extends HasId, HasBorder, HasCellspacing, HasMargin,
     HasMargins, HasColumnLayout, HasRowLayout, HasBinding {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/HiddenTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -40,7 +40,7 @@
     uiComponentBaseClass = "javax.faces.component.UIInput",
     rendererType = "Hidden",
     allowedChildComponenents = "NONE")
-public interface HiddenTagDeclaration extends BeanTagDeclaration, HasId, HasBinding, HasValue, HasConverter,
+public interface HiddenTagDeclaration extends HasId, HasBinding, HasValue, HasConverter,
     HasValidator {
 
   @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ImageTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ImageTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ImageTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ImageTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -41,8 +41,7 @@
     uiComponentBaseClass = "javax.faces.component.UIGraphic",
     rendererType = "Image",
     allowedChildComponenents = "NONE")
-public interface ImageTagDeclaration extends TobagoTagDeclaration,
-    HasIdBindingAndRendered, HasBorder, HasDimension, HasTip {
+public interface ImageTagDeclaration extends HasIdBindingAndRendered, HasBorder, HasDimension, HasTip {
 
   /**
    * Absolute url to an image or image name to lookup in tobago resource path

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/InTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -50,7 +50,8 @@
     uiComponentBaseClass = "org.apache.myfaces.tobago.component.UIInputBase",
     rendererType = "In",
     allowedChildComponenents = "NONE",
-    isAjaxEnabled = true,
+    interfaces = { "org.apache.myfaces.tobago.ajax.api.AjaxComponent", 
+        "org.apache.myfaces.tobago.component.InputSuggest" },
     facets = {
     @Facet(name = "change",
         description =

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LabelTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LabelTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LabelTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LabelTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -45,7 +45,7 @@
     uiComponentBaseClass = "javax.faces.component.UIOutput",
     rendererType = "Label",
     allowedChildComponenents = "NONE")
-public interface LabelTagDeclaration extends BeanTagDeclaration, HasIdBindingAndRendered,
+public interface LabelTagDeclaration extends HasIdBindingAndRendered,
     HasLabelWithAccessKey, HasFor, IsInline, HasDeprecatedWidth, HasTip, HasMarkup {
 
   /**

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LinkTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -31,6 +31,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasTip;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * Date: 11.02.2006

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LoadBundleTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LoadBundleTag.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LoadBundleTag.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/LoadBundleTag.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,92 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.myfaces.tobago.apt.annotation.BodyContent;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.util.BundleMapWrapper;
+
+import javax.faces.context.FacesContext;
+import javax.faces.webapp.UIComponentTag;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+import java.util.Map;
+
+/**
+ * Load a resource bundle localized for the Locale of the current view
+ * from the tobago resource path, and expose it (as a Map) in the request
+ * attributes of the current request.
+ */
+@Tag(name = "loadBundle", bodyContent = BodyContent.EMPTY)
+public class LoadBundleTag extends TagSupport {
+
+  private static final long serialVersionUID = 4949984721486410191L;
+
+  private String basename;
+  private String var;
+
+  public int doStartTag() throws JspException {
+
+    String bundleBaseName;
+    FacesContext context = FacesContext.getCurrentInstance();
+    if (UIComponentTag.isValueReference(basename)) {
+      bundleBaseName = (String) context.getApplication().createValueBinding(basename).getValue(context);
+    } else {
+      bundleBaseName = basename;
+    }
+    Map toStore = new BundleMapWrapper(bundleBaseName);
+    // TODO find a better way
+    context.getExternalContext().getSessionMap().put(var, toStore);
+//        .getRequestMap().put(var, toStore);
+
+    return EVAL_BODY_INCLUDE;
+  }
+
+  public void release() {
+    basename = null;
+    var = null;
+  }
+
+  public String getBasename() {
+    return basename;
+  }
+
+  /**
+   * Base name of the resource bundle to be loaded.
+   */
+  @TagAttribute(required = true)
+  public void setBasename(String basename) {
+    this.basename = basename;
+  }
+
+  public String getVar() {
+    return var;
+  }
+
+  /**
+   * Name of a session-scope attribute under which the bundle data
+   * will be exposed.
+   */
+  @TagAttribute(required = true)
+  public void setVar(String var) {
+    this.var = var;
+  }
+
+}
+

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuBarTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuBarTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuBarTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuBarTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -22,11 +22,6 @@
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
 import org.apache.myfaces.tobago.taglib.decl.HasDeprecatedWidth;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
-import org.apache.myfaces.tobago.component.UIMenu;
-import org.apache.myfaces.tobago.component.UIMenuCommand;
-import org.apache.myfaces.tobago.component.UISelectBooleanCommand;
-import org.apache.myfaces.tobago.component.UIMenuSelectOne;
-import org.apache.myfaces.tobago.component.UIMenuSeparator;
 
 /*
  * Date: 14.03.2006
@@ -40,21 +35,21 @@
 */
 @Tag(name = "menuBar")
 @BodyContentDescription(
-    anyClassOf = {"org.apache.myfaces.tobago.taglib.component.MenuTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuCommandTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuSelectBooleanTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuSelectOneTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuSeparatorTag"})
+    anyClassOf = {"org.apache.myfaces.tobago.internal.taglib.MenuTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuCommandTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuSelectBooleanTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuSelectOneTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuSeparatorTag"})
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIMenuBar",
     uiComponentBaseClass = "javax.faces.component.UIPanel",
     rendererType = "MenuBar", isComponentAlreadyDefined = false,
     allowedChildComponenents = {
-        UIMenu.COMPONENT_TYPE,
-        UIMenuCommand.COMPONENT_TYPE,
-        UISelectBooleanCommand.COMPONENT_TYPE,
-        UIMenuSelectOne.COMPONENT_TYPE,
-        UIMenuSeparator.COMPONENT_TYPE
+        "org.apache.myfaces.tobago.Menu",
+        "org.apache.myfaces.tobago.MenuCommand",
+        "org.apache.myfaces.tobago.SelectBooleanCommand",
+        "org.apache.myfaces.tobago.MenuSelectOne",
+        "org.apache.myfaces.tobago.MenuSeparator"
         })
-public interface MenuBarTagDeclaration extends TobagoBodyTagDeclaration, HasIdBindingAndRendered, HasDeprecatedWidth {
+public interface MenuBarTagDeclaration extends HasIdBindingAndRendered, HasDeprecatedWidth {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCheckboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCheckboxTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCheckboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCheckboxTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -24,6 +24,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * $Id$
@@ -41,7 +42,7 @@
     allowedChildComponenents = {
         "javax.faces.SelectItem",
         "javax.faces.SelectItems"})
-public interface MenuCheckboxTagDeclaration extends TobagoTagDeclaration, AbstractCommandTagDeclaration,
+public interface MenuCheckboxTagDeclaration extends AbstractCommandTagDeclaration,
     HasIdBindingAndRendered, IsDisabled, HasCommandType, HasBooleanValue,
     HasLabelAndAccessKey {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCommandTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCommandTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuCommandTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -25,6 +25,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
 import org.apache.myfaces.tobago.taglib.decl.HasTarget;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * Date: 31.03.2006
@@ -36,9 +37,9 @@
 @Tag(name = "menuItem", tagExtraInfoClassName = "org.apache.myfaces.tobago.taglib.component.CommandTagExtraInfo")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIMenuCommand",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UICommand",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUICommand",
     rendererType = "MenuCommand",
     allowedChildComponenents = "NONE")
-public interface MenuCommandTagDeclaration extends TobagoTagDeclaration, AbstractCommandTagDeclaration,
+public interface MenuCommandTagDeclaration extends AbstractCommandTagDeclaration,
     HasIdBindingAndRendered, HasLabelAndAccessKey, IsDisabled, HasCommandType, HasImage, HasTarget {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuRadioTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuRadioTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuRadioTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuRadioTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -24,6 +24,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * $Id$
@@ -38,6 +39,6 @@
     uiComponentBaseClass = "org.apache.myfaces.tobago.component.UISelectOneCommand",
     rendererType = "MenuCommand",
     allowedChildComponenents = "NONE")
-public interface MenuRadioTagDeclaration extends TobagoTagDeclaration, AbstractCommandTagDeclaration,
+public interface MenuRadioTagDeclaration extends AbstractCommandTagDeclaration,
     HasIdBindingAndRendered, HasLabel, IsDisabled, HasCommandType, HasValue {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectBooleanTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectBooleanTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectBooleanTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectBooleanTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -22,6 +22,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * Date: 31.03.2006
@@ -39,7 +40,7 @@
     rendererType = "MenuCommand",
     allowedChildComponenents = "NONE") */
 @Deprecated
-public interface MenuSelectBooleanTagDeclaration extends TobagoTagDeclaration, AbstractCommandTagDeclaration,
+public interface MenuSelectBooleanTagDeclaration extends AbstractCommandTagDeclaration,
     HasIdBindingAndRendered, IsDisabled, HasCommandType,
     HasBooleanValue, HasLabelAndAccessKey {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectOneTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectOneTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectOneTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSelectOneTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -22,6 +22,7 @@
 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
 import org.apache.myfaces.tobago.taglib.decl.HasValue;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
 
 /*
  * Date: 31.03.2006
@@ -38,6 +39,6 @@
     rendererType = "MenuCommand",
     allowedChildComponenents = "NONE")*/
 @Deprecated
-public interface MenuSelectOneTagDeclaration extends TobagoTagDeclaration, AbstractCommandTagDeclaration,
+public interface MenuSelectOneTagDeclaration extends AbstractCommandTagDeclaration,
     HasIdBindingAndRendered, HasLabel, IsDisabled, HasCommandType, HasValue {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSeparatorTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSeparatorTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSeparatorTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuSeparatorTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -37,5 +37,5 @@
     uiComponentBaseClass = "javax.faces.component.UIOutput",
     allowedChildComponenents = "NONE")
 
-public interface MenuSeparatorTagDeclaration extends TobagoTagDeclaration, IsRendered, HasBinding {
+public interface MenuSeparatorTagDeclaration extends IsRendered, HasBinding {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MenuTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -24,36 +24,31 @@
 import org.apache.myfaces.tobago.taglib.decl.HasImage;
 import org.apache.myfaces.tobago.taglib.decl.HasLabelAndAccessKey;
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
-import org.apache.myfaces.tobago.component.UIMenu;
-import org.apache.myfaces.tobago.component.UIMenuCommand;
-import org.apache.myfaces.tobago.component.UISelectBooleanCommand;
-import org.apache.myfaces.tobago.component.UIMenuSelectOne;
-import org.apache.myfaces.tobago.component.UIMenuSeparator;
 
 /*
- * Date: 31.03.2006
- * Time: 21:49:41
- */
+* Date: 31.03.2006
+* Time: 21:49:41
+*/
 
 /**
  * Container component to hold submenus and items.
  */
 @Tag(name = "menu")
 @BodyContentDescription(
-    anyClassOf = {"org.apache.myfaces.tobago.taglib.component.MenuTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuCommandTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuSelectBooleanTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuSelectOneTag",
-        "org.apache.myfaces.tobago.taglib.component.MenuSeparatorTag"})
+    anyClassOf = {"org.apache.myfaces.tobago.internal.taglib.MenuTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuCommandTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuSelectBooleanTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuSelectOneTag",
+        "org.apache.myfaces.tobago.internal.taglib.MenuSeparatorTag"})
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIMenu",
     uiComponentBaseClass = "org.apache.myfaces.tobago.component.UIPanelBase",
     allowedChildComponenents = {
-        UIMenu.COMPONENT_TYPE,
-        UIMenuCommand.COMPONENT_TYPE,
-        UISelectBooleanCommand.COMPONENT_TYPE,
-        UIMenuSelectOne.COMPONENT_TYPE,
-        UIMenuSeparator.COMPONENT_TYPE})
-public interface MenuTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasLabelAndAccessKey,
+        "org.apache.myfaces.tobago.Menu",
+        "org.apache.myfaces.tobago.MenuCommand",
+        "org.apache.myfaces.tobago.SelectBooleanCommand",
+        "org.apache.myfaces.tobago.MenuSelectOne",
+        "org.apache.myfaces.tobago.MenuSeparator"})
+public interface MenuTagDeclaration extends HasIdBindingAndRendered, HasLabelAndAccessKey,
     IsDisabled, HasImage {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessageTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessageTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessageTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessageTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -40,9 +40,9 @@
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIMessage",    
     uiComponentBaseClass = "javax.faces.component.UIMessage",
-    rendererType = "Message", isComponentAlreadyDefined = false,
+    rendererType = "Message",
     allowedChildComponenents = "NONE")
-public interface MessageTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasFor {
+public interface MessageTagDeclaration extends HasIdBindingAndRendered, HasFor {
 
   /**
    * Flag indicating whether the detail should be included

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessagesTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessagesTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessagesTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/MessagesTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -22,7 +22,7 @@
 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
-import org.apache.myfaces.tobago.component.UIMessages;
+import org.apache.myfaces.tobago.component.AbstractUIMessages;
 import org.apache.myfaces.tobago.taglib.decl.HasFor;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 
@@ -37,12 +37,11 @@
 @Tag(name = "messages", bodyContent = BodyContent.EMPTY)
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIMessages",
-    uiComponentBaseClass = "javax.faces.component.UIMessages",
-    generate = false,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIMessages",
     rendererType = "Messages",
     allowedChildComponenents = "NONE")
 
-public interface MessagesTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered, HasFor {
+public interface MessagesTagDeclaration extends HasIdBindingAndRendered, HasFor {
 
   /**
    * Flag indicating that only messages that are not associated to any
@@ -74,7 +73,8 @@
    * The default is "info".
    */
   @TagAttribute
-  @UIComponentTagAttribute(type = "javax.faces.application.FacesMessage.Severity", defaultValue = "info")
+  @UIComponentTagAttribute(type = "javax.faces.application.FacesMessage$Severity", defaultValue = "info",
+      defaultCode = "javax.faces.application.FacesMessage.SEVERITY_INFO")
   void setMinSeverity(String minSeverity);
 
    /**
@@ -84,7 +84,8 @@
    * The default is "fatal".
    */
   @TagAttribute
-  @UIComponentTagAttribute(type = "javax.faces.application.FacesMessage.Severity", defaultValue = "fatal")
+  @UIComponentTagAttribute(type = "javax.faces.application.FacesMessage$Severity", defaultValue = "fatal",
+      defaultCode = "javax.faces.application.FacesMessage.SEVERITY_FATAL")
   void setMaxSeverity(String maxSeverity);
 
    /**
@@ -100,8 +101,9 @@
    * The default "occurence".
    */
   @TagAttribute
-  @UIComponentTagAttribute(type = "org.apache.myfaces.tobago.component.UIMessages.OrderBy",
-          allowedValues = {UIMessages.OrderBy.OCCURENCE_STRING, UIMessages.OrderBy.SEVERITY_STRING},
-          defaultValue = UIMessages.OrderBy.OCCURENCE_STRING)
+  @UIComponentTagAttribute(type = "org.apache.myfaces.tobago.component.UIMessages$OrderBy",
+      allowedValues = {AbstractUIMessages.OrderBy.OCCURENCE_STRING, AbstractUIMessages.OrderBy.SEVERITY_STRING},
+      defaultValue = AbstractUIMessages.OrderBy.OCCURENCE_STRING, 
+      defaultCode = "org.apache.myfaces.tobago.component.AbstractUIMessages.OrderBy.OCCURENCE" )
   void setOrderBy(String orderBy);
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ObjectTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ObjectTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ObjectTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ObjectTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -32,9 +32,9 @@
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIObject",
     uiComponentBaseClass = "javax.faces.component.UIOutput",
-    rendererType = "Object", isComponentAlreadyDefined = false,
+    rendererType = "Object",
     allowedChildComponenents = "NONE")
-public interface ObjectTagDeclaration extends TobagoTagDeclaration, HasId {
+public interface ObjectTagDeclaration extends HasId {
   /**
    * URI to object source
    */

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/OutTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/OutTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/OutTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/OutTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -45,8 +45,7 @@
     rendererType = "Out",
     allowedChildComponenents = "NONE")
 
-public interface OutTagDeclaration extends
-    BeanTagDeclaration, HasIdBindingAndRendered, HasConverter, IsInline, HasTip, HasValue {
+public interface OutTagDeclaration extends HasIdBindingAndRendered, HasConverter, IsInline, HasTip, HasValue {
 
   /**
    * Flag indicating that characters that are

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PageTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PageTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PageTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PageTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -38,7 +38,8 @@
 @Tag(name = "page")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIPage",
-    rendererType = "Page", generate = false,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIPage",
+    rendererType = "Page",
     facets =
         { @Facet(name = "action", description ="Contains an instance of UICommand (tc:command) for an auto-action",
                 allowedChildComponenents = "org.apache.myfaces.tobago.Command"),
@@ -47,8 +48,7 @@
         @Facet(name="layout", description = "Contains an instance of UILayout",
                 allowedChildComponenents = "org.apache.myfaces.tobago.GridLayout")})
 
-public interface PageTagDeclaration extends TobagoBodyTagDeclaration, HasLabel, HasId, HasDimension, HasBinding,
-    HasState {
+public interface PageTagDeclaration extends HasLabel, HasId, HasBinding, HasState {
   /**
    * Possible values for doctype are:
    * <dl>
@@ -80,5 +80,13 @@
   @TagAttribute
   @UIComponentTagAttribute()
   void setApplicationIcon(String icon);
+
+  @TagAttribute
+  @UIComponentTagAttribute(type="java.lang.Integer", defaultCode = "getHeightInternal()")
+  void setHeight(String height);
+
+  @TagAttribute
+  @UIComponentTagAttribute(type="java.lang.Integer", defaultCode = "getWidthInternal()")
+  void setWidth(String width);
 
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PanelTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PanelTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PanelTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PanelTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -36,16 +36,16 @@
 @Tag(name = "panel")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIPanel",
-    generate = false,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UIPanelBase",
     rendererType = "Panel",
-    isAjaxEnabled = true,
+    interfaces = {"org.apache.myfaces.tobago.ajax.api.AjaxComponent",
+        "org.apache.myfaces.tobago.component.SupportsMarkup"},
     facets = {
     @Facet(name="reload", description = "Contains an instance of UIReload",
             allowedChildComponenents = "org.apache.myfaces.tobago.Reload"),
     @Facet(name="layout", description = "Contains an instance of UILayout",
             allowedChildComponenents = "org.apache.myfaces.tobago.GridLayout")})
-public interface PanelTagDeclaration extends TobagoBodyTagDeclaration,
-    HasIdBindingAndRendered, HasDeprecatedDimension {
+public interface PanelTagDeclaration extends HasIdBindingAndRendered, HasDeprecatedDimension {
 
   /**
    * Indicate markup of this component.

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupReferenceTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupReferenceTag.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupReferenceTag.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupReferenceTag.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,89 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.myfaces.tobago.apt.annotation.BodyContent;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.event.PopupActionListener;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.webapp.UIComponentTag;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagSupport;
+
+/*
+ * Date: Jan 3, 2007
+ * Time: 10:42:11 PM
+ */
+
+/**
+ * Register an PopupActionListener instance on the UIComponent
+ * associated with the closest parent UIComponent.
+ */
+@Tag(name = "popupReference", bodyContent = BodyContent.EMPTY)
+public class PopupReferenceTag extends TagSupport {
+
+  private static final long serialVersionUID = -8444689365088370011L;
+
+  private String forComponent;
+
+  /**
+   * The id of a Popup.
+   */
+  @TagAttribute
+  public void setFor(String popupId) {
+    this.forComponent = popupId;
+  }
+
+  public int doStartTag() throws JspException {
+
+    // Locate our parent UIComponentTag
+    UIComponentTag tag =
+        UIComponentTag.getParentUIComponentTag(pageContext);
+    if (tag == null) {
+      // TODO Message resource i18n
+      throw new JspException("Not nested in faces tag");
+    }
+
+    if (!tag.getCreated()) {
+      return (SKIP_BODY);
+    }
+
+    UIComponent component = tag.getComponentInstance();
+    if (component == null) {
+      // TODO Message resource i18n
+      throw new JspException("Component Instance is null");
+    }
+    if (!(component instanceof ActionSource)) {
+      // TODO Message resource i18n
+      throw new JspException("Component " + component.getClass().getName() + " is not instanceof ActionSource");
+    }
+    ActionSource actionSource = (ActionSource) component;
+    actionSource.addActionListener(new PopupActionListener(forComponent));
+    return (SKIP_BODY);
+  }
+
+  /**
+   * <p>Release references to any acquired resources.
+   */
+  public void release() {
+    this.forComponent = null;
+  }
+}

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/PopupTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -35,11 +35,10 @@
 @Tag(name = "popup")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIPopup",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UIPanelBase",
-    generate = false,
-    isAjaxEnabled = true,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIPopup",
+    interfaces = "org.apache.myfaces.tobago.ajax.api.AjaxComponent",
     rendererType = "Popup")
-public interface PopupTagDeclaration extends TobagoBodyTagDeclaration, HasId, IsRendered, HasDimension {
+public interface PopupTagDeclaration extends HasId, IsRendered, HasDimension {
 
   @TagAttribute
   @UIComponentTagAttribute()

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ProgressTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ProgressTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ProgressTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ProgressTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -47,7 +47,7 @@
             "Contains an instance of UICommand (tc:command). The action is invoked if the full progress has reached",
         allowedChildComponenents = "org.apache.myfaces.tobago.Command")})
         
-public interface ProgressTagDeclaration extends BeanTagDeclaration, HasIdBindingAndRendered, HasTip, HasMarkup {
+public interface ProgressTagDeclaration extends HasIdBindingAndRendered, HasTip, HasMarkup {
 
   /**
    * The current value of this component.

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ReloadTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ReloadTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ReloadTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ReloadTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -38,7 +38,7 @@
     componentType = "org.apache.myfaces.tobago.Reload",
     componentFamily = "org.apache.myfaces.tobago.Reload",
     allowedChildComponenents = "NONE")
-public interface ReloadTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered {
+public interface ReloadTagDeclaration extends HasIdBindingAndRendered {
 
 
   /**

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ScriptTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ScriptTag.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ScriptTag.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/ScriptTag.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,155 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.myfaces.tobago.apt.annotation.BodyContent;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.util.ComponentUtil;
+import org.apache.myfaces.tobago.component.AbstractUIPage;
+import org.apache.myfaces.tobago.internal.taglib.TagUtils;
+
+import javax.faces.context.FacesContext;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.BodyTagSupport;
+
+/*
+ * $Id$
+ */
+
+/**
+ * This tag add client side script to the rendered page.
+ */
+@Tag(name = "script", bodyContent = BodyContent.JSP)
+//    @Tag(name="script", bodyContent=BodyContent.TAGDEPENDENT)
+//    @BodyContentDescription(contentType="javascript")
+public class ScriptTag extends BodyTagSupport {
+
+  private static final long serialVersionUID = 3253751129824779272L;
+
+  private String file;
+  private String onload;
+  private String onunload;
+  private String onexit;
+  private String onsubmit;
+
+  @Override
+  public int doEndTag() throws JspException {
+
+    FacesContext facesContext = FacesContext.getCurrentInstance();
+    AbstractUIPage page = ComponentUtil.findPage(facesContext);
+    if (page == null) {
+      throw new JspException("The ScriptTag cannot find UIPage. "
+          + "Check you have defined the ScriptTag inside of the PageTag!");
+    }
+
+    if (file != null) {
+      page.getScriptFiles().add(TagUtils.getValueFromEl(file));
+    }
+    if (onload != null) {
+      page.getOnloadScripts().add(TagUtils.getValueFromEl(onload));
+    }
+    if (onunload != null) {
+      page.getOnunloadScripts().add(TagUtils.getValueFromEl(onunload));
+    }
+    if (onexit != null) {
+      page.getOnexitScripts().add(TagUtils.getValueFromEl(onexit));
+    }
+    if (onsubmit != null) {
+      page.getOnsubmitScripts().add(TagUtils.getValueFromEl(onsubmit));
+    }
+    if (bodyContent != null) {
+      String script = bodyContent.getString();
+      bodyContent.clearBody();
+      page.getScriptBlocks().add(TagUtils.getValueFromEl(script));
+    }
+
+    return EVAL_PAGE;
+  }
+
+  @Override
+  public int doStartTag() throws JspException {
+    return EVAL_BODY_BUFFERED;
+  }
+
+  @Override
+  public void release() {
+    super.release();
+    file = null;
+    onload = null;
+    onunload = null;
+    onexit = null;
+    onsubmit = null;
+  }
+
+  public String getFile() {
+    return file;
+  }
+
+
+  /**
+   * Absolute url to script file or script name to lookup in tobago resource path
+   */
+  @TagAttribute
+  public void setFile(String file) {
+    this.file = file;
+  }
+
+  public String getOnload() {
+    return onload;
+  }
+
+
+  /**
+   * A script function which is invoked during onLoad Handler on the client.
+   */
+  @TagAttribute
+  public void setOnload(String onload) {
+    this.onload = onload;
+  }
+
+  /**
+   * A script function which is invoked during onUnload Handler on the client,
+   * if the action is a normal submit inside of Tobago.
+   */
+  @TagAttribute
+  public void setOnunload(String onunload) {
+    this.onunload = onunload;
+  }
+
+  /**
+   * A script function which is invoked during onUnload Handler on the client,
+   * when the unload is invoked to a non Tobago page.
+   * E.g. close-button, back-button, entering new url, etc.
+   */
+  @TagAttribute
+  public void setOnexit(String onexit) {
+    this.onexit = onexit;
+  }
+
+  /**
+   * A script function which is invoked on client just before submitting the action.
+   * This should be a single function call. If the result is typeof 'boolean' and false
+   * the further processing is canceled and the page is not submitted.
+   */
+  @TagAttribute
+  public void setOnsubmit(String onsubmit) {
+    this.onsubmit = onsubmit;
+  }
+}
+

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCheckboxTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -50,7 +50,7 @@
 @BodyContentDescription(anyTagOf = "<f:facet>* ")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectBoolean",
-    uiComponentBaseClass = "javax.faces.component.UISelectBoolean",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUISelectBoolean",
     rendererType = "SelectBooleanCheckbox",
     allowedChildComponenents = "NONE",
     facets = {
@@ -64,7 +64,7 @@
                 allowedChildComponenents = "org.apache.myfaces.tobago.Command")
         })
 
-public interface SelectBooleanCheckboxTagDeclaration extends BeanTagDeclaration, HasValidator,
+public interface SelectBooleanCheckboxTagDeclaration extends HasValidator,
     HasOnchange, HasValueChangeListener, HasIdBindingAndRendered, HasLabelAndAccessKey, HasBooleanValue, IsDisabled,
     IsInline, HasTip, IsReadonly, HasMarkup, HasTabIndex, IsRequired, HasConverter, IsFocus /*, IsImmediateComponent */{
 

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCommandTagDeclaration.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCommandTagDeclaration.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCommandTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,13 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
+import org.apache.myfaces.tobago.taglib.decl.HasBooleanValue;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
+import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
+
+@UIComponentTag(
+    uiComponent = "org.apache.myfaces.tobago.component.UISelectBooleanCommand",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUICommand")
+public interface SelectBooleanCommandTagDeclaration extends AbstractCommandTagDeclaration,
+    HasIdBindingAndRendered, HasBooleanValue {
+}

Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCommandTagDeclaration.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectBooleanCommandTagDeclaration.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -42,7 +42,7 @@
     uiComponent = "org.apache.myfaces.tobago.component.UISelectItem",
     uiComponentBaseClass = "javax.faces.component.UISelectItem",
     allowedChildComponenents = "NONE")
-public interface SelectItemTagDeclaration extends TobagoTagDeclaration, HasBinding, HasId, HasMarkup {
+public interface SelectItemTagDeclaration extends HasBinding, HasId, HasMarkup {
   /**
    * Flag indicating whether the option created
    * by this component is disabled.

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemsTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemsTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemsTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectItemsTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -37,7 +37,7 @@
     uiComponentBaseClass = "javax.faces.component.UISelectItems",
     isComponentAlreadyDefined = false,
     allowedChildComponenents = "NONE")
-public interface SelectItemsTagDeclaration extends TobagoTagDeclaration, HasId, HasBinding {
+public interface SelectItemsTagDeclaration extends HasId, HasBinding {
 
   /**
    * Value binding expression pointing at a List or array of SelectItem instances containing

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyCheckboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyCheckboxTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyCheckboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyCheckboxTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -43,7 +43,7 @@
 @BodyContentDescription(anyTagOf = "(<f:selectItems>|<f:selectItem>|<tc:selectItem>)+ <f:facet>* ")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectManyCheckbox",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UISelectMany",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUISelectMany",
     rendererType = "SelectManyCheckbox",
     allowedChildComponenents = {
         "javax.faces.SelectItem",

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyListboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyListboxTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyListboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyListboxTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -42,12 +42,9 @@
 @Tag(name = "selectManyListbox")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectManyListbox",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UISelectMany",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUISelectMany",
     rendererType = "SelectManyListbox",
-    allowedChildComponenents = {
-        "javax.faces.SelectItem",
-        "javax.faces.SelectItems"
-        })
+    allowedChildComponenents = {"javax.faces.SelectItem","javax.faces.SelectItems"})
 
 public interface SelectManyListboxTagDeclaration extends SelectManyTagDeclaration, HasId, IsDisabled,
     HasDeprecatedHeight, IsInline, HasLabelAndAccessKey, 

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectManyTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -18,6 +18,7 @@
  */
 
 import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.InputTagDeclaration;
 
 /*
  * Created: Aug 5, 2005 5:22:44 PM

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneChoiceTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneChoiceTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneChoiceTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneChoiceTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -46,7 +46,7 @@
 @BodyContentDescription(anyTagOf = "(<f:selectItems>|<f:selectItem>|<tc:selectItem>)+ <f:facet>* ")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectOneChoice",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UISelectOne",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUISelectOne",
     rendererType = "SelectOneChoice",
     allowedChildComponenents = {
         "javax.faces.SelectItem",

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneCommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneCommandTagDeclaration.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneCommandTagDeclaration.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneCommandTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,13 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
+import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
+import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.taglib.decl.AbstractCommandTagDeclaration;
+
+@UIComponentTag(
+    uiComponent = "org.apache.myfaces.tobago.component.UISelectOneCommand",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UICommand")
+public interface SelectOneCommandTagDeclaration extends AbstractCommandTagDeclaration,
+    HasIdBindingAndRendered, HasValue {
+}

Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneCommandTagDeclaration.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneCommandTagDeclaration.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneListboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneListboxTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneListboxTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneListboxTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -45,7 +45,7 @@
 @BodyContentDescription(anyTagOf = "(<f:selectItems>|<f:selectItem>|<tc:selectItem>)+ <f:facet>* ")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectOneListbox",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UISelectOne",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUISelectOne",
     rendererType = "SelectOneListbox",
     allowedChildComponenents = {
         "javax.faces.SelectItem",

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneRadioTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneRadioTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneRadioTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneRadioTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -30,7 +30,7 @@
 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
 import org.apache.myfaces.tobago.taglib.decl.IsInline;
 import org.apache.myfaces.tobago.taglib.decl.IsRendered;
-//import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
+import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
 
 /*
  * Created: Aug 5, 2005 6:11:03 PM
@@ -44,7 +44,7 @@
 @BodyContentDescription(anyTagOf = "(<f:selectItems>|<f:selectItem>|<tc:selectItem>)+ <f:facet>* ")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectOneRadio",
-    uiComponentBaseClass = "org.apache.myfaces.tobago.component.UISelectOne",
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUISelectOne",
     rendererType = "SelectOneRadio",
     allowedChildComponenents = {
         "javax.faces.SelectItem",
@@ -60,8 +60,7 @@
             "This facet can contain a UICommand that is invoked in case of a change event from the component",
         allowedChildComponenents = "org.apache.myfaces.tobago.Command")
         })
-public interface SelectOneRadioTagDeclaration extends SelectOneTagDeclaration, IsDisabled, //IsReadonly,
-    HasId,
+public interface SelectOneRadioTagDeclaration extends SelectOneTagDeclaration, IsDisabled, IsReadonly, HasId,
     IsInline, HasRenderRange, IsRendered, HasBinding, HasConverter {
 
   /**

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectOneTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -18,6 +18,7 @@
  */
 
 import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
+import org.apache.myfaces.tobago.taglib.decl.InputTagDeclaration;
 
 /*
  * Created: Aug 5, 2005 5:27:47 PM

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectReferenceTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectReferenceTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectReferenceTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SelectReferenceTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -37,10 +37,9 @@
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UISelectReference",
     uiComponentBaseClass = "javax.faces.component.UIOutput",
-    rendererType = "SelectReference", 
-    isComponentAlreadyDefined = false,
+    rendererType = "SelectReference",
     allowedChildComponenents = "NONE")
-public interface SelectReferenceTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered {
+public interface SelectReferenceTagDeclaration extends HasIdBindingAndRendered {
   /**
    * Id of the component, this is related to.
    */

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SeparatorTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SeparatorTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SeparatorTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SeparatorTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -34,5 +34,5 @@
     facets = { @Facet(name = "label", description = "This facet contains a UILabel",
                       allowedChildComponenents = "org.apache.myfaces.tobago.Label") })
 
-public interface SeparatorTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered {
+public interface SeparatorTagDeclaration extends HasIdBindingAndRendered {
 }

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SheetTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SheetTagDeclaration.java?rev=644014&r1=644013&r2=644014&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SheetTagDeclaration.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/SheetTagDeclaration.java Wed Apr  2 12:36:26 2008
@@ -24,7 +24,6 @@
 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
-import org.apache.myfaces.tobago.component.UIData;
 import org.apache.myfaces.tobago.taglib.decl.HasIdBindingAndRendered;
 
 /*
@@ -41,7 +40,8 @@
 @BodyContentDescription(anyTagOf = "<tc:column>* <tc:columnSelector>?")
 @UIComponentTag(
     uiComponent = "org.apache.myfaces.tobago.component.UIData",
-    generate = false, isAjaxEnabled = true,
+    uiComponentBaseClass = "org.apache.myfaces.tobago.component.AbstractUIData",
+    interfaces = "org.apache.myfaces.tobago.ajax.api.AjaxComponent",
     rendererType = "Sheet",     
     allowedChildComponenents = {
         "javax.faces.Column",
@@ -49,7 +49,7 @@
     facets = {@Facet(name="reload", description = "Contains an instance of UIReload",
                      allowedChildComponenents = "org.apache.myfaces.tobago.Reload")})
 
-public interface SheetTagDeclaration extends TobagoTagDeclaration, HasIdBindingAndRendered {
+public interface SheetTagDeclaration extends HasIdBindingAndRendered {
   /**
    * LayoutConstraints for column layout.
    * Semicolon separated list of layout tokens ('&lt;x>*', '&lt;x>px' or '&lt;x>%').
@@ -185,8 +185,8 @@
    * The <strong>default</strong> is <code>multi</code>.
    */
   @TagAttribute
-  @UIComponentTagAttribute(defaultValue = UIData.MULTI,
-      allowedValues = {UIData.NONE, UIData.SINGLE, UIData.MULTI})
+  @UIComponentTagAttribute(defaultValue = "multi",
+      allowedValues = {"none", "single", "multi"})
   void setSelectable(String selectable);
 
   /**
@@ -204,7 +204,7 @@
     * SheetStateChangeEvent parameter, with a return type of void.
    */
   @TagAttribute
-  @UIComponentTagAttribute(type = "javax.faces.el.MethodBinding",
+  @UIComponentTagAttribute(type = {},
        expression = DynamicExpression.METHOD_BINDING_REQUIRED,
        methodSignature = "javax.faces.event.ActionEvent")
   void setStateChangeListener(String stateChangeListener);
@@ -222,7 +222,7 @@
    * the sheet's {@link org.apache.myfaces.tobago.model.SheetState} object.
    */
   @TagAttribute
-  @UIComponentTagAttribute(type = "javax.faces.el.MethodBinding",
+  @UIComponentTagAttribute(type = {},
        expression = DynamicExpression.METHOD_BINDING_REQUIRED,
        methodSignature = "javax.faces.event.ActionEvent")
   void setSortActionListener(String sortActionListener);

Added: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/StyleTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/StyleTag.java?rev=644014&view=auto
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/StyleTag.java (added)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/component/StyleTag.java Wed Apr  2 12:36:26 2008
@@ -0,0 +1,88 @@
+package org.apache.myfaces.tobago.taglib.component;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.myfaces.tobago.apt.annotation.BodyContent;
+import org.apache.myfaces.tobago.apt.annotation.BodyContentDescription;
+import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.util.ComponentUtil;
+import org.apache.myfaces.tobago.component.AbstractUIPage;
+import org.apache.myfaces.tobago.taglib.decl.HasId;
+import org.apache.myfaces.tobago.internal.taglib.TagUtils;
+
+import javax.faces.context.FacesContext;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.BodyTagSupport;
+
+/**
+ * Add a style tag.
+ * Collected bodyContent is rendered as content into a style tag.
+ */
+@Tag(name = "style", bodyContent = BodyContent.TAGDEPENDENT)
+@BodyContentDescription(contentType = "css")
+public class StyleTag extends BodyTagSupport implements HasId {
+
+  private static final long serialVersionUID = -2201525304632479403L;
+
+  private String style;
+
+  public int doEndTag() throws JspException {
+
+    FacesContext facesContext = FacesContext.getCurrentInstance();
+    AbstractUIPage page = ComponentUtil.findPage(facesContext);
+    if (page == null) {
+      throw new JspException("The StyleTag cannot find the UIPage. "
+          + "Check you have defined the StyleTag inside of the PageTag!");
+    }
+
+    if (style != null) {
+      page.getStyleFiles().add(TagUtils.getValueFromEl(style));
+    }
+
+    if (bodyContent != null) {
+      String classes = bodyContent.getString();
+      bodyContent.clearBody();
+      page.getStyleBlocks().add(TagUtils.getValueFromEl(classes));
+    }
+
+    return EVAL_PAGE;
+  }
+
+  public int doStartTag() throws JspException {
+    return EVAL_BODY_BUFFERED;
+  }
+
+  public void release() {
+    super.release();
+    style = null;
+  }
+
+  public String getStyle() {
+    return style;
+  }
+
+  /**
+   * Name of the stylsheet file to add to page.
+   */
+  @TagAttribute
+  public void setStyle(String style) {
+    this.style = style;
+  }
+}
+