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 2007/08/10 22:37:49 UTC
svn commit: r564756 -
/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/
Author: bommel
Date: Fri Aug 10 13:37:48 2007
New Revision: 564756
URL: http://svn.apache.org/viewvc?view=rev&rev=564756
Log:
(TOBAGO-464) Create a real tx extension taglib for facelets
Added:
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/MenuCheckboxExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TimeExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoLabelExtensionHandler.java
- copied, changed from r564363, myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoMenuExtensionHandler.java
Removed:
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionHandler.java
Modified:
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/FileExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/InExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectBooleanCheckboxExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectManyListboxExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectOneListboxExtensionHandler.java
myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionTagLibrary.java
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/FileExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/FileExtensionHandler.java?view=diff&rev=564756&r1=564755&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/FileExtensionHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/FileExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -25,7 +25,7 @@
* Date: Aug 8, 2007
* Time: 5:45:16 PM
*/
-public class FileExtensionHandler extends TobagoExtensionHandler {
+public class FileExtensionHandler extends TobagoLabelExtensionHandler {
public FileExtensionHandler(ComponentConfig config) {
super(config);
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/InExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/InExtensionHandler.java?view=diff&rev=564756&r1=564755&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/InExtensionHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/InExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -25,7 +25,7 @@
* Date: Aug 8, 2007
* Time: 5:43:10 PM
*/
-public class InExtensionHandler extends TobagoExtensionHandler {
+public class InExtensionHandler extends TobagoLabelExtensionHandler {
public InExtensionHandler(ComponentConfig config) {
super(config);
Added: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/MenuCheckboxExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/MenuCheckboxExtensionHandler.java?view=auto&rev=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/MenuCheckboxExtensionHandler.java (added)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/MenuCheckboxExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -0,0 +1,36 @@
+package org.apache.myfaces.tobago.facelets.extension;
+
+/*
+ * 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 com.sun.facelets.tag.jsf.ComponentConfig;
+import org.apache.myfaces.tobago.component.UISelectBoolean;
+
+/*
+ * Date: Aug 10, 2007
+ * Time: 10:19:47 PM
+ */
+public class MenuCheckboxExtensionHandler extends TobagoMenuExtensionHandler {
+
+ public MenuCheckboxExtensionHandler(ComponentConfig config) {
+ super(config);
+ }
+
+ protected String getSubComponentType() {
+ return UISelectBoolean.COMPONENT_TYPE;
+ }
+}
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectBooleanCheckboxExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectBooleanCheckboxExtensionHandler.java?view=diff&rev=564756&r1=564755&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectBooleanCheckboxExtensionHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectBooleanCheckboxExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -25,7 +25,7 @@
* Date: Aug 9, 2007
* Time: 8:36:38 PM
*/
-public class SelectBooleanCheckboxExtensionHandler extends TobagoExtensionHandler {
+public class SelectBooleanCheckboxExtensionHandler extends TobagoLabelExtensionHandler {
public SelectBooleanCheckboxExtensionHandler(ComponentConfig config) {
super(config);
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectManyListboxExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectManyListboxExtensionHandler.java?view=diff&rev=564756&r1=564755&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectManyListboxExtensionHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectManyListboxExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -25,7 +25,7 @@
* Date: Aug 9, 2007
* Time: 8:37:36 PM
*/
-public class SelectManyListboxExtensionHandler extends TobagoExtensionHandler {
+public class SelectManyListboxExtensionHandler extends TobagoLabelExtensionHandler {
public SelectManyListboxExtensionHandler(ComponentConfig config) {
super(config);
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectOneListboxExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectOneListboxExtensionHandler.java?view=diff&rev=564756&r1=564755&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectOneListboxExtensionHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/SelectOneListboxExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -25,7 +25,7 @@
* Date: Aug 9, 2007
* Time: 8:39:46 PM
*/
-public class SelectOneListboxExtensionHandler extends TobagoExtensionHandler {
+public class SelectOneListboxExtensionHandler extends TobagoLabelExtensionHandler {
public SelectOneListboxExtensionHandler(ComponentConfig config) {
super(config);
Added: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TimeExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TimeExtensionHandler.java?view=auto&rev=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TimeExtensionHandler.java (added)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TimeExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -0,0 +1,41 @@
+package org.apache.myfaces.tobago.facelets.extension;
+
+/*
+ * 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 com.sun.facelets.tag.jsf.ComponentConfig;
+import org.apache.myfaces.tobago.TobagoConstants;
+import org.apache.myfaces.tobago.component.UIFileInput;
+
+/*
+ * Date: Aug 10, 2007
+ * Time: 9:37:32 PM
+ */
+public class TimeExtensionHandler extends TobagoLabelExtensionHandler {
+
+ public TimeExtensionHandler(ComponentConfig config) {
+ super(config);
+ }
+
+ protected String getSubComponentType() {
+ return UIFileInput.COMPONENT_TYPE;
+ }
+
+ protected String getSubRendererType() {
+ return TobagoConstants.RENDERER_TYPE_TIME;
+ }
+}
Modified: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionTagLibrary.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionTagLibrary.java?view=diff&rev=564756&r1=564755&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionTagLibrary.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionTagLibrary.java Fri Aug 10 13:37:48 2007
@@ -32,6 +32,11 @@
addComponent("in", "org.apache.myfaces.tobago.Panel", "Panel", InExtensionHandler.class);
addComponent("file", "org.apache.myfaces.tobago.Panel", "Panel", FileExtensionHandler.class);
addComponent("date", "org.apache.myfaces.tobago.Panel", "Panel", DateExtensionHandler.class);
+ addComponent("menuCheckbox", "org.apache.myfaces.tobago.MenuCommand", "MenuCommand",
+ MenuCheckboxExtensionHandler.class);
+ addComponent("menuRadio", "org.apache.myfaces.tobago.MenuCommand", "MenuCommand",
+ MenuRadioExtensionHandler.class);
+ addComponent("time", "org.apache.myfaces.tobago.Panel", "Panel", TimeExtensionHandler.class);
addComponent("textArea", "org.apache.myfaces.tobago.Panel", "Panel", TextAreaExtensionHandler.class);
addComponent("selectBooleanCheckbox", "org.apache.myfaces.tobago.Panel", "Panel",
SelectBooleanCheckboxExtensionHandler.class);
Copied: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoLabelExtensionHandler.java (from r564363, myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionHandler.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoLabelExtensionHandler.java?view=diff&rev=564756&p1=myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionHandler.java&r1=564363&p2=myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoLabelExtensionHandler.java&r2=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoExtensionHandler.java (original)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoLabelExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -41,12 +41,12 @@
* Date: Jul 31, 2007
* Time: 6:14:34 PM
*/
-public abstract class TobagoExtensionHandler extends ComponentHandler {
+public abstract class TobagoLabelExtensionHandler extends ComponentHandler {
private TagAttribute labelWidthAttribute;
private TagAttribute tipAttribute;
private TagAttribute labelAttribute;
- public TobagoExtensionHandler(ComponentConfig config) {
+ public TobagoLabelExtensionHandler(ComponentConfig config) {
super(config);
labelWidthAttribute = getAttribute("labelWidth");
tipAttribute = getAttribute(TobagoConstants.ATTR_TIP);
@@ -62,7 +62,7 @@
}
protected void applyNextHandler(FaceletContext ctx, UIComponent panel)
- throws IOException, FacesException, ELException {
+ throws IOException, FacesException, ELException {
nextHandler.apply(ctx, (UIComponent) panel.getChildren().get(1));
}
@@ -117,7 +117,7 @@
protected MetaRuleset createMetaRuleset(Class aClass) {
MetaRuleset metaRuleset = super.createMetaRuleset(aClass);
if (UIPanel.class.isAssignableFrom(aClass)) {
- for (TagAttribute attr: tag.getAttributes().getAll()) {
+ for (TagAttribute attr : tag.getAttributes().getAll()) {
if (!attr.getLocalName().equals("rendered")) {
metaRuleset.ignore(attr.getLocalName());
}
Added: myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoMenuExtensionHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoMenuExtensionHandler.java?view=auto&rev=564756
==============================================================================
--- myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoMenuExtensionHandler.java (added)
+++ myfaces/tobago/trunk/contrib/facelets/src/main/java/org/apache/myfaces/tobago/facelets/extension/TobagoMenuExtensionHandler.java Fri Aug 10 13:37:48 2007
@@ -0,0 +1,80 @@
+package org.apache.myfaces.tobago.facelets.extension;
+
+/*
+ * 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 com.sun.facelets.tag.jsf.ComponentHandler;
+import com.sun.facelets.tag.jsf.ComponentConfig;
+import com.sun.facelets.tag.jsf.ComponentSupport;
+import com.sun.facelets.tag.MetaRuleset;
+import com.sun.facelets.tag.TagAttribute;
+import com.sun.facelets.FaceletContext;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.FacesException;
+import javax.faces.application.Application;
+import javax.el.ELException;
+import java.io.IOException;
+
+import org.apache.myfaces.tobago.component.UIMenuCommand;
+import org.apache.myfaces.tobago.TobagoConstants;
+
+/*
+ * Date: Aug 10, 2007
+ * Time: 9:40:24 PM
+ */
+public abstract class TobagoMenuExtensionHandler extends ComponentHandler {
+
+ public TobagoMenuExtensionHandler(ComponentConfig config) {
+ super(config);
+ }
+
+ protected abstract String getSubComponentType();
+
+ protected void applyNextHandler(FaceletContext faceletContext, UIComponent menuCommand)
+ throws IOException, FacesException, ELException {
+ nextHandler.apply(faceletContext, menuCommand.getFacet(TobagoConstants.FACET_ITEMS));
+ }
+
+ protected void onComponentCreated(FaceletContext faceletContext, UIComponent menuCommand, UIComponent parent) {
+
+ Application application = faceletContext.getFacesContext().getApplication();
+ UIViewRoot root = ComponentSupport.getViewRoot(faceletContext, parent);
+ UIComponent component = application.createComponent(getSubComponentType());
+ component.setId(root.createUniqueId());
+ setAttributes(faceletContext, component);
+ menuCommand.getFacets().put(TobagoConstants.FACET_ITEMS, component);
+ }
+
+ protected MetaRuleset createMetaRuleset(Class aClass) {
+ MetaRuleset metaRuleset = super.createMetaRuleset(aClass);
+ if (UIMenuCommand.class.isAssignableFrom(aClass)) {
+ metaRuleset.ignore(TobagoConstants.ATTR_CONVERTER);
+ metaRuleset.ignore(TobagoConstants.ATTR_VALUE);
+ return metaRuleset;
+ } else {
+ for (TagAttribute attr : tag.getAttributes().getAll()) {
+ if (!(attr.getLocalName().equals(TobagoConstants.ATTR_CONVERTER)
+ || attr.getLocalName().equals(TobagoConstants.ATTR_VALUE))) {
+ metaRuleset.ignore(attr.getLocalName());
+ }
+ }
+ return metaRuleset;
+ }
+ }
+}