[displaytag-cvs] displaytag/src/main/java/org/displaytag/tags CaptionTagBeanInfo.java,1.6,1.7 Captio
Brought to you by:
fgiust
|
From: fabrizio g. <fg...@us...> - 2005-10-16 20:35:01
|
Update of /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18315/src/main/java/org/displaytag/tags Modified Files: CaptionTagBeanInfo.java CaptionTag.java ColumnTag.java TableFooterTag.java TableTagBeanInfo.java TableTag.java ColumnTagBeanInfo.java Log Message: committing DISPL-245 WYSIWYG Exports - from Jorge L. Barroso + some changes and fixes Index: TableFooterTag.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/TableFooterTag.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** TableFooterTag.java 13 Jul 2005 21:34:34 -0000 1.9 --- TableFooterTag.java 16 Oct 2005 20:34:37 -0000 1.10 *************** *** 12,15 **** --- 12,16 ---- package org.displaytag.tags; + import java.util.List; import java.util.Map; *************** *** 18,21 **** --- 19,24 ---- import org.displaytag.exception.TagStructureException; + import org.displaytag.properties.MediaTypeEnum; + import org.displaytag.util.MediaUtil; *************** *** 26,30 **** * @version $Revision$ ($Author$) */ ! public class TableFooterTag extends BodyTagSupport { --- 29,33 ---- * @version $Revision$ ($Author$) */ ! public class TableFooterTag extends BodyTagSupport implements MediaUtil.SupportsMedia { *************** *** 35,38 **** --- 38,46 ---- /** + * The media supported attribute. + */ + private List supportedMedia; + + /** * @see javax.servlet.jsp.tagext.Tag#doEndTag() */ *************** *** 46,49 **** --- 54,63 ---- } + MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); + if (currentMediaType != null && !MediaUtil.availableForMedia(this, currentMediaType)) + { + return SKIP_BODY; + } + if (tableTag.isLastIteration()) { *************** *** 69,72 **** --- 83,92 ---- } + MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); + if (!MediaUtil.availableForMedia(this, currentMediaType)) + { + return SKIP_BODY; + } + // Run the footer only when all of the cells have been populated if (tableTag.isLastIteration()) *************** *** 84,86 **** --- 104,139 ---- } + /** + * @see org.displaytag.util.MediaUtil.SupportsMedia#setSupportedMedia(java.util.List) + */ + public void setSupportedMedia(List media) + { + this.supportedMedia = media; + } + + /** + * @see org.displaytag.util.MediaUtil.SupportsMedia#getSupportedMedia() + */ + public List getSupportedMedia() + { + return this.supportedMedia; + } + + /** + * Tag setter. + * @param media the space delimited list of supported types + */ + public void setMedia(String media) + { + MediaUtil.setMedia(this, media); + } + + /** + * @see javax.servlet.jsp.tagext.Tag#release() + */ + public void release() + { + super.release(); + this.supportedMedia = null; + } } \ No newline at end of file Index: CaptionTag.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/CaptionTag.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CaptionTag.java 13 Nov 2004 15:10:58 -0000 1.7 --- CaptionTag.java 16 Oct 2005 20:34:37 -0000 1.8 *************** *** 12,20 **** --- 12,24 ---- package org.displaytag.tags; + import java.util.List; + import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; import org.displaytag.exception.TagStructureException; + import org.displaytag.properties.MediaTypeEnum; import org.displaytag.util.HtmlAttributeMap; + import org.displaytag.util.MediaUtil; import org.displaytag.util.MultipleHtmlAttribute; import org.displaytag.util.TagConstants; *************** *** 26,30 **** * @version $Revision$ ($Author$) */ ! public class CaptionTag extends BodyTagSupport { --- 30,34 ---- * @version $Revision$ ($Author$) */ ! public class CaptionTag extends BodyTagSupport implements MediaUtil.SupportsMedia { *************** *** 45,48 **** --- 49,57 ---- /** + * The media supported attribute. + */ + private List supportedMedia; + + /** * setter for the "style" html attribute. * @param value attribute value *************** *** 142,145 **** --- 151,160 ---- } + MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); + if (!MediaUtil.availableForMedia(this, currentMediaType)) + { + return SKIP_BODY; + } + // add caption only once if (tableTag.isFirstIteration()) *************** *** 155,158 **** --- 170,198 ---- /** + * @see org.displaytag.util.MediaUtil.SupportsMedia#setSupportedMedia(java.util.List) + */ + public void setSupportedMedia(List media) + { + this.supportedMedia = media; + } + + /** + * @see org.displaytag.util.MediaUtil.SupportsMedia#getSupportedMedia() + */ + public List getSupportedMedia() + { + return this.supportedMedia; + } + + /** + * Tag setter. + * @param media the space delimited list of supported types + */ + public void setMedia(String media) + { + MediaUtil.setMedia(this, media); + } + + /** * @see javax.servlet.jsp.tagext.Tag#doEndTag() */ *************** *** 168,183 **** } ! StringBuffer buffer = new StringBuffer(); ! buffer.append(getOpenTag()); if (getBodyContent() != null) { ! buffer.append(getBodyContent().getString()); } - buffer.append(getCloseTag()); - - tableTag.setCaption(buffer.toString()); - this.firstIteration = false; --- 208,226 ---- } ! MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext ! .findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); ! if (currentMediaType != null && !MediaUtil.availableForMedia(this, currentMediaType)) ! { ! return SKIP_BODY; ! } if (getBodyContent() != null) { ! // set the caption format-agnostic content so it can be written in various formats. ! tableTag.setCaption(getBodyContent().getString()); ! // set the nested caption tag to write the caption in html format. See HtmlTableWriter.writeCaption ! tableTag.setCaptionTag(this); } this.firstIteration = false; *************** *** 194,197 **** --- 237,241 ---- super.release(); this.attributeMap.clear(); + this.supportedMedia = null; } Index: TableTag.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/TableTag.java,v retrieving revision 1.107 retrieving revision 1.108 diff -C2 -d -r1.107 -r1.108 *** TableTag.java 17 Sep 2005 07:38:35 -0000 1.107 --- TableTag.java 16 Oct 2005 20:34:37 -0000 1.108 *************** *** 19,23 **** import java.util.Collection; import java.util.HashMap; - import java.util.Hashtable; import java.util.Iterator; import java.util.List; --- 19,22 ---- *************** *** 41,49 **** import org.displaytag.decorator.DecoratorFactory; import org.displaytag.decorator.TableDecorator; - import org.displaytag.exception.DecoratorException; import org.displaytag.exception.ExportException; import org.displaytag.exception.FactoryInstantiationException; import org.displaytag.exception.InvalidTagAttributeValueException; - import org.displaytag.exception.ObjectLookupException; import org.displaytag.exception.WrappedRuntimeException; import org.displaytag.export.BinaryExportView; --- 40,46 ---- *************** *** 53,60 **** import org.displaytag.model.Cell; import org.displaytag.model.Column; - import org.displaytag.model.ColumnIterator; import org.displaytag.model.HeaderCell; import org.displaytag.model.Row; - import org.displaytag.model.RowIterator; import org.displaytag.model.TableModel; import org.displaytag.pagination.PaginatedList; --- 50,55 ---- *************** *** 64,67 **** --- 59,63 ---- import org.displaytag.properties.SortOrderEnum; import org.displaytag.properties.TableProperties; + import org.displaytag.render.HtmlTableWriter; import org.displaytag.util.Anchor; import org.displaytag.util.CollectionUtil; *************** *** 237,245 **** /** - * Map which contains previous row values. Needed for grouping - */ - private Map previousRow; - - /** * table model - initialized in doStartTag(). */ --- 233,236 ---- *************** *** 252,260 **** /** - * next row. - */ - private Map nextRow; - - /** * Used by various functions when the person wants to do paging - cleaned in doEndTag(). */ --- 243,246 ---- *************** *** 297,301 **** /** ! * static footer added using the footer tag. */ private String footer; --- 283,287 ---- /** ! * Static footer added using the footer tag. */ private String footer; *************** *** 307,315 **** /** ! * static caption added using the footer tag. */ private String caption; /** * Included row range. If no rows can be skipped the range is from 0 to Long.MAX_VALUE. Range check should be always * done using containsLong(). This is an instance of org.apache.commons.lang.math.Range, but it's declared as Object --- 293,306 ---- /** ! * Static caption added using the footer tag. */ private String caption; /** + * Child caption tag + */ + private CaptionTag captionTag; + + /** * Included row range. If no rows can be skipped the range is from 0 to Long.MAX_VALUE. Range check should be always * done using containsLong(). This is an instance of org.apache.commons.lang.math.Range, but it's declared as Object *************** *** 350,353 **** --- 341,354 ---- { this.footer = string; + this.tableModel.setFooter(this.footer); + } + + /** + * Obtain the footer content. Called by TableWriters to render the footer. + * @return string footer content + */ + public String getFooter() + { + return this.footer; } *************** *** 359,362 **** --- 360,382 ---- { this.caption = string; + this.tableModel.setCaption(this.caption); + } + + /** + * Set the child caption tag. + * @param captionTag Child caption tag + */ + public void setCaptionTag(CaptionTag captionTag) + { + this.captionTag = captionTag; + } + + /** + * Obtain the child caption tag. + * @return The child caption tag + */ + public CaptionTag getCaptionTag() + { + return this.captionTag; } *************** *** 853,857 **** /** * Reads parameters from the request and initialize all the needed table model attributes. - * @throws ObjectLookupException for problems in evaluating the expression in the "name" attribute * @throws FactoryInstantiationException for problems in instantiating a RequestHelperFactory */ --- 873,876 ---- *************** *** 1226,1230 **** } ! TableDecorator tableDecorator = DecoratorFactory.loadTableDecorator(this.decoratorName); if (tableDecorator != null) --- 1245,1261 ---- } ! // TableDecorator tableDecorator = DecoratorFactory.loadTableDecorator(this.decoratorName); ! String tableDecoratorName = null; ! Object previousMediaType = this.pageContext.getAttribute(PAGE_ATTRIBUTE_MEDIA); ! if (MediaTypeEnum.HTML.equals(this.currentMediaType) ! && (previousMediaType == null || MediaTypeEnum.HTML.equals(previousMediaType))) ! { ! tableDecoratorName = this.decoratorName; ! } ! else if (!MediaTypeEnum.HTML.equals(this.currentMediaType)) ! { ! tableDecoratorName = this.getProperties().getExportDecoratorName(this.currentMediaType); ! } ! TableDecorator tableDecorator = DecoratorFactory.loadTableDecorator(tableDecoratorName); if (tableDecorator != null) *************** *** 1251,1255 **** // check for nested tables ! Object previousMediaType = this.pageContext.getAttribute(PAGE_ATTRIBUTE_MEDIA); if (MediaTypeEnum.HTML.equals(this.currentMediaType) && (previousMediaType == null || MediaTypeEnum.HTML.equals(previousMediaType))) --- 1282,1286 ---- // check for nested tables ! // Object previousMediaType = this.pageContext.getAttribute(PAGE_ATTRIBUTE_MEDIA); if (MediaTypeEnum.HTML.equals(this.currentMediaType) && (previousMediaType == null || MediaTypeEnum.HTML.equals(previousMediaType))) *************** *** 1288,1299 **** this.baseHref = null; this.caption = null; this.currentRow = null; this.doAfterBodyExecuted = false; this.footer = null; this.listHelper = null; - this.nextRow = null; this.pageNumber = 0; this.paramEncoder = null; - this.previousRow = null; this.properties = null; this.rowNumber = 1; --- 1319,1329 ---- this.baseHref = null; this.caption = null; + this.captionTag = null; this.currentRow = null; this.doAfterBodyExecuted = false; this.footer = null; this.listHelper = null; this.pageNumber = 0; this.paramEncoder = null; this.properties = null; this.rowNumber = 1; *************** *** 1574,1578 **** /** ! * called when data have to be displayed in a html page. * @throws JspException generic exception */ --- 1604,1608 ---- /** ! * Uses HtmlTableWriter to write table called when data have to be displayed in a html page. * @throws JspException generic exception */ *************** *** 1581,1610 **** JspWriter out = this.pageContext.getOut(); - if (log.isDebugEnabled()) - { - log.debug("[" + getUid() + "] getHTMLData called for table [" + getUid() + "]"); - } - - boolean noItems = this.tableModel.getRowListPage().size() == 0; - - if (noItems && !this.properties.getEmptyListShowTable()) - { - write(this.properties.getEmptyListMessage(), out); - return; - } - - // variables to hold the previous row columns values. - this.previousRow = new Hashtable(10); - - // variables to hold next row column values. - this.nextRow = new Hashtable(10); - - // Put the page stuff there if it needs to be there... - if (this.properties.getAddPagingBannerTop()) - { - // search result and navigation bar - writeSearchResultAndNavigation(); - } - String css = this.properties.getCssTable(); if (StringUtils.isNotBlank(css)) --- 1611,1614 ---- *************** *** 1612,1663 **** this.addClass(css); } ! ! // open table ! write(getOpenTag(), out); ! ! // caption ! if (this.caption != null) ! { ! write(this.caption, out); ! } ! ! // thead ! if (this.properties.getShowHeader()) ! { ! writeTableHeader(); ! } ! ! if (this.footer != null) ! { ! write(TagConstants.TAG_TFOOTER_OPEN, out); ! write(this.footer, out); ! write(TagConstants.TAG_TFOOTER_CLOSE, out); ! // reset footer ! this.footer = null; ! } ! ! // open table body ! write(TagConstants.TAG_TBODY_OPEN, out); ! ! // write table body ! writeTableBody(); ! ! // close table body ! write(TagConstants.TAG_TBODY_CLOSE, out); ! ! // close table ! write(getCloseTag(), out); ! ! writeTableFooter(); ! ! if (this.tableModel.getTableDecorator() != null) ! { ! this.tableModel.getTableDecorator().finish(); ! } ! ! if (log.isDebugEnabled()) ! { ! log.debug("[" + getUid() + "] getHTMLData end"); ! } } --- 1616,1621 ---- this.addClass(css); } ! // use HtmlTableWriter to write table ! new HtmlTableWriter(this, out).writeTable(this.tableModel, this.getUid()); } *************** *** 1665,1669 **** * Generates the table header, including the first row of the table which displays the titles of the columns. */ ! private void writeTableHeader() { JspWriter out = this.pageContext.getOut(); --- 1623,1627 ---- * Generates the table header, including the first row of the table which displays the titles of the columns. */ ! public void writeTableHeader() { JspWriter out = this.pageContext.getOut(); *************** *** 1831,1983 **** /** - * This takes a column value and grouping index as the argument. It then groups the column and returns the - * appropriate string back to the caller. - * @param value String - * @param group int - * @return String - */ - private String groupColumns(String value, int group) - { - - if ((group == 1) && this.nextRow.size() > 0) - { - // we are at the begining of the next row so copy the contents from nextRow to the previousRow. - this.previousRow.clear(); - this.previousRow.putAll(this.nextRow); - this.nextRow.clear(); - } - - if (!this.nextRow.containsKey(new Integer(group))) - { - // Key not found in the nextRow so adding this key now... - // remember all the old values. - this.nextRow.put(new Integer(group), value); - } - - // Start comparing the value we received, along with the grouping index. - // if no matching value is found in the previous row then return the value. - // if a matching value is found then this value should not get printed out - // so return an empty String - if (this.previousRow.containsKey(new Integer(group))) - { - for (int j = 1; j <= group; j++) - { - - if (!((String) this.previousRow.get(new Integer(j))).equals((this.nextRow.get(new Integer(j))))) - { - // no match found so return this value back to the caller. - return value; - } - } - } - - // This is used, for when there is no data in the previous row, - // It gets used only the first time. - if (this.previousRow.size() == 0) - { - return value; - } - - // There is corresponding value in the previous row - // this value doesn't need to be printed, return an empty String - return TagConstants.EMPTY_STRING; - } - - /** - * Writes the table body content. - * @throws ObjectLookupException for errors in looking up properties in objects - * @throws DecoratorException for errors returned by decorators - */ - private void writeTableBody() throws ObjectLookupException, DecoratorException - { - JspWriter out = this.pageContext.getOut(); - - // Ok, start bouncing through our list (only the visible part) - RowIterator rowIterator = this.tableModel.getRowIterator(false); - - // iterator on rows - while (rowIterator.hasNext()) - { - Row row = rowIterator.next(); - if (log.isDebugEnabled()) - { - log.debug("[" + getUid() + "] rowIterator.next()=" + row); - } - if (this.tableModel.getTableDecorator() != null) - { - String stringStartRow = this.tableModel.getTableDecorator().startRow(); - if (stringStartRow != null) - { - write(stringStartRow, out); - } - } - - // open tr - write(row.getOpenTag(), out); - - // iterator on columns - if (log.isDebugEnabled()) - { - log.debug("[" + getUid() + "] creating ColumnIterator on " + this.tableModel.getHeaderCellList()); - } - ColumnIterator columnIterator = row.getColumnIterator(this.tableModel.getHeaderCellList()); - - while (columnIterator.hasNext()) - { - Column column = columnIterator.nextColumn(); - - // Get the value to be displayed for the column - write(column.getOpenTag(), out); - String value = column.getChoppedAndLinkedValue(); - - // check if column is grouped - if (column.getGroup() != -1) - { - value = this.groupColumns(value, column.getGroup()); - } - - // add column value - write(value, out); - write(column.getCloseTag(), out); - } - - // no columns? - if (this.tableModel.isEmpty()) - { - if (log.isDebugEnabled()) - { - log.debug("[" + getUid() + "] table has no columns"); - } - write(TagConstants.TAG_TD_OPEN, out); - write(row.getObject().toString(), out); - write(TagConstants.TAG_TD_CLOSE, out); - } - - // close tr - write(row.getCloseTag(), out); - - if (this.tableModel.getTableDecorator() != null) - { - String endRow = this.tableModel.getTableDecorator().finishRow(); - if (endRow != null) - { - write(endRow, out); - } - } - } - - if (this.varTotals != null) - { - this.pageContext.setAttribute(this.varTotals, getTotals()); - } - - if (this.tableModel.getRowListPage().size() == 0) - { - write(MessageFormat.format(properties.getEmptyListRowMessage(), new Object[]{new Integer(this.tableModel - .getNumberOfColumns())}), out); - } - } - - /** * Get the column totals Map. If there is no varTotals defined, there are no totals. * @return a Map of totals where the key is the column number and the value is the total for that column --- 1789,1792 ---- *************** *** 2015,2019 **** * Generates table footer with links for export commands. */ ! private void writeTableFooter() { // Put the page stuff there if it needs to be there... --- 1824,1828 ---- * Generates table footer with links for export commands. */ ! public void writeNavigationAndExportLinks() { // Put the page stuff there if it needs to be there... *************** *** 2033,2037 **** * generates the search result and navigation bar. */ ! private void writeSearchResultAndNavigation() { if ((this.paginatedList == null && this.pagesize != 0 && this.listHelper != null) --- 1842,1846 ---- * generates the search result and navigation bar. */ ! public void writeSearchResultAndNavigation() { if ((this.paginatedList == null && this.pagesize != 0 && this.listHelper != null) Index: ColumnTagBeanInfo.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/ColumnTagBeanInfo.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ColumnTagBeanInfo.java 13 Jul 2005 21:56:59 -0000 1.15 --- ColumnTagBeanInfo.java 16 Oct 2005 20:34:37 -0000 1.16 *************** *** 37,109 **** { proplist.add(new PropertyDescriptor("autolink", //$NON-NLS-1$ ! ColumnTag.class, null, "setAutolink")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ ! ColumnTag.class, null, "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("decorator", //$NON-NLS-1$ ! ColumnTag.class, null, "setDecorator")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("group", //$NON-NLS-1$ ! ColumnTag.class, null, "setGroup")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("headerClass", //$NON-NLS-1$ ! ColumnTag.class, null, "setHeaderClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("href", //$NON-NLS-1$ ! ColumnTag.class, null, "setHref")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("maxLength", //$NON-NLS-1$ ! ColumnTag.class, null, "setMaxLength")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("maxWords", //$NON-NLS-1$ ! ColumnTag.class, null, "setMaxWords")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("media", //$NON-NLS-1$ ! ColumnTag.class, null, "setMedia")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("nulls", //$NON-NLS-1$ ! ColumnTag.class, null, "setNulls")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramId", //$NON-NLS-1$ ! ColumnTag.class, null, "setParamId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramName", //$NON-NLS-1$ ! ColumnTag.class, null, "setParamName")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramProperty", //$NON-NLS-1$ ! ColumnTag.class, null, "setParamProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramScope", //$NON-NLS-1$ ! ColumnTag.class, null, "setParamScope")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("property", //$NON-NLS-1$ ! ColumnTag.class, null, "setProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sortable", //$NON-NLS-1$ ! ColumnTag.class, null, "setSortable")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sortName", //$NON-NLS-1$ ! ColumnTag.class, null, "setSortName")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ ! ColumnTag.class, null, "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$ ! ColumnTag.class, null, "setTitle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("titleKey", //$NON-NLS-1$ ! ColumnTag.class, null, "setTitleKey")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("url", //$NON-NLS-1$ ! ColumnTag.class, null, "setUrl")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sortProperty", //$NON-NLS-1$ ! ColumnTag.class, null, "setSortProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("total", //$NON-NLS-1$ ! ColumnTag.class, null, "setTotal")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("width", //$NON-NLS-1$ ! ColumnTag.class, null, "setWidth")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("width", //$NON-NLS-1$ ! ColumnTag.class, null, "setWidth")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("align", //$NON-NLS-1$ ! ColumnTag.class, null, "setAlign")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("comparator", //$NON-NLS-1$ ! ColumnTag.class, null, "setComparator")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("valueClass", //$NON-NLS-1$ ! ColumnTag.class, null, "setValueClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("defaultorder", //$NON-NLS-1$ ! ColumnTag.class, null, "setDefaultorder")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("headerScope", //$NON-NLS-1$ ! ColumnTag.class, null, "setHeaderScope")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("scope", //$NON-NLS-1$ ! ColumnTag.class, null, "setScope")); //$NON-NLS-1$ // deprecated attribute proplist.add(new PropertyDescriptor("sort", //$NON-NLS-1$ ! ColumnTag.class, null, "setSortable")); // map //$NON-NLS-1$ // make ATG Dynamo happy: proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ ! ColumnTag.class, null, "setClass")); // map //$NON-NLS-1$ } --- 37,175 ---- { proplist.add(new PropertyDescriptor("autolink", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setAutolink")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("decorator", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setDecorator")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("group", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setGroup")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("headerClass", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setHeaderClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("href", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setHref")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("maxLength", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setMaxLength")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("maxWords", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setMaxWords")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("media", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setMedia")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("nulls", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setNulls")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramId", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setParamId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramName", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setParamName")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramProperty", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setParamProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("paramScope", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setParamScope")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("property", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sortable", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setSortable")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sortName", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setSortName")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setTitle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("titleKey", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setTitleKey")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("url", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setUrl")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sortProperty", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setSortProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("total", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setTotal")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("width", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setWidth")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("width", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setWidth")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("align", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setAlign")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("comparator", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setComparator")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("valueClass", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setValueClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("defaultorder", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setDefaultorder")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("headerScope", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setHeaderScope")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("scope", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setScope")); //$NON-NLS-1$ // deprecated attribute proplist.add(new PropertyDescriptor("sort", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setSortable")); // map //$NON-NLS-1$ // make ATG Dynamo happy: proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ ! ColumnTag.class, ! null, ! "setClass")); // map //$NON-NLS-1$ } Index: ColumnTag.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/ColumnTag.java,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** ColumnTag.java 11 Sep 2005 19:23:54 -0000 1.60 --- ColumnTag.java 16 Oct 2005 20:34:37 -0000 1.61 *************** *** 13,17 **** import java.text.Collator; - import java.util.ArrayList; import java.util.Comparator; import java.util.List; --- 13,16 ---- *************** *** 40,43 **** --- 39,43 ---- import org.displaytag.util.Href; import org.displaytag.util.HtmlAttributeMap; + import org.displaytag.util.MediaUtil; import org.displaytag.util.MultipleHtmlAttribute; import org.displaytag.util.TagConstants; *************** *** 57,61 **** * @version $Revision$ ($Author$) */ ! public class ColumnTag extends BodyTagSupport { --- 57,61 ---- * @version $Revision$ ($Author$) */ ! public class ColumnTag extends BodyTagSupport implements MediaUtil.SupportsMedia { *************** *** 576,594 **** /** - * Is this column configured for the media type? - * @param mediaType the currentMedia type - * @return true if the column should be displayed for this request - */ - public boolean availableForMedia(MediaTypeEnum mediaType) - { - if (supportedMedia == null) - { - return true; - } - - return this.supportedMedia.contains(mediaType); - } - - /** * Looks up the parent table tag. * @return a table tag instance. --- 576,579 ---- *************** *** 605,631 **** public void setMedia(String media) { ! if (StringUtils.isBlank(media) || media.toLowerCase().indexOf("all") > -1) ! { ! this.supportedMedia = null; ! return; ! } ! this.supportedMedia = new ArrayList(); ! String[] values = StringUtils.split(media); ! for (int i = 0; i < values.length; i++) ! { ! String value = values[i]; ! if (!StringUtils.isBlank(value)) ! { ! MediaTypeEnum type = MediaTypeEnum.fromName(value.toLowerCase()); ! if (type == null) ! { ! log.warn("Unrecognized value for attribute \"media\" value=\"" + value + "\""); ! } ! else ! { ! this.supportedMedia.add(type); ! } ! } ! } } --- 590,610 ---- public void setMedia(String media) { ! MediaUtil.setMedia(this, media); ! } ! ! /** ! * @see org.displaytag.util.MediaUtil.SupportsMedia#setSupportedMedia(java.util.List) ! */ ! public void setSupportedMedia(List media) ! { ! this.supportedMedia = media; ! } ! ! /** ! * @see org.displaytag.util.MediaUtil.SupportsMedia#getSupportedMedia() ! */ ! public List getSupportedMedia() ! { ! return this.supportedMedia; } *************** *** 669,673 **** MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); ! if (currentMediaType != null && !availableForMedia(currentMediaType)) { if (log.isDebugEnabled()) --- 648,652 ---- MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); ! if (currentMediaType != null && !MediaUtil.availableForMedia(this, currentMediaType)) { if (log.isDebugEnabled()) *************** *** 887,891 **** MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); ! if (!availableForMedia(currentMediaType)) { return SKIP_BODY; --- 866,870 ---- MediaTypeEnum currentMediaType = (MediaTypeEnum) this.pageContext.findAttribute(TableTag.PAGE_ATTRIBUTE_MEDIA); ! if (!MediaUtil.availableForMedia(this, currentMediaType)) { return SKIP_BODY; Index: CaptionTagBeanInfo.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/CaptionTagBeanInfo.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CaptionTagBeanInfo.java 27 Dec 2004 16:50:41 -0000 1.6 --- CaptionTagBeanInfo.java 16 Oct 2005 20:34:37 -0000 1.7 *************** *** 37,51 **** { proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ ! CaptionTag.class, null, "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("dir", //$NON-NLS-1$ ! CaptionTag.class, null, "setDir")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("id", //$NON-NLS-1$ ! CaptionTag.class, null, "setId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("lang", //$NON-NLS-1$ ! CaptionTag.class, null, "setLang")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ ! CaptionTag.class, null, "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$ ! CaptionTag.class, null, "setTitle")); //$NON-NLS-1$ // make ATG Dynamo happy: --- 37,67 ---- { proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("dir", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setDir")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("id", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("lang", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setLang")); //$NON-NLS-1$ ! proplist.add(new PropertyDescriptor("media", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setMedia")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setTitle")); //$NON-NLS-1$ // make ATG Dynamo happy: *************** *** 53,57 **** // corresponding property in class "org.displaytag.tags.CaptionTag" with a public setter method proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ ! CaptionTag.class, null, "setClass")); //$NON-NLS-1$ } catch (IntrospectionException ex) --- 69,75 ---- // corresponding property in class "org.displaytag.tags.CaptionTag" with a public setter method proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ ! CaptionTag.class, ! null, ! "setClass")); //$NON-NLS-1$ } catch (IntrospectionException ex) Index: TableTagBeanInfo.java =================================================================== RCS file: /cvsroot/displaytag/displaytag/src/main/java/org/displaytag/tags/TableTagBeanInfo.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** TableTagBeanInfo.java 13 Jul 2005 21:03:26 -0000 1.15 --- TableTagBeanInfo.java 16 Oct 2005 20:34:37 -0000 1.16 *************** *** 38,100 **** { proplist.add(new PropertyDescriptor("cellpadding", //$NON-NLS-1$ ! TableTag.class, null, "setCellpadding")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("cellspacing", //$NON-NLS-1$ ! TableTag.class, null, "setCellspacing")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ ! TableTag.class, null, "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("decorator", //$NON-NLS-1$ ! TableTag.class, null, "setDecorator")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("defaultorder", //$NON-NLS-1$ ! TableTag.class, null, "setDefaultorder")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("defaultsort", //$NON-NLS-1$ ! TableTag.class, null, "setDefaultsort")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("export", //$NON-NLS-1$ ! TableTag.class, null, "setExport")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("frame", //$NON-NLS-1$ ! TableTag.class, null, "setFrame")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("length", //$NON-NLS-1$ ! TableTag.class, null, "setLength")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("offset", //$NON-NLS-1$ ! TableTag.class, null, "setOffset")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("pagesize", //$NON-NLS-1$ ! TableTag.class, null, "setPagesize")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("partialList", //$NON-NLS-1$ ! TableTag.class, null, "setPartialList")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("requestURI", //$NON-NLS-1$ ! TableTag.class, null, "setRequestURI")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("requestURIcontext", //$NON-NLS-1$ ! TableTag.class, null, "setRequestURIcontext")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("rules", //$NON-NLS-1$ ! TableTag.class, null, "setRules")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sort", //$NON-NLS-1$ ! TableTag.class, null, "setSort")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ ! TableTag.class, null, "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("summary", //$NON-NLS-1$ ! TableTag.class, null, "setSummary")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("excludedParams", //$NON-NLS-1$ ! TableTag.class, null, "setExcludedParams")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("id", //$NON-NLS-1$ ! TableTag.class, null, "setUid")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("uid", //$NON-NLS-1$ ! TableTag.class, null, "setUid")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("htmlId", //$NON-NLS-1$ ! TableTag.class, null, "setHtmlId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("varTotals", //$NON-NLS-1$ ! TableTag.class, null, "setVarTotals")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("width", //$NON-NLS-1$ ! TableTag.class, null, "setWidth")); //$NON-NLS-1$ // deprecated attributes proplist.add(new PropertyDescriptor("list", //$NON-NLS-1$ ! TableTag.class, null, "setList")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("property", //$NON-NLS-1$ ! TableTag.class, null, "setProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("scope", //$NON-NLS-1$ ! TableTag.class, null, "setScope")); //$NON-NLS-1$ // make ATG Dynamo happy: proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ ! TableTag.class, null, "setClass")); //$NON-NLS-1$ try --- 38,156 ---- { proplist.add(new PropertyDescriptor("cellpadding", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setCellpadding")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("cellspacing", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setCellspacing")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("decorator", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setDecorator")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("defaultorder", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setDefaultorder")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("defaultsort", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setDefaultsort")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("export", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setExport")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("frame", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setFrame")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("length", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setLength")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("offset", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setOffset")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("pagesize", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setPagesize")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("partialList", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setPartialList")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("requestURI", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setRequestURI")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("requestURIcontext", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setRequestURIcontext")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("rules", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setRules")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("sort", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setSort")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("summary", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setSummary")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("excludedParams", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setExcludedParams")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("id", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setUid")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("uid", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setUid")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("htmlId", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setHtmlId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("varTotals", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setVarTotals")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("width", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setWidth")); //$NON-NLS-1$ // deprecated attributes proplist.add(new PropertyDescriptor("list", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setList")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("property", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setProperty")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("scope", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setScope")); //$NON-NLS-1$ // make ATG Dynamo happy: proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setClass")); //$NON-NLS-1$ try *************** *** 103,109 **** // jsp >= 1.2 proplist.add(new PropertyDescriptor("name", //$NON-NLS-1$ ! TableTag.class, null, "setName")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("size", //$NON-NLS-1$ ! TableTag.class, null, "setSize")); //$NON-NLS-1$ } catch (ClassNotFoundException e) --- 159,169 ---- // jsp >= 1.2 proplist.add(new PropertyDescriptor("name", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setName")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("size", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setSize")); //$NON-NLS-1$ } catch (ClassNotFoundException e) *************** *** 111,117 **** // jsp 1.1, can't use a setter with an Object parameter proplist.add(new PropertyDescriptor("name", //$NON-NLS-1$ ! TableTag.class, null, "setNameString")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("size", //$NON-NLS-1$ ! TableTag.class, null, "setSizeObjectName")); //$NON-NLS-1$ } --- 171,181 ---- // jsp 1.1, can't use a setter with an Object parameter proplist.add(new PropertyDescriptor("name", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setNameString")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("size", //$NON-NLS-1$ ! TableTag.class, ! null, ! "setSizeObjectName")); //$NON-NLS-1$ } |