Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/PanelFormLayoutOperation.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/PanelFormLayoutOperation.java427
1 files changed, 0 insertions, 427 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/PanelFormLayoutOperation.java b/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/PanelFormLayoutOperation.java
deleted file mode 100644
index b1578c0f5..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.apache.trinidad.tagsupport/src/org/eclipse/jst/jsf/apache/trinidad/tagsupport/converter/operations/PanelFormLayoutOperation.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/**
- * Copyright (c) 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- */
-package org.eclipse.jst.jsf.apache.trinidad.tagsupport.converter.operations;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jst.jsf.apache.trinidad.tagsupport.ITrinidadConstants;
-import org.eclipse.jst.jsf.common.dom.TagIdentifier;
-import org.eclipse.jst.jsf.core.internal.tld.TagIdentifierFactory;
-import org.eclipse.jst.pagedesigner.converter.ConvertPosition;
-import org.w3c.dom.Element;
-
-/**
- * ITransformOperation implementation specifically for the "panelFormLayout"
- * JSF Element.
- *
- * <br><b>Note:</b> requires ITransformOperation.setTagConverterContext(...) to
- * have been called to provide a valid ITagConverterContext instance prior to
- * a call to the transform(...) method.
- *
- * @author Ian Trimble - Oracle
- */
-public class PanelFormLayoutOperation extends AbstractTrinidadTransformOperation {
-
- private static final String STYLE_REQUIREDSPAN = "color:#669966;font-family:Courier,sans-serif;"; //$NON-NLS-1$
- private static final String STYLE_GROUPSEPARATOR = "background-color:gray;height:1px;font-size:1px;margin-top:3px;margin-bottom:3px;"; //$NON-NLS-1$
- private static final String STYLE_LABELCELL = "font-family:Arial,Helvetica,Geneva,sans-serif;font-size:10pt;text-align:right;color:#000000;padding:0px 8px 0px 0px;font-weight:normal;"; //$NON-NLS-1$
- private static final String STYLE_FIELDCELL = "padding:1px 0px;"; //$NON-NLS-1$
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.pagedesigner.dtmanager.converter.operations.AbstractTransformOperation#transform(org.w3c.dom.Element, org.w3c.dom.Element)
- */
- @Override
- public Element transform(Element srcElement, Element curElement) {
- //calculate required values
- int columnCount = calculateColumnCount(srcElement);
- int rowCount = calculateRowCount(srcElement);
- String fieldWidth = calculateFieldWidth(srcElement);
- String labelWidth = calculateLabelWidth(srcElement);
-
- //initialize current column/row variables
- int currentColumn = 1;
- int currentRow = 1;
-
- //build outer table
- Element outerTableElement = createElement("table"); //$NON-NLS-1$
- String styleClass = srcElement.getAttribute("styleClass"); //$NON-NLS-1$
- if (styleClass != null && styleClass.length() > 0) {
- appendAttribute(outerTableElement, "class", styleClass); //$NON-NLS-1$
- }
- String inlineStyle = srcElement.getAttribute("inlineStyle"); //$NON-NLS-1$
- if (inlineStyle != null && inlineStyle.length() > 0) {
- appendAttribute(outerTableElement, "style", inlineStyle + ";width:100%;"); //$NON-NLS-1$
- } else {
- appendAttribute(outerTableElement, "style", "width:100%;"); //$NON-NLS-1$
- }
- appendAttribute(outerTableElement, "cellpadding", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(outerTableElement, "cellspacing", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(outerTableElement, "border", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- Element outerTBodyElement = appendChildElement("tbody", outerTableElement); //$NON-NLS-1$
- Element outerTopTRElement = appendChildElement("tr", outerTBodyElement); //$NON-NLS-1$
-
- //build start of column
- Element currentTBodyElement = buildColumnStart(outerTopTRElement, columnCount, currentColumn, labelWidth, fieldWidth);
-
- //build controls
- List<Element> childElements = getChildElementsSkipFacets(srcElement);
- Iterator<Element> itChildElements = childElements.iterator();
- while (itChildElements.hasNext()) {
- Element childElement = itChildElements.next();
- if (ITrinidadConstants.TAG_IDENTIFIER_GROUP.isSameTagType(
- TagIdentifierFactory.createDocumentTagWrapper(childElement))) {
- if (currentRow > 1) {
- buildGroupSeparatorRow(currentTBodyElement);
- }
- List<Element> groupChildElements = getChildElementsSkipFacets(childElement);
- Iterator<Element> itGroupChildElements = groupChildElements.iterator();
- while (itGroupChildElements.hasNext()) {
- Element groupChildElement = itGroupChildElements.next();
- buildControlRow(groupChildElement, currentTBodyElement);
- }
- currentRow += groupChildElements.size();
- if (currentRow <= rowCount) {
- buildGroupSeparatorRow(currentTBodyElement);
- }
- if (currentRow > rowCount && currentColumn < columnCount) {
- currentRow = 1;
- currentColumn++;
- currentTBodyElement = buildColumnStart(
- outerTopTRElement, columnCount, currentColumn, labelWidth, fieldWidth);
- }
- } else {
- buildControlRow(childElement, currentTBodyElement);
- currentRow++;
- if (currentRow > rowCount && currentColumn < columnCount) {
- currentRow = 1;
- currentColumn++;
- currentTBodyElement = buildColumnStart(
- outerTopTRElement, columnCount, currentColumn, labelWidth, fieldWidth);
- }
- }
- }
-
- //handle "footer" facet
- Element footerElement = getChildFacetByName(srcElement, "footer");
- if (footerElement != null) {
- List<Element> footerChildElements = getChildElementsSkipFacets(footerElement);
- if (footerChildElements.size() > 0) {
- Element outerBottomTRElement = appendChildElement("tr", outerTBodyElement); //$NON-NLS-1$
- currentTBodyElement = buildFooterStart(
- outerBottomTRElement, columnCount, labelWidth);
- rowCount = countChildElements(footerElement);
- currentRow = 1;
- Iterator<Element> itFooterChildElements = footerChildElements.iterator();
- while (itFooterChildElements.hasNext()) {
- Element footerChildElement = itFooterChildElements.next();
- if (ITrinidadConstants.TAG_IDENTIFIER_GROUP.isSameTagType(
- TagIdentifierFactory.createDocumentTagWrapper(footerChildElement))) {
- if (currentRow > 1) {
- buildGroupSeparatorRow(currentTBodyElement);
- }
- List<Element> groupFooterChildElements = getChildElementsSkipFacets(footerChildElement);
- Iterator<Element> itGroupFooterChildElements = groupFooterChildElements.iterator();
- while (itGroupFooterChildElements.hasNext()) {
- Element groupFooterChildElement = itGroupFooterChildElements.next();
- if (ITrinidadConstants.TAG_IDENTIFIER_GROUP.isSameTagType(
- TagIdentifierFactory.createDocumentTagWrapper(groupFooterChildElement))) {
- if (currentRow > 1) {
- buildGroupSeparatorRow(currentTBodyElement);
- }
- List<Element> subGroupFooterChildElements = getChildElementsSkipFacets(groupFooterChildElement);
- Iterator<Element> itSubGroupFooterChildElements = subGroupFooterChildElements.iterator();
- while (itSubGroupFooterChildElements.hasNext()) {
- Element subGroupFooterChildElement = itSubGroupFooterChildElements.next();
- buildControlRow(subGroupFooterChildElement, currentTBodyElement, true);
- currentRow++;
- }
- if (currentRow <= rowCount) {
- buildGroupSeparatorRow(currentTBodyElement);
- }
- } else {
- buildControlRow(groupFooterChildElement, currentTBodyElement, true);
- currentRow++;
- }
- }
- if (currentRow <= rowCount) {
- buildGroupSeparatorRow(currentTBodyElement);
- }
- } else {
- buildControlRow(footerChildElement, currentTBodyElement, true);
- currentRow++;
- }
- }
- }
- }
-
- return outerTableElement;
- }
-
- private int calculateRowCount(Element srcElement) {
- int rowCount = Integer.MAX_VALUE;
- int specifiedRows = Integer.MAX_VALUE;
- String rows = srcElement.getAttribute("rows"); //$NON-NLS-1$
- if (rows != null && rows.length() > 0) {
- try {
- //not spec'ed, but observed that setting rows < 5 is ignored
- specifiedRows = Math.max(5, Integer.parseInt(rows));
- } catch(NumberFormatException nfe) {
- //ignore - specifiedRows will default to Integer.MAX_VALUE
- }
- }
- int specifiedMaxColumns = Integer.MAX_VALUE;
- String maxColumns = srcElement.getAttribute("maxColumns"); //$NON-NLS-1$
- if (maxColumns != null && maxColumns.length() > 0) {
- try {
- specifiedMaxColumns = Integer.parseInt(maxColumns);
- } catch(NumberFormatException nfe) {
- //ignore - specifiedMaxColumns will default to Integer.MAX_VALUE
- }
- }
- int childElementCount = countChildElements(srcElement);
- int calculatedColumns = childElementCount / specifiedRows;
- if (childElementCount % specifiedRows > 0) {
- calculatedColumns++;
- }
- if (calculatedColumns > specifiedMaxColumns) {
- rowCount = childElementCount / specifiedMaxColumns;
- } else {
- rowCount = specifiedRows;
- }
- return rowCount;
- }
-
- private int calculateColumnCount(Element srcElement) {
- int columnCount = Integer.MAX_VALUE;
- int specifiedRows = Integer.MAX_VALUE;
- String rows = srcElement.getAttribute("rows"); //$NON-NLS-1$
- if (rows != null && rows.length() > 0) {
- try {
- //not spec'ed, but observed that setting rows < 5 is ignored
- specifiedRows = Math.max(5, Integer.parseInt(rows));
- } catch(NumberFormatException nfe) {
- //ignore - specifiedRows will default to Integer.MAX_VALUE
- }
- }
- int specifiedMaxColumns = Integer.MAX_VALUE;
- String maxColumns = srcElement.getAttribute("maxColumns"); //$NON-NLS-1$
- if (maxColumns != null && maxColumns.length() > 0) {
- try {
- specifiedMaxColumns = Integer.parseInt(maxColumns);
- } catch(NumberFormatException nfe) {
- //ignore - specifiedMaxColumns will default to Integer.MAX_VALUE
- }
- }
- int childElementCount = countChildElements(srcElement);
- int calculatedColumns = childElementCount / specifiedRows;
- if (childElementCount % specifiedRows > 0) {
- calculatedColumns++;
- }
- columnCount = Math.min(specifiedMaxColumns, calculatedColumns);
- return columnCount;
- }
-
- private int countChildElements(Element srcElement) {
- int count = 0;
- List<Element> childElements = getChildElementsSkipFacets(srcElement);
- Iterator<Element> itChildElements = childElements.iterator();
- while (itChildElements.hasNext()) {
- Element childElement = itChildElements.next();
- if (ITrinidadConstants.TAG_IDENTIFIER_GROUP.isSameTagType(
- TagIdentifierFactory.createDocumentTagWrapper(childElement))) {
- count += countChildElements(childElement);
- } else {
- count++;
- }
- }
- return count;
- }
-
- private String calculateFieldWidth(Element srcElement) {
- String width = null;
- String fieldWidth = srcElement.getAttribute("fieldWidth"); //$NON-NLS-1$
- if (fieldWidth != null && fieldWidth.length() > 0) {
- width = fieldWidth;
- } else {
- String labelWidth = srcElement.getAttribute("labelWidth"); //$NON-NLS-1$
- if (labelWidth != null && labelWidth.length() > 1) {
- if (labelWidth.endsWith("%")) { //$NON-NLS-1$
- try {
- int iLabelWidth = Integer.parseInt(labelWidth.substring(0, labelWidth.length() - 1));
- if (iLabelWidth <= 100) {
- width = String.valueOf(100 - iLabelWidth) + "%"; //$NON-NLS-1$
- }
- } catch(NumberFormatException nfe) {
- //ignore - cannot calculate and so will return null
- }
- }
- }
- }
- return width;
- }
-
- private String calculateLabelWidth(Element srcElement) {
- String width = null;
- String labelWidth = srcElement.getAttribute("labelWidth"); //$NON-NLS-1$
- if (labelWidth != null && labelWidth.length() > 0) {
- width = labelWidth;
- } else {
- String fieldWidth = srcElement.getAttribute("fieldWidth"); //$NON-NLS-1$
- if (fieldWidth != null && fieldWidth.length() > 1) {
- if (fieldWidth.endsWith("%")) { //$NON-NLS-1$
- try {
- int iFieldWidth = Integer.parseInt(fieldWidth.substring(0, fieldWidth.length() - 1));
- if (iFieldWidth <= 100) {
- width = String.valueOf(100 - iFieldWidth) + "%"; //$NON-NLS-1$
- }
- } catch(NumberFormatException nfe) {
- //ignore - cannot calculate and so will return null
- }
- }
- }
- }
- return width;
- }
-
- private Element buildColumnStart(
- Element parentElement, int columnCount, int currentColumn,
- String labelWidth, String fieldWidth) {
- Element tdElement = appendChildElement("td", parentElement);
- appendAttribute(tdElement, "style", "vertical-align:top;"); //$NON-NLS-1$ //$NON-NLS-2$
- if (currentColumn < columnCount) {
- String width = String.valueOf(100 / columnCount) + "%"; //$NON-NLS-1$
- appendAttribute(tdElement, "width", width); //$NON-NLS-1$
- }
- Element tableElement = appendChildElement("table", tdElement); //$NON-NLS-1$
- appendAttribute(tableElement, "cellpadding", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tableElement, "cellspacing", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tableElement, "border", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tableElement, "width", "100%"); //$NON-NLS-1$ //$NON-NLS-2$
- Element tBodyElement = appendChildElement("tbody", tableElement); //$NON-NLS-1$
- Element trElement = appendChildElement("tr", tBodyElement); //$NON-NLS-1$
- Element tdLabelElement = appendChildElement("td", trElement); //$NON-NLS-1$
- if (labelWidth != null && labelWidth.length() > 0) {
- appendAttribute(tdLabelElement, "style", "width:" + labelWidth); //$NON-NLS-1$ //$NON-NLS-2$
- }
- Element tdFieldElement = appendChildElement("td", trElement); //$NON-NLS-1$
- if (fieldWidth != null && fieldWidth.length() > 0) {
- appendAttribute(tdFieldElement, "style", "width:" + fieldWidth); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return tBodyElement;
- }
-
- private void buildControlRow(Element srcElement, Element parentElement, boolean alignLabelsTop) {
- Element trElement = appendChildElement("tr", parentElement); //$NON-NLS-1$
- Element tdLabelElement = appendChildElement("td", trElement); //$NON-NLS-1$
- appendAttribute(tdLabelElement, "style", STYLE_LABELCELL); //$NON-NLS-1$
- if (alignLabelsTop) {
- appendAttribute(tdLabelElement, "valign", "top"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- appendAttribute(tdLabelElement, "nowrap", ""); //$NON-NLS-1$ //$NON-NLS-2$
- buildLabel(srcElement, tdLabelElement);
- Element tdFieldElement = appendChildElement("td", trElement); //$NON-NLS-1$
- appendAttribute(tdFieldElement, "style", STYLE_FIELDCELL); //$NON-NLS-1$
- appendAttribute(tdFieldElement, "valign", "top"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tdFieldElement, "nowrap", ""); //$NON-NLS-1$ //$NON-NLS-2$
- tagConverterContext.addChild(srcElement, new ConvertPosition(tdFieldElement, 0));
- }
-
- private void buildControlRow(Element srcElement, Element parentElement) {
- buildControlRow(srcElement, parentElement, false);
- }
-
- private void buildLabel(Element srcElement, Element parentElement) {
- TagIdentifier tagID = TagIdentifierFactory.createDocumentTagWrapper(srcElement);
- if (
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_INPUTCOLOR) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_INPUTDATE) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_INPUTFILE) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_INPUTLISTOFVALUES) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_INPUTNUMBERSPINBOX) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_INPUTTEXT) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTBOOLEANCHECKBOX) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTBOOLEANRADIO) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTMANYCHECKBOX) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTMANYLISTBOX) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTONECHOICE) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTONELISTBOX) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_SELECTONERADIO) ||
- tagID.isSameTagType(ITrinidadConstants.TAG_IDENTIFIER_PANELLABELANDMESSAGE)) {
- String required = srcElement.getAttribute("required"); //$NON-NLS-1$
- String showRequired = srcElement.getAttribute("showRequired"); //$NON-NLS-1$
- if (Boolean.parseBoolean(required) || Boolean.parseBoolean(showRequired)) {
- Element spanElement = appendChildElement("span", parentElement); //$NON-NLS-1$
- appendAttribute(spanElement, "title", "Required"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(spanElement, "style", STYLE_REQUIREDSPAN); //$NON-NLS-1$
- appendChildText("* ", spanElement); //$NON-NLS-1$
- }
- String label = srcElement.getAttribute("labelAndAccessKey"); //$NON-NLS-1$
- if (label == null || label.length() < 1) {
- label = srcElement.getAttribute("label"); //$NON-NLS-1$
- }
- if (label != null && label.length() > 0) {
- Element labelElement = appendChildElement("label", parentElement); //$NON-NLS-1$
- appendChildText(label, labelElement);
- }
- }
- }
-
- private void buildGroupSeparatorRow(Element parentElement) {
- Element trElement = appendChildElement("tr", parentElement); //$NON-NLS-1$
- Element tdElement = appendChildElement("td", trElement); //$NON-NLS-1$
- appendAttribute(tdElement, "colspan", "2"); //$NON-NLS-1$ //$NON-NLS-2$
- Element divElement = appendChildElement("div", tdElement); //$NON-NLS-1$
- appendAttribute(divElement, "style", STYLE_GROUPSEPARATOR); //$NON-NLS-1$
- }
-
- private Element buildFooterStart(
- Element parentElement, int columnCount, String labelWidth) {
- Element tdElement = appendChildElement("td", parentElement);
- appendAttribute(tdElement, "style", "vertical-align:top;"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tdElement, "colspan", String.valueOf(columnCount)); //$NON-NLS-1$
- Element tableElement = appendChildElement("table", tdElement); //$NON-NLS-1$
- appendAttribute(tableElement, "cellpadding", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tableElement, "cellspacing", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tableElement, "border", "0"); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tableElement, "width", "100%"); //$NON-NLS-1$ //$NON-NLS-2$
- Element tBodyElement = appendChildElement("tbody", tableElement); //$NON-NLS-1$
- Element trElement = appendChildElement("tr", tBodyElement); //$NON-NLS-1$
- String footerLabelWidth = null;
- String footerFieldWidth = null;
- if (labelWidth != null && labelWidth.length() > 0) {
- if (labelWidth.endsWith("%")) {
- try {
- int iLabelWidth = Integer.parseInt(labelWidth.substring(0, labelWidth.length() - 1));
- iLabelWidth = iLabelWidth / columnCount;
- footerLabelWidth = String.valueOf(iLabelWidth) + "%";
- footerFieldWidth = String.valueOf(100 - iLabelWidth) + "%";
- } catch(NumberFormatException nfe) {
- //ignore - cannot calculate, widths remain null
- }
- } else {
- footerLabelWidth = labelWidth;
- }
- }
- Element tdLabelElement = appendChildElement("td", trElement); //$NON-NLS-1$
- if (footerLabelWidth != null && footerLabelWidth.length() > 0) {
- //appendAttribute(tdLabelElement, "style", "width:" + footerLabelWidth); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tdLabelElement, "width", footerLabelWidth); //$NON-NLS-1$ //$NON-NLS-2$
- }
- Element tdFieldElement = appendChildElement("td", trElement); //$NON-NLS-1$
- if (footerFieldWidth != null && footerFieldWidth.length() > 0) {
- //appendAttribute(tdFieldElement, "style", "width:" + footerFieldWidth); //$NON-NLS-1$ //$NON-NLS-2$
- appendAttribute(tdFieldElement, "width", footerFieldWidth); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return tBodyElement;
- }
-
-}

Back to the top