You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2007/10/05 22:00:54 UTC
svn commit: r582379 - in
/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago:
taglib/extension/LabelExtensionTag.java util/LayoutUtil.java
Author: weber
Date: Fri Oct 5 13:00:53 2007
New Revision: 582379
URL: http://svn.apache.org/viewvc?rev=582379&view=rev
Log:
<tx:selectBooleanCheckbox> with attribute "labelWidth" doesn't work
<http://issues.apache.org/jira/browse/TOBAGO-505>
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/util/LayoutUtil.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java?rev=582379&r1=582378&r2=582379&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/extension/LabelExtensionTag.java Fri Oct 5 13:00:53 2007
@@ -17,6 +17,9 @@
* limitations under the License.
*/
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import static org.apache.myfaces.tobago.TobagoConstants.FACET_LAYOUT;
import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
import org.apache.myfaces.tobago.apt.annotation.Tag;
@@ -25,6 +28,7 @@
import org.apache.myfaces.tobago.taglib.component.PanelTag;
import org.apache.myfaces.tobago.taglib.decl.HasTip;
import org.apache.myfaces.tobago.taglib.decl.HasValue;
+import org.apache.myfaces.tobago.util.LayoutUtil;
import javax.faces.webapp.FacetTag;
import javax.servlet.jsp.JspException;
@@ -35,10 +39,14 @@
public class LabelExtensionTag extends BodyTagSupport
implements HasValue, HasTip {
+ private final Log LOG = LogFactory.getLog(LabelExtensionTag.class);
+
+ public static final String DEFAULT_COLUMNS = "fixed;*";
+
private String value;
private String tip;
private String rendered;
- private String columns = "fixed;*";
+ private String columns = DEFAULT_COLUMNS;
private String rows = "fixed";
private PanelTag panelTag;
@@ -46,6 +54,8 @@
@Override
public int doStartTag() throws JspException {
+ checkValidColums();
+
panelTag = new PanelTag();
panelTag.setPageContext(pageContext);
panelTag.setParent(getParent());
@@ -84,6 +94,13 @@
labelTag.doEndTag();
return super.doStartTag();
+ }
+
+ private void checkValidColums() {
+ if (!LayoutUtil.checkTokens(columns)) {
+ LOG.warn("Illegal value for columns = \"" + columns + "\" replacing with default: \"" + DEFAULT_COLUMNS + "\"");
+ columns = DEFAULT_COLUMNS;
+ }
}
@Override
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/util/LayoutUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/util/LayoutUtil.java?rev=582379&r1=582378&r2=582379&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/util/LayoutUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/util/LayoutUtil.java Fri Oct 5 13:00:53 2007
@@ -40,11 +40,16 @@
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
+import java.util.StringTokenizer;
+import java.util.regex.Pattern;
public final class LayoutUtil {
private static final Log LOG = LogFactory.getLog(LayoutUtil.class);
+ private static final Pattern TOKEN_PATTERN
+ = Pattern.compile("^(\\d*px|\\d*\\*|\\d*%|fixed)$");
+
private LayoutUtil() {
// to prevent instantiation
}
@@ -263,5 +268,15 @@
return dimension;
}
+ public static boolean checkTokens(String columns) {
+ StringTokenizer st = new StringTokenizer(columns, ";");
+ while (st.hasMoreTokens()) {
+ String token = st.nextToken();
+ if (!TOKEN_PATTERN.matcher(token).matches()) {
+ return false;
+ }
+ }
+ return true;
+ }
}