Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
net.sf.jasperreports.components.ComponentsXmlWriter Maven / Gradle / Ivy
/*
* JasperReports - Free Java Reporting Library.
* Copyright (C) 2001 - 2019 TIBCO Software Inc. All rights reserved.
* http://www.jaspersoft.com
*
* Unless you have purchased a commercial license agreement from Jaspersoft,
* the following license terms apply:
*
* This program is part of JasperReports.
*
* JasperReports is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* JasperReports is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with JasperReports. If not, see .
*/
package net.sf.jasperreports.components;
import java.io.IOException;
import java.util.List;
import net.sf.jasperreports.components.barbecue.BarbecueComponent;
import net.sf.jasperreports.components.barcode4j.BarcodeComponent;
import net.sf.jasperreports.components.barcode4j.BarcodeXmlWriter;
import net.sf.jasperreports.components.items.Item;
import net.sf.jasperreports.components.items.ItemData;
import net.sf.jasperreports.components.items.ItemProperty;
import net.sf.jasperreports.components.list.ListComponent;
import net.sf.jasperreports.components.list.ListContents;
import net.sf.jasperreports.components.map.MapComponent;
import net.sf.jasperreports.components.map.MapXmlFactory;
import net.sf.jasperreports.components.map.type.MapImageTypeEnum;
import net.sf.jasperreports.components.map.type.MapScaleEnum;
import net.sf.jasperreports.components.map.type.MapTypeEnum;
import net.sf.jasperreports.components.sort.SortComponent;
import net.sf.jasperreports.components.sort.SortComponentXmlWriter;
import net.sf.jasperreports.components.spiderchart.SpiderChartComponent;
import net.sf.jasperreports.components.spiderchart.SpiderChartXmlWriter;
import net.sf.jasperreports.components.table.BaseCell;
import net.sf.jasperreports.components.table.BaseColumn;
import net.sf.jasperreports.components.table.Cell;
import net.sf.jasperreports.components.table.Column;
import net.sf.jasperreports.components.table.ColumnGroup;
import net.sf.jasperreports.components.table.ColumnVisitor;
import net.sf.jasperreports.components.table.GroupCell;
import net.sf.jasperreports.components.table.GroupRow;
import net.sf.jasperreports.components.table.Row;
import net.sf.jasperreports.components.table.TableComponent;
import net.sf.jasperreports.engine.JRComponentElement;
import net.sf.jasperreports.engine.JRConstants;
import net.sf.jasperreports.engine.JRDatasetRun;
import net.sf.jasperreports.engine.JRElementDataset;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JasperReportsContext;
import net.sf.jasperreports.engine.component.Component;
import net.sf.jasperreports.engine.component.ComponentKey;
import net.sf.jasperreports.engine.type.EvaluationTimeEnum;
import net.sf.jasperreports.engine.type.OnErrorTypeEnum;
import net.sf.jasperreports.engine.util.JRXmlWriteHelper;
import net.sf.jasperreports.engine.util.XmlNamespace;
import net.sf.jasperreports.engine.xml.JRXmlConstants;
import net.sf.jasperreports.engine.xml.JRXmlWriter;
/**
* XML writer for built-in component implementations.
*
* @author Lucian Chirita ([email protected] )
* @see ComponentsExtensionsRegistryFactory
*/
public class ComponentsXmlWriter extends AbstractComponentXmlWriter
{
/**
*
*/
public ComponentsXmlWriter(JasperReportsContext jasperReportsContext)
{
super(jasperReportsContext);
}
@Override
public void writeToXml(JRComponentElement componentElement, JRXmlWriter reportWriter) throws IOException
{
Component component = componentElement.getComponent();
if (component instanceof ListComponent)
{
writeList(componentElement, reportWriter);
}
else if (component instanceof TableComponent)
{
writeTable(componentElement, reportWriter);
}
else if (component instanceof BarbecueComponent)
{
writeBarbecue(componentElement, reportWriter);
}
else if (component instanceof BarcodeComponent)
{
BarcodeXmlWriter barcodeWriter = new BarcodeXmlWriter(
reportWriter,
componentElement,
getVersion(jasperReportsContext, componentElement, reportWriter),
versionComparator);
barcodeWriter.writeBarcode();
}
else if (component instanceof SpiderChartComponent)
{
SpiderChartXmlWriter spiderChartWriter = new SpiderChartXmlWriter(
jasperReportsContext,
getVersion(jasperReportsContext, componentElement, reportWriter),
versionComparator);
spiderChartWriter.writeToXml(componentElement, reportWriter);
}
else if (component instanceof SortComponent)
{
SortComponentXmlWriter sortWriter = new SortComponentXmlWriter(jasperReportsContext);
sortWriter.writeToXml(componentElement, reportWriter);
}
else if (component instanceof MapComponent)
{
writeMap(componentElement, reportWriter);
}
}
protected void writeList(JRComponentElement componentElement, JRXmlWriter reportWriter) throws IOException
{
ListComponent list = (ListComponent) componentElement.getComponent();
ComponentKey componentKey = componentElement.getComponentKey();
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
XmlNamespace namespace = new XmlNamespace(
ComponentsExtensionsRegistryFactory.NAMESPACE,
componentKey.getNamespacePrefix(),
ComponentsExtensionsRegistryFactory.XSD_LOCATION);
writer.startElement("list", namespace);
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_3_6_1))
{
writer.addAttribute("printOrder", list.getPrintOrderValue());
}
writer.addAttribute("ignoreWidth", list.getIgnoreWidth());
reportWriter.writeDatasetRun(list.getDatasetRun());
ListContents contents = list.getContents();
writer.startElement("listContents");
writer.addAttribute("height", contents.getHeight());
writer.addAttribute("width", contents.getWidth());
reportWriter.writeChildElements(contents);
writer.closeElement();
writer.closeElement();
}
protected void writeBarbecue(JRComponentElement componentElement, JRXmlWriter reportWriter) throws IOException
{
Component component = componentElement.getComponent();
BarbecueComponent barcode = (BarbecueComponent) component;
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
ComponentKey componentKey = componentElement.getComponentKey();
XmlNamespace namespace = new XmlNamespace(
ComponentsExtensionsRegistryFactory.NAMESPACE,
componentKey.getNamespacePrefix(),
ComponentsExtensionsRegistryFactory.XSD_LOCATION);
writer.startElement("barbecue", namespace);
writer.addAttribute("type", barcode.getType());
writer.addAttribute("drawText", barcode.isDrawText());
writer.addAttribute("checksumRequired", barcode.isChecksumRequired());
writer.addAttribute("barWidth", barcode.getBarWidth());
writer.addAttribute("barHeight", barcode.getBarHeight());
if (isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_0_0))
{
writer.addAttribute("rotation", barcode.getOwnRotation());
}
if (barcode.getEvaluationTimeValue() != EvaluationTimeEnum.NOW)
{
writer.addAttribute(JRXmlConstants.ATTRIBUTE_evaluationTime,
barcode.getEvaluationTimeValue());
}
writer.addAttribute(JRXmlConstants.ATTRIBUTE_evaluationGroup,
barcode.getEvaluationGroup());
writeExpression("codeExpression", barcode.getCodeExpression(), false, componentElement, reportWriter);
writeExpression("applicationIdentifierExpression", barcode.getApplicationIdentifierExpression(), false, componentElement, reportWriter);
writer.closeElement();
}
protected void writeMap(JRComponentElement componentElement, JRXmlWriter reportWriter) throws IOException
{
Component component = componentElement.getComponent();
MapComponent map = (MapComponent) component;
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
ComponentKey componentKey = componentElement.getComponentKey();
XmlNamespace namespace = new XmlNamespace(
ComponentsExtensionsRegistryFactory.NAMESPACE,
componentKey.getNamespacePrefix(),
ComponentsExtensionsRegistryFactory.XSD_LOCATION);
writer.startElement("map", namespace);
if (map.getEvaluationTime() != EvaluationTimeEnum.NOW)
{
writer.addAttribute(JRXmlConstants.ATTRIBUTE_evaluationTime,
map.getEvaluationTime());
}
writer.addAttribute(JRXmlConstants.ATTRIBUTE_evaluationGroup,
map.getEvaluationGroup());
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_8_0))
{
writer.addAttribute(MapXmlFactory.ATTRIBUTE_mapType, map.getMapType(), MapTypeEnum.ROADMAP);
writer.addAttribute(MapXmlFactory.ATTRIBUTE_mapScale, map.getMapScale(), MapScaleEnum.ONE);
writer.addAttribute(MapXmlFactory.ATTRIBUTE_imageType, map.getImageType(), MapImageTypeEnum.PNG);
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_5_5_0))
{
writer.addAttribute(MapXmlFactory.ATTRIBUTE_onErrorType, map.getOnErrorType(), OnErrorTypeEnum.ERROR);
}
}
writer.writeExpression("latitudeExpression",
map.getLatitudeExpression());
writer.writeExpression("longitudeExpression",
map.getLongitudeExpression());
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_5_5_2))
{
writer.writeExpression("addressExpression", map.getAddressExpression());
}
writer.writeExpression("zoomExpression",
map.getZoomExpression());
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_8_0))
{
writer.writeExpression("languageExpression",
map.getLanguageExpression());
}
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_5_5_2)) {
List markerDataList = map.getMarkerDataList();
if(markerDataList !=null && markerDataList.size() > 0) {
for(ItemData markerData : markerDataList) {
writeItemData(MapXmlFactory.ELEMENT_markerData, markerData, writer, reportWriter, namespace, componentElement);
}
}
} else if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_5_0_4)) {
@SuppressWarnings("deprecation")
ItemData itemData = map.getMarkerData();
writeItemData(MapXmlFactory.ELEMENT_markerData, itemData, writer, reportWriter, namespace, componentElement);
} else if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_8_0)) {
@SuppressWarnings("deprecation")
net.sf.jasperreports.components.map.MarkerDataset dataset = map.getMarkerDataset();
writeMarkerDataset(dataset, writer, reportWriter, namespace, componentElement);
}
if(isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_5_5_0))
{
List pathStyleList = map.getPathStyleList();
if(pathStyleList !=null && pathStyleList.size() > 0) {
for(ItemData pathStyle : pathStyleList) {
writeItemData(MapXmlFactory.ELEMENT_pathStyle, pathStyle, writer, reportWriter, namespace, componentElement);
}
}
List pathDataList = map.getPathDataList();
if(pathDataList !=null && pathDataList.size() > 0) {
for(ItemData pathData : pathDataList) {
writeItemData(MapXmlFactory.ELEMENT_pathData, pathData, writer, reportWriter, namespace, componentElement);
}
}
}
writer.closeElement();
}
private void writeItemData(String name, ItemData itemData, JRXmlWriteHelper writer, JRXmlWriter reportWriter, XmlNamespace namespace, JRComponentElement componentElement) throws IOException
{
if (itemData != null)
{
writeItemDataContent(name, itemData, writer, reportWriter, namespace, componentElement);
writer.closeElement();
}
}
private void writeItemDataContent(String name, ItemData itemData, JRXmlWriteHelper writer, JRXmlWriter reportWriter, XmlNamespace namespace, JRComponentElement componentElement) throws IOException
{
writer.startElement(name, namespace);
JRElementDataset dataset = itemData.getDataset();
if (dataset != null)
{
reportWriter.writeElementDataset(dataset, false);
}
/* */
List- itemList = itemData.getItems();
if (itemList != null && !itemList.isEmpty())
{
for(Item item : itemList)
{
if(item.getProperties() != null && !item.getProperties().isEmpty())
{
writeItem(item, writer, reportWriter, namespace, componentElement);
}
}
}
}
private void writeItem(Item item, JRXmlWriteHelper writer, JRXmlWriter reportWriter, XmlNamespace namespace, JRComponentElement componentElement) throws IOException
{
writer.startElement(MapXmlFactory.ELEMENT_item, namespace);
List
itemProperties = item.getProperties();
for(ItemProperty property : itemProperties)
{
writeItemProperty(property, writer, reportWriter, namespace, componentElement);
}
writer.closeElement();
}
private void writeItemProperty(ItemProperty itemProperty, JRXmlWriteHelper writer, JRXmlWriter reportWriter, XmlNamespace namespace, JRComponentElement componentElement) throws IOException
{
writer.startElement(MapXmlFactory.ELEMENT_itemProperty, namespace);
writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_name, itemProperty.getName());
if(itemProperty.getValue() != null)
{
writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_value, itemProperty.getValue());
}
writeExpression(JRXmlConstants.ELEMENT_valueExpression, JRXmlWriter.JASPERREPORTS_NAMESPACE, itemProperty.getValueExpression(), false, componentElement, reportWriter);
writer.closeElement();
}
/**
* @deprecated To be removed.
*/
private void writeMarkerDataset(net.sf.jasperreports.components.map.MarkerDataset dataset, JRXmlWriteHelper writer, JRXmlWriter reportWriter, XmlNamespace namespace, JRComponentElement componentElement) throws IOException
{
if (dataset != null)
{
writer.startElement(MapXmlFactory.ELEMENT_markerDataset, namespace);
JRDatasetRun datasetRun = dataset.getDatasetRun();
if (datasetRun != null)
{
reportWriter.writeDatasetRun(datasetRun);
}
/* */
List markerList = dataset.getMarkers();
if (markerList != null && !markerList.isEmpty())
{
for(net.sf.jasperreports.components.map.Marker marker : markerList)
{
if(marker.getProperties() != null && !marker.getProperties().isEmpty())
{
writeMarker(marker, writer, reportWriter, namespace, componentElement);
}
}
}
writer.closeElement();
}
}
/**
* @deprecated To be removed.
*/
private void writeMarker(
net.sf.jasperreports.components.map.Marker marker,
JRXmlWriteHelper writer,
JRXmlWriter reportWriter,
XmlNamespace namespace,
JRComponentElement componentElement
) throws IOException
{
writer.startElement(MapXmlFactory.ELEMENT_marker, namespace);
List markerProperties = marker.getProperties();
for(net.sf.jasperreports.components.map.MarkerProperty property : markerProperties)
{
writeMarkerProperty(property, writer, reportWriter, namespace, componentElement);
}
writer.closeElement();
}
/**
* @deprecated To be removed.
*/
private void writeMarkerProperty(
net.sf.jasperreports.components.map.MarkerProperty markerProperty,
JRXmlWriteHelper writer,
JRXmlWriter reportWriter,
XmlNamespace namespace,
JRComponentElement componentElement
) throws IOException
{
writer.startElement(MapXmlFactory.ELEMENT_markerProperty, namespace);
writer.addAttribute(JRXmlConstants.ATTRIBUTE_name, markerProperty.getName());
if(markerProperty.getValue() != null)
{
writer.addAttribute(JRXmlConstants.ATTRIBUTE_value, markerProperty.getValue());
}
writeExpression(JRXmlConstants.ELEMENT_valueExpression, JRXmlWriter.JASPERREPORTS_NAMESPACE, markerProperty.getValueExpression(), false, componentElement, reportWriter);
writer.closeElement();
}
protected void writeTable(final JRComponentElement componentElement, final JRXmlWriter reportWriter) throws IOException
{
Component component = componentElement.getComponent();
TableComponent table = (TableComponent) component;
final JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
ComponentKey componentKey = componentElement.getComponentKey();
XmlNamespace namespace = new XmlNamespace(
ComponentsExtensionsRegistryFactory.NAMESPACE,
componentKey.getNamespacePrefix(),
ComponentsExtensionsRegistryFactory.XSD_LOCATION);
writer.startElement("table", namespace);
if (isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_1_1))
{
writer.addAttribute(JRXmlConstants.ATTRIBUTE_whenNoDataType, table.getWhenNoDataType());
}
reportWriter.writeDatasetRun(table.getDatasetRun());
ColumnVisitor columnWriter = new ColumnVisitor()
{
@Override
public Void visitColumn(Column column)
{
try
{
writer.startElement("column");
writer.addAttribute("width", column.getWidth());
if (isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_6_0))
{
if (!reportWriter.isExcludeUuids())
{
writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_uuid, column.getUUID().toString());
}
reportWriter.writeProperties(column);
reportWriter.writePropertyExpressions(column.getPropertyExpressions());
}
writeExpression(JRXmlConstants.ELEMENT_printWhenExpression,
JRXmlWriter.JASPERREPORTS_NAMESPACE,
column.getPrintWhenExpression(),
false,
componentElement,
reportWriter);
writeTableCell(componentElement, column.getTableHeader(), "tableHeader", reportWriter);
writeTableCell(componentElement, column.getTableFooter(), "tableFooter", reportWriter);
writeGroupCells(componentElement, column.getGroupHeaders(), "groupHeader", reportWriter);
writeGroupCells(componentElement, column.getGroupFooters(), "groupFooter", reportWriter);
writeTableCell(componentElement, column.getColumnHeader(), "columnHeader", reportWriter);
writeTableCell(componentElement, column.getColumnFooter(), "columnFooter", reportWriter);
writeTableCell(componentElement, column.getDetailCell(), "detailCell", reportWriter);
writer.closeElement();
}
catch (IOException e)
{
throw new JRRuntimeException(e);
}
return null;
}
@Override
public Void visitColumnGroup(ColumnGroup columnGroup)
{
try
{
writer.startElement("columnGroup");
writer.addAttribute("width", columnGroup.getWidth());
if (isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_6_0))
{
if (!reportWriter.isExcludeUuids())
{
writer.addEncodedAttribute(JRXmlConstants.ATTRIBUTE_uuid, columnGroup.getUUID().toString());
}
reportWriter.writeProperties(columnGroup);
reportWriter.writePropertyExpressions(columnGroup.getPropertyExpressions());
}
writeExpression(JRXmlConstants.ELEMENT_printWhenExpression,
JRXmlWriter.JASPERREPORTS_NAMESPACE,
columnGroup.getPrintWhenExpression(),
false,
componentElement,
reportWriter);
writeTableCell(componentElement, columnGroup.getTableHeader(), "tableHeader", reportWriter);
writeTableCell(componentElement, columnGroup.getTableFooter(), "tableFooter", reportWriter);
writeGroupCells(componentElement, columnGroup.getGroupHeaders(), "groupHeader", reportWriter);
writeGroupCells(componentElement, columnGroup.getGroupFooters(), "groupFooter", reportWriter);
writeTableCell(componentElement, columnGroup.getColumnHeader(), "columnHeader", reportWriter);
writeTableCell(componentElement, columnGroup.getColumnFooter(), "columnFooter", reportWriter);
// deep
for (BaseColumn column : columnGroup.getColumns())
{
column.visitColumn(this);
}
writer.closeElement();
}
catch (IOException e)
{
throw new JRRuntimeException(e);
}
return null;
}
};
for (BaseColumn column : table.getColumns())
{
column.visitColumn(columnWriter);
}
if (isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_6_11_0))
{
writeTableRow(componentElement, table.getTableHeader(), "tableHeader", reportWriter);
writeTableRow(componentElement, table.getColumnHeader(), "columnHeader", reportWriter);
writeGroupRows(componentElement, table.getGroupHeaders(), "groupHeader", reportWriter);
writeTableRow(componentElement, table.getDetail(), "detail", reportWriter);
writeGroupRows(componentElement, table.getGroupFooters(), "groupFooter", reportWriter);
writeTableRow(componentElement, table.getColumnFooter(), "columnFooter", reportWriter);
writeTableRow(componentElement, table.getTableFooter(), "tableFooter", reportWriter);
writeTableBaseCell(componentElement, table.getNoData(), "noData", reportWriter);
}
writer.closeElement();
}
protected void writeTableBaseCell(JRComponentElement componentElement, BaseCell cell, String name,
JRXmlWriter reportWriter) throws IOException
{
if (cell != null)
{
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
writer.startElement(name);
reportWriter.writeStyleReferenceAttr(cell);
writer.addAttribute("height", cell.getHeight());
reportWriter.writeProperties(cell);
reportWriter.writeBox(cell.getLineBox(), JRXmlWriter.JASPERREPORTS_NAMESPACE);
reportWriter.writeChildElements(cell);
writer.closeElement();//cell
}
}
protected void writeGroupCells(JRComponentElement componentElement, List cells, String name,
JRXmlWriter reportWriter) throws IOException
{
if (cells != null)
{
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
for (GroupCell groupCell : cells)
{
writer.startElement(name);
writer.addAttribute("groupName", groupCell.getGroupName());
writeTableCell(componentElement, groupCell.getCell(), "cell", reportWriter);
writer.closeElement();
}
}
}
protected void writeTableCell(JRComponentElement componentElement, Cell cell, String name,
JRXmlWriter reportWriter) throws IOException
{
if (cell != null)
{
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
writer.startElement(name);
reportWriter.writeStyleReferenceAttr(cell);
writer.addAttribute("height", cell.getHeight());
writer.addAttribute("rowSpan", cell.getRowSpan());
if (isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_8_0))
{
reportWriter.writeProperties(cell);
}
reportWriter.writeBox(cell.getLineBox(), JRXmlWriter.JASPERREPORTS_NAMESPACE);
reportWriter.writeChildElements(cell);
writer.closeElement();//cell
}
}
protected void writeGroupRows(JRComponentElement componentElement, List rows, String name,
JRXmlWriter reportWriter) throws IOException
{
if (rows != null)
{
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
for (GroupRow groupRow : rows)
{
writer.startElement(name);
writer.addAttribute("groupName", groupRow.getGroupName());
writeTableRow(componentElement, groupRow.getRow(), "row", reportWriter);
writer.closeElement();
}
}
}
protected void writeTableRow(JRComponentElement componentElement, Row row, String name,
JRXmlWriter reportWriter) throws IOException
{
if (row != null)
{
JRXmlWriteHelper writer = reportWriter.getXmlWriteHelper();
writer.startElement(name);
writeExpression(JRXmlConstants.ELEMENT_printWhenExpression,
JRXmlWriter.JASPERREPORTS_NAMESPACE,
row.getPrintWhenExpression(),
false,
componentElement,
reportWriter);
writer.closeElement();//cell
}
}
@Override
public boolean isToWrite(JRComponentElement componentElement, JRXmlWriter reportWriter)
{
ComponentKey componentKey = componentElement.getComponentKey();
if (ComponentsExtensionsRegistryFactory.NAMESPACE.equals(componentKey.getNamespace()))
{
if(ComponentsExtensionsRegistryFactory.SORT_COMPONENT_NAME.equals(componentKey.getName())
|| ComponentsExtensionsRegistryFactory.MAP_COMPONENT_NAME.equals(componentKey.getName()))
{
return isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_4_1_1);
}
else if(ComponentsExtensionsRegistryFactory.SPIDERCHART_COMPONENT_NAME.equals(componentKey.getName()))
{
return isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_3_7_4);
}
else if(ComponentsExtensionsRegistryFactory.TABLE_COMPONENT_NAME.equals(componentKey.getName()))
{
return isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_3_7_2);
}
else if(ComponentsExtensionsRegistryFactory.LIST_COMPONENT_NAME.equals(componentKey.getName()))
{
return isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_3_5_1);
}
else if(ComponentsExtensionsRegistryFactory.BARBECUE_COMPONENT_NAME.equals(componentKey.getName())
|| isBarcode4jName(componentKey.getName()))
{
return isNewerVersionOrEqual(componentElement, reportWriter, JRConstants.VERSION_3_5_2);
}
}
return true;
}
protected boolean isBarcode4jName(String name)
{
for (String barcode4jName : ComponentsExtensionsRegistryFactory.BARCODE4J_COMPONENT_NAMES)
{
if(barcode4jName.equals(name)){
return true;
}
}
return false;
}
}