diff options
157 files changed, 3980 insertions, 4033 deletions
diff --git a/reportbuilder/java/com/sun/star/report/ImageService.java b/reportbuilder/java/com/sun/star/report/ImageService.java index 600cbb5..f8d7894 100644 --- a/reportbuilder/java/com/sun/star/report/ImageService.java +++ b/reportbuilder/java/com/sun/star/report/ImageService.java @@ -40,23 +40,33 @@ public interface ImageService { /** + * @param image * @return the mime-type of the image as string. + * @throws ReportExecutionException */ String getMimeType(final InputStream image) throws ReportExecutionException; /** + * @param image * @return the mime-type of the image as string. + * @throws ReportExecutionException */ String getMimeType(final byte[] image) throws ReportExecutionException; /** + * @param image * @returns the dimension in 100th mm. - **/ + * + * @throws ReportExecutionException + * @return*/ Dimension getImageSize(final InputStream image) throws ReportExecutionException; /** + * @param image * @returns the dimension in 100th mm. - **/ + * + * @throws ReportExecutionException + * @return*/ Dimension getImageSize(final byte[] image) throws ReportExecutionException; } diff --git a/reportbuilder/java/com/sun/star/report/InputRepository.java b/reportbuilder/java/com/sun/star/report/InputRepository.java index e58adc7..926cfcf 100644 --- a/reportbuilder/java/com/sun/star/report/InputRepository.java +++ b/reportbuilder/java/com/sun/star/report/InputRepository.java @@ -82,4 +82,10 @@ public interface InputRepository boolean isReadable(final String name); void closeInputRepository(); + + /** returns the URL of the database document + * + * @return the URL of the database document + */ + String getRootURL(); } diff --git a/reportbuilder/java/com/sun/star/report/JobProgressIndicator.java b/reportbuilder/java/com/sun/star/report/JobProgressIndicator.java index 29d97f2..9fb0de4 100644 --- a/reportbuilder/java/com/sun/star/report/JobProgressIndicator.java +++ b/reportbuilder/java/com/sun/star/report/JobProgressIndicator.java @@ -53,6 +53,7 @@ public interface JobProgressIndicator * Stopped indicators must ignore that call. * * @param string the progress description + * @param text * @param maxValue the maximum value * @see JobProgressIndicator#setText(String) */ diff --git a/reportbuilder/java/com/sun/star/report/OfficeToken.java b/reportbuilder/java/com/sun/star/report/OfficeToken.java index e92187f..8bded54 100644 --- a/reportbuilder/java/com/sun/star/report/OfficeToken.java +++ b/reportbuilder/java/com/sun/star/report/OfficeToken.java @@ -27,41 +27,42 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - package com.sun.star.report; /** * * @author Ocke Janssen */ -public class OfficeToken { - public static final String GRAPHIC = "graphic"; - public static final String GRAPHICS = "Graphics"; - public static final String GRAPHIC_PROPERTIES = "graphic-properties"; - public static final String PARAGRAPH = "paragraph"; - public static final String TRUE = "true"; - public static final String FALSE = "false"; - public static final String FRAME = "frame"; - public static final String STYLE_NAME = "style-name"; - public static final String BACKGROUND_COLOR = "background-color"; - public static final String COVERED_TABLE_CELL = "covered-table-cell"; - public static final String TABLE = "table"; - public static final String TABLE_COLUMN = "table-column"; - public static final String TABLE_COLUMNS = "table-columns"; +public class OfficeToken +{ + + public static final String GRAPHIC = "graphic"; + public static final String GRAPHICS = "Graphics"; + public static final String GRAPHIC_PROPERTIES = "graphic-properties"; + public static final String PARAGRAPH = "paragraph"; + public static final String TRUE = "true"; + public static final String FALSE = "false"; + public static final String FRAME = "frame"; + public static final String STYLE_NAME = "style-name"; + public static final String BACKGROUND_COLOR = "background-color"; + public static final String COVERED_TABLE_CELL = "covered-table-cell"; + public static final String TABLE = "table"; + public static final String TABLE_COLUMN = "table-column"; + public static final String TABLE_COLUMNS = "table-columns"; public static final String TABLE_HEADER_COLUMNS = "table-header-columns"; - public static final String TABLE_HEADER_ROWS = "table-header-rows"; - public static final String TABLE_ROWS = "table-rows"; - public static final String TABLE_ROW = "table-row"; - public static final String TABLE_CELL = "table-cell"; - public static final String P = "p"; - public static final String OBJECT_OLE = "object-ole"; - public static final String IMAGE = "image"; - public static final String IMAGE_DATA = "image-data"; - public static final String PRESERVE_IRI = "preserve-IRI"; - public static final String SCALE = "scale"; - public static final String NAME = "name"; - public static final String SHAPES = "shapes"; - public static final String ISOTROPIC = "isotropic";
- public static final String ANISOTROPIC = "anisotropic";
- public static final String NONE = "none"; + public static final String TABLE_HEADER_ROWS = "table-header-rows"; + public static final String TABLE_ROWS = "table-rows"; + public static final String TABLE_ROW = "table-row"; + public static final String TABLE_CELL = "table-cell"; + public static final String P = "p"; + public static final String OBJECT_OLE = "object-ole"; + public static final String IMAGE = "image"; + public static final String IMAGE_DATA = "image-data"; + public static final String PRESERVE_IRI = "preserve-IRI"; + public static final String SCALE = "scale"; + public static final String NAME = "name"; + public static final String SHAPES = "shapes"; + public static final String ISOTROPIC = "isotropic"; + public static final String ANISOTROPIC = "anisotropic"; + public static final String NONE = "none"; } diff --git a/reportbuilder/java/com/sun/star/report/OutputRepository.java b/reportbuilder/java/com/sun/star/report/OutputRepository.java index 74b4da4..becd82c 100644 --- a/reportbuilder/java/com/sun/star/report/OutputRepository.java +++ b/reportbuilder/java/com/sun/star/report/OutputRepository.java @@ -58,6 +58,7 @@ public interface OutputRepository /** allows to acces sub repositories inside this repository * * @param name describes the path to the sub repository + * @param mimeType * @return the sub repository * @throws java.io.IOException when the sub repository doesn't exist. */ diff --git a/reportbuilder/java/com/sun/star/report/ReportEngine.java b/reportbuilder/java/com/sun/star/report/ReportEngine.java index 1ebc354..c3ad6ef 100644 --- a/reportbuilder/java/com/sun/star/report/ReportEngine.java +++ b/reportbuilder/java/com/sun/star/report/ReportEngine.java @@ -50,6 +50,7 @@ public interface ReportEngine /** * Open points: How to define scheduling? * + * @param definition * @return the report job definition for the job description. * @throws JobDefinitionException */ diff --git a/reportbuilder/java/com/sun/star/report/ReportEngineParameterNames.java b/reportbuilder/java/com/sun/star/report/ReportEngineParameterNames.java index 0129352..ab611c7 100644 --- a/reportbuilder/java/com/sun/star/report/ReportEngineParameterNames.java +++ b/reportbuilder/java/com/sun/star/report/ReportEngineParameterNames.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report; /** @@ -37,23 +35,24 @@ package com.sun.star.report; */ public class ReportEngineParameterNames { - public static final String CONTENT_TYPE = "content-type"; - public static final String INPUT_NAME= "input.name"; - public static final String INPUT_REPOSITORY = "input.repository"; - public static final String OUTPUT_NAME= "output.name"; - public static final String OUTPUT_REPOSITORY = "output.repository"; - public static final String INPUT_DATASOURCE_FACTORY = "input.datasource-factory"; - public static final String IMAGE_SERVICE = "ImageService"; - public static final String INPUT_REPORTJOB_FACTORY = "input.reportjob-factory"; - public static final String INPUT_MASTER_COLUMNS = "input.master-columns"; - public static final String INPUT_MASTER_VALUES = "input.master-values"; - public static final String INPUT_DETAIL_COLUMNS = "input.detail-columns"; - public static final String MIMETYPE = "output.mimetype"; - public static final String AUTHOR = "Author"; - public static final String TITLE = "Title"; - public static final String MAXROWS = "MaxRows"; - private ReportEngineParameterNames () - { - } + public static final String CONTENT_TYPE = "content-type"; + public static final String INPUT_NAME = "input.name"; + public static final String INPUT_REPOSITORY = "input.repository"; + public static final String OUTPUT_NAME = "output.name"; + public static final String OUTPUT_REPOSITORY = "output.repository"; + public static final String INPUT_DATASOURCE_FACTORY = "input.datasource-factory"; + public static final String IMAGE_SERVICE = "ImageService"; + public static final String INPUT_REPORTJOB_FACTORY = "input.reportjob-factory"; + public static final String INPUT_MASTER_COLUMNS = "input.master-columns"; + public static final String INPUT_MASTER_VALUES = "input.master-values"; + public static final String INPUT_DETAIL_COLUMNS = "input.detail-columns"; + public static final String MIMETYPE = "output.mimetype"; + public static final String AUTHOR = "Author"; + public static final String TITLE = "Title"; + public static final String MAXROWS = "MaxRows"; + + private ReportEngineParameterNames() + { + } } diff --git a/reportbuilder/java/com/sun/star/report/ReportExecutionException.java b/reportbuilder/java/com/sun/star/report/ReportExecutionException.java index 2243f53..fc614cc 100644 --- a/reportbuilder/java/com/sun/star/report/ReportExecutionException.java +++ b/reportbuilder/java/com/sun/star/report/ReportExecutionException.java @@ -27,64 +27,63 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report; public class ReportExecutionException extends Exception { - /** - * Constructs a new exception with <code>null</code> as its detail message. The cause is - * not initialized, and may subsequently be initialized by a call to {@link - * #initCause}. - */ - public ReportExecutionException () - { - } - /** - * Constructs a new exception with the specified cause and a detail message of - * <tt>(cause==null ? null : cause.toString())</tt> (which typically contains the class - * and detail message of <tt>cause</tt>). This constructor is useful for exceptions that - * are little more than wrappers for other throwables (for example, {@link - * java.security.PrivilegedActionException}). - * - * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} - * method). (A <tt>null</tt> value is permitted, and indicates that the - * cause is nonexistent or unknown.) - * @since 1.4 - */ - public ReportExecutionException (Throwable cause) - { - super(cause); - } + /** + * Constructs a new exception with <code>null</code> as its detail message. The cause is + * not initialized, and may subsequently be initialized by a call to {@link + * #initCause}. + */ + public ReportExecutionException() + { + } + + /** + * Constructs a new exception with the specified cause and a detail message of + * <tt>(cause==null ? null : cause.toString())</tt> (which typically contains the class + * and detail message of <tt>cause</tt>). This constructor is useful for exceptions that + * are little more than wrappers for other throwables (for example, {@link + * java.security.PrivilegedActionException}). + * + * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} + * method). (A <tt>null</tt> value is permitted, and indicates that the + * cause is nonexistent or unknown.) + * @since 1.4 + */ + public ReportExecutionException(Throwable cause) + { + super(cause); + } - /** - * Constructs a new exception with the specified detail message. The cause is not - * initialized, and may subsequently be initialized by a call to {@link #initCause}. - * - * @param message the detail message. The detail message is saved for later retrieval by - * the {@link #getMessage()} method. - */ - public ReportExecutionException (String message) - { - super(message); - } + /** + * Constructs a new exception with the specified detail message. The cause is not + * initialized, and may subsequently be initialized by a call to {@link #initCause}. + * + * @param message the detail message. The detail message is saved for later retrieval by + * the {@link #getMessage()} method. + */ + public ReportExecutionException(String message) + { + super(message); + } - /** - * Constructs a new exception with the specified detail message and cause. <p>Note that - * the detail message associated with <code>cause</code> is <i>not</i> automatically - * incorporated in this exception's detail message. - * - * @param message the detail message (which is saved for later retrieval by the {@link - * #getMessage()} method). - * @param cause the cause (which is saved for later retrieval by the {@link - * #getCause()} method). (A <tt>null</tt> value is permitted, and - * indicates that the cause is nonexistent or unknown.) - * @since 1.4 - */ - public ReportExecutionException (String message, Throwable cause) - { - super(message, cause); - } + /** + * Constructs a new exception with the specified detail message and cause. <p>Note that + * the detail message associated with <code>cause</code> is <i>not</i> automatically + * incorporated in this exception's detail message. + * + * @param message the detail message (which is saved for later retrieval by the {@link + * #getMessage()} method). + * @param cause the cause (which is saved for later retrieval by the {@link + * #getCause()} method). (A <tt>null</tt> value is permitted, and + * indicates that the cause is nonexistent or unknown.) + * @since 1.4 + */ + public ReportExecutionException(String message, Throwable cause) + { + super(message, cause); + } } diff --git a/reportbuilder/java/com/sun/star/report/ReportExpression.java b/reportbuilder/java/com/sun/star/report/ReportExpression.java index 453c41d..ee3688c 100644 --- a/reportbuilder/java/com/sun/star/report/ReportExpression.java +++ b/reportbuilder/java/com/sun/star/report/ReportExpression.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report; /** @@ -47,8 +45,10 @@ package com.sun.star.report; */ public interface ReportExpression { - void setParameters (Object[] parameters); - Object getParameters (); - Object getValue(DataRow row); + void setParameters(Object[] parameters); + + Object getParameters(); + + Object getValue(DataRow row); } diff --git a/reportbuilder/java/com/sun/star/report/ReportJob.java b/reportbuilder/java/com/sun/star/report/ReportJob.java index d84f10d..e35028c 100644 --- a/reportbuilder/java/com/sun/star/report/ReportJob.java +++ b/reportbuilder/java/com/sun/star/report/ReportJob.java @@ -62,6 +62,8 @@ public interface ReportJob * first. If we execute at once, the user either has to deal with * threading code or wont receive any progress information in single * threaded environments. + * @throws java.io.IOException + * @throws ReportExecutionException */ void execute() throws ReportExecutionException, IOException; diff --git a/reportbuilder/java/com/sun/star/report/SDBCReportData.java b/reportbuilder/java/com/sun/star/report/SDBCReportData.java index 10ad230..40597c1 100644 --- a/reportbuilder/java/com/sun/star/report/SDBCReportData.java +++ b/reportbuilder/java/com/sun/star/report/SDBCReportData.java @@ -83,7 +83,7 @@ public class SDBCReportData implements DataSource parameters = xSuppParams.getParameters(); } - final XColumnsSupplier columnsSup = (XColumnsSupplier)UnoRuntime.queryInterface(XColumnsSupplier.class, rowSet); + final XColumnsSupplier columnsSup = (XColumnsSupplier) UnoRuntime.queryInterface(XColumnsSupplier.class, rowSet); final XNameAccess columns = columnsSup.getColumns(); final String[] columnNamesList = columns.getElementNames(); final XResultSetMetaDataSupplier sup = (XResultSetMetaDataSupplier) UnoRuntime.queryInterface(XResultSetMetaDataSupplier.class, rowSet); @@ -92,7 +92,9 @@ public class SDBCReportData implements DataSource columnCount = resultSetMetaData.getColumnCount(); firstParameterIndex = columnCount + 1; if (parameters != null) + { columnCount += parameters.getCount(); + } columnTypes = new int[columnCount]; columnNames = new String[columnCount]; @@ -111,7 +113,7 @@ public class SDBCReportData implements DataSource final XPropertySet paramColumn = (XPropertySet) UnoRuntime.queryInterface( XPropertySet.class, parameters.getByIndex(i - firstParameterIndex)); columnNames[i - 1] = (String) paramColumn.getPropertyValue("Name"); - columnTypes[i - 1] = ((Integer) paramColumn.getPropertyValue("Type")).intValue(); + columnTypes[i - 1] = (Integer) paramColumn.getPropertyValue("Type"); } catch (Exception e) { @@ -151,7 +153,9 @@ public class SDBCReportData implements DataSource public boolean absolute(final int row) throws DataSourceException { if (rowSet == null) + { return false; + } try { if (row == 0) @@ -170,7 +174,9 @@ public class SDBCReportData implements DataSource public boolean next() throws DataSourceException { if (rowSet == null) + { return false; + } try { return rowSet.next(); @@ -294,7 +300,9 @@ public class SDBCReportData implements DataSource public Object getObject(final int column) throws DataSourceException { if (rowSet == null) + { return null; + } try { final boolean isParameterValue = (parameters != null) && (column >= firstParameterIndex); diff --git a/reportbuilder/java/com/sun/star/report/SDBCReportDataFactory.java b/reportbuilder/java/com/sun/star/report/SDBCReportDataFactory.java index 9368840..0ac58c4 100644 --- a/reportbuilder/java/com/sun/star/report/SDBCReportDataFactory.java +++ b/reportbuilder/java/com/sun/star/report/SDBCReportDataFactory.java @@ -77,6 +77,7 @@ import org.apache.commons.logging.LogFactory; */ public class SDBCReportDataFactory implements DataSourceFactory { + private static final String ESCAPEPROCESSING = "EscapeProcessing"; private class RowSetProperties @@ -97,7 +98,6 @@ public class SDBCReportDataFactory implements DataSourceFactory this.maxRows = maxRows; } - public boolean equals(Object obj) { if (obj == null) @@ -143,8 +143,10 @@ public class SDBCReportDataFactory implements DataSourceFactory return hash; } } + class ParameterDefinition { + int parameterCount = 0; private ArrayList parameterIndex = new ArrayList(); } @@ -210,14 +212,14 @@ public class SDBCReportDataFactory implements DataSourceFactory final Integer maxRows = (Integer) parameters.get("MaxRows"); RowSetProperties rowSetProps = new RowSetProperties(escapeProcessing, commandType, command, filter, maxRows); - final Object[] p = createRowSet(rowSetProps,parameters); - final XRowSet rowSet = (XRowSet)p[0]; - - if (command.length() != 0 ) + final Object[] p = createRowSet(rowSetProps, parameters); + final XRowSet rowSet = (XRowSet) p[0]; + + if (command.length() != 0) { - final ParameterDefinition paramDef = (ParameterDefinition)p[1]; - fillParameter(parameters, rowSet,paramDef); - rowSetCreated = rowSetCreated && ( maxRows == null || maxRows.intValue() == 0); + final ParameterDefinition paramDef = (ParameterDefinition) p[1]; + fillParameter(parameters, rowSet, paramDef); + rowSetCreated = rowSetCreated && (maxRows == null || maxRows == 0); final XCompletedExecution execute = (XCompletedExecution) UnoRuntime.queryInterface(XCompletedExecution.class, rowSet); if (rowSetCreated && execute != null && paramDef.parameterCount > 0) @@ -521,7 +523,7 @@ public class SDBCReportDataFactory implements DataSourceFactory { final XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, queries.getByName(command)); final Boolean escape = (Boolean) prop.getPropertyValue(ESCAPEPROCESSING); - if (escape.booleanValue()) + if (escape) { statement = (String) prop.getPropertyValue(UNO_COMMAND); final XSingleSelectQueryComposer composer = getComposer(tools, statement, CommandType.COMMAND); @@ -533,7 +535,7 @@ public class SDBCReportDataFactory implements DataSourceFactory composer.setOrder(order); } final Boolean applyFilter = (Boolean) prop.getPropertyValue(UNO_APPLY_FILTER); - if (applyFilter.booleanValue()) + if (applyFilter) { final String filter = (String) prop.getPropertyValue(UNO_FILTER); if (filter != null && filter.length() != 0) @@ -561,7 +563,7 @@ public class SDBCReportDataFactory implements DataSourceFactory } private void fillParameter(final Map parameters, - final XRowSet rowSet,final ParameterDefinition paramDef) + final XRowSet rowSet, final ParameterDefinition paramDef) throws SQLException, UnknownPropertyException, PropertyVetoException, @@ -582,19 +584,22 @@ public class SDBCReportDataFactory implements DataSourceFactory { object = ((BigDecimal) object).toString(); } - final Integer pos = (Integer)paramDef.parameterIndex.get(i); + final Integer pos = (Integer) paramDef.parameterIndex.get(i); para.setObject(pos + 1, object); } } } - private final Object[] createRowSet(final RowSetProperties rowSetProps,final Map parameters) + private final Object[] createRowSet(final RowSetProperties rowSetProps, final Map parameters) throws Exception { final ArrayList detailColumns = (ArrayList) parameters.get(DETAIL_COLUMNS); - if (rowSetProperties.containsKey(rowSetProps) && detailColumns != null && !detailColumns.isEmpty() ) + if (rowSetProperties.containsKey(rowSetProps) && detailColumns != null && !detailColumns.isEmpty()) { - return new Object[]{ rowSetProperties.get(rowSetProps),parameterMap.get(rowSetProps)}; + return new Object[] + { + rowSetProperties.get(rowSetProps), parameterMap.get(rowSetProps) + }; } rowSetCreated = true; @@ -628,7 +633,10 @@ public class SDBCReportDataFactory implements DataSourceFactory rowSetProperties.put(rowSetProps, rowSet); parameterMap.put(rowSetProps, paramDef); - return new Object[]{rowSet,paramDef}; + return new Object[] + { + rowSet, paramDef + }; } private ParameterDefinition createParameter(final Map parameters, @@ -645,7 +653,7 @@ public class SDBCReportDataFactory implements DataSourceFactory if (composer != null) { final XPropertySet rowSetProp = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, rowSet); - if (((Boolean) rowSetProp.getPropertyValue(APPLY_FILTER)).booleanValue()) + if ((Boolean) rowSetProp.getPropertyValue(APPLY_FILTER)) { composer.setFilter((String) rowSetProp.getPropertyValue("Filter")); } @@ -660,7 +668,7 @@ public class SDBCReportDataFactory implements DataSourceFactory { final int oldParameterCount = params.getCount(); paramDef.parameterCount = oldParameterCount; - if ( detailColumns != null ) + if (detailColumns != null) { for (int i = 0; i < oldParameterCount; i++) { @@ -672,10 +680,10 @@ public class SDBCReportDataFactory implements DataSourceFactory final String name = (String) parameter.getPropertyValue("Name"); for (int j = 0; j < detailColumns.size(); j++) { - if ( name.equals(detailColumns.get(j) ) ) + if (name.equals(detailColumns.get(j))) { handledColumns.add(name); - paramDef.parameterIndex.add(Integer.valueOf(i)); + paramDef.parameterIndex.add(i); --paramDef.parameterCount; break; } @@ -691,10 +699,10 @@ public class SDBCReportDataFactory implements DataSourceFactory } } final ArrayList masterValues = (ArrayList) parameters.get(MASTER_VALUES); - if (masterValues != null && !masterValues.isEmpty() && paramDef.parameterIndex.size() != detailColumns.size() ) + if (masterValues != null && !masterValues.isEmpty() && paramDef.parameterIndex.size() != detailColumns.size()) { // Vector masterColumns = (Vector) parameters.get("master-columns"); - + // create the new filter final String quote = connection.getMetaData().getIdentifierQuoteString(); final StringBuffer oldFilter = new StringBuffer(); @@ -708,7 +716,7 @@ public class SDBCReportDataFactory implements DataSourceFactory ++newParamterCounter) { final String detail = (String) it.next(); - if ( !handledColumns.contains(detail) ) + if (!handledColumns.contains(detail)) { //String master = (String) masterIt.next(); oldFilter.append(quote); @@ -720,7 +728,7 @@ public class SDBCReportDataFactory implements DataSourceFactory { oldFilter.append(" AND "); } - paramDef.parameterIndex.add(Integer.valueOf(newParamterCounter + paramDef.parameterCount - 1)); + paramDef.parameterIndex.add(newParamterCounter + paramDef.parameterCount - 1); } } @@ -728,7 +736,7 @@ public class SDBCReportDataFactory implements DataSourceFactory final String sQuery = composer.getQuery(); rowSetProp.setPropertyValue(UNO_COMMAND, sQuery); - rowSetProp.setPropertyValue(UNO_COMMAND_TYPE,Integer.valueOf(CommandType.COMMAND)); + rowSetProp.setPropertyValue(UNO_COMMAND_TYPE, Integer.valueOf(CommandType.COMMAND)); } } return paramDef; @@ -773,7 +781,7 @@ public class SDBCReportDataFactory implements DataSourceFactory { final XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, queries.getByName(command)); final Boolean escape = (Boolean) prop.getPropertyValue(ESCAPEPROCESSING); - rowSetProp.setPropertyValue( ESCAPEPROCESSING, escape); + rowSetProp.setPropertyValue(ESCAPEPROCESSING, escape); final String queryCommand = (String) prop.getPropertyValue(UNO_COMMAND); statement = "SELECT * FROM (" + queryCommand + ")"; } diff --git a/reportbuilder/java/com/sun/star/report/SOImageService.java b/reportbuilder/java/com/sun/star/report/SOImageService.java index 6678635..37cb9af 100644 --- a/reportbuilder/java/com/sun/star/report/SOImageService.java +++ b/reportbuilder/java/com/sun/star/report/SOImageService.java @@ -57,6 +57,8 @@ public class SOImageService implements ImageService /** * Creates a new instance of SOImageService + * @param xCompContext + * @throws ReportExecutionException */ public SOImageService(final XComponentContext xCompContext) throws ReportExecutionException, com.sun.star.uno.Exception @@ -87,7 +89,10 @@ public class SOImageService implements ImageService final Dimension dim = new Dimension(); try { - final PropertyValue[] value = new PropertyValue[]{new PropertyValue()}; + final PropertyValue[] value = new PropertyValue[] + { + new PropertyValue() + }; // value[0] = new PropertyValue(); value[0].Name = "InputStream"; value[0].Value = image; @@ -106,7 +111,7 @@ public class SOImageService implements ImageService { imageSize = (Size) xImage.getPropertyValue("SizePixel"); final int dpi = java.awt.Toolkit.getDefaultToolkit().getScreenResolution(); - final double fac = 2540 / (double)dpi; + final double fac = 2540 / (double) dpi; dim.setSize(imageSize.Width * fac, imageSize.Height * fac); } } @@ -135,7 +140,10 @@ public class SOImageService implements ImageService { try { - final PropertyValue[] value = new PropertyValue[]{new PropertyValue()}; + final PropertyValue[] value = new PropertyValue[] + { + new PropertyValue() + }; value[0].Name = "InputStream"; value[0].Value = image; diff --git a/reportbuilder/java/com/sun/star/report/StorageRepository.java b/reportbuilder/java/com/sun/star/report/StorageRepository.java index 665c73c..fad8ba0 100644 --- a/reportbuilder/java/com/sun/star/report/StorageRepository.java +++ b/reportbuilder/java/com/sun/star/report/StorageRepository.java @@ -55,26 +55,31 @@ import org.apache.commons.logging.LogFactory; */ public class StorageRepository implements InputRepository, OutputRepository { + private static final Log LOGGER = LogFactory.getLog(SDBCReportDataFactory.class); private static final String REPORT_PROCESSING_FAILED = "ReportProcessing failed"; private XStorage input; private XStorage output; + private final String rootURL; /** * * @param input * @param output - * @throws java.io.IOException + * @param rootURL + * @throws java.io.IOException */ - public StorageRepository(final XStorage input, final XStorage output) + public StorageRepository(final XStorage input, final XStorage output, final String rootURL) { this.input = input; this.output = output; + this.rootURL = rootURL; } - public StorageRepository(final XStorage storage, final boolean isOutput) + public StorageRepository(final XStorage storage, final boolean isOutput, final String rootURL) { + this.rootURL = rootURL; if (isOutput) { this.output = storage; @@ -150,7 +155,7 @@ public class StorageRepository implements InputRepository, OutputRepository } catch (NoSuchElementException e) { - // We expect this exception, no need to log it. + // We expect this exception, no need to log it. } return false; } @@ -204,7 +209,7 @@ public class StorageRepository implements InputRepository, OutputRepository throw new IOException(); } final XStorage storage = (XStorage) UnoRuntime.queryInterface(XStorage.class, input.openStorageElement(temp, ElementModes.READ)); - return new StorageRepository(storage, false); + return new StorageRepository(storage, false, rootURL); } catch (NoSuchElementException ex) { @@ -254,7 +259,7 @@ public class StorageRepository implements InputRepository, OutputRepository final XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, storage); prop.setPropertyValue("MediaType", mimeType); } - return new StorageRepository(storage, true); + return new StorageRepository(storage, true, rootURL); } catch (UnknownPropertyException ex) { @@ -333,8 +338,13 @@ public class StorageRepository implements InputRepository, OutputRepository } catch (NoSuchElementException ex) { - // We expect this exception, no need to log it. + // We expect this exception, no need to log it. } return false; } + + public String getRootURL() + { + return rootURL; + } } diff --git a/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunction.java b/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunction.java index c6668a5..cad9683 100644 --- a/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunction.java +++ b/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunction.java @@ -50,7 +50,7 @@ public class AuthorFunction implements Function return "AUTHOR"; } - public TypeValuePair evaluate(final FormulaContext context,final ParameterCallback parameters) + public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) throws EvaluationException { if (parameters.getParameterCount() != 0) diff --git a/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunctionDescription.java b/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunctionDescription.java index e2a8f00..2de0bfd 100644 --- a/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunctionDescription.java +++ b/reportbuilder/java/com/sun/star/report/function/metadata/AuthorFunctionDescription.java @@ -43,7 +43,7 @@ public class AuthorFunctionDescription extends AbstractFunctionDescription public AuthorFunctionDescription() { - super("AUTHOR","com.sun.star.report.function.metadata.Author-Function"); + super("AUTHOR", "com.sun.star.report.function.metadata.Author-Function"); } public FunctionCategory getCategory() diff --git a/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunction.java b/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunction.java index 87e0beb..1e17377 100644 --- a/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunction.java +++ b/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunction.java @@ -54,7 +54,7 @@ public class TitleFunction implements Function return "TITLE"; } - public TypeValuePair evaluate(final FormulaContext context,final ParameterCallback parameters) + public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) throws EvaluationException { if (parameters.getParameterCount() != 0) diff --git a/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunctionDescription.java b/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunctionDescription.java index b53090e..758712e 100644 --- a/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunctionDescription.java +++ b/reportbuilder/java/com/sun/star/report/function/metadata/TitleFunctionDescription.java @@ -43,7 +43,7 @@ public class TitleFunctionDescription extends AbstractFunctionDescription public TitleFunctionDescription() { - super("TITLE","com.sun.star.report.function.metadata.Title-Function"); + super("TITLE", "com.sun.star.report.function.metadata.Title-Function"); } public FunctionCategory getCategory() diff --git a/reportbuilder/java/com/sun/star/report/pentaho/DefaultNameGenerator.java b/reportbuilder/java/com/sun/star/report/pentaho/DefaultNameGenerator.java index b16b409..ffe24b1 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/DefaultNameGenerator.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/DefaultNameGenerator.java @@ -65,7 +65,9 @@ public class DefaultNameGenerator * * @param namePrefix a user defined name for that resource. * @param mimeType the mime type of the resource to be stored in the repository. + * @param isStream * @return the generated, fully qualified name. + * @throws java.io.IOException */ private String generateName(final String namePrefix, final String mimeType, final boolean isStream) throws IOException @@ -112,7 +114,7 @@ public class DefaultNameGenerator { throw new IOException(); } - firstFileName.delete(0,firstFileName.length() ); + firstFileName.delete(0, firstFileName.length()); firstFileName.append(name); firstFileName.append(counter); if (suffix != null) diff --git a/reportbuilder/java/com/sun/star/report/pentaho/OfficeNamespaces.java b/reportbuilder/java/com/sun/star/report/pentaho/OfficeNamespaces.java index 92522e2..127a82a 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/OfficeNamespaces.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/OfficeNamespaces.java @@ -62,7 +62,6 @@ public class OfficeNamespaces public static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance"; public static final String OOREPORT_NS = "http://openoffice.org/2005/report"; public static final String CONFIG = "urn:oasis:names:tc:opendocument:xmlns:config:1.0"; - /** * @deprecated */ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/PentahoFormulaContext.java b/reportbuilder/java/com/sun/star/report/pentaho/PentahoFormulaContext.java index b55d961..503f4e6 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/PentahoFormulaContext.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/PentahoFormulaContext.java @@ -44,6 +44,7 @@ import org.pentaho.reporting.libraries.base.config.Configuration; */ public class PentahoFormulaContext implements FormulaContext { + final private FormulaContext backend; final private Configuration config; diff --git a/reportbuilder/java/com/sun/star/report/pentaho/PentahoReportJob.java b/reportbuilder/java/com/sun/star/report/pentaho/PentahoReportJob.java index 1010ed5..23f959e 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/PentahoReportJob.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/PentahoReportJob.java @@ -30,7 +30,7 @@ package com.sun.star.report.pentaho; import java.io.IOException; -import java.util.ArrayList; +import java.lang.Integer;import java.util.ArrayList; import com.sun.star.report.DataSourceFactory; import com.sun.star.report.InputRepository; @@ -79,6 +79,7 @@ import org.pentaho.reporting.libraries.resourceloader.ResourceManager; */ public class PentahoReportJob implements ReportJob { + private static final Log LOGGER = LogFactory.getLog(PentahoReportJob.class); private boolean finished; private final List listeners; @@ -93,7 +94,6 @@ public class PentahoReportJob implements ReportJob private final ReportJobDefinition definition; private final List masterValues; private final List detailColumns; - private final Integer maxRows; public ReportJobDefinition getDefinition() { @@ -145,7 +145,7 @@ public class PentahoReportJob implements ReportJob this.masterValues = (ArrayList) jobProperties.getProperty(ReportEngineParameterNames.INPUT_MASTER_VALUES); this.detailColumns = (ArrayList) jobProperties.getProperty(ReportEngineParameterNames.INPUT_DETAIL_COLUMNS); - this.maxRows = (Integer) jobProperties.getProperty(ReportEngineParameterNames.MAXROWS); + Integer maxRows=(Integer) jobProperties.getProperty(ReportEngineParameterNames.MAXROWS); this.resourceManager = new ResourceManager(); this.resourceManager.registerDefaults(); @@ -197,7 +197,7 @@ public class PentahoReportJob implements ReportJob */ public void interrupt() { - // hey, not yet .. + // hey, not yet .. } /** @@ -240,14 +240,18 @@ public class PentahoReportJob implements ReportJob { final OfficeGroup group = (OfficeGroup) node; final FormulaExpression exp = (FormulaExpression) group.getGroupingExpression(); - if ( exp == null ) + if (exp == null) + { continue; + } try { final String expression = exp.getFormulaExpression(); - if ( expression == null) + if (expression == null) + { continue; + } final FormulaFunction function = (FormulaFunction) parser.parse(expression); final LValue[] parameters = function.getChildValues(); if (parameters.length > 0) @@ -261,18 +265,22 @@ public class PentahoReportJob implements ReportJob if (reportExp.getName().equals(name)) { - final LValue val = (LValue) parser.parse(reportExp.getFormulaExpression()); - if (val instanceof FormulaFunction) + LValue val = parser.parse(reportExp.getFormulaExpression()); + while( !(val instanceof ContextLookup)) { - final FormulaFunction reportFunction = (FormulaFunction) val; - - final ContextLookup context = (ContextLookup) reportFunction.getChildValues()[0]; - name = context.getName(); + if (val instanceof Term) + { + val = ((Term)val).getHeadValue(); + } + else if (val instanceof FormulaFunction) + { + final FormulaFunction reportFunction = (FormulaFunction) val; + val = reportFunction.getChildValues()[0]; + } } - else if (val instanceof Term) + if (val instanceof ContextLookup) { - final Term term = (Term) val; - final ContextLookup context = (ContextLookup) term.getHeadValue().getChildValues()[0]; + final ContextLookup context = (ContextLookup) val; name = context.getName(); } break; @@ -308,6 +316,7 @@ public class PentahoReportJob implements ReportJob job.getConfiguration().setConfigProperty(ReportEngineParameterNames.AUTHOR, (String) jobProperties.getProperty(ReportEngineParameterNames.AUTHOR)); job.getConfiguration().setConfigProperty(ReportEngineParameterNames.TITLE, (String) jobProperties.getProperty(ReportEngineParameterNames.TITLE)); } + /** * Although we might want to run the job as soon as it has been created, sometimes it is * wiser to let the user add some listeners first. If we execute at once, the user @@ -344,13 +353,13 @@ public class PentahoReportJob implements ReportJob final String escapeProcessing = (String) officeReport.getAttribute(OfficeNamespaces.OOREPORT_NS, SDBCReportDataFactory.ESCAPE_PROCESSING); report.setQuery(command); parameters.put(SDBCReportDataFactory.COMMAND_TYPE, commandType); - parameters.put(SDBCReportDataFactory.ESCAPE_PROCESSING,Boolean.valueOf(!("false".equals(escapeProcessing)))); - + parameters.put(SDBCReportDataFactory.ESCAPE_PROCESSING, !("false".equals(escapeProcessing))); + final String filter = (String) officeReport.getAttribute(OfficeNamespaces.OOREPORT_NS, "filter"); parameters.put(SDBCReportDataFactory.UNO_FILTER, filter); parameters.put(ReportEngineParameterNames.MAXROWS, report.getJobProperties().getProperty(ReportEngineParameterNames.MAXROWS)); - + final long startTime = System.currentTimeMillis(); final ReportProcessor rp = getProcessorForContentType(contentType); rp.processReport(job); @@ -361,8 +370,10 @@ public class PentahoReportJob implements ReportJob catch (final Exception e) { String message = e.getMessage(); - if ( message.length() == 0 ) + if (message.length() == 0) + { message = "Failed to process the report"; + } throw new ReportExecutionException(message, e); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaOpCodeMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaOpCodeMapper.java index 533f322..419440c 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaOpCodeMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaOpCodeMapper.java @@ -55,7 +55,6 @@ public final class SOFormulaOpCodeMapper extends WeakBase this.parser = parser; } - // com.sun.star.sheet.XFormulaOpCodeMapper: public int getOpCodeExternal() { @@ -69,13 +68,15 @@ public final class SOFormulaOpCodeMapper extends WeakBase public com.sun.star.sheet.FormulaToken[] getMappings(String[] Names, int Language) throws com.sun.star.lang.IllegalArgumentException { - if ( Language != FormulaLanguage.ODFF ) + if (Language != FormulaLanguage.ODFF) + { throw new IllegalArgumentException(); + } final ArrayList token = new ArrayList(); final Map parserNames = parser.getNames(); for (int i = 0; i < Names.length; i++) { - if ( parserNames.containsKey(Names[i]) ) + if (parserNames.containsKey(Names[i])) { token.add(((FormulaOpCodeMapEntry) parserNames.get(Names[i])).Token); } @@ -86,36 +87,38 @@ public final class SOFormulaOpCodeMapper extends WeakBase public com.sun.star.sheet.FormulaOpCodeMapEntry[] getAvailableMappings(int Language, int Groups) throws com.sun.star.lang.IllegalArgumentException { - if ( Language != FormulaLanguage.ODFF ) + if (Language != FormulaLanguage.ODFF) + { throw new IllegalArgumentException(); + } final ArrayList token = new ArrayList(); - if ( Groups == FormulaMapGroup.SPECIAL ) + if (Groups == FormulaMapGroup.SPECIAL) { return (com.sun.star.sheet.FormulaOpCodeMapEntry[]) parser.getSpecialOpCodes().toArray(new FormulaOpCodeMapEntry[parser.getSpecialOpCodes().size()]); } else { - if ( (Groups & FormulaMapGroup.ARRAY_SEPARATORS) != 0 ) + if ((Groups & FormulaMapGroup.ARRAY_SEPARATORS) != 0) { token.addAll(parser.getGroup(SOFormulaParser.ARRAY_SEPARATORS).values()); } - if ( (Groups & FormulaMapGroup.SEPARATORS) != 0 ) + if ((Groups & FormulaMapGroup.SEPARATORS) != 0) { token.addAll(parser.getGroup(SOFormulaParser.SEPARATORS).values()); } - if ( (Groups & FormulaMapGroup.ARRAY_SEPARATORS) != 0 ) + if ((Groups & FormulaMapGroup.ARRAY_SEPARATORS) != 0) { token.addAll(parser.getGroup(SOFormulaParser.ARRAY_SEPARATORS).values()); } - if ( (Groups & FormulaMapGroup.UNARY_OPERATORS) != 0 ) + if ((Groups & FormulaMapGroup.UNARY_OPERATORS) != 0) { token.addAll(parser.getGroup(SOFormulaParser.UNARY_OPERATORS).values()); } - if ( (Groups & FormulaMapGroup.BINARY_OPERATORS) != 0 ) + if ((Groups & FormulaMapGroup.BINARY_OPERATORS) != 0) { token.addAll(parser.getGroup(SOFormulaParser.BINARY_OPERATORS).values()); } - if ( (Groups & FormulaMapGroup.FUNCTIONS) != 0 ) + if ((Groups & FormulaMapGroup.FUNCTIONS) != 0) { token.addAll(parser.getGroup(SOFormulaParser.FUNCTIONS).values()); } @@ -142,6 +145,7 @@ public final class SOFormulaOpCodeMapper extends WeakBase /** * This method is a simple helper function to used in the static component initialisation functions as well as * in getSupportedServiceNames. + * @return */ public static String[] getServiceNames() { diff --git a/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaParser.java b/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaParser.java index 321acb0..4ef8a43 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaParser.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/SOFormulaParser.java @@ -75,7 +75,6 @@ public final class SOFormulaParser extends ComponentBase private final PropertySetMixin m_prophlp; private static final String __serviceName = "com.sun.star.report.meta.FormulaParser"; private static final String OPERATORS = "org.pentaho.reporting.libraries.formula.operators."; - // attributes final private List m_OpCodeMap = new ArrayList(); private XFormulaOpCodeMapper formulaOpCodeMapper = null; @@ -119,7 +118,7 @@ public final class SOFormulaParser extends ComponentBase for (int i = 0; i < names.length; i++) { final String token = names[i]; - if ( token != null && token.length() > 0 && token.charAt(0) == '"' ) + if (token != null && token.length() > 0 && token.charAt(0) == '"') { names[i] = token.substring(1, token.length() - 1); } @@ -138,8 +137,9 @@ public final class SOFormulaParser extends ComponentBase parserAllOpCodes.put(opCode.Token.OpCode, opCode); specialOpCodes.add(opCode); } - // addOpCodes(names, opCodes,SPECIAL,false); - } catch ( Exception ex ) + // addOpCodes(names, opCodes,SPECIAL,false); + } + catch (Exception ex) { ex.printStackTrace(); } @@ -150,21 +150,24 @@ public final class SOFormulaParser extends ComponentBase // of the PropertySetMixin helper for further information. // Ensure that your attributes are initialized correctly! m_prophlp = new PropertySetMixin(m_xContext, this, - new Type(com.sun.star.report.meta.XFormulaParser.class), null); + new Type(com.sun.star.report.meta.XFormulaParser.class), null); } - ; // com.sun.star.sheet.XFormulaParser: public com.sun.star.sheet.FormulaToken[] parseFormula(String aFormula, com.sun.star.table.CellAddress aReferencePos) { final ArrayList tokens = new ArrayList(); - if ( !"=".equals(aFormula) ) + if (!"=".equals(aFormula)) { String formula; - if ( aFormula.charAt(0) == '=' ) + if (aFormula.charAt(0) == '=') + { formula = aFormula.substring(1); + } else + { formula = aFormula; + } final ArrayList images = new ArrayList(); try { @@ -176,16 +179,20 @@ public final class SOFormulaParser extends ComponentBase final FormulaToken formulaToken; images.add(token.image); final String upper = token.image.toUpperCase(); - if ( parserNames.containsKey(upper) ) + if (parserNames.containsKey(upper)) { - if ( "(".equals(token.image)) + if ("(".equals(token.image)) + { brackets++; - else if ( ")".equals(token.image)) + } + else if (")".equals(token.image)) + { --brackets; + } final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) parserNames.get(upper); formulaToken = opCode.Token; } - else if ( token.kind == GeneratedFormulaParserConstants.WHITESPACE ) + else if (token.kind == GeneratedFormulaParserConstants.WHITESPACE) { final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) specialOpCodes.get(FormulaMapGroupSpecialOffset.SPACES); formulaToken = opCode.Token; @@ -200,10 +207,10 @@ public final class SOFormulaParser extends ComponentBase tokens.add(formulaToken); token = tokenParser.getNextToken(); } - if ( brackets > 0 ) + if (brackets > 0) { final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) parserNames.get(")"); - while ( brackets-- != 0 ) + while (brackets-- != 0) { formula = formula.concat(")"); images.add(")"); @@ -213,15 +220,18 @@ public final class SOFormulaParser extends ComponentBase } parser.parse(formula); - } catch ( ParseException ex ) + } + catch (ParseException ex) { boolean found = false; // error occured so all token must be bad for (int i = 0; i < tokens.size(); i++) { - if ( !found && ex.currentToken != null && images.get(i).equals(ex.currentToken.image) ) + if (!found && ex.currentToken != null && images.get(i).equals(ex.currentToken.image)) + { found = true; - if ( found ) + } + if (found) { final FormulaToken dest = new FormulaToken(); dest.OpCode = ((FormulaOpCodeMapEntry) specialOpCodes.get(FormulaMapGroupSpecialOffset.BAD)).Token.OpCode; @@ -230,9 +240,11 @@ public final class SOFormulaParser extends ComponentBase tokens.add(i, dest); } } - } catch ( java.lang.Exception e ) + } + catch (java.lang.Exception e) { - } catch ( TokenMgrError e ) + } + catch (TokenMgrError e) { } } @@ -245,17 +257,21 @@ public final class SOFormulaParser extends ComponentBase for (int i = 0; i < aTokens.length; i++) { final FormulaToken formulaToken = aTokens[i]; - if ( formulaToken.OpCode == opCodePush.Token.OpCode && !formulaToken.Data.equals(Any.VOID) ) + if (formulaToken.OpCode == opCodePush.Token.OpCode && !formulaToken.Data.equals(Any.VOID)) { ret.append(formulaToken.Data); } - else if ( parserAllOpCodes.containsKey(formulaToken.OpCode) ) + else if (parserAllOpCodes.containsKey(formulaToken.OpCode)) { final FormulaOpCodeMapEntry opCode = (FormulaOpCodeMapEntry) parserAllOpCodes.get(formulaToken.OpCode); - if ( opCode.Name.length() > 0 ) + if (opCode.Name.length() > 0) + { ret.append(opCode.Name); - else if ( !formulaToken.Data.equals(Any.VOID) ) + } + else if (!formulaToken.Data.equals(Any.VOID)) + { ret.append(formulaToken.Data); + } } } return ret.toString(); @@ -330,6 +346,7 @@ public final class SOFormulaParser extends ComponentBase /** * This method is a simple helper function to used in the static component initialisation functions as well as * in getSupportedServiceNames. + * @return */ public static String[] getServiceNames() { @@ -341,7 +358,7 @@ public final class SOFormulaParser extends ComponentBase public XFormulaOpCodeMapper getFormulaOpCodeMapper() { - if ( formulaOpCodeMapper == null ) + if (formulaOpCodeMapper == null) { formulaOpCodeMapper = new SOFormulaOpCodeMapper(this); } @@ -364,15 +381,17 @@ public final class SOFormulaParser extends ComponentBase for (; i < opCodes.length; i++) { opCode = opCodes[i]; - if ( names[j].equals(opCode.Name) ) + if (names[j].equals(opCode.Name)) { break; } } - if ( i >= opCodes.length ) + if (i >= opCodes.length) { - if ( !add ) + if (!add) + { continue; + } final FormulaToken token = new FormulaToken(ownTokenCounter++, Any.VOID); opCode = new FormulaOpCodeMapEntry(names[j], token); } @@ -400,22 +419,22 @@ public final class SOFormulaParser extends ComponentBase while (iter.hasNext()) { final String configKey = (String) iter.next(); - if ( configKey.endsWith(".class") == false ) + if (!configKey.endsWith(".class")) { continue; } final String operatorClass = configuration.getConfigProperty(configKey); - if ( operatorClass == null ) + if (operatorClass == null) { continue; } - if ( operatorClass.length() == 0 ) + if (operatorClass.length() == 0) { continue; } final String tokenKey = configKey.substring(0, configKey.length() - ".class".length()) + ".token"; final String token = configuration.getConfigProperty(tokenKey); - if ( token == null ) + if (token == null) { continue; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/SOFunctionManager.java b/reportbuilder/java/com/sun/star/report/pentaho/SOFunctionManager.java index 6c40b5b..df2ebe3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/SOFunctionManager.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/SOFunctionManager.java @@ -85,6 +85,7 @@ public final class SOFunctionManager extends ComponentBase implements XFunctionM /** * This method is a simple helper function to used in the static component initialisation functions as well as * in getSupportedServiceNames. + * @return */ public static String[] getServiceNames() { @@ -140,27 +141,33 @@ public final class SOFunctionManager extends ComponentBase implements XFunctionM // com.sun.star.report.meta.XFunctionManager: public com.sun.star.report.meta.XFunctionCategory getCategory(int position) throws com.sun.star.lang.IndexOutOfBoundsException, com.sun.star.lang.WrappedTargetException { - if ( position >= categories.length ) + if (position >= categories.length) + { throw new com.sun.star.lang.IndexOutOfBoundsException(); - return new StarFunctionCategory(defaultContext,m_xContext, functionRegistry, position, categories[position]); + } + return new StarFunctionCategory(defaultContext, m_xContext, functionRegistry, position, categories[position]); } public XFunctionDescription getFunctionByName(String arg0) throws NoSuchElementException { final FunctionDescription func = functionRegistry.getMetaData(arg0); - if ( func == null ) + if (func == null) + { throw new NoSuchElementException(); + } int i = 0; for (; i < categories.length; i++) { - if ( categories[i] == func.getCategory() ) + if (categories[i] == func.getCategory()) + { break; + } } try { return new StarFunctionDescription(defaultContext, m_xContext, getCategory(i), func); } - catch ( Exception ex ) + catch (Exception ex) { } return null; diff --git a/reportbuilder/java/com/sun/star/report/pentaho/SOReportJobFactory.java b/reportbuilder/java/com/sun/star/report/pentaho/SOReportJobFactory.java index ce29371..f69874d 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/SOReportJobFactory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/SOReportJobFactory.java @@ -35,7 +35,9 @@ import com.sun.star.beans.UnknownPropertyException; import com.sun.star.beans.PropertyVetoException; import com.sun.star.beans.XPropertyChangeListener; import com.sun.star.beans.XVetoableChangeListener; +import com.sun.star.container.XChild; import com.sun.star.embed.XStorage; +import com.sun.star.frame.XModel; import com.sun.star.lang.IllegalArgumentException; import com.sun.star.lang.XInitialization; import com.sun.star.lang.XServiceInfo; @@ -60,6 +62,7 @@ import com.sun.star.report.SOImageService; import com.sun.star.report.StorageRepository; import com.sun.star.report.XReportDefinition; import com.sun.star.report.pentaho.SOReportJobFactory._SOReportJobFactory; +import com.sun.star.sdb.XDocumentDataSource; import com.sun.star.sdbc.XConnection; import com.sun.star.sdbc.XRowSet; import com.sun.star.task.XJob; @@ -92,7 +95,7 @@ public class SOReportJobFactory * The service name, that must be used to get an instance of this service. */ private static final String __serviceName = - "com.sun.star.report.pentaho.SOReportJobFactory"; + "com.sun.star.report.pentaho.SOReportJobFactory"; private final PropertySetMixin m_prophlp; /** * The initial component contextr, that gives access to the service manager, supported singletons, ... It's @@ -106,8 +109,8 @@ public class SOReportJobFactory { m_cmpCtx = xCompContext; m_prophlp = new PropertySetMixin(m_cmpCtx, this, - new Type(XJob.class), - null); // no optionals + new Type(XJob.class), + null); // no optionals } /** @@ -117,7 +120,7 @@ public class SOReportJobFactory * @throws Exception Every exception will not be handled, but will be passed to the caller. */ public void initialize(final Object[] object) - throws com.sun.star.uno.Exception + throws com.sun.star.uno.Exception { /* The component describes what arguments its expected and in which * order!At this point you can read the objects and can intialize @@ -138,13 +141,14 @@ public class SOReportJobFactory /** * This method is a simple helper function to used in the static component initialisation functions as well as * in getSupportedServiceNames. + * @return */ public static String[] getServiceNames() { return new String[] - { - __serviceName - }; + { + __serviceName + }; } /** @@ -177,20 +181,20 @@ public class SOReportJobFactory final XRegistryKey xRegistryRootKey = simpleReg.getRootKey(); // read locale final XRegistryKey locale = xRegistryRootKey.openKey(value); - if ( locale != null ) + if (locale != null) { final String newLocale = locale.getStringValue(); - if ( newLocale != null ) + if (newLocale != null) { currentLocale = newLocale.replace('-', '_'); } } } - catch ( InvalidValueException ex ) + catch (InvalidValueException ex) { Logger.getLogger(SOReportJobFactory.class.getName()).log(Level.SEVERE, null, ex); } - catch ( InvalidRegistryException ex ) + catch (InvalidRegistryException ex) { Logger.getLogger(SOReportJobFactory.class.getName()).log(Level.SEVERE, null, ex); } @@ -199,32 +203,34 @@ public class SOReportJobFactory } public Object execute(final NamedValue[] namedValue) - throws com.sun.star.lang.IllegalArgumentException, com.sun.star.uno.Exception + throws com.sun.star.lang.IllegalArgumentException, com.sun.star.uno.Exception { final ClassLoader cl = java.lang.Thread.currentThread().getContextClassLoader(); Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader()); try { final XSimpleRegistry simpleReg = (XSimpleRegistry) UnoRuntime.queryInterface(XSimpleRegistry.class, - m_cmpCtx.getServiceManager().createInstanceWithContext("com.sun.star.configuration.ConfigurationRegistry", m_cmpCtx)); + m_cmpCtx.getServiceManager().createInstanceWithContext("com.sun.star.configuration.ConfigurationRegistry", m_cmpCtx)); - String currentLocale = getLocaleFromRegistry(simpleReg,"org.openoffice.Setup","L10N/ooSetupSystemLocale"); - if ( currentLocale == null || "".equals(currentLocale) ) + String currentLocale = getLocaleFromRegistry(simpleReg, "org.openoffice.Setup", "L10N/ooSetupSystemLocale"); + if (currentLocale == null || "".equals(currentLocale)) { - currentLocale = getLocaleFromRegistry(simpleReg,"org.openoffice.Office.Linguistic","General/DefaultLocale"); + currentLocale = getLocaleFromRegistry(simpleReg, "org.openoffice.Office.Linguistic", "General/DefaultLocale"); } - if ( currentLocale != null && !"".equals(currentLocale) ) + if (currentLocale != null && !"".equals(currentLocale)) + { System.setProperty("org.pentaho.reporting.libraries.formula.locale", currentLocale); + } final ReportJob job = createReportJob(namedValue); job.execute(); } - catch ( java.lang.Exception e ) + catch (java.lang.Exception e) { LOGGER.error("ReportProcessing failed", e); throw new com.sun.star.lang.WrappedTargetException(e.getMessage(), this, null); } - catch ( java.lang.IncompatibleClassChangeError e2 ) + catch (java.lang.IncompatibleClassChangeError e2) { LOGGER.error("Detected an IncompatibleClassChangeError"); throw new com.sun.star.lang.WrappedTargetException("caught a " + e2.getClass().getName(), this, new com.sun.star.uno.Exception(e2.getLocalizedMessage())); @@ -244,55 +250,55 @@ public class SOReportJobFactory String title = null; Integer maxRows = null; - for ( int i = 0; i < namedValue.length; ++i ) + for (int i = 0; i < namedValue.length; ++i) { final NamedValue aProps = namedValue[i]; - if ( "ActiveConnection".equalsIgnoreCase(aProps.Name) ) + if ("ActiveConnection".equalsIgnoreCase(aProps.Name)) { activeConnection = (XConnection) UnoRuntime.queryInterface(XConnection.class, aProps.Value); } - else if ( "ReportDefinition".equalsIgnoreCase(aProps.Name) ) + else if ("ReportDefinition".equalsIgnoreCase(aProps.Name)) { report = (XReportDefinition) UnoRuntime.queryInterface(XReportDefinition.class, aProps.Value); } - else if ( "InputStorage".equalsIgnoreCase(aProps.Name) ) + else if ("InputStorage".equalsIgnoreCase(aProps.Name)) { input = (XStorage) UnoRuntime.queryInterface(XStorage.class, aProps.Value); } - else if ( "OutputStorage".equalsIgnoreCase(aProps.Name) ) + else if ("OutputStorage".equalsIgnoreCase(aProps.Name)) { output = (XStorage) UnoRuntime.queryInterface(XStorage.class, aProps.Value); } - else if ( "RowSet".equalsIgnoreCase(aProps.Name) ) + else if ("RowSet".equalsIgnoreCase(aProps.Name)) { rowSet = (XRowSet) UnoRuntime.queryInterface(XRowSet.class, aProps.Value); } - else if ( "mimetype".equalsIgnoreCase(aProps.Name) ) + else if ("mimetype".equalsIgnoreCase(aProps.Name)) { mimetype = (String) aProps.Value; } - else if ( "MaxRows".equalsIgnoreCase(aProps.Name) ) + else if ("MaxRows".equalsIgnoreCase(aProps.Name)) { maxRows = (Integer) aProps.Value; } - else if ( ReportEngineParameterNames.AUTHOR.equalsIgnoreCase(aProps.Name) ) + else if (ReportEngineParameterNames.AUTHOR.equalsIgnoreCase(aProps.Name)) { author = (String) aProps.Value; } - else if ( ReportEngineParameterNames.TITLE.equalsIgnoreCase(aProps.Name) ) + else if (ReportEngineParameterNames.TITLE.equalsIgnoreCase(aProps.Name)) { title = (String) aProps.Value; } } - if ( input == null || output == null ) + if (input == null || output == null) { throw new com.sun.star.lang.IllegalArgumentException(); } - if ( rowSet == null ) + if (rowSet == null) { - if ( report == null || activeConnection == null ) + if (report == null || activeConnection == null) { throw new com.sun.star.lang.IllegalArgumentException(); } @@ -301,19 +307,22 @@ public class SOReportJobFactory else { final XPropertySet set = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, rowSet); - if ( set == null ) + if (set == null) { throw new com.sun.star.lang.IllegalArgumentException(); } activeConnection = (XConnection) UnoRuntime.queryInterface(XConnection.class, set.getPropertyValue("ActiveConnection")); } - if ( mimetype == null ) + if (mimetype == null) { mimetype = PentahoReportEngineMetaData.OPENDOCUMENT_TEXT; } + final XChild child = UnoRuntime.queryInterface(XChild.class, activeConnection); + final XDocumentDataSource docSource = UnoRuntime.queryInterface(XDocumentDataSource.class, child.getParent()); + final XModel model = UnoRuntime.queryInterface(XModel.class, docSource.getDatabaseDocument()); final DataSourceFactory dataFactory = new SDBCReportDataFactory(m_cmpCtx, activeConnection); - final StorageRepository storageRepository = new StorageRepository(input, output); + final StorageRepository storageRepository = new StorageRepository(input, output, model.getURL()); final String inputName = "content.xml"; final String outputName = "content.xml"; @@ -330,11 +339,11 @@ public class SOReportJobFactory procParms.setProperty(ReportEngineParameterNames.IMAGE_SERVICE, new SOImageService(m_cmpCtx)); procParms.setProperty(ReportEngineParameterNames.INPUT_REPORTJOB_FACTORY, this); procParms.setProperty(ReportEngineParameterNames.MAXROWS, maxRows); - if ( author != null ) + if (author != null) { procParms.setProperty(ReportEngineParameterNames.AUTHOR, author); } - if ( title != null ) + if (title != null) { procParms.setProperty(ReportEngineParameterNames.TITLE, title); } @@ -349,38 +358,38 @@ public class SOReportJobFactory } public void setPropertyValue(final String aPropertyName, final Object aValue) - throws UnknownPropertyException, PropertyVetoException, com.sun.star.lang.IllegalArgumentException, - WrappedTargetException + throws UnknownPropertyException, PropertyVetoException, com.sun.star.lang.IllegalArgumentException, + WrappedTargetException { m_prophlp.setPropertyValue(aPropertyName, aValue); } public Object getPropertyValue(final String aPropertyName) - throws UnknownPropertyException, WrappedTargetException + throws UnknownPropertyException, WrappedTargetException { return m_prophlp.getPropertyValue(aPropertyName); } public void addPropertyChangeListener(final String aPropertyName, final XPropertyChangeListener xListener) - throws UnknownPropertyException, WrappedTargetException + throws UnknownPropertyException, WrappedTargetException { m_prophlp.addPropertyChangeListener(aPropertyName, xListener); } public void removePropertyChangeListener(final String aPropertyName, final XPropertyChangeListener xListener) - throws UnknownPropertyException, WrappedTargetException + throws UnknownPropertyException, WrappedTargetException { m_prophlp.removePropertyChangeListener(aPropertyName, xListener); } public void addVetoableChangeListener(final String aPropertyName, final XVetoableChangeListener xListener) - throws UnknownPropertyException, WrappedTargetException + throws UnknownPropertyException, WrappedTargetException { m_prophlp.addVetoableChangeListener(aPropertyName, xListener); } public void removeVetoableChangeListener(final String aPropertyName, final XVetoableChangeListener xListener) - throws UnknownPropertyException, WrappedTargetException + throws UnknownPropertyException, WrappedTargetException { m_prophlp.removeVetoableChangeListener(aPropertyName, xListener); } @@ -400,20 +409,20 @@ public class SOReportJobFactory try { - if ( sImplName.equals(_SOReportJobFactory.class.getName()) ) + if (sImplName.equals(_SOReportJobFactory.class.getName())) { xFactory = Factory.createComponentFactory(_SOReportJobFactory.class, _SOReportJobFactory.getServiceNames()); } - else if ( sImplName.equals(SOFunctionManager.class.getName()) ) + else if (sImplName.equals(SOFunctionManager.class.getName())) { xFactory = Factory.createComponentFactory(SOFunctionManager.class, SOFunctionManager.getServiceNames()); } - else if ( sImplName.equals(SOFormulaParser.class.getName()) ) + else if (sImplName.equals(SOFormulaParser.class.getName())) { xFactory = Factory.createComponentFactory(SOFormulaParser.class, SOFormulaParser.getServiceNames()); } } - catch ( java.lang.IncompatibleClassChangeError e2 ) + catch (java.lang.IncompatibleClassChangeError e2) { } @@ -431,13 +440,11 @@ public class SOReportJobFactory public static boolean __writeRegistryServiceInfo(final XRegistryKey regKey) { return Factory.writeRegistryServiceInfo(SOFunctionManager.class.getName(), - SOFunctionManager.getServiceNames(), - regKey) && - Factory.writeRegistryServiceInfo(_SOReportJobFactory.class.getName(), - _SOReportJobFactory.getServiceNames(), - regKey) && - Factory.writeRegistryServiceInfo(SOFormulaParser.class.getName(), - SOFormulaParser.getServiceNames(), - regKey); + SOFunctionManager.getServiceNames(), + regKey) && Factory.writeRegistryServiceInfo(_SOReportJobFactory.class.getName(), + _SOReportJobFactory.getServiceNames(), + regKey) && Factory.writeRegistryServiceInfo(SOFormulaParser.class.getName(), + SOFormulaParser.getServiceNames(), + regKey); } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionCategory.java b/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionCategory.java index 80c0194..52641db 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionCategory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionCategory.java @@ -41,10 +41,10 @@ import org.pentaho.reporting.libraries.formula.DefaultFormulaContext; import org.pentaho.reporting.libraries.formula.function.FunctionCategory; import org.pentaho.reporting.libraries.formula.function.FunctionRegistry; - public final class StarFunctionCategory extends WeakBase - implements com.sun.star.report.meta.XFunctionCategory + implements com.sun.star.report.meta.XFunctionCategory { + private final XComponentContext m_xContext; private final PropertySetMixin m_prophlp; // attributes @@ -55,7 +55,7 @@ public final class StarFunctionCategory extends WeakBase private final DefaultFormulaContext defaultContext; private final Locale defaultLocale; - public StarFunctionCategory( DefaultFormulaContext defaultContext,final XComponentContext context,final FunctionRegistry functionRegistry,final int _number,final FunctionCategory category ) + public StarFunctionCategory(DefaultFormulaContext defaultContext, final XComponentContext context, final FunctionRegistry functionRegistry, final int _number, final FunctionCategory category) { this.defaultContext = defaultContext; m_xContext = context; @@ -68,11 +68,11 @@ public final class StarFunctionCategory extends WeakBase category.getDisplayName(defaultContext.getLocalizationContext().getLocale()); locale = defaultContext.getLocalizationContext().getLocale(); } - catch(MissingResourceException e) + catch (MissingResourceException e) { locale = Locale.ENGLISH; } - this.defaultLocale = locale; + this.defaultLocale = locale; functions = functionRegistry.getFunctionNamesByCategory(category); // use the last parameter of the PropertySetMixin constructor @@ -80,8 +80,8 @@ public final class StarFunctionCategory extends WeakBase // of the PropertySetMixin helper for further information. // Ensure that your attributes are initialized correctly! m_prophlp = new PropertySetMixin(m_xContext, this, - new Type(com.sun.star.report.meta.XFunctionCategory.class), null); - }; + new Type(com.sun.star.report.meta.XFunctionCategory.class), null); + } // com.sun.star.beans.XPropertySet: public com.sun.star.beans.XPropertySetInfo getPropertySetInfo() @@ -89,7 +89,7 @@ public final class StarFunctionCategory extends WeakBase return m_prophlp.getPropertySetInfo(); } - public void setPropertyValue(String aPropertyName, Object aValue) throws com.sun.star.beans.UnknownPropertyException, com.sun.star.beans.PropertyVetoException, com.sun.star.lang.IllegalArgumentException,com.sun.star.lang.WrappedTargetException + public void setPropertyValue(String aPropertyName, Object aValue) throws com.sun.star.beans.UnknownPropertyException, com.sun.star.beans.PropertyVetoException, com.sun.star.lang.IllegalArgumentException, com.sun.star.lang.WrappedTargetException { m_prophlp.setPropertyValue(aPropertyName, aValue); } @@ -117,7 +117,7 @@ public final class StarFunctionCategory extends WeakBase public void removeVetoableChangeListener(String aPropertyName, com.sun.star.beans.XVetoableChangeListener xListener) throws com.sun.star.beans.UnknownPropertyException, com.sun.star.lang.WrappedTargetException { m_prophlp.removeVetoableChangeListener(aPropertyName, xListener); - } + } // com.sun.star.container.XElementAccess: public com.sun.star.uno.Type getElementType() @@ -146,7 +146,7 @@ public final class StarFunctionCategory extends WeakBase { return m_Number; } - + public String getName() { return category.getDisplayName(defaultLocale); @@ -154,9 +154,10 @@ public final class StarFunctionCategory extends WeakBase public com.sun.star.report.meta.XFunctionDescription getFunction(int position) throws com.sun.star.lang.IndexOutOfBoundsException, com.sun.star.lang.WrappedTargetException { - if ( position >= functions.length ) + if (position >= functions.length) + { throw new IndexOutOfBoundsException(); - return new StarFunctionDescription(defaultContext,m_xContext,this,functionRegistry.getMetaData(functions[position])); + } + return new StarFunctionDescription(defaultContext, m_xContext, this, functionRegistry.getMetaData(functions[position])); } - } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionDescription.java b/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionDescription.java index 546f512..30e4058 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionDescription.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/StarFunctionDescription.java @@ -63,7 +63,8 @@ public final class StarFunctionDescription extends WeakBase { functionDescription.getDisplayName(defaultContext.getLocalizationContext().getLocale()); locale = defaultContext.getLocalizationContext().getLocale(); - } catch ( MissingResourceException e ) + } + catch (MissingResourceException e) { locale = Locale.ENGLISH; } @@ -75,9 +76,8 @@ public final class StarFunctionDescription extends WeakBase // of the PropertySetMixin helper for further information. // Ensure that your attributes are initialized correctly! m_prophlp = new PropertySetMixin(m_xContext, this, - new Type(com.sun.star.report.meta.XFunctionDescription.class), null); + new Type(com.sun.star.report.meta.XFunctionDescription.class), null); } - ; // com.sun.star.beans.XPropertySet: public com.sun.star.beans.XPropertySetInfo getPropertySetInfo() @@ -139,8 +139,10 @@ public final class StarFunctionDescription extends WeakBase for (int i = 0; i < count; i++) { signature.append(functionDescription.getParameterDisplayName(i, defaultLocale)); - if ( i != (count - 1) ) + if (i != (count - 1)) + { signature.append(';'); + } } signature.append(')'); return signature.toString(); @@ -150,7 +152,7 @@ public final class StarFunctionDescription extends WeakBase { int count = functionDescription.getParameterCount(); final boolean infinite = functionDescription.isInfiniteParameterCount(); - if ( infinite ) + if (infinite) { count = 30; } @@ -170,18 +172,24 @@ public final class StarFunctionDescription extends WeakBase { final boolean infinite = functionDescription.isInfiniteParameterCount(); final int count = functionDescription.getParameterCount(); - if ( !infinite && arguments.length > count ) + if (!infinite && arguments.length > count) + { throw new com.sun.star.lang.IllegalArgumentException(); + } final StringBuffer formula = new StringBuffer(getName()); formula.append('('); for (int i = 0; i < arguments.length; ++i) { - if ( arguments[i].length() == 0 ) + if (arguments[i].length() == 0) + { break; + } formula.append(arguments[i]); - if ( i < (arguments.length - 1) && arguments[i+1].length() != 0 ) + if (i < (arguments.length - 1) && arguments[i + 1].length() != 0) + { formula.append(';'); + } } formula.append(')'); return formula.toString(); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/StarReportDataFactory.java b/reportbuilder/java/com/sun/star/report/pentaho/StarReportDataFactory.java index bbbc092..6e4d4fd 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/StarReportDataFactory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/StarReportDataFactory.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho; import java.util.HashMap; @@ -42,85 +40,87 @@ import com.sun.star.report.DataSourceFactory; public class StarReportDataFactory implements ReportDataFactory, Cloneable { - private final DataSourceFactory backend; - public StarReportDataFactory (DataSourceFactory backend) - { - this.backend = backend; - } + private final DataSourceFactory backend; - /** - * Queries a datasource. The string 'query' defines the name of the query. The - * Parameterset given here may contain more data than actually needed. - * <p/> - * The dataset may change between two calls, do not assume anything! - * - * @param query - * @param parameters - * @return - */ - public ReportData queryData (final String query, final DataSet parameters) - throws ReportDataFactoryException - { - try + public StarReportDataFactory(DataSourceFactory backend) { - final HashMap map = new HashMap(); - final int count = parameters.getColumnCount(); - for (int i = 0; i < count; i++) - { - final Object o = parameters.get(i); - map.put (parameters.getColumnName(i), o); - } - return new StarReportData(backend.queryData(query, map)); + this.backend = backend; } - catch(DataSourceException dse) + + /** + * Queries a datasource. The string 'query' defines the name of the query. The + * Parameterset given here may contain more data than actually needed. + * <p/> + * The dataset may change between two calls, do not assume anything! + * + * @param query + * @param parameters + * @return + */ + public ReportData queryData(final String query, final DataSet parameters) + throws ReportDataFactoryException { - String message = dse.getMessage(); - if ( message.length() == 0 ) - message = "Failed to create report data wrapper"; - throw new ReportDataFactoryException(message,dse); + try + { + final HashMap map = new HashMap(); + final int count = parameters.getColumnCount(); + for (int i = 0; i < count; i++) + { + final Object o = parameters.get(i); + map.put(parameters.getColumnName(i), o); + } + return new StarReportData(backend.queryData(query, map)); + } + catch (DataSourceException dse) + { + String message = dse.getMessage(); + if (message.length() == 0) + { + message = "Failed to create report data wrapper"; + } + throw new ReportDataFactoryException(message, dse); + } + catch (org.jfree.report.DataSourceException e) + { + String message = e.getMessage(); + if (message.length() == 0) + { + message = "Failed to query data"; + } + throw new ReportDataFactoryException(message); + } } - catch (org.jfree.report.DataSourceException e) + + public void open() { - String message = e.getMessage(); - if ( message.length() == 0 ) - message = "Failed to query data"; - throw new ReportDataFactoryException(message); } - } - - public void open() - { - - } - public void close() - { - - } - - - /** - * Derives a freshly initialized report data factory, which is independend of - * the original data factory. Opening or Closing one data factory must not - * affect the other factories. - * - * @return - */ - public ReportDataFactory derive() - { - try + public void close() { - return (ReportDataFactory) clone(); } - catch (CloneNotSupportedException e) + + /** + * Derives a freshly initialized report data factory, which is independend of + * the original data factory. Opening or Closing one data factory must not + * affect the other factories. + * + * @return + */ + public ReportDataFactory derive() { - throw new IllegalStateException("Clone failed?"); + try + { + return (ReportDataFactory) clone(); + } + catch (CloneNotSupportedException e) + { + throw new IllegalStateException("Clone failed?"); + } } - } - public Object clone () throws CloneNotSupportedException - { - return super.clone(); - } + public Object clone() throws CloneNotSupportedException + { + return super.clone(); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/StarReportModule.java b/reportbuilder/java/com/sun/star/report/pentaho/StarReportModule.java index 38f6d3a..4ac7d7c 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/StarReportModule.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/StarReportModule.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho; import org.pentaho.reporting.libraries.base.boot.AbstractModule; @@ -37,26 +35,25 @@ import org.pentaho.reporting.libraries.base.boot.SubSystem; public class StarReportModule extends AbstractModule { - public StarReportModule () - throws ModuleInitializeException - { - loadModuleInfo(); - } - - /** - * Initializes the module. Use this method to perform all initial setup operations. This - * method is called only once in a modules lifetime. If the initializing cannot be - * completed, throw a ModuleInitializeException to indicate the error,. The module will - * not be available to the system. - * - * @param subSystem the subSystem. - * @throws org.jfree.base.modules.ModuleInitializeException - * if an error ocurred while initializing the module. - */ - public void initialize (final SubSystem subSystem) - throws ModuleInitializeException - { + public StarReportModule() + throws ModuleInitializeException + { + loadModuleInfo(); + } - } + /** + * Initializes the module. Use this method to perform all initial setup operations. This + * method is called only once in a modules lifetime. If the initializing cannot be + * completed, throw a ModuleInitializeException to indicate the error,. The module will + * not be available to the system. + * + * @param subSystem the subSystem. + * @throws org.jfree.base.modules.ModuleInitializeException + * if an error ocurred while initializing the module. + */ + public void initialize(final SubSystem subSystem) + throws ModuleInitializeException + { + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpression.java b/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpression.java index 8caff01..76cfc70 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpression.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpression.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.expressions; import com.sun.star.report.ReportExpression; @@ -36,25 +34,26 @@ import com.sun.star.report.DataRow; public class SumExpression implements ReportExpression { - private Object[] parameters; - public SumExpression () - { - } + private Object[] parameters; + + public SumExpression() + { + } - public Object getParameters () - { - return parameters; - } + public Object getParameters() + { + return parameters; + } - public Object getValue (final DataRow row) - { + public Object getValue(final DataRow row) + { - return null; - } + return null; + } - public void setParameters (final Object[] parameters) - { - this.parameters = parameters; - } + public void setParameters(final Object[] parameters) + { + this.parameters = parameters; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpressionMetaData.java b/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpressionMetaData.java index bc9a16c..88b62ff 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpressionMetaData.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/expressions/SumExpressionMetaData.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.expressions; import java.util.Locale; @@ -37,45 +35,46 @@ import com.sun.star.report.ReportExpressionMetaData; public class SumExpressionMetaData implements ReportExpressionMetaData { - public String getDescription (final Locale l) - { - // todo implement me - return null; - } - public String getDisplayName (final Locale l) - { - // todo implement me - return null; - } + public String getDescription(final Locale l) + { + // todo implement me + return null; + } + + public String getDisplayName(final Locale l) + { + // todo implement me + return null; + } - public String getName () - { - // todo implement me - return null; - } + public String getName() + { + // todo implement me + return null; + } - public int getParameterCount () - { - // todo implement me - return 0; - } + public int getParameterCount() + { + // todo implement me + return 0; + } - public String getParameterDescription (final int param,final Locale locale) - { - // todo implement me - return null; - } + public String getParameterDescription(final int param, final Locale locale) + { + // todo implement me + return null; + } - public String getParameterDisplayName (final int param,final Locale locale) - { - // todo implement me - return null; - } + public String getParameterDisplayName(final int param, final Locale locale) + { + // todo implement me + return null; + } - public String getParameterName (final int param) - { - // todo implement me - return null; - } + public String getParameterName(final int param) + { + // todo implement me + return null; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/AbstractReportElementLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/AbstractReportElementLayoutController.java index 68c12b0..e6671b3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/AbstractReportElementLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/AbstractReportElementLayoutController.java @@ -242,7 +242,7 @@ public abstract class AbstractReportElementLayoutController } catch (DataSourceException e) { - // ignore .. assume that the reference has not changed. + // ignore .. assume that the reference has not changed. } } final LValue[] childValues = lValue.getChildValues(); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FixedTextLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FixedTextLayoutController.java index 518363c..470e8dd 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FixedTextLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FixedTextLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import org.jfree.report.flow.layoutprocessor.LayoutController; @@ -55,37 +53,35 @@ import com.sun.star.report.pentaho.model.FixedTextElement; * @since 05.03.2007 */ public class FixedTextLayoutController - extends AbstractReportElementLayoutController + extends AbstractReportElementLayoutController { - public FixedTextLayoutController() - { - } - + public FixedTextLayoutController() + { + } - protected boolean isValueChanged() - { - final FlowController controller = getFlowController(); - final GlobalMasterRow masterRow = controller.getMasterRow(); - final ReportDataRow reportDataRow = masterRow.getReportDataRow(); - return reportDataRow.getCursor() == 0; - } + protected boolean isValueChanged() + { + final FlowController controller = getFlowController(); + final GlobalMasterRow masterRow = controller.getMasterRow(); + final ReportDataRow reportDataRow = masterRow.getReportDataRow(); + return reportDataRow.getCursor() == 0; + } - protected LayoutController delegateContentGeneration - (final ReportTarget target) - throws ReportProcessingException, ReportDataFactoryException, - DataSourceException - { - final FixedTextElement fte = (FixedTextElement) getNode(); - final Section content = fte.getContent(); + protected LayoutController delegateContentGeneration(final ReportTarget target) + throws ReportProcessingException, ReportDataFactoryException, + DataSourceException + { + final FixedTextElement fte = (FixedTextElement) getNode(); + final Section content = fte.getContent(); - final FlowController flowController = getFlowController(); - final ReportContext reportContext = flowController.getReportContext(); - final LayoutControllerFactory layoutControllerFactory = - reportContext.getLayoutControllerFactory(); + final FlowController flowController = getFlowController(); + final ReportContext reportContext = flowController.getReportContext(); + final LayoutControllerFactory layoutControllerFactory = + reportContext.getLayoutControllerFactory(); - final FixedTextLayoutController flc = (FixedTextLayoutController) clone(); - flc.setState(AbstractReportElementLayoutController.FINISHED); - return layoutControllerFactory.create(flowController, content, flc); - } + final FixedTextLayoutController flc = (FixedTextLayoutController) clone(); + flc.setState(AbstractReportElementLayoutController.FINISHED); + return layoutControllerFactory.create(flowController, content, flc); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java index ce48e04..da59afe 100755 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java @@ -27,7 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - package com.sun.star.report.pentaho.layoutprocessor; import java.text.SimpleDateFormat; @@ -54,10 +53,11 @@ import org.pentaho.reporting.libraries.formula.util.HSSFDateUtil; */ public class FormatValueUtility { + private static final String BOOLEAN_VALUE = "boolean-value"; private static final String STRING_VALUE = "string-value"; - public static final String VALUE_TYPE = "value-type"; + private static final String VALUE = "value"; private static SimpleDateFormat dateFormat; private static SimpleDateFormat timeFormat; @@ -74,7 +74,7 @@ public class FormatValueUtility ret = formatTime((Time) value); variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "time-value", ret); } - else if (value instanceof java.sql.Date ) + else if (value instanceof java.sql.Date) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "date"); ret = formatDate((Date) value); @@ -83,67 +83,67 @@ public class FormatValueUtility else if (value instanceof Date) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "float"); - ret = HSSFDateUtil.getExcelDate((Date)value,false,2).toString(); - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "value", ret); + ret = HSSFDateUtil.getExcelDate((Date) value, false, 2).toString(); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, ret); } else if (value instanceof Number) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "float"); - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "value", String.valueOf(value)); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, String.valueOf(value)); } else if (value instanceof Boolean) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "boolean"); if (Boolean.TRUE.equals(value)) { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,BOOLEAN_VALUE, OfficeToken.TRUE); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, BOOLEAN_VALUE, OfficeToken.TRUE); } else { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,BOOLEAN_VALUE, OfficeToken.FALSE); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, BOOLEAN_VALUE, OfficeToken.FALSE); } } else if (value != null) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "string"); - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,STRING_VALUE, String.valueOf(value)); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, STRING_VALUE, String.valueOf(value)); } else { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "string"); - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,STRING_VALUE, ""); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, STRING_VALUE, ""); } return ret; } - public static void applyValueForCell(final Object value, final AttributeMap variableSection,final String valueType) + public static void applyValueForCell(final Object value, final AttributeMap variableSection, final String valueType) { if (value instanceof Time) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "time-value", formatTime((Time) value)); } - else if (value instanceof java.sql.Date ) + else if (value instanceof java.sql.Date) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "date-value", formatDate((Date) value)); } else if (value instanceof Date) { variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "float"); - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "value", HSSFDateUtil.getExcelDate((Date)value,false,2).toString()); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, HSSFDateUtil.getExcelDate((Date) value, false, 2).toString()); } else if (value instanceof Number) { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "value", String.valueOf(value)); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, String.valueOf(value)); } else if (value instanceof Boolean) { if (Boolean.TRUE.equals(value)) { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,BOOLEAN_VALUE, OfficeToken.TRUE); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, BOOLEAN_VALUE, OfficeToken.TRUE); } else { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,BOOLEAN_VALUE, OfficeToken.FALSE); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, BOOLEAN_VALUE, OfficeToken.FALSE); } } else if (value != null) @@ -151,25 +151,24 @@ public class FormatValueUtility try { final Float number = Float.valueOf(String.valueOf(value)); - applyValueForCell(number,variableSection,valueType); + applyValueForCell(number, variableSection, valueType); return; } - catch(NumberFormatException e) + catch (NumberFormatException e) { - } - if ( !"string".equals(valueType)) + if (!"string".equals(valueType)) { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "value", String.valueOf(value)); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, String.valueOf(value)); } else { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,STRING_VALUE, String.valueOf(value)); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, STRING_VALUE, String.valueOf(value)); } } else { - variableSection.setAttribute(OfficeNamespaces.OFFICE_NS,STRING_VALUE, ""); + variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, STRING_VALUE, ""); } } @@ -181,6 +180,7 @@ public class FormatValueUtility } return dateFormat.format(date); } + private static synchronized String formatTime(final Date date) { if (timeFormat == null) diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java index 29022f2..cef9e0f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormattedTextLayoutController.java @@ -59,7 +59,9 @@ import org.jfree.layouting.util.AttributeMap; public class FormattedTextLayoutController extends AbstractReportElementLayoutController { + private static final Log LOGGER = LogFactory.getLog(FormattedTextLayoutController.class); + public FormattedTextLayoutController() { } @@ -133,9 +135,8 @@ public class FormattedTextLayoutController } else { - final DataFlags df = FormatValueUtility.computeDataFlag(element, getFlowController()); - if (df != null) + if (df != null && df.getValue() instanceof String ) { target.processContent(df); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementContext.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementContext.java index 4c19b9d..d1743fe 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementContext.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementContext.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; /** @@ -39,56 +37,57 @@ package com.sun.star.report.pentaho.layoutprocessor; */ public class ImageElementContext { - private final int colSpan; - private final int rowSpan; - private String[] rowStyles; - private String[] colStyles; - public ImageElementContext(final int colSpan, final int rowSpan) - { - this.colSpan = colSpan; - this.rowSpan = rowSpan; - this.colStyles = new String[colSpan]; - this.rowStyles = new String[rowSpan]; - } + private final int colSpan; + private final int rowSpan; + private String[] rowStyles; + private String[] colStyles; + + public ImageElementContext(final int colSpan, final int rowSpan) + { + this.colSpan = colSpan; + this.rowSpan = rowSpan; + this.colStyles = new String[colSpan]; + this.rowStyles = new String[rowSpan]; + } - public int getColSpan() - { - return colSpan; - } + public int getColSpan() + { + return colSpan; + } - public int getRowSpan() - { - return rowSpan; - } + public int getRowSpan() + { + return rowSpan; + } - public String[] getRowStyles() - { - return rowStyles; - } + public String[] getRowStyles() + { + return rowStyles; + } - public String[] getColStyles() - { - return colStyles; - } + public String[] getColStyles() + { + return colStyles; + } - public void setRowStyle (final int pos, final String styleName) - { - rowStyles[pos] = styleName; - } + public void setRowStyle(final int pos, final String styleName) + { + rowStyles[pos] = styleName; + } - public void setColStyle (final int pos, final String styleName) - { - colStyles[pos] = styleName; - } + public void setColStyle(final int pos, final String styleName) + { + colStyles[pos] = styleName; + } - public String getRowStyle (final int pos) - { - return rowStyles[pos]; - } + public String getRowStyle(final int pos) + { + return rowStyles[pos]; + } - public String getColStyle (final int pos) - { - return colStyles[pos]; - } + public String getColStyle(final int pos) + { + return colStyles[pos]; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementLayoutController.java index 0d90ff8..42c18db 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ImageElementLayoutController.java @@ -67,6 +67,7 @@ import org.pentaho.reporting.libraries.base.util.ObjectUtilities; public class ImageElementLayoutController extends AbstractReportElementLayoutController { + private static final Log LOGGER = LogFactory.getLog(ImageElementLayoutController.class); private ImageElementContext context; @@ -184,7 +185,7 @@ public class ImageElementLayoutController return null; } - addRowStyles(context, table,rowPos,rowSpan); + addRowStyles(context, table, rowPos, rowSpan); this.context = context; } return this.context; @@ -198,9 +199,8 @@ public class ImageElementLayoutController final Node[] nodes = tableRow.getNodeArray(); final String namespace = tableCell.getNamespace(); final String type = tableCell.getType(); - for (int i = 0; i < nodes.length; i++) + for (final Node node : nodes) { - final Node node = nodes[i]; if (!(node instanceof Element)) { continue; @@ -211,8 +211,7 @@ public class ImageElementLayoutController (ObjectUtilities.equal(child.getNamespace(), namespace) == false || ObjectUtilities.equal(child.getType(), type) == false)) */ - if (!ObjectUtilities.equal(child.getNamespace(), namespace) || - (!ObjectUtilities.equal(child.getType(), type) && (secondType == null || !ObjectUtilities.equal(child.getType(), secondType)))) + if (!ObjectUtilities.equal(child.getNamespace(), namespace) || (!ObjectUtilities.equal(child.getType(), type) && (secondType == null || !ObjectUtilities.equal(child.getType(), secondType)))) { continue; } @@ -254,11 +253,7 @@ public class ImageElementLayoutController final FlowController controller = getFlowController(); final GlobalMasterRow masterRow = controller.getMasterRow(); final ReportDataRow reportDataRow = masterRow.getReportDataRow(); - if (reportDataRow.getCursor() == 0) - { - return true; - } - return false; + return reportDataRow.getCursor() == 0; } try @@ -277,12 +272,11 @@ public class ImageElementLayoutController { final Node[] columnDefs = columns.getNodeArray(); int columnCounter = 0; - for (int i = 0; i < columnDefs.length; i++) + for (Node columnDef : columnDefs) { - final Element column = (Element) columnDefs[i]; + final Element column = (Element) columnDef; - if (!ObjectUtilities.equal(column.getNamespace(), OfficeNamespaces.TABLE_NS) || - !ObjectUtilities.equal(column.getType(), OfficeToken.TABLE_COLUMN)) + if (!ObjectUtilities.equal(column.getNamespace(), OfficeNamespaces.TABLE_NS) || !ObjectUtilities.equal(column.getType(), OfficeToken.TABLE_COLUMN)) { continue; } @@ -306,12 +300,11 @@ public class ImageElementLayoutController { final Node[] rows = table.getNodeArray(); int rowCounter = 0; - for (int i = 0; i < rows.length; i++) + for (Node row1 : rows) { - final Element row = (Element) rows[i]; + final Element row = (Element) row1; - if (!ObjectUtilities.equal(row.getNamespace(), OfficeNamespaces.TABLE_NS) || - !ObjectUtilities.equal(row.getType(), OfficeToken.TABLE_ROW)) + if (!ObjectUtilities.equal(row.getNamespace(), OfficeNamespaces.TABLE_NS) || !ObjectUtilities.equal(row.getType(), OfficeToken.TABLE_ROW)) { continue; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ObjectOleLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ObjectOleLayoutController.java index 9e4d993..38bf52d 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ObjectOleLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/ObjectOleLayoutController.java @@ -75,7 +75,7 @@ public class ObjectOleLayoutController extends AbstractReportElementLayoutContro } catch (DataSourceException e) { - // ignore .. assume that the reference has not changed. + // ignore .. assume that the reference has not changed. } } return false; @@ -108,7 +108,7 @@ public class ObjectOleLayoutController extends AbstractReportElementLayoutContro } catch (DataSourceException e) { - // ignore .. assume that the reference has not changed. + // ignore .. assume that the reference has not changed. } } ole.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, SDBCReportDataFactory.MASTER_COLUMNS, masterfields); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeDetailLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeDetailLayoutController.java index 7edfc13..e493c42 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeDetailLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeDetailLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import com.sun.star.report.pentaho.model.VariablesDeclarationSection; @@ -51,114 +49,113 @@ import org.jfree.report.flow.layoutprocessor.SectionLayoutController; */ public class OfficeDetailLayoutController extends SectionLayoutController { - public static final int STATE_PROCESS_VARIABLES = 2; - public static final int STATE_PROCESS_NORMAL_FLOW = 3; - - private boolean waitForJoin; - private int state; - public OfficeDetailLayoutController() - { - } + public static final int STATE_PROCESS_VARIABLES = 2; + public static final int STATE_PROCESS_NORMAL_FLOW = 3; + private boolean waitForJoin; + private int state; - /** - * Initializes the layout controller. This method is called exactly once. It - * is the creators responsibility to call this method. - * <p/> - * Calling initialize after the first advance must result in a - * IllegalStateException. - * - * @param node the currently processed object or layout node. - * @param flowController the current flow controller. - * @param parent the parent layout controller that was responsible for - * instantiating this controller. - * @throws org.jfree.report.DataSourceException - * if there was a problem reading data from the datasource. - * @throws org.jfree.report.ReportProcessingException - * if there was a general problem during the report processing. - * @throws org.jfree.report.ReportDataFactoryException - * if a query failed. - */ - public void initialize(final Object node, - final FlowController flowController, - final LayoutController parent) - throws DataSourceException, ReportDataFactoryException, - ReportProcessingException - { - super.initialize(node, flowController, parent); - state = OfficeDetailLayoutController.STATE_PROCESS_VARIABLES; - } - - /** - * This method is called for each newly instantiated layout controller. The returned layout controller instance should - * have a processing state of either 'OPEN' or 'FINISHING' depending on whether there is any content or any child - * nodes to process. - * - * @param target the report target that receives generated events. - * @return the new layout controller instance representing the new state. - * @throws org.jfree.report.DataSourceException - * if there was a problem reading data from the datasource. - * @throws org.jfree.report.ReportProcessingException - * if there was a general problem during the report processing. - * @throws org.jfree.report.ReportDataFactoryException - * if a query failed. - */ - protected LayoutController startElement(final ReportTarget target) - throws DataSourceException, ReportProcessingException, ReportDataFactoryException - { - final FlowController fc = getFlowController(); - final GlobalMasterRow masterRow = fc.getMasterRow(); - final ReportDataRow reportDataRow = masterRow.getReportDataRow(); - final ReportData reportData = reportDataRow.getReportData(); - if (!reportData.isReadable()) + public OfficeDetailLayoutController() { - reportData.isReadable(); - // If this report has no data, then do not print the detail section. The detail section - // is the only section that behaves this way, and for now this is only done in the OO-implementation - final SectionLayoutController derived = (SectionLayoutController) clone(); - derived.setProcessingState(ElementLayoutController.FINISHED); - derived.setFlowController(fc); - return derived; } - if (state == OfficeDetailLayoutController.STATE_PROCESS_VARIABLES) + /** + * Initializes the layout controller. This method is called exactly once. It + * is the creators responsibility to call this method. + * <p/> + * Calling initialize after the first advance must result in a + * IllegalStateException. + * + * @param node the currently processed object or layout node. + * @param flowController the current flow controller. + * @param parent the parent layout controller that was responsible for + * instantiating this controller. + * @throws org.jfree.report.DataSourceException + * if there was a problem reading data from the datasource. + * @throws org.jfree.report.ReportProcessingException + * if there was a general problem during the report processing. + * @throws org.jfree.report.ReportDataFactoryException + * if a query failed. + */ + public void initialize(final Object node, + final FlowController flowController, + final LayoutController parent) + throws DataSourceException, ReportDataFactoryException, + ReportProcessingException { - final VariablesDeclarationSection variables = new VariablesDeclarationSection(); - final OfficeDetailLayoutController controller = (OfficeDetailLayoutController) clone(); - controller.state = OfficeDetailLayoutController.STATE_PROCESS_NORMAL_FLOW; - controller.waitForJoin = true; - return processChild(controller, variables, fc); + super.initialize(node, flowController, parent); + state = OfficeDetailLayoutController.STATE_PROCESS_VARIABLES; } - return super.startElement(target); - } + /** + * This method is called for each newly instantiated layout controller. The returned layout controller instance should + * have a processing state of either 'OPEN' or 'FINISHING' depending on whether there is any content or any child + * nodes to process. + * + * @param target the report target that receives generated events. + * @return the new layout controller instance representing the new state. + * @throws org.jfree.report.DataSourceException + * if there was a problem reading data from the datasource. + * @throws org.jfree.report.ReportProcessingException + * if there was a general problem during the report processing. + * @throws org.jfree.report.ReportDataFactoryException + * if a query failed. + */ + protected LayoutController startElement(final ReportTarget target) + throws DataSourceException, ReportProcessingException, ReportDataFactoryException + { + final FlowController fc = getFlowController(); + final GlobalMasterRow masterRow = fc.getMasterRow(); + final ReportDataRow reportDataRow = masterRow.getReportDataRow(); + final ReportData reportData = reportDataRow.getReportData(); + if (!reportData.isReadable()) + { + reportData.isReadable(); + // If this report has no data, then do not print the detail section. The detail section + // is the only section that behaves this way, and for now this is only done in the OO-implementation + final SectionLayoutController derived = (SectionLayoutController) clone(); + derived.setProcessingState(ElementLayoutController.FINISHED); + derived.setFlowController(fc); + return derived; + } - protected void resetSectionForRepeat() - { - super.resetSectionForRepeat(); - state = STATE_PROCESS_VARIABLES; - } + if (state == OfficeDetailLayoutController.STATE_PROCESS_VARIABLES) + { + final VariablesDeclarationSection variables = new VariablesDeclarationSection(); + final OfficeDetailLayoutController controller = (OfficeDetailLayoutController) clone(); + controller.state = OfficeDetailLayoutController.STATE_PROCESS_NORMAL_FLOW; + controller.waitForJoin = true; + return processChild(controller, variables, fc); + } - /** - * Joins with a delegated process flow. This is generally called from a child - * flow and should *not* (I mean it!) be called from outside. If you do, - * you'll suffer. - * - * @param flowController the flow controller of the parent. - * @return the joined layout controller that incorperates all changes from the - * delegate. - */ - public LayoutController join(final FlowController flowController) - { - if (waitForJoin) + return super.startElement(target); + } + + protected void resetSectionForRepeat() { - final OfficeDetailLayoutController derived = (OfficeDetailLayoutController) clone(); - derived.setProcessingState(ElementLayoutController.NOT_STARTED); - derived.setFlowController(flowController); - derived.waitForJoin = false; - return derived; + super.resetSectionForRepeat(); + state = STATE_PROCESS_VARIABLES; } - return super.join(flowController); - } + /** + * Joins with a delegated process flow. This is generally called from a child + * flow and should *not* (I mean it!) be called from outside. If you do, + * you'll suffer. + * + * @param flowController the flow controller of the parent. + * @return the joined layout controller that incorperates all changes from the + * delegate. + */ + public LayoutController join(final FlowController flowController) + { + if (waitForJoin) + { + final OfficeDetailLayoutController derived = (OfficeDetailLayoutController) clone(); + derived.setProcessingState(ElementLayoutController.NOT_STARTED); + derived.setFlowController(flowController); + derived.waitForJoin = false; + return derived; + } + return super.join(flowController); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupInstanceSectionLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupInstanceSectionLayoutController.java index d61f03e..047e46f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupInstanceSectionLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupInstanceSectionLayoutController.java @@ -26,135 +26,127 @@ import org.jfree.report.JFreeReportInfo; */ public class OfficeGroupInstanceSectionLayoutController extends SectionLayoutController { - public static final int STATE_PROCESS_VARIABLES = 2; - public static final int STATE_PROCESS_NORMAL_FLOW = 3; - private int state; - private boolean waitForJoin; - public OfficeGroupInstanceSectionLayoutController() - { - } + public static final int STATE_PROCESS_VARIABLES = 2; + public static final int STATE_PROCESS_NORMAL_FLOW = 3; + private int state; + private boolean waitForJoin; - public void initialize(final Object node, final FlowController flowController, final LayoutController parent) - throws DataSourceException, ReportDataFactoryException, ReportProcessingException - { - super.initialize(node, flowController, parent); - state = STATE_PROCESS_VARIABLES; - } - - protected LayoutController processContent(final ReportTarget target) - throws DataSourceException, ReportProcessingException, ReportDataFactoryException - { - if (state == OfficeGroupInstanceSectionLayoutController.STATE_PROCESS_VARIABLES) + public OfficeGroupInstanceSectionLayoutController() { - // todo: Fill the variables section with something sensible .. - final VariablesDeclarationSection variables = new VariablesDeclarationSection(); - final OfficeGroupInstanceSectionLayoutController controller = - (OfficeGroupInstanceSectionLayoutController) clone(); - controller.state = - OfficeGroupLayoutController.STATE_PROCESS_NORMAL_FLOW; - controller.waitForJoin = true; - return processChild(controller, variables, getFlowController()); } - return super.processContent(target); - } - // isDisplayable is private in version 0.9.1, so until the upgrade we keep this copy of the method - // todo: Delete it unce the sun-cvs contains version 0.9.2. - protected LayoutController processChild(final SectionLayoutController derived, - final Node node, - final FlowController flowController) - throws DataSourceException, ReportProcessingException, - ReportDataFactoryException - { - final ReportContext reportContext = flowController.getReportContext(); - final LayoutControllerFactory layoutControllerFactory = reportContext.getLayoutControllerFactory(); - if (isDisplayable(node)) + public void initialize(final Object node, final FlowController flowController, final LayoutController parent) + throws DataSourceException, ReportDataFactoryException, ReportProcessingException { - derived.setProcessingState(ElementLayoutController.WAITING_FOR_JOIN); - return layoutControllerFactory.create(flowController, node, derived); + super.initialize(node, flowController, parent); + state = STATE_PROCESS_VARIABLES; } - else + + protected LayoutController processContent(final ReportTarget target) + throws DataSourceException, ReportProcessingException, ReportDataFactoryException { - derived.setProcessingState(ElementLayoutController.WAITING_FOR_JOIN); - final LayoutController childLc = layoutControllerFactory.create(flowController, node, derived); - return LayoutControllerUtil.skipInvisibleElement(childLc); + if (state == OfficeGroupInstanceSectionLayoutController.STATE_PROCESS_VARIABLES) + { + // todo: Fill the variables section with something sensible .. + final VariablesDeclarationSection variables = new VariablesDeclarationSection(); + final OfficeGroupInstanceSectionLayoutController controller = + (OfficeGroupInstanceSectionLayoutController) clone(); + controller.state = + OfficeGroupLayoutController.STATE_PROCESS_NORMAL_FLOW; + controller.waitForJoin = true; + return processChild(controller, variables, getFlowController()); + } + return super.processContent(target); } - } - protected boolean isDisplayable(final Node node) throws DataSourceException - { - if (! (node instanceof OfficeGroupSection) ) + // isDisplayable is private in version 0.9.1, so until the upgrade we keep this copy of the method + // todo: Delete it unce the sun-cvs contains version 0.9.2. + protected LayoutController processChild(final SectionLayoutController derived, + final Node node, + final FlowController flowController) + throws DataSourceException, ReportProcessingException, + ReportDataFactoryException { - return _isDisplayable(node); + final ReportContext reportContext = flowController.getReportContext(); + final LayoutControllerFactory layoutControllerFactory = reportContext.getLayoutControllerFactory(); + if (isDisplayable(node)) + { + derived.setProcessingState(ElementLayoutController.WAITING_FOR_JOIN); + return layoutControllerFactory.create(flowController, node, derived); + } + else + { + derived.setProcessingState(ElementLayoutController.WAITING_FOR_JOIN); + final LayoutController childLc = layoutControllerFactory.create(flowController, node, derived); + return LayoutControllerUtil.skipInvisibleElement(childLc); + } } - final OfficeGroupSection section = (OfficeGroupSection) node; - if (section.isRepeatSection()) + protected boolean isDisplayable(final Node node) throws DataSourceException { - return false; + if (!(node instanceof OfficeGroupSection)) + { + return _isDisplayable(node); + } + + final OfficeGroupSection section = (OfficeGroupSection) node; + return !section.isRepeatSection() && _isDisplayable(node); } - return _isDisplayable(node); - } - protected boolean _isDisplayable(final Node node) - throws DataSourceException - { - // temp method until the pending upgrade to 0.9.2. Later we just call super.isDisplayable(..) instead. - if (!node.isEnabled()) + protected boolean _isDisplayable(final Node node) + throws DataSourceException { - return false; + // temp method until the pending upgrade to 0.9.2. Later we just call super.isDisplayable(..) instead. + if (!node.isEnabled()) + { + return false; + } + + final Expression expression = node.getDisplayCondition(); + if (expression == null) + { + return true; + } + + final Object result = LayoutControllerUtil.evaluateExpression(getFlowController(), node, expression); + return Boolean.TRUE.equals(result); } - final Expression expression = node.getDisplayCondition(); - if (expression == null) + protected void resetSectionForRepeat() { - return true; + super.resetSectionForRepeat(); + state = STATE_PROCESS_VARIABLES; } - final Object result = LayoutControllerUtil.evaluateExpression(getFlowController(), node, expression); - if (Boolean.TRUE.equals(result)) + /** + * Joins with a delegated process flow. This is generally called from a child + * flow and should *not* (I mean it!) be called from outside. If you do, + * you'll suffer. + * + * @param flowController the flow controller of the parent. + * @return the joined layout controller that incorperates all changes from the + * delegate. + */ + public LayoutController join(final FlowController flowController) { - return true; + if (waitForJoin) + { + final OfficeGroupInstanceSectionLayoutController derived = (OfficeGroupInstanceSectionLayoutController) clone(); + derived.setProcessingState(ElementLayoutController.OPENED); + derived.setFlowController(flowController); + derived.waitForJoin = false; + return derived; + } + return super.join(flowController); } - return false; - } - - protected void resetSectionForRepeat() - { - super.resetSectionForRepeat(); - state = STATE_PROCESS_VARIABLES; - } - /** - * Joins with a delegated process flow. This is generally called from a child - * flow and should *not* (I mean it!) be called from outside. If you do, - * you'll suffer. - * - * @param flowController the flow controller of the parent. - * @return the joined layout controller that incorperates all changes from the - * delegate. - */ - public LayoutController join(final FlowController flowController) - { - if (waitForJoin) + protected AttributeMap computeAttributes(final FlowController fc, final Element element, final ReportTarget target) + throws DataSourceException { - final OfficeGroupInstanceSectionLayoutController derived = (OfficeGroupInstanceSectionLayoutController) clone(); - derived.setProcessingState(ElementLayoutController.OPENED); - derived.setFlowController(flowController); - derived.waitForJoin = false; - return derived; + final AttributeMap map = new AttributeMap(super.computeAttributes(fc, element, target)); + map.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "iteration-count", getIterationCount()); + map.makeReadOnly(); + return map; } - return super.join(flowController); - } - - protected AttributeMap computeAttributes(final FlowController fc, final Element element, final ReportTarget target) - throws DataSourceException - { - final AttributeMap map = new AttributeMap( super.computeAttributes(fc, element, target) ); - map.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "iteration-count", Integer.valueOf(getIterationCount())); - map.makeReadOnly(); - return map; - } - } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupLayoutController.java index e63bbbc..c92a44f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import com.sun.star.report.pentaho.model.OfficeGroup; @@ -52,158 +50,157 @@ import org.jfree.report.structure.Element; * @since 15.03.2007 */ public class OfficeGroupLayoutController extends SectionLayoutController - implements OfficeRepeatingStructureLayoutController + implements OfficeRepeatingStructureLayoutController { - public static final int STATE_PROCESS_REPEATING_HEADER = 0; - public static final int STATE_PROCESS_REPEATING_FOOTER = 1; - public static final int STATE_PROCESS_NORMAL_FLOW = 3; - private boolean waitForJoin; - private int state; - private VariablesCollection variablesCollection; - private boolean repeatHeader; - private boolean repeatFooter; - - public OfficeGroupLayoutController() - { - } - - - /** - * Initializes the layout controller. This method is called exactly once. It - * is the creators responsibility to call this method. - * <p/> - * Calling initialize after the first advance must result in a - * IllegalStateException. - * - * @param node the currently processed object or layout node. - * @param flowController the current flow controller. - * @param parent the parent layout controller that was responsible for - * instantiating this controller. - * @throws org.jfree.report.DataSourceException - * if there was a problem reading data from the datasource. - * @throws org.jfree.report.ReportProcessingException - * if there was a general problem during the report processing. - * @throws org.jfree.report.ReportDataFactoryException - * if a query failed. - */ - public void initialize(final Object node, - final FlowController flowController, - final LayoutController parent) - throws DataSourceException, ReportDataFactoryException, - ReportProcessingException - { - super.initialize(node, flowController, parent); - state = OfficeGroupLayoutController.STATE_PROCESS_REPEATING_HEADER; - variablesCollection = new VariablesCollection(computeVariablesPrefix()); - - - final OfficeGroup group = (OfficeGroup) getElement(); - final OfficeGroupSection header = group.getHeader(); - repeatHeader = (header != null && header.isRepeatSection()); - - final OfficeGroupSection footer = group.getFooter(); - repeatFooter = (footer != null && footer.isRepeatSection()); - } - - - protected LayoutController processContent(final ReportTarget target) - throws DataSourceException, ReportProcessingException, - ReportDataFactoryException - { - if (state == OfficeGroupLayoutController.STATE_PROCESS_REPEATING_HEADER) + + public static final int STATE_PROCESS_REPEATING_HEADER = 0; + public static final int STATE_PROCESS_REPEATING_FOOTER = 1; + public static final int STATE_PROCESS_NORMAL_FLOW = 3; + private boolean waitForJoin; + private int state; + private VariablesCollection variablesCollection; + private boolean repeatHeader; + private boolean repeatFooter; + + public OfficeGroupLayoutController() + { + } + + /** + * Initializes the layout controller. This method is called exactly once. It + * is the creators responsibility to call this method. + * <p/> + * Calling initialize after the first advance must result in a + * IllegalStateException. + * + * @param node the currently processed object or layout node. + * @param flowController the current flow controller. + * @param parent the parent layout controller that was responsible for + * instantiating this controller. + * @throws org.jfree.report.DataSourceException + * if there was a problem reading data from the datasource. + * @throws org.jfree.report.ReportProcessingException + * if there was a general problem during the report processing. + * @throws org.jfree.report.ReportDataFactoryException + * if a query failed. + */ + public void initialize(final Object node, + final FlowController flowController, + final LayoutController parent) + throws DataSourceException, ReportDataFactoryException, + ReportProcessingException { + super.initialize(node, flowController, parent); + state = OfficeGroupLayoutController.STATE_PROCESS_REPEATING_HEADER; + variablesCollection = new VariablesCollection(computeVariablesPrefix()); - final OfficeGroupLayoutController controller = - (OfficeGroupLayoutController) clone(); - controller.state = - OfficeGroupLayoutController.STATE_PROCESS_REPEATING_FOOTER; - if (!repeatHeader) - { - return controller; - } + final OfficeGroup group = (OfficeGroup) getElement(); + final OfficeGroupSection header = group.getHeader(); + repeatHeader = (header != null && header.isRepeatSection()); - final OfficeGroup group = (OfficeGroup) getElement(); - final OfficeGroupSection header = group.getHeader(); - controller.waitForJoin = true; - return processChild(controller, header, getFlowController()); + final OfficeGroupSection footer = group.getFooter(); + repeatFooter = (footer != null && footer.isRepeatSection()); } - if (state == OfficeGroupLayoutController.STATE_PROCESS_REPEATING_FOOTER) + protected LayoutController processContent(final ReportTarget target) + throws DataSourceException, ReportProcessingException, + ReportDataFactoryException { + if (state == OfficeGroupLayoutController.STATE_PROCESS_REPEATING_HEADER) + { + + final OfficeGroupLayoutController controller = + (OfficeGroupLayoutController) clone(); + controller.state = + OfficeGroupLayoutController.STATE_PROCESS_REPEATING_FOOTER; + + if (!repeatHeader) + { + return controller; + } + + final OfficeGroup group = (OfficeGroup) getElement(); + final OfficeGroupSection header = group.getHeader(); + controller.waitForJoin = true; + return processChild(controller, header, getFlowController()); + } + + if (state == OfficeGroupLayoutController.STATE_PROCESS_REPEATING_FOOTER) + { + + final OfficeGroupLayoutController controller = + (OfficeGroupLayoutController) clone(); + controller.state = OfficeGroupLayoutController.STATE_PROCESS_NORMAL_FLOW; + + if (!repeatFooter) + { + return controller; + } + + final OfficeGroup group = (OfficeGroup) getElement(); + final OfficeGroupSection footer = group.getFooter(); + controller.waitForJoin = true; + return processChild(controller, footer, getFlowController()); + } + + return super.processContent(target); + } - final OfficeGroupLayoutController controller = - (OfficeGroupLayoutController) clone(); - controller.state = OfficeGroupLayoutController.STATE_PROCESS_NORMAL_FLOW; + /** + * Joins with a delegated process flow. This is generally called from a child + * flow and should *not* (I mean it!) be called from outside. If you do, + * you'll suffer. + * + * @param flowController the flow controller of the parent. + * @return the joined layout controller that incorperates all changes from the + * delegate. + */ + public LayoutController join(final FlowController flowController) + { + if (waitForJoin) + { + final OfficeGroupLayoutController derived = (OfficeGroupLayoutController) clone(); + derived.setProcessingState(ElementLayoutController.OPENED); + derived.setFlowController(flowController); + derived.waitForJoin = false; + return derived; + } + return super.join(flowController); + } - if (!repeatFooter) - { - return controller; - } + public boolean isNormalFlowProcessing() + { + return state == OfficeGroupLayoutController.STATE_PROCESS_NORMAL_FLOW; + } - final OfficeGroup group = (OfficeGroup) getElement(); - final OfficeGroupSection footer = group.getFooter(); - controller.waitForJoin = true; - return processChild(controller, footer, getFlowController()); + private String computeVariablesPrefix() + { + int count = 0; + LayoutController lc = this; + while (lc != null) + { + if (lc instanceof OfficeGroupLayoutController) + { + count++; + } + lc = lc.getParent(); + } + return "auto_group_" + count + "_"; } - return super.processContent(target); - } - - /** - * Joins with a delegated process flow. This is generally called from a child - * flow and should *not* (I mean it!) be called from outside. If you do, - * you'll suffer. - * - * @param flowController the flow controller of the parent. - * @return the joined layout controller that incorperates all changes from the - * delegate. - */ - public LayoutController join(final FlowController flowController) - { - if (waitForJoin) + public VariablesCollection getVariablesCollection() { - final OfficeGroupLayoutController derived = (OfficeGroupLayoutController) clone(); - derived.setProcessingState(ElementLayoutController.OPENED); - derived.setFlowController(flowController); - derived.waitForJoin = false; - return derived; + return variablesCollection; } - return super.join(flowController); - } - - public boolean isNormalFlowProcessing () - { - return state == OfficeGroupLayoutController.STATE_PROCESS_NORMAL_FLOW; - } - - private String computeVariablesPrefix() - { - int count = 0; - LayoutController lc = this; - while (lc != null) + + protected AttributeMap computeAttributes(final FlowController fc, final Element element, final ReportTarget target) + throws DataSourceException { - if (lc instanceof OfficeGroupLayoutController) - { - count++; - } - lc = lc.getParent(); + final AttributeMap map = new AttributeMap(super.computeAttributes(fc, element, target)); + final String value = String.valueOf(repeatHeader || repeatFooter); + map.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeating-header-or-footer", value); + map.makeReadOnly(); + return map; } - return "auto_group_" + count + "_"; - } - - public VariablesCollection getVariablesCollection() - { - return variablesCollection; - } - - protected AttributeMap computeAttributes(final FlowController fc, final Element element, final ReportTarget target) - throws DataSourceException - { - final AttributeMap map = new AttributeMap( super.computeAttributes(fc, element, target) ); - final String value = String.valueOf(repeatHeader || repeatFooter); - map.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeating-header-or-footer", value); - map.makeReadOnly(); - return map; - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupSectionLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupSectionLayoutController.java index 827fd45..541292e 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupSectionLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeGroupSectionLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import org.jfree.report.flow.layoutprocessor.SectionLayoutController; @@ -58,58 +56,56 @@ import org.jfree.report.JFreeReportInfo; public class OfficeGroupSectionLayoutController extends SectionLayoutController { - public OfficeGroupSectionLayoutController() - { - } - - protected LayoutController startElement(final ReportTarget target) - throws DataSourceException, ReportProcessingException, ReportDataFactoryException - { - final OfficeGroupSection section = (OfficeGroupSection) getElement(); - if (!section.isRepeatSection()) + public OfficeGroupSectionLayoutController() { - return super.startElement(target); } - final LayoutController controller = getParent(); - if (!(controller instanceof OfficeGroupLayoutController)) + protected LayoutController startElement(final ReportTarget target) + throws DataSourceException, ReportProcessingException, ReportDataFactoryException { - return super.startElement(target); - } - final OfficeGroupLayoutController oglc = (OfficeGroupLayoutController) controller; - if (!oglc.isNormalFlowProcessing()) - { - return super.startElement(target); - } + final OfficeGroupSection section = (OfficeGroupSection) getElement(); + if (!section.isRepeatSection()) + { + return super.startElement(target); + } - // Skip the processing if the section is a repeating header or footer and we are processing the normal flow .. - final ElementLayoutController clone = (ElementLayoutController) this.clone(); - clone.setProcessingState(ElementLayoutController.FINISHED); - return clone; - } + final LayoutController controller = getParent(); + if (!(controller instanceof OfficeGroupLayoutController)) + { + return super.startElement(target); + } + final OfficeGroupLayoutController oglc = (OfficeGroupLayoutController) controller; + if (!oglc.isNormalFlowProcessing()) + { + return super.startElement(target); + } - protected AttributeMap computeAttributes(final FlowController fc, - final Element element, - final ReportTarget target) - throws DataSourceException - { - final AttributeMap attrs = super.computeAttributes(fc, element, target); - final LayoutController controller = getParent(); - if (!(controller instanceof OfficeGroupLayoutController)) - { - return attrs; - } - final OfficeGroupLayoutController oglc = (OfficeGroupLayoutController) controller; - if (oglc.isNormalFlowProcessing()) - { - return attrs; + // Skip the processing if the section is a repeating header or footer and we are processing the normal flow .. + final ElementLayoutController clone = (ElementLayoutController) this.clone(); + clone.setProcessingState(ElementLayoutController.FINISHED); + return clone; } - final AttributeMap retval = new AttributeMap(attrs); - retval.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeated-section", OfficeToken.TRUE); - retval.makeReadOnly(); - return retval; - } - + protected AttributeMap computeAttributes(final FlowController fc, + final Element element, + final ReportTarget target) + throws DataSourceException + { + final AttributeMap attrs = super.computeAttributes(fc, element, target); + final LayoutController controller = getParent(); + if (!(controller instanceof OfficeGroupLayoutController)) + { + return attrs; + } + final OfficeGroupLayoutController oglc = (OfficeGroupLayoutController) controller; + if (oglc.isNormalFlowProcessing()) + { + return attrs; + } + final AttributeMap retval = new AttributeMap(attrs); + retval.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeated-section", OfficeToken.TRUE); + retval.makeReadOnly(); + return retval; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficePageSectionLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficePageSectionLayoutController.java index 9189cb0..b98db5f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficePageSectionLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficePageSectionLayoutController.java @@ -15,15 +15,16 @@ import org.jfree.report.JFreeReportInfo; */ public class OfficePageSectionLayoutController extends SectionLayoutController { - public OfficePageSectionLayoutController() - { - } - protected AttributeMap computeAttributes(final FlowController flowController, final Element element, final ReportTarget reportTarget) throws DataSourceException - { - final AttributeMap map = new AttributeMap( super.computeAttributes(flowController, element, reportTarget)); - map.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "role", "spreadsheet-section"); - map.makeReadOnly(); - return map; - } + public OfficePageSectionLayoutController() + { + } + + protected AttributeMap computeAttributes(final FlowController flowController, final Element element, final ReportTarget reportTarget) throws DataSourceException + { + final AttributeMap map = new AttributeMap(super.computeAttributes(flowController, element, reportTarget)); + map.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "role", "spreadsheet-section"); + map.makeReadOnly(); + return map; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeRepeatingStructureLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeRepeatingStructureLayoutController.java index 3230f8e..dc405cf 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeRepeatingStructureLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeRepeatingStructureLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import org.jfree.report.flow.layoutprocessor.LayoutController; @@ -41,8 +39,8 @@ import org.jfree.report.flow.layoutprocessor.LayoutController; */ public interface OfficeRepeatingStructureLayoutController extends LayoutController { - public boolean isNormalFlowProcessing(); - public VariablesCollection getVariablesCollection(); + public boolean isNormalFlowProcessing(); + public VariablesCollection getVariablesCollection(); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeReportLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeReportLayoutController.java index dc94334..a6e10b4 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeReportLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeReportLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import com.sun.star.report.pentaho.model.OfficeReport; @@ -51,227 +49,224 @@ import org.jfree.report.structure.Node; * @since 06.03.2007 */ public class OfficeReportLayoutController extends ElementLayoutController - implements OfficeRepeatingStructureLayoutController + implements OfficeRepeatingStructureLayoutController { - private static final int STATE_NOT_STARTED = 0; - private static final int STATE_TEMPLATES = 1; - private static final int STATE_PAGE_HEADER_DONE = 2; - private static final int STATE_PAGE_FOOTER_DONE = 3; - private static final int STATE_SPREADSHEET_PAGE_HEADER_DONE = 4; - private static final int STATE_SPREADSHEET_PAGE_FOOTER_DONE = 5; - private static final int STATE_COLUMN_HEADER_DONE = 6; - private static final int STATE_COLUMN_FOOTER_DONE = 7; - private static final int STATE_INITIAL_VARIABLES_DONE = 8; - private static final int STATE_REPORT_HEADER_DONE = 9; - private static final int STATE_REPORT_BODY_DONE = 10; - private static final int STATE_REPORT_FOOTER_VARIABLES = 11; - private static final int STATE_REPORT_FOOTER_DONE = 12; - private int state; - private VariablesCollection variablesCollection; + private static final int STATE_NOT_STARTED = 0; + private static final int STATE_TEMPLATES = 1; + private static final int STATE_PAGE_HEADER_DONE = 2; + private static final int STATE_PAGE_FOOTER_DONE = 3; + private static final int STATE_SPREADSHEET_PAGE_HEADER_DONE = 4; + private static final int STATE_SPREADSHEET_PAGE_FOOTER_DONE = 5; + private static final int STATE_COLUMN_HEADER_DONE = 6; + private static final int STATE_COLUMN_FOOTER_DONE = 7; + private static final int STATE_INITIAL_VARIABLES_DONE = 8; + private static final int STATE_REPORT_HEADER_DONE = 9; + private static final int STATE_REPORT_BODY_DONE = 10; + private static final int STATE_REPORT_FOOTER_VARIABLES = 11; + private static final int STATE_REPORT_FOOTER_DONE = 12; + private int state; + private VariablesCollection variablesCollection; - public OfficeReportLayoutController() - { - } + public OfficeReportLayoutController() + { + } + /** + * Initializes the layout controller. This method is called exactly once. It + * is the creators responsibility to call this method. + * <p/> + * Calling initialize after the first advance must result in a + * IllegalStateException. + * + * @param node the currently processed object or layout node. + * @param flowController the current flow controller. + * @param parent the parent layout controller that was responsible for + * instantiating this controller. + * @throws org.jfree.report.DataSourceException + * if there was a problem reading data from the datasource. + * @throws org.jfree.report.ReportProcessingException + * if there was a general problem during the report processing. + * @throws org.jfree.report.ReportDataFactoryException + * if a query failed. + */ + public void initialize(final Object node, final FlowController flowController, + final LayoutController parent) + throws DataSourceException, ReportDataFactoryException, + ReportProcessingException + { + super.initialize(node, flowController, parent); + variablesCollection = new VariablesCollection("auto_report_"); + } - /** - * Initializes the layout controller. This method is called exactly once. It - * is the creators responsibility to call this method. - * <p/> - * Calling initialize after the first advance must result in a - * IllegalStateException. - * - * @param node the currently processed object or layout node. - * @param flowController the current flow controller. - * @param parent the parent layout controller that was responsible for - * instantiating this controller. - * @throws org.jfree.report.DataSourceException - * if there was a problem reading data from the datasource. - * @throws org.jfree.report.ReportProcessingException - * if there was a general problem during the report processing. - * @throws org.jfree.report.ReportDataFactoryException - * if a query failed. - */ - public void initialize(final Object node, final FlowController flowController, - final LayoutController parent) - throws DataSourceException, ReportDataFactoryException, - ReportProcessingException - { - super.initialize(node, flowController, parent); - variablesCollection = new VariablesCollection("auto_report_"); - } + /** + * Processes any content in this element. This method is called when the + * processing state is 'OPENED'. The returned layout controller will retain + * the 'OPENED' state as long as there is more content available. Once all + * content has been processed, the returned layout controller should carry a + * 'FINISHED' state. + * + * @param target the report target that receives generated events. + * @return the new layout controller instance representing the new state. + * + * @throws org.jfree.report.DataSourceException + * if there was a problem reading data from the datasource. + * @throws org.jfree.report.ReportProcessingException + * if there was a general problem during the report processing. + * @throws org.jfree.report.ReportDataFactoryException + * if a query failed. + */ + protected LayoutController processContent(final ReportTarget target) + throws DataSourceException, ReportProcessingException, + ReportDataFactoryException + { + final OfficeReport or = (OfficeReport) getElement(); - /** - * Processes any content in this element. This method is called when the - * processing state is 'OPENED'. The returned layout controller will retain - * the 'OPENED' state as long as there is more content available. Once all - * content has been processed, the returned layout controller should carry a - * 'FINISHED' state. - * - * @param target the report target that receives generated events. - * @return the new layout controller instance representing the new state. - * - * @throws org.jfree.report.DataSourceException - * if there was a problem reading data from the datasource. - * @throws org.jfree.report.ReportProcessingException - * if there was a general problem during the report processing. - * @throws org.jfree.report.ReportDataFactoryException - * if a query failed. - */ - protected LayoutController processContent(final ReportTarget target) - throws DataSourceException, ReportProcessingException, - ReportDataFactoryException - { - final OfficeReport or = (OfficeReport) getElement(); + switch (state) + { + case OfficeReportLayoutController.STATE_NOT_STARTED: + { + return delegateToTemplates(OfficeReportLayoutController.STATE_TEMPLATES); + } + case OfficeReportLayoutController.STATE_TEMPLATES: + { + return delegateSection(or.getPageHeader(), + OfficeReportLayoutController.STATE_PAGE_HEADER_DONE); + } + case OfficeReportLayoutController.STATE_PAGE_HEADER_DONE: + { + return delegateSpreadsheetSection(or.getPageHeader(), + OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_HEADER_DONE); + } + case OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_HEADER_DONE: + { + return delegateSection(or.getPageFooter(), + OfficeReportLayoutController.STATE_PAGE_FOOTER_DONE); + } + case OfficeReportLayoutController.STATE_PAGE_FOOTER_DONE: + { + return delegateSection(or.getColumnHeader(), + OfficeReportLayoutController.STATE_COLUMN_HEADER_DONE); + } + case OfficeReportLayoutController.STATE_COLUMN_HEADER_DONE: + { + return delegateSection(or.getColumnFooter(), + OfficeReportLayoutController.STATE_COLUMN_FOOTER_DONE); + } + case OfficeReportLayoutController.STATE_COLUMN_FOOTER_DONE: + { + return delegateSection(new VariablesDeclarationSection(), + OfficeReportLayoutController.STATE_INITIAL_VARIABLES_DONE); + } + case OfficeReportLayoutController.STATE_INITIAL_VARIABLES_DONE: + { + return delegateSection(or.getReportHeader(), + OfficeReportLayoutController.STATE_REPORT_HEADER_DONE); + } + case OfficeReportLayoutController.STATE_REPORT_HEADER_DONE: + { + return delegateSection(or.getBodySection(), + OfficeReportLayoutController.STATE_REPORT_BODY_DONE); + } + case OfficeReportLayoutController.STATE_REPORT_BODY_DONE: + { + return delegateSection(new VariablesDeclarationSection(), + OfficeReportLayoutController.STATE_REPORT_FOOTER_VARIABLES); + } + case OfficeReportLayoutController.STATE_REPORT_FOOTER_VARIABLES: + { + return delegateSection(or.getReportFooter(), + OfficeReportLayoutController.STATE_REPORT_FOOTER_DONE); + } + case OfficeReportLayoutController.STATE_REPORT_FOOTER_DONE: + { + return delegateSpreadsheetSection(or.getPageFooter(), + OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_FOOTER_DONE); + } + case OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_FOOTER_DONE: + { + final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); + olc.setProcessingState(ElementLayoutController.FINISHING); + return olc; + } + default: + { + throw new IllegalStateException("Invalid processing state encountered."); + } + } + } - switch (state) + private LayoutController delegateSpreadsheetSection(final Node node, final int nextState) + throws DataSourceException, ReportProcessingException, ReportDataFactoryException { - case OfficeReportLayoutController.STATE_NOT_STARTED: - { - return delegateToTemplates(OfficeReportLayoutController.STATE_TEMPLATES); - } - case OfficeReportLayoutController.STATE_TEMPLATES: - { - return delegateSection(or.getPageHeader(), - OfficeReportLayoutController.STATE_PAGE_HEADER_DONE); - } - case OfficeReportLayoutController.STATE_PAGE_HEADER_DONE: - { - return delegateSpreadsheetSection(or.getPageHeader(), - OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_HEADER_DONE); - } - case OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_HEADER_DONE: - { - return delegateSection(or.getPageFooter(), - OfficeReportLayoutController.STATE_PAGE_FOOTER_DONE); - } - case OfficeReportLayoutController.STATE_PAGE_FOOTER_DONE: - { - return delegateSection(or.getColumnHeader(), - OfficeReportLayoutController.STATE_COLUMN_HEADER_DONE); - } - case OfficeReportLayoutController.STATE_COLUMN_HEADER_DONE: - { - return delegateSection(or.getColumnFooter(), - OfficeReportLayoutController.STATE_COLUMN_FOOTER_DONE); - } - case OfficeReportLayoutController.STATE_COLUMN_FOOTER_DONE: - { - return delegateSection(new VariablesDeclarationSection(), - OfficeReportLayoutController.STATE_INITIAL_VARIABLES_DONE); - } - case OfficeReportLayoutController.STATE_INITIAL_VARIABLES_DONE: - { - return delegateSection(or.getReportHeader(), - OfficeReportLayoutController.STATE_REPORT_HEADER_DONE); - } - case OfficeReportLayoutController.STATE_REPORT_HEADER_DONE: - { - return delegateSection(or.getBodySection(), - OfficeReportLayoutController.STATE_REPORT_BODY_DONE); - } - case OfficeReportLayoutController.STATE_REPORT_BODY_DONE: - { - return delegateSection(new VariablesDeclarationSection(), - OfficeReportLayoutController.STATE_REPORT_FOOTER_VARIABLES); - } - case OfficeReportLayoutController.STATE_REPORT_FOOTER_VARIABLES: - { - return delegateSection(or.getReportFooter(), - OfficeReportLayoutController.STATE_REPORT_FOOTER_DONE); - } - case OfficeReportLayoutController.STATE_REPORT_FOOTER_DONE: - { - return delegateSpreadsheetSection(or.getPageFooter(), - OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_FOOTER_DONE); - } - case OfficeReportLayoutController.STATE_SPREADSHEET_PAGE_FOOTER_DONE: - { final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); - olc.setProcessingState(ElementLayoutController.FINISHING); - return olc; - } - default: - { - throw new IllegalStateException("Invalid processing state encountered."); - } - } - } + olc.state = nextState; - private LayoutController delegateSpreadsheetSection(final Node node, final int nextState) - throws DataSourceException, ReportProcessingException, ReportDataFactoryException - { - final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); - olc.state = nextState; + if (node == null) + { + return olc; + } - if (node == null) - { - return olc; + final OfficePageSectionLayoutController templateLc = new OfficePageSectionLayoutController(); + templateLc.initialize(node, getFlowController(), olc); + return templateLc; } - - final OfficePageSectionLayoutController templateLc = new OfficePageSectionLayoutController(); - templateLc.initialize(node, getFlowController(), olc); - return templateLc; - } - - private LayoutController delegateToTemplates(final int nextState) - throws ReportProcessingException, ReportDataFactoryException, - DataSourceException - { - final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); - olc.state = nextState; - final OfficeTableTemplateLayoutController templateLc = new OfficeTableTemplateLayoutController(); - templateLc.initialize(getElement(), getFlowController(), olc); - return templateLc; + private LayoutController delegateToTemplates(final int nextState) + throws ReportProcessingException, ReportDataFactoryException, + DataSourceException + { + final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); + olc.state = nextState; - } + final OfficeTableTemplateLayoutController templateLc = new OfficeTableTemplateLayoutController(); + templateLc.initialize(getElement(), getFlowController(), olc); + return templateLc; - private LayoutController delegateSection(final Node n, final int nextState) - throws ReportProcessingException, ReportDataFactoryException, - DataSourceException - { - final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); - olc.state = nextState; - if (n == null) - { - return olc; } - final FlowController flowController = getFlowController(); - final ReportContext reportContext = flowController.getReportContext(); - final LayoutControllerFactory layoutControllerFactory = - reportContext.getLayoutControllerFactory(); - return layoutControllerFactory.create(flowController, n, olc); + private LayoutController delegateSection(final Node n, final int nextState) + throws ReportProcessingException, ReportDataFactoryException, + DataSourceException + { + final OfficeReportLayoutController olc = (OfficeReportLayoutController) clone(); + olc.state = nextState; + if (n == null) + { + return olc; + } - } + final FlowController flowController = getFlowController(); + final ReportContext reportContext = flowController.getReportContext(); + final LayoutControllerFactory layoutControllerFactory = + reportContext.getLayoutControllerFactory(); + return layoutControllerFactory.create(flowController, n, olc); + } - /** - * Joins with a delegated process flow. This is generally called from a child - * flow and should *not* (I mean it!) be called from outside. If you do, - * you'll suffer. - * - * @param flowController the flow controller of the parent. - * @return the joined layout controller that incorperates all changes from the - * delegate. - */ - public LayoutController join(final FlowController flowController) - { - final OfficeReportLayoutController derived = (OfficeReportLayoutController) clone(); - derived.setFlowController(flowController); - return derived; - } + /** + * Joins with a delegated process flow. This is generally called from a child + * flow and should *not* (I mean it!) be called from outside. If you do, + * you'll suffer. + * + * @param flowController the flow controller of the parent. + * @return the joined layout controller that incorperates all changes from the + * delegate. + */ + public LayoutController join(final FlowController flowController) + { + final OfficeReportLayoutController derived = (OfficeReportLayoutController) clone(); + derived.setFlowController(flowController); + return derived; + } - public boolean isNormalFlowProcessing() - { - return state != OfficeReportLayoutController.STATE_PAGE_HEADER_DONE && - state != OfficeReportLayoutController.STATE_PAGE_FOOTER_DONE; - } + public boolean isNormalFlowProcessing() + { + return state != OfficeReportLayoutController.STATE_PAGE_HEADER_DONE && state != OfficeReportLayoutController.STATE_PAGE_FOOTER_DONE; + } - public VariablesCollection getVariablesCollection() - { - return variablesCollection; - } + public VariablesCollection getVariablesCollection() + { + return variablesCollection; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableLayoutController.java index 9e781dd..7e1dc3c 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableLayoutController.java @@ -57,7 +57,7 @@ public class OfficeTableLayoutController extends SectionLayoutController protected AttributeMap computeAttributes(final FlowController fc, final Element element, final ReportTarget target) throws DataSourceException { - final AttributeMap attributeMap = new AttributeMap( super.computeAttributes(fc, element, target) ); + final AttributeMap attributeMap = new AttributeMap(super.computeAttributes(fc, element, target)); final Section s = (Section) element; int rowCount = 0; final Node[] nodeArray = s.getNodeArray(); @@ -67,8 +67,7 @@ public class OfficeTableLayoutController extends SectionLayoutController if (node instanceof Element) { final Element child = (Element) node; - if (OfficeNamespaces.TABLE_NS.equals(child.getNamespace()) && - OfficeToken.TABLE_ROW.equals(child.getType())) + if (OfficeNamespaces.TABLE_NS.equals(child.getNamespace()) && OfficeToken.TABLE_ROW.equals(child.getType())) { rowCount += 1; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableTemplateLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableTemplateLayoutController.java index a212ead..90e546f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableTemplateLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/OfficeTableTemplateLayoutController.java @@ -175,8 +175,7 @@ public class OfficeTableTemplateLayoutController extends SectionLayoutController if (node instanceof Element) { final Element element = (Element) node; - if (OfficeNamespaces.TABLE_NS.equals(element.getNamespace()) && - "table".equals(element.getType())) + if (OfficeNamespaces.TABLE_NS.equals(element.getNamespace()) && "table".equals(element.getType())) { tables.add(element); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/TableCellLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/TableCellLayoutController.java index 10cfebc..b9ccbf2 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/TableCellLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/TableCellLayoutController.java @@ -78,12 +78,12 @@ public class TableCellLayoutController extends SectionLayoutController final DataFlags value = computeValue(); if (value != null) { - FormatValueUtility.applyValueForCell(value.getValue(), attributeMap,valueType); + FormatValueUtility.applyValueForCell(value.getValue(), attributeMap, valueType); } } catch (Exception e) { - // ignore .. + // ignore .. } attributeMap.makeReadOnly(); return attributeMap; @@ -161,7 +161,7 @@ public class TableCellLayoutController extends SectionLayoutController } catch (DataSourceException e) { - // ignore silently .. + // ignore silently .. } } @@ -181,7 +181,7 @@ public class TableCellLayoutController extends SectionLayoutController } catch (DataSourceException e) { - // ignore silently .. + // ignore silently .. } } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesCollection.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesCollection.java index daac07b..a76a360 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesCollection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesCollection.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import java.util.ArrayList; @@ -50,54 +48,52 @@ import java.util.List; */ public class VariablesCollection { - private VariablesCollection parent; - private String namePrefix; - private List variables; - public VariablesCollection(final String namePrefix) - { - this(namePrefix, null); - } + private VariablesCollection parent; + private String namePrefix; + private List variables; - public VariablesCollection(final String namePrefix, final VariablesCollection parent) - { - if (namePrefix == null) + public VariablesCollection(final String namePrefix) { - throw new NullPointerException("NamePrefix cannot be null"); + this(namePrefix, null); } - this.namePrefix = namePrefix; - this.parent = parent; - this.variables = new ArrayList(); - } - - public VariablesCollection getParent() - { - return parent; - } + public VariablesCollection(final String namePrefix, final VariablesCollection parent) + { + if (namePrefix == null) + { + throw new NullPointerException("NamePrefix cannot be null"); + } - public String getNamePrefix() - { - return namePrefix; - } + this.namePrefix = namePrefix; + this.parent = parent; + this.variables = new ArrayList(); + } - public String addVariable (final FormattedTextElement element) - { - variables.add(element); - final int size = variables.size(); - return namePrefix + size; - } + public VariablesCollection getParent() + { + return parent; + } - public FormattedTextElement[] getVariables () - { - return (FormattedTextElement[]) - variables.toArray(new FormattedTextElement[variables.size()]); - } + public String getNamePrefix() + { + return namePrefix; + } - public int getVariablesCount () - { - return variables.size(); - } + public String addVariable(final FormattedTextElement element) + { + variables.add(element); + final int size = variables.size(); + return namePrefix + size; + } + public FormattedTextElement[] getVariables() + { + return (FormattedTextElement[]) variables.toArray(new FormattedTextElement[variables.size()]); + } + public int getVariablesCount() + { + return variables.size(); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesDeclarationLayoutController.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesDeclarationLayoutController.java index c448d93..d49a712 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesDeclarationLayoutController.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/VariablesDeclarationLayoutController.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.layoutprocessor; import com.sun.star.report.pentaho.OfficeNamespaces; @@ -56,137 +54,139 @@ import java.text.SimpleDateFormat; * @since 20.03.2007 */ public class VariablesDeclarationLayoutController - extends AbstractLayoutController + extends AbstractLayoutController { - private boolean processed; - public VariablesDeclarationLayoutController() - { - } + private boolean processed; - private OfficeRepeatingStructureLayoutController getRepeatingParent() - { - LayoutController parent = getParent(); - while (parent != null) + public VariablesDeclarationLayoutController() { - if (parent instanceof OfficeRepeatingStructureLayoutController) - { - return (OfficeRepeatingStructureLayoutController) parent; - } - parent = parent.getParent(); } - return null; - } - - /** - * Advances the processing position. - * - * @param target the report target that receives generated events. - * @return the new layout controller instance representing the new state. - * - * @throws org.jfree.report.DataSourceException - * if there was a problem reading data from the datasource. - * @throws org.jfree.report.ReportProcessingException - * if there was a general problem during the report processing. - * @throws org.jfree.report.ReportDataFactoryException - * if a query failed. - */ - public LayoutController advance(final ReportTarget target) - throws DataSourceException, ReportDataFactoryException, - ReportProcessingException - { - if (processed) + + private OfficeRepeatingStructureLayoutController getRepeatingParent() { - throw new IllegalStateException("Already processed."); + LayoutController parent = getParent(); + while (parent != null) + { + if (parent instanceof OfficeRepeatingStructureLayoutController) + { + return (OfficeRepeatingStructureLayoutController) parent; + } + parent = parent.getParent(); + } + return null; } - final VariablesDeclarationLayoutController vlc = - (VariablesDeclarationLayoutController) clone(); - vlc.processed = true; - - final OfficeRepeatingStructureLayoutController orslc = getRepeatingParent(); - if (orslc == null) + /** + * Advances the processing position. + * + * @param target the report target that receives generated events. + * @return the new layout controller instance representing the new state. + * + * @throws org.jfree.report.DataSourceException + * if there was a problem reading data from the datasource. + * @throws org.jfree.report.ReportProcessingException + * if there was a general problem during the report processing. + * @throws org.jfree.report.ReportDataFactoryException + * if a query failed. + */ + public LayoutController advance(final ReportTarget target) + throws DataSourceException, ReportDataFactoryException, + ReportProcessingException { - // There is no repeating parent. What the heck are we doing here .. - return vlc; + if (processed) + { + throw new IllegalStateException("Already processed."); + } + + final VariablesDeclarationLayoutController vlc = + (VariablesDeclarationLayoutController) clone(); + vlc.processed = true; + + final OfficeRepeatingStructureLayoutController orslc = getRepeatingParent(); + if (orslc == null) + { + // There is no repeating parent. What the heck are we doing here .. + return vlc; + } + + final VariablesCollection collection = orslc.getVariablesCollection(); + if (collection.getVariablesCount() == 0) + { + // no processing necessary, as the header or footer contain no variables at all .. + return vlc; + } + + + final Element node = (Element) getNode(); + final AttributeMap vdSection = node.getAttributeMap(); + target.startElement(vdSection); + + final FormattedTextElement[] variables = collection.getVariables(); + for (int i = 0; i < variables.length; i++) + { + final FormattedTextElement variable = variables[i]; + final String varName = collection.getNamePrefix() + (i + 1); + final AttributeMap map = generateVariableSetSection(variable); + map.setAttribute(OfficeNamespaces.TEXT_NS, "name", varName); + target.startElement(map); + target.endElement(map); + + } + target.endElement(vdSection); + return vlc; } - final VariablesCollection collection = orslc.getVariablesCollection(); - if (collection.getVariablesCount() == 0) + private AttributeMap generateVariableSetSection(final FormattedTextElement variable) + throws DataSourceException { - // no processing necessary, as the header or footer contain no variables at all .. - return vlc; + final AttributeMap variableSection = new AttributeMap(); + variableSection.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, Element.NAMESPACE_ATTRIBUTE, OfficeNamespaces.TEXT_NS); + variableSection.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, Element.TYPE_ATTRIBUTE, "variable-set"); + variableSection.setAttribute(OfficeNamespaces.TEXT_NS, "display", "none"); + + final FormulaExpression valueExpression = variable.getValueExpression(); + final Object value = LayoutControllerUtil.evaluateExpression(getFlowController(), variable, valueExpression); + String formula = FormatValueUtility.applyValueForVariable(value, variableSection); + if (formula == null) + { + formula = "" + value; + } + if (value instanceof java.sql.Date) + { + final Date date = (Date) value; + final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy;MM;dd"); + formula = "Date(" + dateFormat.format(date) + ")"; + } + variableSection.setAttribute(OfficeNamespaces.TEXT_NS, "formula", "ooow:" + formula); + + return variableSection; } - - final Element node = (Element) getNode(); - final AttributeMap vdSection = node.getAttributeMap(); - target.startElement(vdSection); - - final FormattedTextElement[] variables = collection.getVariables(); - for (int i = 0; i < variables.length; i++) + /** + * Checks, whether the layout controller would be advanceable. If this method + * returns true, it is generally safe to call the 'advance()' method. + * + * @return true, if the layout controller is advanceable, false otherwise. + */ + public boolean isAdvanceable() { - final FormattedTextElement variable = variables[i]; - final String varName = collection.getNamePrefix() + (i + 1); - final AttributeMap map = generateVariableSetSection(variable); - map.setAttribute(OfficeNamespaces.TEXT_NS, "name", varName); - target.startElement(map); - target.endElement(map); - + return !processed; } - target.endElement(vdSection); - return vlc; - } - - private AttributeMap generateVariableSetSection(final FormattedTextElement variable) - throws DataSourceException - { - final AttributeMap variableSection = new AttributeMap(); - variableSection.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, Element.NAMESPACE_ATTRIBUTE, OfficeNamespaces.TEXT_NS); - variableSection.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, Element.TYPE_ATTRIBUTE, "variable-set"); - variableSection.setAttribute(OfficeNamespaces.TEXT_NS, "display", "none"); - - final FormulaExpression valueExpression = variable.getValueExpression(); - final Object value = LayoutControllerUtil.evaluateExpression(getFlowController(), variable, valueExpression); - String formula = FormatValueUtility.applyValueForVariable(value, variableSection); - if ( formula == null ) - formula = "" + value; - if (value instanceof java.sql.Date) + + /** + * Joins with a delegated process flow. This is generally called from a child + * flow and should *not* (I mean it!) be called from outside. If you do, + * you'll suffer. + * + * @param flowController the flow controller of the parent. + * @return the joined layout controller that incorperates all changes from the + * delegate. + */ + public LayoutController join(final FlowController flowController) + throws DataSourceException, ReportDataFactoryException, + ReportProcessingException { - final Date date = (Date)value; - final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy;MM;dd"); - formula = "Date(" + dateFormat.format(date) + ")"; + throw new UnsupportedOperationException("Join is not supported in this layout controller"); } - variableSection.setAttribute(OfficeNamespaces.TEXT_NS, "formula", "ooow:" + formula); - - return variableSection; - } - - /** - * Checks, whether the layout controller would be advanceable. If this method - * returns true, it is generally safe to call the 'advance()' method. - * - * @return true, if the layout controller is advanceable, false otherwise. - */ - public boolean isAdvanceable() - { - return !processed; - } - - /** - * Joins with a delegated process flow. This is generally called from a child - * flow and should *not* (I mean it!) be called from outside. If you do, - * you'll suffer. - * - * @param flowController the flow controller of the parent. - * @return the joined layout controller that incorperates all changes from the - * delegate. - */ - public LayoutController join(final FlowController flowController) - throws DataSourceException, ReportDataFactoryException, - ReportProcessingException - { - throw new UnsupportedOperationException - ("Join is not supported in this layout controller"); - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryResourceData.java b/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryResourceData.java index b0b921d..4f76ad3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryResourceData.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/loader/InputRepositoryResourceData.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.loader; import java.io.IOException; @@ -42,47 +40,47 @@ import org.pentaho.reporting.libraries.resourceloader.loader.AbstractResourceDat public class InputRepositoryResourceData extends AbstractResourceData { - private final InputRepository inputRepository; - private final ResourceKey key; - private final String resourceIdentifer; - public InputRepositoryResourceData (final ResourceKey key, - final InputRepository repository) - { - this.key = key; - this.inputRepository = repository; - final InputResourceKey rkey = (InputResourceKey) key.getIdentifier(); - final String identifier = rkey.getPath(); - this.resourceIdentifer = identifier.substring("sun:oo://".length()); - } + private final InputRepository inputRepository; + private final ResourceKey key; + private final String resourceIdentifer; - public Object getAttribute (final String key) - { - // we dont support attributes here .. - return null; - } + public InputRepositoryResourceData(final ResourceKey key, + final InputRepository repository) + { + this.key = key; + this.inputRepository = repository; + final InputResourceKey rkey = (InputResourceKey) key.getIdentifier(); + final String identifier = rkey.getPath(); + this.resourceIdentifer = identifier.substring("sun:oo://".length()); + } - public ResourceKey getKey () - { - return key; - } + public Object getAttribute(final String key) + { + // we dont support attributes here .. + return null; + } - public InputStream getResourceAsStream (final ResourceManager caller) - throws ResourceLoadingException - { - try + public ResourceKey getKey() { - return inputRepository.createInputStream(resourceIdentifer); + return key; } - catch (IOException e) + + public InputStream getResourceAsStream(final ResourceManager caller) + throws ResourceLoadingException { - throw new ResourceLoadingException - ("Failed to create input stream for " + resourceIdentifer, e); + try + { + return inputRepository.createInputStream(resourceIdentifer); + } + catch (IOException e) + { + throw new ResourceLoadingException("Failed to create input stream for " + resourceIdentifer, e); + } } - } - public long getVersion (final ResourceManager caller) - { - return inputRepository.getVersion(resourceIdentifer); - } + public long getVersion(final ResourceManager caller) + { + return inputRepository.getVersion(resourceIdentifer); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/loader/InputResourceKey.java b/reportbuilder/java/com/sun/star/report/pentaho/loader/InputResourceKey.java index 1cf097a..317a1f4 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/loader/InputResourceKey.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/loader/InputResourceKey.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.loader; import java.io.Serializable; @@ -40,32 +38,29 @@ import java.io.Serializable; */ public class InputResourceKey implements Serializable { - private static final long serialVersionUID = 2819901838705793075L; - private final Object inputRepositoryId; - private final String path; + private static final long serialVersionUID = 2819901838705793075L; + private final Object inputRepositoryId; + private final String path; - public InputResourceKey(final Object inputRepositoryId, final String path) - { - this.inputRepositoryId = inputRepositoryId; - this.path = path; - } + public InputResourceKey(final Object inputRepositoryId, final String path) + { + this.inputRepositoryId = inputRepositoryId; + this.path = path; + } - public Object getInputRepositoryId() - { - return inputRepositoryId; - } + public Object getInputRepositoryId() + { + return inputRepositoryId; + } - public String getPath() - { - return path; - } + public String getPath() + { + return path; + } - public String toString() - { - return "InputResourceKey{" + - "inputRepositoryId=" + inputRepositoryId + - ", path='" + path + '\'' + - '}'; - } + public String toString() + { + return "InputResourceKey{" + "inputRepositoryId=" + inputRepositoryId + ", path='" + path + '\'' + '}'; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/DataStyle.java b/reportbuilder/java/com/sun/star/report/pentaho/model/DataStyle.java index ac8815a..836bc78 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/DataStyle.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/DataStyle.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -42,19 +40,18 @@ import com.sun.star.report.pentaho.OfficeNamespaces; */ public class DataStyle extends Section { - public DataStyle() - { - } - - public String getStyleName() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); - } - public void setStyleName(final String name) - { - setAttribute(OfficeNamespaces.STYLE_NS, "name", name); - } + public DataStyle() + { + } + public String getStyleName() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); + } + public void setStyleName(final String name) + { + setAttribute(OfficeNamespaces.STYLE_NS, "name", name); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/FixedTextElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/FixedTextElement.java index aefd152..5391fa0 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/FixedTextElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/FixedTextElement.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -41,16 +39,17 @@ import org.jfree.report.structure.Section; */ public class FixedTextElement extends ReportElement { - private final Section content; - public FixedTextElement() - { - content = new Section(); - content.setVirtual(true); - } + private final Section content; + + public FixedTextElement() + { + content = new Section(); + content.setVirtual(true); + } - public Section getContent() - { - return content; - } + public Section getContent() + { + return content; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceDeclsSection.java b/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceDeclsSection.java index f93bfcf..5fc036c 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceDeclsSection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceDeclsSection.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import java.util.HashMap; @@ -45,34 +43,33 @@ import org.jfree.report.structure.Element; */ public class FontFaceDeclsSection extends Element { - private final Map fontFaces; - public FontFaceDeclsSection() - { - fontFaces = new HashMap(); - setType("font-face-decls"); - setNamespace(OfficeNamespaces.OFFICE_NS); - } + private final Map fontFaces; - public void addFontFace(final FontFaceElement style) - { - fontFaces.put (style.getStyleName(), style); - } + public FontFaceDeclsSection() + { + fontFaces = new HashMap(); + setType("font-face-decls"); + setNamespace(OfficeNamespaces.OFFICE_NS); + } - public FontFaceElement getFontFace (final String name) - { - return (FontFaceElement) fontFaces.get(name); - } + public void addFontFace(final FontFaceElement style) + { + fontFaces.put(style.getStyleName(), style); + } - public FontFaceElement[] getAllFontFaces() - { - return (FontFaceElement[]) fontFaces.values().toArray - (new FontFaceElement[fontFaces.size()]); - } + public FontFaceElement getFontFace(final String name) + { + return (FontFaceElement) fontFaces.get(name); + } + public FontFaceElement[] getAllFontFaces() + { + return (FontFaceElement[]) fontFaces.values().toArray(new FontFaceElement[fontFaces.size()]); + } - public boolean containsFont(final String fontName) - { - return fontFaces.containsKey(fontName); - } + public boolean containsFont(final String fontName) + { + return fontFaces.containsKey(fontName); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceElement.java index 9cfb2c8..7ce0936 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/FontFaceElement.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -42,19 +40,18 @@ import com.sun.star.report.pentaho.OfficeNamespaces; */ public class FontFaceElement extends Section { - public FontFaceElement() - { - } - - public String getStyleName() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); - } - public void setStyleName(final String name) - { - setAttribute(OfficeNamespaces.STYLE_NS, "name", name); - } + public FontFaceElement() + { + } + public String getStyleName() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); + } + public void setStyleName(final String name) + { + setAttribute(OfficeNamespaces.STYLE_NS, "name", name); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/FormatCondition.java b/reportbuilder/java/com/sun/star/report/pentaho/model/FormatCondition.java index 57e73a2..4bba9c5 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/FormatCondition.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/FormatCondition.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.expressions.FormulaExpression; @@ -41,32 +39,32 @@ import org.jfree.report.expressions.FormulaExpression; */ public class FormatCondition { - private final FormulaExpression formula; - private final String styleName; - private final boolean enabled; - public FormatCondition(final FormulaExpression formula, - final String styleName, - final boolean enabled) - { - this.formula = formula; - this.styleName = styleName; - this.enabled = enabled; - } + private final FormulaExpression formula; + private final String styleName; + private final boolean enabled; + public FormatCondition(final FormulaExpression formula, + final String styleName, + final boolean enabled) + { + this.formula = formula; + this.styleName = styleName; + this.enabled = enabled; + } - public FormulaExpression getFormula() - { - return formula; - } + public FormulaExpression getFormula() + { + return formula; + } - public String getStyleName() - { - return styleName; - } + public String getStyleName() + { + return styleName; + } - public boolean isEnabled() - { - return enabled; - } + public boolean isEnabled() + { + return enabled; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/FormattedTextElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/FormattedTextElement.java index 99cbed9..1bd0be5 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/FormattedTextElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/FormattedTextElement.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.expressions.FormulaExpression; @@ -44,20 +42,20 @@ import org.jfree.report.expressions.FormulaExpression; */ public class FormattedTextElement extends ReportElement { - private FormulaExpression valueExpression; - public FormattedTextElement() - { - } + private FormulaExpression valueExpression; + public FormattedTextElement() + { + } - public FormulaExpression getValueExpression() - { - return valueExpression; - } + public FormulaExpression getValueExpression() + { + return valueExpression; + } - public void setValueExpression(final FormulaExpression valueExpression) - { - this.valueExpression = valueExpression; - } + public void setValueExpression(final FormulaExpression valueExpression) + { + this.valueExpression = valueExpression; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/ImageElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/ImageElement.java index ba45ba8..23a87a7 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/ImageElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/ImageElement.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.expressions.FormulaExpression; @@ -43,45 +41,49 @@ import com.sun.star.report.OfficeToken; */ public class ImageElement extends ReportElement { - private FormulaExpression formula; - public ImageElement() - { - } + private FormulaExpression formula; - public FormulaExpression getFormula() - { - return formula; - } + public ImageElement() + { + } - public void setFormula(final FormulaExpression formula) - { - this.formula = formula; - } + public FormulaExpression getFormula() + { + return formula; + } + public void setFormula(final FormulaExpression formula) + { + this.formula = formula; + } - public String getScaleMode()
- {
- String val = (String)getAttribute(OfficeNamespaces.OOREPORT_NS, OfficeToken.SCALE);
- if ( OfficeToken.TRUE.equals(val) )
- val = OfficeToken.ANISOTROPIC;
- else if ( OfficeToken.FALSE.equals(val) || val == null )
- val = OfficeToken.NONE;
- return val;
- }
+ public String getScaleMode() + { + String val = (String) getAttribute(OfficeNamespaces.OOREPORT_NS, OfficeToken.SCALE); + if (OfficeToken.TRUE.equals(val)) + { + val = OfficeToken.ANISOTROPIC; + } + else if (OfficeToken.FALSE.equals(val) || val == null) + { + val = OfficeToken.NONE; + } + return val; + } - public boolean isPreserveIRI() - { - return OfficeToken.TRUE.equals(getAttribute(OfficeNamespaces.OOREPORT_NS, OfficeToken.PRESERVE_IRI)); - } + public boolean isPreserveIRI() + { + return OfficeToken.TRUE.equals(getAttribute(OfficeNamespaces.OOREPORT_NS, OfficeToken.PRESERVE_IRI)); + } - public void setPreserveIRI(final boolean preserveIRI) - { - setAttribute(OfficeNamespaces.OOREPORT_NS, OfficeToken.PRESERVE_IRI, String.valueOf(preserveIRI)); - } + public void setPreserveIRI(final boolean preserveIRI) + { + setAttribute(OfficeNamespaces.OOREPORT_NS, OfficeToken.PRESERVE_IRI, String.valueOf(preserveIRI)); + } - public String getImageData() - { - return (String) getAttribute(OfficeNamespaces.FORM_NS, OfficeToken.IMAGE_DATA); - } + public String getImageData() + { + return (String) getAttribute(OfficeNamespaces.FORM_NS, OfficeToken.IMAGE_DATA); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/ObjectOleElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/ObjectOleElement.java index c8b19fa..1171b93 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/ObjectOleElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/ObjectOleElement.java @@ -36,47 +36,56 @@ import java.util.List; * * @author Ocke Janssen */ -public class ObjectOleElement extends ReportElement{ +public class ObjectOleElement extends ReportElement +{ private String url; private final List masterfields; private final List detailfields; private String classid; - public String getClassid() { + public String getClassid() + { return classid; } - public List getDetailfields() { + public List getDetailfields() + { return detailfields; } - public List getMasterfields() { + public List getMasterfields() + { return masterfields; } - + public ObjectOleElement() { masterfields = new ArrayList(); detailfields = new ArrayList(); } - - public String getUrl() { - return url; + + public String getUrl() + { + return url; } - public void setClassId(final String classid) { + public void setClassId(final String classid) + { this.classid = classid; } - public void setUrl(final String _url ){ + + public void setUrl(final String _url) + { url = _url; } - - public void addMasterDetailFields(final String master,final String detail){ - if ( master != null ){ + + public void addMasterDetailFields(final String master, final String detail) + { + if (master != null) + { masterfields.add(master); detailfields.add(detail == null ? master : detail); } } - } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDetailSection.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDetailSection.java index 5d69c18..c4ca24e 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDetailSection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDetailSection.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.DetailSection; @@ -41,7 +39,8 @@ import org.jfree.report.structure.DetailSection; */ public class OfficeDetailSection extends DetailSection { - public OfficeDetailSection() - { - } + + public OfficeDetailSection() + { + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDocument.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDocument.java index a1bd7f3..a740bef 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDocument.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeDocument.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import com.sun.star.report.JobProperties; @@ -43,32 +41,35 @@ import org.jfree.report.JFreeReport; */ public class OfficeDocument extends JFreeReport { - private OfficeStylesCollection stylesCollection; - private JobProperties jobProperties; - public JobProperties getJobProperties() { + private OfficeStylesCollection stylesCollection; + private JobProperties jobProperties; + + public JobProperties getJobProperties() + { return jobProperties; } - public void setJobProperties(final JobProperties jobProperties) { + public void setJobProperties(final JobProperties jobProperties) + { this.jobProperties = jobProperties; } - public OfficeDocument() - { - } + public OfficeDocument() + { + } - public OfficeStylesCollection getStylesCollection() - { - return stylesCollection; - } + public OfficeStylesCollection getStylesCollection() + { + return stylesCollection; + } - public void setStylesCollection(final OfficeStylesCollection stylesCollection) - { - if (stylesCollection == null) + public void setStylesCollection(final OfficeStylesCollection stylesCollection) { - throw new NullPointerException(); + if (stylesCollection == null) + { + throw new NullPointerException(); + } + this.stylesCollection = stylesCollection; } - this.stylesCollection = stylesCollection; - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroup.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroup.java index 82c660b..b88a3c7 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroup.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroup.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import com.sun.star.report.pentaho.OfficeNamespaces; @@ -46,54 +44,53 @@ import org.jfree.report.structure.Section; */ public class OfficeGroup extends Section { - public OfficeGroup() - { - } - public boolean isStartNewColumn () - { - return OfficeToken.TRUE.equals - (getAttribute(OfficeNamespaces.OOREPORT_NS, "start-new-column")); - } + public OfficeGroup() + { + } - public boolean isResetPageNumber () - { - return OfficeToken.TRUE.equals - (getAttribute(OfficeNamespaces.OOREPORT_NS, "reset-page-number")); - } + public boolean isStartNewColumn() + { + return OfficeToken.TRUE.equals(getAttribute(OfficeNamespaces.OOREPORT_NS, "start-new-column")); + } - public OfficeGroupSection getHeader() - { - final OfficeGroupInstanceSection instanceSection = - (OfficeGroupInstanceSection) findFirstChild(JFreeReportInfo.REPORT_NAMESPACE, "group-instance"); - if (instanceSection == null) + public boolean isResetPageNumber() { - return null; + return OfficeToken.TRUE.equals(getAttribute(OfficeNamespaces.OOREPORT_NS, "reset-page-number")); } - return (OfficeGroupSection) instanceSection.findFirstChild - (OfficeNamespaces.OOREPORT_NS, "group-header"); - } + public OfficeGroupSection getHeader() + { + final OfficeGroupInstanceSection instanceSection = + (OfficeGroupInstanceSection) findFirstChild(JFreeReportInfo.REPORT_NAMESPACE, "group-instance"); + if (instanceSection == null) + { + return null; + } + return (OfficeGroupSection) instanceSection.findFirstChild(OfficeNamespaces.OOREPORT_NS, "group-header"); - public OfficeGroupSection getFooter() - { - final OfficeGroupInstanceSection instanceSection = - (OfficeGroupInstanceSection) findFirstChild(JFreeReportInfo.REPORT_NAMESPACE, "group-instance"); - if (instanceSection == null) + } + + public OfficeGroupSection getFooter() { - return null; + final OfficeGroupInstanceSection instanceSection = + (OfficeGroupInstanceSection) findFirstChild(JFreeReportInfo.REPORT_NAMESPACE, "group-instance"); + if (instanceSection == null) + { + return null; + } + return (OfficeGroupSection) instanceSection.findFirstChild(OfficeNamespaces.OOREPORT_NS, "group-footer"); + } - return (OfficeGroupSection) instanceSection.findFirstChild - (OfficeNamespaces.OOREPORT_NS, "group-footer"); - } - public Expression getGroupingExpression(){ - final OfficeGroupInstanceSection instanceSection = - (OfficeGroupInstanceSection) findFirstChild(JFreeReportInfo.REPORT_NAMESPACE, "group-instance"); - if (instanceSection == null) + public Expression getGroupingExpression() { - return null; + final OfficeGroupInstanceSection instanceSection = + (OfficeGroupInstanceSection) findFirstChild(JFreeReportInfo.REPORT_NAMESPACE, "group-instance"); + if (instanceSection == null) + { + return null; + } + return instanceSection.getGroupingExpression(); } - return instanceSection.getGroupingExpression(); - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroupInstanceSection.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroupInstanceSection.java index 26ec1d8..478cc1b 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroupInstanceSection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeGroupInstanceSection.java @@ -9,7 +9,8 @@ import org.jfree.report.structure.Group; */ public class OfficeGroupInstanceSection extends Group { - public OfficeGroupInstanceSection() - { - } + + public OfficeGroupInstanceSection() + { + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterPage.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterPage.java index 154d17d..752d717 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterPage.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterPage.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -44,29 +42,27 @@ import com.sun.star.report.pentaho.OfficeNamespaces; public class OfficeMasterPage extends Section { - public OfficeMasterPage() - { - } - - public String getStyleName() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); - } - - public void setStyleName(final String name) - { - setAttribute(OfficeNamespaces.STYLE_NS, "name", name); - } + public OfficeMasterPage() + { + } - public String getPageLayout() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "page-layout-name"); - } + public String getStyleName() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); + } - public void setPageLayout(final String name) - { - setAttribute(OfficeNamespaces.STYLE_NS, "page-layout-name", name); - } + public void setStyleName(final String name) + { + setAttribute(OfficeNamespaces.STYLE_NS, "name", name); + } + public String getPageLayout() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "page-layout-name"); + } + public void setPageLayout(final String name) + { + setAttribute(OfficeNamespaces.STYLE_NS, "page-layout-name", name); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterStyles.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterStyles.java index 72d5818..93a4bb5 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterStyles.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeMasterStyles.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import java.util.HashMap; @@ -51,37 +49,37 @@ import org.jfree.report.structure.Section; */ public class OfficeMasterStyles extends Element { - private final Map masterPages; - private final Section otherNodes; - public OfficeMasterStyles() - { - masterPages = new HashMap(); - otherNodes = new Section(); - } + private final Map masterPages; + private final Section otherNodes; - public void addMasterPage (final OfficeMasterPage masterPage) - { - if (masterPage == null) + public OfficeMasterStyles() { - throw new NullPointerException(); + masterPages = new HashMap(); + otherNodes = new Section(); } - this.masterPages.put(masterPage.getStyleName(), masterPage); - } - public OfficeMasterPage getMasterPage (final String name) - { - return (OfficeMasterPage) masterPages.get (name); - } + public void addMasterPage(final OfficeMasterPage masterPage) + { + if (masterPage == null) + { + throw new NullPointerException(); + } + this.masterPages.put(masterPage.getStyleName(), masterPage); + } - public OfficeMasterPage[] getAllMasterPages() - { - return (OfficeMasterPage[]) masterPages.values().toArray - (new OfficeMasterPage[masterPages.size()]); - } + public OfficeMasterPage getMasterPage(final String name) + { + return (OfficeMasterPage) masterPages.get(name); + } - public Section getOtherNodes() - { - return otherNodes; - } + public OfficeMasterPage[] getAllMasterPages() + { + return (OfficeMasterPage[]) masterPages.values().toArray(new OfficeMasterPage[masterPages.size()]); + } + + public Section getOtherNodes() + { + return otherNodes; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeReport.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeReport.java index 055eea0..ef68e1b 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeReport.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeReport.java @@ -42,7 +42,8 @@ import org.jfree.report.structure.Node; * @author Thomas Morgner * @since 02.03.2007 */ -public class OfficeReport extends Element { +public class OfficeReport extends Element +{ private Node pageHeader; private Node pageFooter; @@ -54,78 +55,97 @@ public class OfficeReport extends Element { private Node preBodySection; private Node postBodySection; - public Node getPostBodySection() { + public Node getPostBodySection() + { return postBodySection; } - public void setPostBodySection(final Node postBodySection) { + public void setPostBodySection(final Node postBodySection) + { this.postBodySection = postBodySection; } - public Node getPreBodySection() { + public Node getPreBodySection() + { return preBodySection; } - public void setPreBodySection(final Node preBodySection) { + public void setPreBodySection(final Node preBodySection) + { this.preBodySection = preBodySection; } - public OfficeReport() { + public OfficeReport() + { } - public Node getPageHeader() { + public Node getPageHeader() + { return pageHeader; } - public void setPageHeader(final Node pageHeader) { + public void setPageHeader(final Node pageHeader) + { this.pageHeader = pageHeader; } - public Node getPageFooter() { + public Node getPageFooter() + { return pageFooter; } - public void setPageFooter(final Node pageFooter) { + public void setPageFooter(final Node pageFooter) + { this.pageFooter = pageFooter; } - public Node getColumnHeader() { + public Node getColumnHeader() + { return columnHeader; } - public void setColumnHeader(final Node columnHeader) { + public void setColumnHeader(final Node columnHeader) + { this.columnHeader = columnHeader; } - public Node getColumnFooter() { + public Node getColumnFooter() + { return columnFooter; } - public void setColumnFooter(final Node columnFooter) { + public void setColumnFooter(final Node columnFooter) + { this.columnFooter = columnFooter; } - public Node getReportHeader() { + public Node getReportHeader() + { return reportHeader; } - public void setReportHeader(final Node reportHeader) { + public void setReportHeader(final Node reportHeader) + { this.reportHeader = reportHeader; } - public Node getReportFooter() { + public Node getReportFooter() + { return reportFooter; } - public void setReportFooter(final Node reportFooter) { + public void setReportFooter(final Node reportFooter) + { this.reportFooter = reportFooter; } - public Node getBodySection() { + public Node getBodySection() + { return bodySection; } - public void setBodySection(final Node bodySection) { + public void setBodySection(final Node bodySection) + { this.bodySection = bodySection; } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyle.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyle.java index ad891b1..56702ee 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyle.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyle.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import com.sun.star.report.OfficeToken; @@ -44,91 +42,91 @@ import org.jfree.report.structure.Section; */ public class OfficeStyle extends Section { - public OfficeStyle() - { - setNamespace(OfficeNamespaces.STYLE_NS); - setType("style"); - } - - public String getStyleName() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); - } - - public void setStyleName(final String name) - { - setAttribute(OfficeNamespaces.STYLE_NS, "name", name); - } - - /** - * A parent style name must be a common style (it cannot be an automatic - * style) and has to exist. If no parent style is given, an implementation - * specific default style is used. - * - * @return - */ - public String getStyleParent() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "parent-style-name"); - } - - public void setStyleParent(final String parentName) - { - setAttribute(OfficeNamespaces.STYLE_NS, "parent-style-name", parentName); - } - - public String getStyleFamily() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "family"); - } - - public void setStyleFamily(final String family) - { - setAttribute(OfficeNamespaces.STYLE_NS, "family", family); - } + + public OfficeStyle() + { + setNamespace(OfficeNamespaces.STYLE_NS); + setType("style"); + } + + public String getStyleName() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); + } + + public void setStyleName(final String name) + { + setAttribute(OfficeNamespaces.STYLE_NS, "name", name); + } + + /** + * A parent style name must be a common style (it cannot be an automatic + * style) and has to exist. If no parent style is given, an implementation + * specific default style is used. + * + * @return + */ + public String getStyleParent() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "parent-style-name"); + } + + public void setStyleParent(final String parentName) + { + setAttribute(OfficeNamespaces.STYLE_NS, "parent-style-name", parentName); + } + + public String getStyleFamily() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "family"); + } + + public void setStyleFamily(final String family) + { + setAttribute(OfficeNamespaces.STYLE_NS, "family", family); + } // public String getMasterPageName() // { // return (String) getAttribute(OfficeNamespaces.STYLE_NS, "master-page-name"); // } - - public Element getParagraphProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "paragraph-properties"); - } - - public Element getTextProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "text-properties"); - } - - public Element getTableRowProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "table-row-properties"); - } - - public Element getTableProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "table-properties"); - } - - public Element getTableColumnProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "table-column-properties"); - } - - public Element getSectionProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "section-properties"); - } - - public Element getTableCellProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, "table-cell-properties"); - } - - public Element getGraphicProperties () - { - return findFirstChild(OfficeNamespaces.STYLE_NS, OfficeToken.GRAPHIC_PROPERTIES); - } + public Element getParagraphProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "paragraph-properties"); + } + + public Element getTextProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "text-properties"); + } + + public Element getTableRowProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "table-row-properties"); + } + + public Element getTableProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "table-properties"); + } + + public Element getTableColumnProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "table-column-properties"); + } + + public Element getSectionProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "section-properties"); + } + + public Element getTableCellProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, "table-cell-properties"); + } + + public Element getGraphicProperties() + { + return findFirstChild(OfficeNamespaces.STYLE_NS, OfficeToken.GRAPHIC_PROPERTIES); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyles.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyles.java index 4678349..e07414a 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyles.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStyles.java @@ -91,7 +91,7 @@ public class OfficeStyles extends Element final StyleKey styleKey = (StyleKey) obj; - if (!family.equals(styleKey.family) || ( name != null ? !name.equals(styleKey.name) : styleKey.name != null) ) + if (!family.equals(styleKey.family) || (name != null ? !name.equals(styleKey.name) : styleKey.name != null)) { return false; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStylesCollection.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStylesCollection.java index f1536ea..c4f9aeb 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStylesCollection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeStylesCollection.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import com.sun.star.report.pentaho.OfficeNamespaces; @@ -54,73 +52,74 @@ import org.jfree.report.structure.Element; */ public class OfficeStylesCollection extends Element { - // Font-face declarations are copied as is. We simply merge them by adding - // them all in one set. This may result in duplicate entries, but as the - // fileformat does not forbid that, it therefore must be ok. - private final FontFaceDeclsSection fontFaceDecls; - private final OfficeStyles automaticStyles; - private final OfficeStyles commonStyles; - private final OfficeMasterStyles masterStyles; + // Font-face declarations are copied as is. We simply merge them by adding + // them all in one set. This may result in duplicate entries, but as the + // fileformat does not forbid that, it therefore must be ok. - public OfficeStylesCollection() - { - fontFaceDecls = new FontFaceDeclsSection(); + private final FontFaceDeclsSection fontFaceDecls; + private final OfficeStyles automaticStyles; + private final OfficeStyles commonStyles; + private final OfficeMasterStyles masterStyles; - automaticStyles = new OfficeStyles(); - automaticStyles.setType("automatic-styles"); - automaticStyles.setNamespace(OfficeNamespaces.OFFICE_NS); + public OfficeStylesCollection() + { + fontFaceDecls = new FontFaceDeclsSection(); - commonStyles = new OfficeStyles(); - commonStyles.setType("styles"); - commonStyles.setNamespace(OfficeNamespaces.OFFICE_NS); + automaticStyles = new OfficeStyles(); + automaticStyles.setType("automatic-styles"); + automaticStyles.setNamespace(OfficeNamespaces.OFFICE_NS); - masterStyles = new OfficeMasterStyles(); - masterStyles.setType("master-styles"); - masterStyles.setNamespace(OfficeNamespaces.OFFICE_NS); - } + commonStyles = new OfficeStyles(); + commonStyles.setType("styles"); + commonStyles.setNamespace(OfficeNamespaces.OFFICE_NS); - public OfficeStyle getStyle(final String family, final String name) - { - final OfficeStyle commonStyle = commonStyles.getStyle(family, name); - if (commonStyle != null) - { - return commonStyle; + masterStyles = new OfficeMasterStyles(); + masterStyles.setType("master-styles"); + masterStyles.setNamespace(OfficeNamespaces.OFFICE_NS); } - final OfficeStyle autoStyle = automaticStyles.getStyle(family, name); - if (autoStyle != null) + + public OfficeStyle getStyle(final String family, final String name) { - return autoStyle; - } + final OfficeStyle commonStyle = commonStyles.getStyle(family, name); + if (commonStyle != null) + { + return commonStyle; + } + final OfficeStyle autoStyle = automaticStyles.getStyle(family, name); + if (autoStyle != null) + { + return autoStyle; + } - // And later: Autogenerate one of the default styles. - // However, at this moment, we dont have a clue about the default styles - // at all. Maybe we should add them to make this implementation more robust - // against invalid documents. - return null; - } + // And later: Autogenerate one of the default styles. + // However, at this moment, we dont have a clue about the default styles + // at all. Maybe we should add them to make this implementation more robust + // against invalid documents. + return null; + } - public boolean containsStyle (final String family, final String name) - { - return (getStyle(family, name) != null); - } + public boolean containsStyle(final String family, final String name) + { + return (getStyle(family, name) != null); + } - public OfficeStyles getAutomaticStyles() - { - return automaticStyles; - } + public OfficeStyles getAutomaticStyles() + { + return automaticStyles; + } - public OfficeStyles getCommonStyles() - { - return commonStyles; - } + public OfficeStyles getCommonStyles() + { + return commonStyles; + } - public OfficeMasterStyles getMasterStyles() - { - return masterStyles; - } + public OfficeMasterStyles getMasterStyles() + { + return masterStyles; + } - public FontFaceDeclsSection getFontFaceDecls() - { - return fontFaceDecls; - } + public FontFaceDeclsSection getFontFaceDecls() + { + return fontFaceDecls; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeTableSection.java b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeTableSection.java index fec1748..62d5ee9 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeTableSection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/OfficeTableSection.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -40,7 +38,8 @@ import org.jfree.report.structure.Section; */ public class OfficeTableSection extends Section { - public OfficeTableSection() - { - } + + public OfficeTableSection() + { + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/PageLayout.java b/reportbuilder/java/com/sun/star/report/pentaho/model/PageLayout.java index 15cafd5..5528cec 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/PageLayout.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/PageLayout.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -44,29 +42,29 @@ import com.sun.star.report.pentaho.OfficeNamespaces; public class PageLayout extends Section { - public PageLayout() - { - setNamespace(OfficeNamespaces.STYLE_NS); - setType("page-layout"); - } + public PageLayout() + { + setNamespace(OfficeNamespaces.STYLE_NS); + setType("page-layout"); + } - public String getStyleName() - { - return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); - } + public String getStyleName() + { + return (String) getAttribute(OfficeNamespaces.STYLE_NS, "name"); + } - public void setStyleName(final String name) - { - setAttribute(OfficeNamespaces.STYLE_NS, "name", name); - } + public void setStyleName(final String name) + { + setAttribute(OfficeNamespaces.STYLE_NS, "name", name); + } - public Section getHeaderStyle () - { - return (Section) findFirstChild(OfficeNamespaces.STYLE_NS, "header-style"); - } + public Section getHeaderStyle() + { + return (Section) findFirstChild(OfficeNamespaces.STYLE_NS, "header-style"); + } - public Section getFooterStyle () - { - return (Section) findFirstChild(OfficeNamespaces.STYLE_NS, "footer-style"); - } + public Section getFooterStyle() + { + return (Section) findFirstChild(OfficeNamespaces.STYLE_NS, "footer-style"); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/RawText.java b/reportbuilder/java/com/sun/star/report/pentaho/model/RawText.java index 19edd4f..b50bdd2 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/RawText.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/RawText.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.StaticText; @@ -43,8 +41,9 @@ import org.jfree.report.structure.StaticText; */ public class RawText extends StaticText { - public RawText(final String text) - { - super(text); - } + + public RawText(final String text) + { + super(text); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/ReportElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/ReportElement.java index ae77fa8..538aaac 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/ReportElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/ReportElement.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import java.util.ArrayList; @@ -47,69 +45,67 @@ import java.util.List; */ public abstract class ReportElement extends Element { - private final List formatConditions; - protected ReportElement() - { - formatConditions = new ArrayList(); - } + private final List formatConditions; - /** - * Checks the current group and prints this element only if the current row is - * the first row for that particular group. - * - * @return true, if the element should only be printed in the first row of the - * current group, false otherwise. - */ - public boolean isPrintWhenGroupChanges() - { - return OfficeToken.TRUE.equals(getAttribute - (OfficeNamespaces.OOREPORT_NS, "print-when-group-changes")); - } + protected ReportElement() + { + formatConditions = new ArrayList(); + } - public void setPrintWhenGroupChanges(final boolean printWhenGroupChanges) - { - setAttribute(OfficeNamespaces.OOREPORT_NS, "print-when-group-changes", - String.valueOf(printWhenGroupChanges)); - } + /** + * Checks the current group and prints this element only if the current row is + * the first row for that particular group. + * + * @return true, if the element should only be printed in the first row of the + * current group, false otherwise. + */ + public boolean isPrintWhenGroupChanges() + { + return OfficeToken.TRUE.equals(getAttribute(OfficeNamespaces.OOREPORT_NS, "print-when-group-changes")); + } - /** - * Checks, whether the printed value has been changed since the last run. The - * element will only be printed, if there was at least one change. - * - * @return true, if repeated values should be printed, false if repeated - * values should be surpressed. - */ - public boolean isPrintRepeatedValues() - { - return OfficeToken.TRUE.equals(getAttribute - (OfficeNamespaces.OOREPORT_NS, "print-repeated-values")); - } + public void setPrintWhenGroupChanges(final boolean printWhenGroupChanges) + { + setAttribute(OfficeNamespaces.OOREPORT_NS, "print-when-group-changes", + String.valueOf(printWhenGroupChanges)); + } - public void setPrintRepeatedValues(final boolean printRepeatedValues) - { - setAttribute(OfficeNamespaces.OOREPORT_NS, "print-repeated-values", - String.valueOf(printRepeatedValues)); - } + /** + * Checks, whether the printed value has been changed since the last run. The + * element will only be printed, if there was at least one change. + * + * @return true, if repeated values should be printed, false if repeated + * values should be surpressed. + */ + public boolean isPrintRepeatedValues() + { + return OfficeToken.TRUE.equals(getAttribute(OfficeNamespaces.OOREPORT_NS, "print-repeated-values")); + } - public void addFormatCondition(final FormatCondition formatCondition) - { - if (formatCondition == null) + public void setPrintRepeatedValues(final boolean printRepeatedValues) { - throw new NullPointerException(); + setAttribute(OfficeNamespaces.OOREPORT_NS, "print-repeated-values", + String.valueOf(printRepeatedValues)); } - this.formatConditions.add(formatCondition); - } + public void addFormatCondition(final FormatCondition formatCondition) + { + if (formatCondition == null) + { + throw new NullPointerException(); + } + + this.formatConditions.add(formatCondition); + } - public FormatCondition[] getFormatConditions () - { - return (FormatCondition[]) this.formatConditions.toArray - (new FormatCondition[this.formatConditions.size()]); - } + public FormatCondition[] getFormatConditions() + { + return (FormatCondition[]) this.formatConditions.toArray(new FormatCondition[this.formatConditions.size()]); + } - public int getFormatConditionCount () - { - return formatConditions.size(); - } + public int getFormatConditionCount() + { + return formatConditions.size(); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/TableCellElement.java b/reportbuilder/java/com/sun/star/report/pentaho/model/TableCellElement.java index d3bc48a..d6d06dc 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/TableCellElement.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/TableCellElement.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.structure.Section; @@ -42,7 +40,7 @@ import org.jfree.report.structure.Section; public class TableCellElement extends Section { - public TableCellElement() - { - } + public TableCellElement() + { + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/model/VariablesDeclarationSection.java b/reportbuilder/java/com/sun/star/report/pentaho/model/VariablesDeclarationSection.java index f8c518b..7ad9fa8 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/model/VariablesDeclarationSection.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/model/VariablesDeclarationSection.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.model; import org.jfree.report.JFreeReportInfo; @@ -49,9 +47,9 @@ import org.jfree.report.structure.Section; public class VariablesDeclarationSection extends Section { - public VariablesDeclarationSection() - { - setNamespace(JFreeReportInfo.REPORT_NAMESPACE); - setType("variables-section"); - } + public VariablesDeclarationSection() + { + setNamespace(JFreeReportInfo.REPORT_NAMESPACE); + setType("variables-section"); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/oasis-datastyle.css b/reportbuilder/java/com/sun/star/report/pentaho/oasis-datastyle.css index 01fa9d1..4275370 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/oasis-datastyle.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/oasis-datastyle.css @@ -2,4 +2,4 @@ /** * All default styles for data-styles elements. - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/oasis-draw.css b/reportbuilder/java/com/sun/star/report/pentaho/oasis-draw.css index 87fe338..341f44e 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/oasis-draw.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/oasis-draw.css @@ -2,4 +2,4 @@ /** * All default styles for draw elements. - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/oasis-form.css b/reportbuilder/java/com/sun/star/report/pentaho/oasis-form.css index b9f4967..7c8c430 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/oasis-form.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/oasis-form.css @@ -2,4 +2,4 @@ /** * All default styles for form elements. - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/oasis-style.css b/reportbuilder/java/com/sun/star/report/pentaho/oasis-style.css index 6e5f9c8..47777f4 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/oasis-style.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/oasis-style.css @@ -3,8 +3,8 @@ /** * All default styles for style elements. (They should not be visible anyway, * but better be complete than be sorry afterwards.) - */ +*/ raw-styles { - display:none; + display:none; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/oasis-table.css b/reportbuilder/java/com/sun/star/report/pentaho/oasis-table.css index efddd29..91bedcd 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/oasis-table.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/oasis-table.css @@ -1,35 +1,35 @@ @namespace url("urn:oasis:names:tc:opendocument:xmlns:table:1.0"); table { - display: table; + display: table; } table-columns { - display: table-column-group; + display: table-column-group; } table-column { - display: table-column; + display: table-column; } table-row { - display: table-row; + display: table-row; } table-cell { - display: table-cell; + display: table-cell; } table-cell[number-cols-spanned], table-cell[number-cols-spanned], table-columns[number-cols-spanned], table-column[number-cols-spanned] { - -x-liblayout-colspan: attr(number-cols-spanned); + -x-liblayout-colspan: attr(number-cols-spanned); } table-cell[number-rows-spanned], table-cell[number-rows-spanned] { - -x-liblayout-rowspan: attr(number-rows-spanned); + -x-liblayout-rowspan: attr(number-rows-spanned); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/oasis-text.css b/reportbuilder/java/com/sun/star/report/pentaho/oasis-text.css index c8b6acc..ccc000e 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/oasis-text.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/oasis-text.css @@ -2,8 +2,8 @@ /** * All default styles for form elements. - */ +*/ p { - display: block; + display: block; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/ImageProducer.java b/reportbuilder/java/com/sun/star/report/pentaho/output/ImageProducer.java index 9485b27..ec826ce 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/ImageProducer.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/ImageProducer.java @@ -71,7 +71,9 @@ import org.pentaho.reporting.libraries.base.util.WaitingImageObserver; */ public class ImageProducer { + private static final Log LOGGER = LogFactory.getLog(ImageProducer.class); + public static class OfficeImage { @@ -140,7 +142,7 @@ public class ImageProducer { if (hashCode != null) { - return hashCode.intValue(); + return hashCode; } final int length = Math.min(keyData.length, 512); @@ -150,7 +152,7 @@ public class ImageProducer final byte b = keyData[i]; hashValue = b + hashValue * 23; } - this.hashCode = Integer.valueOf(hashValue); + this.hashCode = hashValue; return hashValue; } } @@ -320,7 +322,7 @@ public class ImageProducer } catch (MalformedURLException e) { - // ignore .. but we had to try this .. + // ignore .. but we had to try this .. } final OfficeImage o = (OfficeImage) imageCache.get(source); @@ -365,6 +367,22 @@ public class ImageProducer LOGGER.warn("Failed to create image from local input-repository", e); } } + else + { + try + { + URI rootURI = new URI(inputRepository.getRootURL()); + final URI uri = rootURI.resolve(source); + return produceFromURL(uri.toURL(), preserveIRI); + } + catch (URISyntaxException ex) + { + } + catch (MalformedURLException e) + { + // ignore .. but we had to try this .. + } + } // Return the image as broken image instead .. final OfficeImage officeImage = new OfficeImage(source, null, null); @@ -381,7 +399,7 @@ public class ImageProducer { uri = new URI(urlString); } - catch ( URISyntaxException ex ) + catch (URISyntaxException ex) { Logger.getLogger(ImageProducer.class.getName()).log(Level.SEVERE, null, ex); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java b/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java index c02b5fe..fb2bf1b 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/OfficeDocumentReportTarget.java @@ -104,6 +104,7 @@ import org.w3c.css.sac.LexicalUnit; */ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget { + protected static final Log LOGGER = LogFactory.getLog(OfficeDocumentReportTarget.class); public static final String HORIZONTAL_POS = "horizontal-pos"; public static final String TAG_DEF_PREFIX = "com.sun.star.report.pentaho.output."; @@ -228,11 +229,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget public String toString() { - return "GroupContext{" + - "parent=" + parent + - ", iterationCount=" + iterationCount + - ", groupWithRepeatingSection=" + groupWithRepeatingSection + - '}'; + return "GroupContext{" + "parent=" + parent + ", iterationCount=" + iterationCount + ", groupWithRepeatingSection=" + groupWithRepeatingSection + '}'; } } private final FastStack states; @@ -301,7 +298,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget this.imageNames = new AttributeNameGenerator(); this.imageProducer = new ImageProducer(inputRepository, outputRepository, imageService); - this.oleProducer = new OleProducer(inputRepository, outputRepository, imageService, datasourcefactory,(Integer)reportJob.getParameters().get(ReportEngineParameterNames.MAXROWS)); + this.oleProducer = new OleProducer(inputRepository, outputRepository, imageService, datasourcefactory, (Integer) reportJob.getParameters().get(ReportEngineParameterNames.MAXROWS)); try { @@ -320,7 +317,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget { return outputRepository; } - + protected InputRepository getInputRepository() { return inputRepository; @@ -489,7 +486,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget throw new IllegalStateException(); } final Integer o = (Integer) states.peek(); - return o.intValue(); + return o; } /** @@ -507,9 +504,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget // todo if (DEBUG_ELEMENTS) { - LOGGER.debug("Starting " + getCurrentState() + '/' + states.size() + ' ' + - ReportTargetUtil.getNamespaceFromAttribute(attrs) + " -> " + - ReportTargetUtil.getElemenTypeFromAttribute(attrs)); + LOGGER.debug("Starting " + getCurrentState() + '/' + states.size() + ' ' + ReportTargetUtil.getNamespaceFromAttribute(attrs) + " -> " + ReportTargetUtil.getElemenTypeFromAttribute(attrs)); } try { @@ -599,8 +594,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget } else { - throw new IllegalStateException("Expected either 'template', 'report-body', " + - "'report-header', 'report-footer', 'variables-section', 'page-header' or 'page-footer'"); + throw new IllegalStateException("Expected either 'template', 'report-body', " + "'report-header', 'report-footer', 'variables-section', 'page-header' or 'page-footer'"); } startReportSection(attrs, currentRole); } @@ -648,20 +642,17 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget { // repeating group header/footer, but *no* variables section states.push(IntegerCache.getInteger(OfficeDocumentReportTarget.STATE_IN_SECTION)); - if (ReportTargetUtil.isElementOfType(OfficeNamespaces.OOREPORT_NS, "group-header", attrs) && - OfficeToken.TRUE.equals(attrs.getAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeated-section"))) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.OOREPORT_NS, "group-header", attrs) && OfficeToken.TRUE.equals(attrs.getAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeated-section"))) { currentRole = OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER; } - else if (ReportTargetUtil.isElementOfType(OfficeNamespaces.OOREPORT_NS, "group-footer", attrs) && - OfficeToken.TRUE.equals(attrs.getAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeated-section"))) + else if (ReportTargetUtil.isElementOfType(OfficeNamespaces.OOREPORT_NS, "group-footer", attrs) && OfficeToken.TRUE.equals(attrs.getAttribute(JFreeReportInfo.REPORT_NAMESPACE, "repeated-section"))) { currentRole = OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER; } else { - throw new IllegalStateException("Expected either 'group-instance', " + - "'repeating group-header' or 'repeating group-footer'"); + throw new IllegalStateException("Expected either 'group-instance', " + "'repeating group-header' or 'repeating group-footer'"); } startReportSection(attrs, currentRole); } @@ -788,9 +779,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget private final boolean allowBuffering(final int role) { - return (role == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER || - role == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER || - role == OfficeDocumentReportTarget.ROLE_TEMPLATE); + return (role == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER || role == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER || role == OfficeDocumentReportTarget.ROLE_TEMPLATE); } protected void startReportSection(final AttributeMap attrs, final int role) @@ -845,12 +834,12 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget String line = br.readLine(); while (line != null) { - xmlWriter.writeTextNormalized(line, false); - line = br.readLine(); - if (line != null) - { - xmlWriter.writeTag(OfficeNamespaces.TEXT_NS, "line-break", XmlWriterSupport.CLOSE); - } + xmlWriter.writeTextNormalized(line, false); + line = br.readLine(); + if (line != null) + { + xmlWriter.writeTag(OfficeNamespaces.TEXT_NS, "line-break", XmlWriterSupport.CLOSE); + } } } catch (IOException e) @@ -989,9 +978,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget if (DEBUG_ELEMENTS) { - LOGGER.debug("Finished " + getCurrentState() + "/" + states.size() + " " + - ReportTargetUtil.getNamespaceFromAttribute(attrs) + ":" + - ReportTargetUtil.getElemenTypeFromAttribute(attrs)); + LOGGER.debug("Finished " + getCurrentState() + "/" + states.size() + " " + ReportTargetUtil.getNamespaceFromAttribute(attrs) + ":" + ReportTargetUtil.getElemenTypeFromAttribute(attrs)); } } @@ -1122,7 +1109,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget } catch (IOException ioe) { - throw new ReportProcessingException("Unable to create the buffer",ioe); + throw new ReportProcessingException("Unable to create the buffer", ioe); } } @@ -1172,17 +1159,14 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget { final Map.Entry entry = (Map.Entry) entries.next(); final String key = String.valueOf(entry.getKey()); - if (OfficeNamespaces.TABLE_NS.equals(attrNamespace) && - "name".equals(key)) + if (OfficeNamespaces.TABLE_NS.equals(attrNamespace) && "name".equals(key)) { final String tableName = String.valueOf(entry.getValue()); final String saneName = sanitizeName(tableName); attrList.setAttribute(attrNamespace, key, tableNameGenerator.generateName(saneName)); } - else if (OfficeNamespaces.DRAWING_NS.equals(attrNamespace) && - "name".equals(key) && - !"equation".equals(elementType) ) + else if (OfficeNamespaces.DRAWING_NS.equals(attrNamespace) && "name".equals(key) && !"equation".equals(elementType)) { final String objectName = String.valueOf(entry.getValue()); attrList.setAttribute(attrNamespace, key, @@ -1243,11 +1227,7 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget protected boolean isRepeatingSection() { - return (currentRole == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER || - currentRole == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER || - currentRole == OfficeDocumentReportTarget.ROLE_PAGE_FOOTER || - currentRole == OfficeDocumentReportTarget.ROLE_PAGE_HEADER || - currentRole == OfficeDocumentReportTarget.ROLE_VARIABLES); + return (currentRole == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER || currentRole == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER || currentRole == OfficeDocumentReportTarget.ROLE_PAGE_FOOTER || currentRole == OfficeDocumentReportTarget.ROLE_PAGE_HEADER || currentRole == OfficeDocumentReportTarget.ROLE_VARIABLES); } @@ -1309,8 +1289,8 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget final CSSNumericValue normalizedImageHeight = CSSValueResolverUtility.convertLength(height, imageAreaHeightVal.getType()); - final String scale = (String)attrs.getAttribute(JFreeReportInfo.REPORT_NAMESPACE, OfficeToken.SCALE); - if ( OfficeToken.NONE.equals(scale) && normalizedImageWidth.getValue() > 0 && normalizedImageHeight.getValue() > 0) + final String scale = (String) attrs.getAttribute(JFreeReportInfo.REPORT_NAMESPACE, OfficeToken.SCALE); + if (OfficeToken.NONE.equals(scale) && normalizedImageWidth.getValue() > 0 && normalizedImageHeight.getValue() > 0) { final double clipWidth = normalizedImageWidth.getValue() - imageAreaWidthVal.getValue(); final double clipHeight = normalizedImageHeight.getValue() - imageAreaHeightVal.getValue(); @@ -1379,24 +1359,23 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget imageAreaHeightVal = normalizedImageHeight; } } - else if ( OfficeToken.ISOTROPIC.equals(scale) ) + else if (OfficeToken.ISOTROPIC.equals(scale)) { - final double[] ret = calcPaintSize(imageAreaWidthVal,imageAreaHeightVal,normalizedImageWidth,normalizedImageHeight); + final double[] ret = calcPaintSize(imageAreaWidthVal, imageAreaHeightVal, normalizedImageWidth, normalizedImageHeight); - posX = CSSNumericValue.createValue(imageAreaWidthVal.getType(),( imageAreaWidthVal.getValue() - ret[0]) * 0.5); - posY = CSSNumericValue.createValue(imageAreaHeightVal.getType(),( imageAreaHeightVal.getValue() - ret[1]) * 0.5); + posX = CSSNumericValue.createValue(imageAreaWidthVal.getType(), (imageAreaWidthVal.getValue() - ret[0]) * 0.5); + posY = CSSNumericValue.createValue(imageAreaHeightVal.getType(), (imageAreaHeightVal.getValue() - ret[1]) * 0.5); - imageAreaWidthVal = CSSNumericValue.createValue(imageAreaWidthVal.getType(),ret[0]); - imageAreaHeightVal = CSSNumericValue.createValue(imageAreaHeightVal.getType(),ret[1]); + imageAreaWidthVal = CSSNumericValue.createValue(imageAreaWidthVal.getType(), ret[0]); + imageAreaHeightVal = CSSNumericValue.createValue(imageAreaHeightVal.getType(), ret[1]); } } - // If we do scale, then we simply use the given image-area-size as valid image size and dont - // care about the image itself .. + // If we do scale, then we simply use the given image-area-size as valid image size and dont + // care about the image itself .. } else { - LOGGER.debug("There is no image-context, so we have to rely on the image's natural bounds. " + - "This may go awfully wrong."); + LOGGER.debug("There is no image-context, so we have to rely on the image's natural bounds. " + "This may go awfully wrong."); imageAreaWidthVal = image.getWidth(); imageAreaHeightVal = image.getHeight(); } @@ -1653,19 +1632,21 @@ public abstract class OfficeDocumentReportTarget extends AbstractReportTarget throw new ReportProcessingException(FAILED, ioe); } } - static private double[] calcPaintSize( final CSSNumericValue areaWidth, final CSSNumericValue areaHeight, - final CSSNumericValue imageWidth, final CSSNumericValue imageHeight) + + static private double[] calcPaintSize(final CSSNumericValue areaWidth, final CSSNumericValue areaHeight, + final CSSNumericValue imageWidth, final CSSNumericValue imageHeight) { final double ratioX = areaWidth.getValue() / imageWidth.getValue(); final double ratioY = areaHeight.getValue() / imageHeight.getValue(); - final double ratioMin = Math.min( ratioX, ratioY ); + final double ratioMin = Math.min(ratioX, ratioY); double[] ret = new double[2]; ret[0] = imageWidth.getValue() * ratioMin; ret[1] = imageHeight.getValue() * ratioMin; return ret; } + protected void writeNullDate() throws IOException { // write NULL DATE diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/OleProducer.java b/reportbuilder/java/com/sun/star/report/pentaho/output/OleProducer.java index 83afecf..61be0f0 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/OleProducer.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/OleProducer.java @@ -49,7 +49,8 @@ import org.apache.commons.logging.LogFactory; * * @author Ocke Janssen */ -public class OleProducer { +public class OleProducer +{ private static final Log LOGGER = LogFactory.getLog(OleProducer.class); private final InputRepository inputRepository; @@ -58,14 +59,16 @@ public class OleProducer { private final DataSourceFactory dataSourceFactory; private final ImageService imageService; private final Integer maxRows; - public OleProducer(final InputRepository inputRepository, - final OutputRepository outputRepository,final ImageService imageService,final DataSourceFactory dataSourceFactory,final Integer maxRows) { - if (inputRepository == null) { + final OutputRepository outputRepository, final ImageService imageService, final DataSourceFactory dataSourceFactory, final Integer maxRows) + { + if (inputRepository == null) + { throw new NullPointerException(); } - if (outputRepository == null) { + if (outputRepository == null) + { throw new NullPointerException(); } @@ -77,15 +80,18 @@ public class OleProducer { this.maxRows = maxRows; } - String produceOle(final String source,final List masterColumns,final List masterValues,final List detailColumns) { + String produceOle(final String source, final List masterColumns, final List masterValues, final List detailColumns) + { InputRepository subInputRepository = null; OutputRepository subOutputRepository = null; String output = ""; - try { + try + { subInputRepository = inputRepository.openInputRepository(source); output = nameGenerator.generateStorageName("Object", null); subOutputRepository = outputRepository.openOutputRepository(output, PentahoReportEngineMetaData.OPENDOCUMENT_CHART); - try { + try + { final PentahoReportEngine engine = new PentahoReportEngine(); final ReportJobDefinition definition = engine.createJobDefinition(); @@ -104,18 +110,27 @@ public class OleProducer { procParms.setProperty(ReportEngineParameterNames.MAXROWS, maxRows); engine.createJob(definition).execute(); - } catch (ReportExecutionException ex) { + } + catch (ReportExecutionException ex) + { LOGGER.error("ReportProcessing failed", ex); - } catch (IOException ex) { + } + catch (IOException ex) + { LOGGER.error("ReportProcessing failed", ex); } - } catch (IOException ex) { + } + catch (IOException ex) + { LOGGER.error("ReportProcessing failed", ex); - } finally { - if (subInputRepository != null) { + } finally + { + if (subInputRepository != null) + { subInputRepository.closeInputRepository(); } - if (subOutputRepository != null) { + if (subOutputRepository != null) + { subOutputRepository.closeOutputRepository(); } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/StyleUtilities.java b/reportbuilder/java/com/sun/star/report/pentaho/output/StyleUtilities.java index e4efcdb..6c5202f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/StyleUtilities.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/StyleUtilities.java @@ -55,6 +55,7 @@ import org.apache.commons.logging.LogFactory; */ public class StyleUtilities { + private static final Log LOGGER = LogFactory.getLog(StyleUtilities.class); private static final String STYLE = "style"; @@ -117,8 +118,7 @@ public class StyleUtilities } inheritanceTracker.add(styleName); - if (stylesCollection.containsStyle(styleFamily, styleName) || - commonCollection.getCommonStyles().containsStyle(styleFamily, styleName)) + if (stylesCollection.containsStyle(styleFamily, styleName) || commonCollection.getCommonStyles().containsStyle(styleFamily, styleName)) { // fine, there's already a copy of the stylesheet. return; @@ -193,7 +193,8 @@ public class StyleUtilities LOGGER.warn("Inconsistent styles: " + styleFamily + ":" + styleParent + " does not exist."); } return preStyle; - } catch (CloneNotSupportedException e) + } + catch (CloneNotSupportedException e) { throw new ReportProcessingException("Failed to derive a stylesheet", e); } @@ -248,7 +249,8 @@ public class StyleUtilities currentFonts.addFontFace((FontFaceElement) element.clone()); } } - } catch (CloneNotSupportedException e) + } + catch (CloneNotSupportedException e) { throw new ReportProcessingException("Failed to clone font-face element"); } @@ -264,12 +266,13 @@ public class StyleUtilities { try { - final Section styleMap = (Section) derivedStyle.findFirstChild(OfficeNamespaces.STYLE_NS,"map"); + final Section styleMap = (Section) derivedStyle.findFirstChild(OfficeNamespaces.STYLE_NS, "map"); if (styleMap != null) { performDataStyleProcessing(styleMap, stylesCollection, predefCollection, "apply-style-name"); } - } catch (Exception e) + } + catch (Exception e) { } } @@ -286,8 +289,7 @@ public class StyleUtilities if (attribute != null) { final String styleName = String.valueOf(attribute); - if (!stylesCollection.getAutomaticStyles().containsDataStyle(styleName) && - !stylesCollection.getCommonStyles().containsDataStyle(styleName)) + if (!stylesCollection.getAutomaticStyles().containsDataStyle(styleName) && !stylesCollection.getCommonStyles().containsDataStyle(styleName)) { try { @@ -313,7 +315,8 @@ public class StyleUtilities derivedStyle = null; } } - } catch (CloneNotSupportedException e) + } + catch (CloneNotSupportedException e) { throw new ReportProcessingException("Failed to copy style. This should not have happened."); } @@ -508,7 +511,8 @@ public class StyleUtilities predefCollection); } return autostyle; - } catch (CloneNotSupportedException e) + } + catch (CloneNotSupportedException e) { throw new ReportProcessingException( "Deriving the style failed. Clone error: ", e); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/StylesWriter.java b/reportbuilder/java/com/sun/star/report/pentaho/output/StylesWriter.java index 26d89a4..615b680 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/StylesWriter.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/StylesWriter.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.output; import java.io.IOException; @@ -70,305 +68,319 @@ import org.pentaho.reporting.libraries.xmlns.writer.XmlWriterSupport; */ public class StylesWriter { - private final XmlWriter xmlWriter; - private final boolean writeOpeningTag; - - public StylesWriter(final Writer writer) - { - final DefaultTagDescription tagDescription = new DefaultTagDescription(); - tagDescription.configure (JFreeReportBoot.getInstance().getGlobalConfig(), - OfficeDocumentReportTarget.TAG_DEF_PREFIX); - - this.xmlWriter = new XmlWriter(writer, tagDescription); - this.xmlWriter.setAlwaysAddNamespace(true); - this.writeOpeningTag = true; - } - - public StylesWriter(final XmlWriter xmlWriter) - { - this.xmlWriter = xmlWriter; - this.writeOpeningTag = false; - } - - public void writeContentStyles (final OfficeStylesCollection predefined, - final OfficeStylesCollection globals) - throws IOException, ReportProcessingException - { - writeFontFaces(new OfficeStylesCollection[] { globals }); - writeAutomaticStylesSection(new OfficeStylesCollection[] { globals }); - } - - public void writeGlobalStyles (final OfficeStylesCollection predefined, - final OfficeStylesCollection globals) - throws IOException, ReportProcessingException - { - if (writeOpeningTag) - { - performWriteRootTag(); - } - writeFontFaces(new OfficeStylesCollection[] { globals }); - writeAutomaticStylesSection(new OfficeStylesCollection[] { globals }); - writeCommonStylesSection(new OfficeStylesCollection[] { globals }); - writeMasterStylesSection(new OfficeStylesCollection[] { globals }); + private final XmlWriter xmlWriter; + private final boolean writeOpeningTag; - if (writeOpeningTag) + public StylesWriter(final Writer writer) { - xmlWriter.writeCloseTag(); + final DefaultTagDescription tagDescription = new DefaultTagDescription(); + tagDescription.configure(JFreeReportBoot.getInstance().getGlobalConfig(), + OfficeDocumentReportTarget.TAG_DEF_PREFIX); + + this.xmlWriter = new XmlWriter(writer, tagDescription); + this.xmlWriter.setAlwaysAddNamespace(true); + this.writeOpeningTag = true; } - } - - private void writeMasterStylesSection(final OfficeStylesCollection[] osc) - throws IOException - { - xmlWriter.writeTag - (OfficeNamespaces.OFFICE_NS, "master-styles", XmlWriterSupport.OPEN); - for (int sci = 0; sci < osc.length; sci++) + + public StylesWriter(final XmlWriter xmlWriter) { - final OfficeStylesCollection collection = osc[sci]; - final OfficeMasterStyles officeStyles = collection.getMasterStyles(); - final OfficeMasterPage[] officeMasterPages = officeStyles.getAllMasterPages(); - for (int i = 0; i < officeMasterPages.length; i++) - { - final OfficeMasterPage masterPage = officeMasterPages[i]; - writeSection(masterPage); - } - - writeSectionChilds(officeStyles.getOtherNodes().getNodeArray()); + this.xmlWriter = xmlWriter; + this.writeOpeningTag = false; } - xmlWriter.writeCloseTag(); - } - - private void writeCommonStylesSection(final OfficeStylesCollection[] osc) - throws IOException - { - xmlWriter.writeTag - (OfficeNamespaces.OFFICE_NS, "styles", XmlWriterSupport.OPEN); - - for (int sci = 0; sci < osc.length; sci++) + public void writeContentStyles(final OfficeStylesCollection predefined, + final OfficeStylesCollection globals) + throws IOException, ReportProcessingException { - final OfficeStylesCollection collection = osc[sci]; - final OfficeStyles officeStyles = collection.getCommonStyles(); - writeStyles(officeStyles); + writeFontFaces(new OfficeStylesCollection[] + { + globals + }); + writeAutomaticStylesSection(new OfficeStylesCollection[] + { + globals + }); } - xmlWriter.writeCloseTag(); - } - - private void writeAutomaticStylesSection(final OfficeStylesCollection[] osc) - throws IOException - { - xmlWriter.writeTag - (OfficeNamespaces.OFFICE_NS, "automatic-styles", XmlWriterSupport.OPEN); - for (int sci = 0; sci < osc.length; sci++) + public void writeGlobalStyles(final OfficeStylesCollection predefined, + final OfficeStylesCollection globals) + throws IOException, ReportProcessingException { - final OfficeStylesCollection collection = osc[sci]; - final OfficeStyles officeStyles = collection.getAutomaticStyles(); - writeStyles(officeStyles); + if (writeOpeningTag) + { + performWriteRootTag(); + } + + writeFontFaces(new OfficeStylesCollection[] + { + globals + }); + writeAutomaticStylesSection(new OfficeStylesCollection[] + { + globals + }); + writeCommonStylesSection(new OfficeStylesCollection[] + { + globals + }); + writeMasterStylesSection(new OfficeStylesCollection[] + { + globals + }); + + if (writeOpeningTag) + { + xmlWriter.writeCloseTag(); + } } - xmlWriter.writeCloseTag(); - } - - private void writeFontFaces(final OfficeStylesCollection[] osc) - throws IOException - { - xmlWriter.writeTag - (OfficeNamespaces.OFFICE_NS, "font-face-decls", XmlWriterSupport.OPEN); - - final TreeMap fontFaces = new TreeMap(); - for (int sci = 0; sci < osc.length; sci++) + private void writeMasterStylesSection(final OfficeStylesCollection[] osc) + throws IOException { - final OfficeStylesCollection collection = osc[sci]; - final FontFaceDeclsSection fontFaceDecls = collection.getFontFaceDecls(); - final FontFaceElement[] fontFaceElements = fontFaceDecls.getAllFontFaces(); - for (int i = 0; i < fontFaceElements.length; i++) - { - final FontFaceElement element = fontFaceElements[i]; - fontFaces.put (element.getStyleName(), element); - } + xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, "master-styles", XmlWriterSupport.OPEN); + for (int sci = 0; sci < osc.length; sci++) + { + final OfficeStylesCollection collection = osc[sci]; + final OfficeMasterStyles officeStyles = collection.getMasterStyles(); + final OfficeMasterPage[] officeMasterPages = officeStyles.getAllMasterPages(); + for (int i = 0; i < officeMasterPages.length; i++) + { + final OfficeMasterPage masterPage = officeMasterPages[i]; + writeSection(masterPage); + } + + writeSectionChilds(officeStyles.getOtherNodes().getNodeArray()); + } + + xmlWriter.writeCloseTag(); } - final Iterator values = fontFaces.values().iterator(); - while (values.hasNext()) + private void writeCommonStylesSection(final OfficeStylesCollection[] osc) + throws IOException { - final FontFaceElement element = (FontFaceElement) values.next(); - writeElement(element); - } + xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, "styles", XmlWriterSupport.OPEN); - xmlWriter.writeCloseTag(); - } + for (int sci = 0; sci < osc.length; sci++) + { + final OfficeStylesCollection collection = osc[sci]; + final OfficeStyles officeStyles = collection.getCommonStyles(); + writeStyles(officeStyles); + } - private void writeStyles (final OfficeStyles styles) - throws IOException - { - final OfficeStyle[] allStyles = styles.getAllStyles(); - for (int i = 0; i < allStyles.length; i++) - { - final OfficeStyle style = allStyles[i]; - writeSection(style); + xmlWriter.writeCloseTag(); } - final DataStyle[] allDataStyles = styles.getAllDataStyles(); - for (int i = 0; i < allDataStyles.length; i++) + private void writeAutomaticStylesSection(final OfficeStylesCollection[] osc) + throws IOException { - final DataStyle style = allDataStyles[i]; - writeSection(style); + xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, "automatic-styles", XmlWriterSupport.OPEN); + for (int sci = 0; sci < osc.length; sci++) + { + final OfficeStylesCollection collection = osc[sci]; + final OfficeStyles officeStyles = collection.getAutomaticStyles(); + writeStyles(officeStyles); + } + + xmlWriter.writeCloseTag(); } - final PageLayout[] allPageStyles = styles.getAllPageStyles(); - for (int i = 0; i < allPageStyles.length; i++) + private void writeFontFaces(final OfficeStylesCollection[] osc) + throws IOException { - final PageLayout style = allPageStyles[i]; - writeSection(style); + xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, "font-face-decls", XmlWriterSupport.OPEN); + + final TreeMap fontFaces = new TreeMap(); + for (int sci = 0; sci < osc.length; sci++) + { + final OfficeStylesCollection collection = osc[sci]; + final FontFaceDeclsSection fontFaceDecls = collection.getFontFaceDecls(); + final FontFaceElement[] fontFaceElements = fontFaceDecls.getAllFontFaces(); + for (int i = 0; i < fontFaceElements.length; i++) + { + final FontFaceElement element = fontFaceElements[i]; + fontFaces.put(element.getStyleName(), element); + } + } + + final Iterator values = fontFaces.values().iterator(); + while (values.hasNext()) + { + final FontFaceElement element = (FontFaceElement) values.next(); + writeElement(element); + } + + xmlWriter.writeCloseTag(); } - writeSectionChilds(styles.getOtherStyles()); - } - - private void writeElement (final Element element) - throws IOException - { - final String type = element.getType(); - final String namespace = element.getNamespace(); - final AttributeList attrList = buildAttributeList(element.getAttributeMap()); - xmlWriter.writeTag(namespace, type, attrList, XmlWriterSupport.CLOSE); - } - - private void writeSection (final Section section) - throws IOException - { - final String type = section.getType(); - final String namespace = section.getNamespace(); - final AttributeList attrList = buildAttributeList(section.getAttributeMap()); - if (section.getNodeCount() == 0) + private void writeStyles(final OfficeStyles styles) + throws IOException { - xmlWriter.writeTag(namespace, type, attrList, XmlWriterSupport.CLOSE); - return; + final OfficeStyle[] allStyles = styles.getAllStyles(); + for (int i = 0; i < allStyles.length; i++) + { + final OfficeStyle style = allStyles[i]; + writeSection(style); + } + + final DataStyle[] allDataStyles = styles.getAllDataStyles(); + for (int i = 0; i < allDataStyles.length; i++) + { + final DataStyle style = allDataStyles[i]; + writeSection(style); + } + + final PageLayout[] allPageStyles = styles.getAllPageStyles(); + for (int i = 0; i < allPageStyles.length; i++) + { + final PageLayout style = allPageStyles[i]; + writeSection(style); + } + + writeSectionChilds(styles.getOtherStyles()); } - xmlWriter.writeTag(namespace, type, attrList, XmlWriterSupport.OPEN); - writeSectionChilds(section.getNodeArray()); - - xmlWriter.writeCloseTag(); - } - - private void writeSectionChilds(final Node[] nodes) - throws IOException - { - for (int i = 0; i < nodes.length; i++) + private void writeElement(final Element element) + throws IOException { - final Node node = nodes[i]; - if (node instanceof Section) - { - writeSection((Section) node); - } - else if (node instanceof Element) - { - writeElement((Element) node); - } - else if (node instanceof RawText) - { - final RawText text = (RawText) node; - xmlWriter.writeText(text.getText()); - } - else if (node instanceof StaticText) - { - final StaticText text = (StaticText) node; - xmlWriter.writeTextNormalized(text.getText(), false); - } + final String type = element.getType(); + final String namespace = element.getNamespace(); + final AttributeList attrList = buildAttributeList(element.getAttributeMap()); + xmlWriter.writeTag(namespace, type, attrList, XmlWriterSupport.CLOSE); } - } - protected AttributeList buildAttributeList(final AttributeMap attrs) - { - final AttributeList attrList = new AttributeList(); - final String[] namespaces = attrs.getNameSpaces(); - for (int i = 0; i < namespaces.length; i++) + private void writeSection(final Section section) + throws IOException { - final String attrNamespace = namespaces[i]; - if (isFilteredNamespace(attrNamespace)) - { - continue; - } - - final Map localAttributes = attrs.getAttributes(attrNamespace); - final Iterator entries = localAttributes.entrySet().iterator(); - while (entries.hasNext()) - { - final Map.Entry entry = (Map.Entry) entries.next(); - final String key = String.valueOf(entry.getKey()); - attrList.setAttribute(attrNamespace, key, String.valueOf(entry.getValue())); - } + final String type = section.getType(); + final String namespace = section.getNamespace(); + final AttributeList attrList = buildAttributeList(section.getAttributeMap()); + if (section.getNodeCount() == 0) + { + xmlWriter.writeTag(namespace, type, attrList, XmlWriterSupport.CLOSE); + return; + } + + xmlWriter.writeTag(namespace, type, attrList, XmlWriterSupport.OPEN); + writeSectionChilds(section.getNodeArray()); + + xmlWriter.writeCloseTag(); } - return attrList; - } - protected boolean isFilteredNamespace(final String namespace) - { - if (Namespaces.LIBLAYOUT_NAMESPACE.equals(namespace)) + private void writeSectionChilds(final Node[] nodes) + throws IOException { - return true; + for (int i = 0; i < nodes.length; i++) + { + final Node node = nodes[i]; + if (node instanceof Section) + { + writeSection((Section) node); + } + else if (node instanceof Element) + { + writeElement((Element) node); + } + else if (node instanceof RawText) + { + final RawText text = (RawText) node; + xmlWriter.writeText(text.getText()); + } + else if (node instanceof StaticText) + { + final StaticText text = (StaticText) node; + xmlWriter.writeTextNormalized(text.getText(), false); + } + } } - if (JFreeReportInfo.REPORT_NAMESPACE.equals(namespace)) + + protected AttributeList buildAttributeList(final AttributeMap attrs) { - return true; + final AttributeList attrList = new AttributeList(); + final String[] namespaces = attrs.getNameSpaces(); + for (int i = 0; i < namespaces.length; i++) + { + final String attrNamespace = namespaces[i]; + if (isFilteredNamespace(attrNamespace)) + { + continue; + } + + final Map localAttributes = attrs.getAttributes(attrNamespace); + final Iterator entries = localAttributes.entrySet().iterator(); + while (entries.hasNext()) + { + final Map.Entry entry = (Map.Entry) entries.next(); + final String key = String.valueOf(entry.getKey()); + attrList.setAttribute(attrNamespace, key, String.valueOf(entry.getValue())); + } + } + return attrList; } - if (JFreeReportInfo.COMPATIBILITY_NAMESPACE.equals(namespace)) + + protected boolean isFilteredNamespace(final String namespace) { - return true; + if (Namespaces.LIBLAYOUT_NAMESPACE.equals(namespace)) + { + return true; + } + if (JFreeReportInfo.REPORT_NAMESPACE.equals(namespace)) + { + return true; + } + if (JFreeReportInfo.COMPATIBILITY_NAMESPACE.equals(namespace)) + { + return true; + } + if (OfficeNamespaces.OOREPORT_NS.equals(namespace)) + { + return true; + } + return false; } - if (OfficeNamespaces.OOREPORT_NS.equals(namespace)) + + private void performWriteRootTag() + throws IOException { - return true; + final AttributeList rootAttributes = new AttributeList(); + rootAttributes.addNamespaceDeclaration("office", + OfficeNamespaces.OFFICE_NS); + rootAttributes.addNamespaceDeclaration("style", OfficeNamespaces.STYLE_NS); + rootAttributes.addNamespaceDeclaration("text", OfficeNamespaces.TEXT_NS); + rootAttributes.addNamespaceDeclaration("table", OfficeNamespaces.TABLE_NS); + rootAttributes.addNamespaceDeclaration("draw", OfficeNamespaces.DRAWING_NS); + rootAttributes.addNamespaceDeclaration("fo", OfficeNamespaces.FO_NS); + rootAttributes.addNamespaceDeclaration("xlink", OfficeNamespaces.XLINK_NS); + rootAttributes.addNamespaceDeclaration("dc", OfficeNamespaces.PURL_NS); + rootAttributes.addNamespaceDeclaration("meta", OfficeNamespaces.META_NS); + rootAttributes.addNamespaceDeclaration("number", + OfficeNamespaces.DATASTYLE_NS); + rootAttributes.addNamespaceDeclaration("svg", OfficeNamespaces.SVG_NS); + rootAttributes.addNamespaceDeclaration("chart", OfficeNamespaces.CHART_NS); + rootAttributes.addNamespaceDeclaration("dr3d", OfficeNamespaces.DR3D_NS); + rootAttributes.addNamespaceDeclaration("math", OfficeNamespaces.MATHML_NS); + rootAttributes.addNamespaceDeclaration("form", OfficeNamespaces.FORM_NS); + rootAttributes.addNamespaceDeclaration("script", + OfficeNamespaces.SCRIPT_NS); + rootAttributes.addNamespaceDeclaration("ooo", OfficeNamespaces.OO2004_NS); + rootAttributes.addNamespaceDeclaration("ooow", OfficeNamespaces.OOW2004_NS); + rootAttributes.addNamespaceDeclaration("oooc", OfficeNamespaces.OOC2004_NS); + rootAttributes.addNamespaceDeclaration("dom", + OfficeNamespaces.XML_EVENT_NS); + rootAttributes.addNamespaceDeclaration("xforms", + OfficeNamespaces.XFORMS_NS); + rootAttributes.addNamespaceDeclaration("xsd", OfficeNamespaces.XSD_NS); + rootAttributes.addNamespaceDeclaration("xsi", OfficeNamespaces.XSI_NS); + rootAttributes.setAttribute(OfficeNamespaces.OFFICE_NS, "version", "1.0"); + + this.xmlWriter.writeXmlDeclaration("UTF-8"); + this.xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, + "document-content", rootAttributes, XmlWriterSupport.OPEN); } - return false; - } - - private void performWriteRootTag() - throws IOException - { - final AttributeList rootAttributes = new AttributeList(); - rootAttributes.addNamespaceDeclaration("office", - OfficeNamespaces.OFFICE_NS); - rootAttributes.addNamespaceDeclaration("style", OfficeNamespaces.STYLE_NS); - rootAttributes.addNamespaceDeclaration("text", OfficeNamespaces.TEXT_NS); - rootAttributes.addNamespaceDeclaration("table", OfficeNamespaces.TABLE_NS); - rootAttributes.addNamespaceDeclaration("draw", OfficeNamespaces.DRAWING_NS); - rootAttributes.addNamespaceDeclaration("fo", OfficeNamespaces.FO_NS); - rootAttributes.addNamespaceDeclaration("xlink", OfficeNamespaces.XLINK_NS); - rootAttributes.addNamespaceDeclaration("dc", OfficeNamespaces.PURL_NS); - rootAttributes.addNamespaceDeclaration("meta", OfficeNamespaces.META_NS); - rootAttributes.addNamespaceDeclaration("number", - OfficeNamespaces.DATASTYLE_NS); - rootAttributes.addNamespaceDeclaration("svg", OfficeNamespaces.SVG_NS); - rootAttributes.addNamespaceDeclaration("chart", OfficeNamespaces.CHART_NS); - rootAttributes.addNamespaceDeclaration("dr3d", OfficeNamespaces.DR3D_NS); - rootAttributes.addNamespaceDeclaration("math", OfficeNamespaces.MATHML_NS); - rootAttributes.addNamespaceDeclaration("form", OfficeNamespaces.FORM_NS); - rootAttributes.addNamespaceDeclaration("script", - OfficeNamespaces.SCRIPT_NS); - rootAttributes.addNamespaceDeclaration("ooo", OfficeNamespaces.OO2004_NS); - rootAttributes.addNamespaceDeclaration("ooow", OfficeNamespaces.OOW2004_NS); - rootAttributes.addNamespaceDeclaration("oooc", OfficeNamespaces.OOC2004_NS); - rootAttributes.addNamespaceDeclaration("dom", - OfficeNamespaces.XML_EVENT_NS); - rootAttributes.addNamespaceDeclaration("xforms", - OfficeNamespaces.XFORMS_NS); - rootAttributes.addNamespaceDeclaration("xsd", OfficeNamespaces.XSD_NS); - rootAttributes.addNamespaceDeclaration("xsi", OfficeNamespaces.XSI_NS); - rootAttributes.setAttribute(OfficeNamespaces.OFFICE_NS, "version", "1.0"); - - this.xmlWriter.writeXmlDeclaration("UTF-8"); - this.xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, - "document-content", rootAttributes, XmlWriterSupport.OPEN); - } - - public void close() - throws IOException - { - xmlWriter.close(); - } + public void close() + throws IOException + { + xmlWriter.close(); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/chart/ChartRawReportTarget.java b/reportbuilder/java/com/sun/star/report/pentaho/output/chart/ChartRawReportTarget.java index 8acf19d..25d9f03 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/chart/ChartRawReportTarget.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/chart/ChartRawReportTarget.java @@ -138,21 +138,19 @@ public class ChartRawReportTarget extends OfficeDocumentReportTarget } catch (IOException e) { - throw new ReportProcessingException("Failed", e); + throw new ReportProcessingException(OfficeDocumentReportTarget.FAILED, e); } } } private boolean isFiltered(final String elementType) { - return OfficeToken.TABLE_HEADER_COLUMNS.equals(elementType) || - OfficeToken.TABLE_HEADER_ROWS.equals(elementType) || - OfficeToken.TABLE_COLUMNS.equals(elementType); + return OfficeToken.TABLE_HEADER_COLUMNS.equals(elementType) || OfficeToken.TABLE_HEADER_ROWS.equals(elementType) || OfficeToken.TABLE_COLUMNS.equals(elementType); } protected void endOther(final AttributeMap attrs) throws IOException, DataSourceException, ReportProcessingException { - if ( tableRowsStarted && getCurrentRole() == ROLE_TEMPLATE) + if (tableRowsStarted && getCurrentRole() == ROLE_TEMPLATE) { return; } @@ -163,8 +161,7 @@ public class ChartRawReportTarget extends OfficeDocumentReportTarget // if this is the report namespace, write out a table definition .. if (OfficeNamespaces.TABLE_NS.equals(namespace)) { - if (OfficeToken.TABLE.equals(elementType) || - OfficeToken.TABLE_ROWS.equals(elementType)) + if (OfficeToken.TABLE.equals(elementType) || OfficeToken.TABLE_ROWS.equals(elementType)) { return; } @@ -194,16 +191,16 @@ public class ChartRawReportTarget extends OfficeDocumentReportTarget public void processContent(final DataFlags value) throws DataSourceException, ReportProcessingException { - if ( !(tableRowsStarted && getCurrentRole() == ROLE_TEMPLATE)) + if (!(tableRowsStarted && getCurrentRole() == ROLE_TEMPLATE)) { super.processContent(value); - } + } } - + private void processElement(final AttributeMap attrs, final String namespace, final String elementType) throws IOException, ReportProcessingException { - if ( tableRowsStarted && getCurrentRole() == ROLE_TEMPLATE) + if (tableRowsStarted && getCurrentRole() == ROLE_TEMPLATE) { return; } @@ -247,9 +244,10 @@ public class ChartRawReportTarget extends OfficeDocumentReportTarget final XmlWriter xmlWriter = getXmlWriter(); xmlWriter.writeTag(namespace, elementType, attrList, XmlWriter.OPEN); ++closeTags; - // System.out.println("elementType = " + elementType); + // System.out.println("elementType = " + elementType); } // ///////////////////////////////////////////////////////////////////////// + public void processText(final String text) throws DataSourceException, ReportProcessingException { if (inFilterElements && tableCount > 1) @@ -258,6 +256,7 @@ public class ChartRawReportTarget extends OfficeDocumentReportTarget } super.processText(text); } + public void endReport(final ReportStructureRoot report) throws DataSourceException, ReportProcessingException { @@ -281,7 +280,7 @@ public class ChartRawReportTarget extends OfficeDocumentReportTarget } catch (IOException ioe) { - throw new ReportProcessingException("Failed to write settings document",ioe); + throw new ReportProcessingException("Failed to write settings document", ioe); } } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportProcessor.java b/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportProcessor.java index 2723d56..4b4c274 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportProcessor.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportProcessor.java @@ -107,7 +107,7 @@ public class SpreadsheetRawReportProcessor extends AbstractReportProcessor // second run: uses table cell data to output a single uniform table processReportRun(job, reportTarget); } - + protected ReportContext createReportContext(final ReportJob job, final ReportTarget target) { @@ -115,7 +115,7 @@ public class SpreadsheetRawReportProcessor extends AbstractReportProcessor if (context instanceof ReportContextImpl) { final ReportContextImpl impl = (ReportContextImpl) context; - impl.setFormulaContext(new PentahoFormulaContext(impl.getFormulaContext(),job.getConfiguration())); + impl.setFormulaContext(new PentahoFormulaContext(impl.getFormulaContext(), job.getConfiguration())); } return context; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java b/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java index 6625f85..0df861d 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/spreadsheet/SpreadsheetRawReportTarget.java @@ -130,13 +130,13 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget public int compareTo(final Object arg0) { - if ( arg0.equals(this) ) + if (arg0.equals(this)) { return 0; } - if ( arg0 instanceof ColumnBoundary ) + if (arg0 instanceof ColumnBoundary) { - if ( boundary > ((ColumnBoundary) arg0).boundary ) + if (boundary > ((ColumnBoundary) arg0).boundary) { return 1; } @@ -150,11 +150,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget public boolean equals(final Object obj) { - if ( obj instanceof ColumnBoundary ) - { - return ((ColumnBoundary) obj).boundary == boundary; - } - return false; + return obj instanceof ColumnBoundary && ((ColumnBoundary) obj).boundary == boundary; } public int hashCode() @@ -164,7 +160,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } } private String tableBackgroundColor; // null means transparent ... - private static final ColumnBoundary[] EMPTY_COLBOUNDS = new ColumnBoundary[ 0 ]; + private static final ColumnBoundary[] EMPTY_COLBOUNDS = new ColumnBoundary[0]; private boolean elementBoundaryCollectionPass; private boolean oleHandled; private final List columnBoundaryList; @@ -181,14 +177,14 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget final private List rowHeights; public SpreadsheetRawReportTarget(final ReportJob reportJob, - final ResourceManager resourceManager, - final ResourceKey baseResource, - final InputRepository inputRepository, - final OutputRepository outputRepository, - final String target, - final ImageService imageService, - final DataSourceFactory dataSourceFactory) - throws ReportProcessingException + final ResourceManager resourceManager, + final ResourceKey baseResource, + final InputRepository inputRepository, + final OutputRepository outputRepository, + final String target, + final ImageService imageService, + final DataSourceFactory dataSourceFactory) + throws ReportProcessingException { super(reportJob, resourceManager, baseResource, inputRepository, outputRepository, target, imageService, dataSourceFactory); columnBoundaryList = new ArrayList(); @@ -201,9 +197,9 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget public void startOther(final AttributeMap attrs) throws DataSourceException, ReportProcessingException { - if ( ReportTargetUtil.isElementOfType(JFreeReportInfo.REPORT_NAMESPACE, OfficeToken.OBJECT_OLE, attrs) ) + if (ReportTargetUtil.isElementOfType(JFreeReportInfo.REPORT_NAMESPACE, OfficeToken.OBJECT_OLE, attrs)) { - if ( isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE ) + if (isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE) { ole.add(attrs); } @@ -211,24 +207,24 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget return; } final String namespace = ReportTargetUtil.getNamespaceFromAttribute(attrs); - if ( isRepeatingSection() || isFilteredNamespace(namespace) ) + if (isRepeatingSection() || isFilteredNamespace(namespace)) { return; } final String elementType = ReportTargetUtil.getElemenTypeFromAttribute(attrs); - if ( OfficeNamespaces.TEXT_NS.equals(namespace) && OfficeToken.P.equals(elementType) && !paragraphHandled ) + if (OfficeNamespaces.TEXT_NS.equals(namespace) && OfficeToken.P.equals(elementType) && !paragraphHandled) { paragraphFound = true; return; } - if ( OfficeNamespaces.DRAWING_NS.equals(namespace) && OfficeToken.FRAME.equals(elementType) ) + if (OfficeNamespaces.DRAWING_NS.equals(namespace) && OfficeToken.FRAME.equals(elementType)) { - if ( isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE ) + if (isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE) { final LengthCalculator len = new LengthCalculator(); - for ( int i = 0; i < rowHeights.size(); i++ ) + for (int i = 0; i < rowHeights.size(); i++) { len.add((CSSNumericValue) rowHeights.get(i)); // val += ((CSSNumericValue)rowHeights.get(i)).getValue(); @@ -239,7 +235,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget rowHeights.add(currentRowHeight); attrs.setAttribute(OfficeNamespaces.DRAWING_NS, "z-index", String.valueOf(shapes.size())); final String y = (String) attrs.getAttribute(OfficeNamespaces.SVG_NS, "y"); - if ( y != null ) + if (y != null) { len.add(parseLength(y)); final CSSNumericValue currentY = len.getResult(); @@ -249,9 +245,9 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } return; } - if ( oleHandled ) + if (oleHandled) { - if ( isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE ) + if (isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE) { ole.add(attrs); } @@ -259,14 +255,14 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } // if this is the report namespace, write out a table definition .. - if ( OfficeNamespaces.TABLE_NS.equals(namespace) && OfficeToken.TABLE.equals(elementType) ) + if (OfficeNamespaces.TABLE_NS.equals(namespace) && OfficeToken.TABLE.equals(elementType)) { // whenever we see a new table, we increment our tableCounter // this is used to keep tracked of the boundary conditions per table tableCounter++; } - if ( isElementBoundaryCollectionPass() ) + if (isElementBoundaryCollectionPass()) { collectBoundaryForElement(attrs); } @@ -277,19 +273,16 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget { processElement(attrs, namespace, elementType); } - catch ( IOException e ) + catch (IOException e) { - throw new ReportProcessingException("Failed", e); + throw new ReportProcessingException(OfficeDocumentReportTarget.FAILED, e); } } } protected void startReportSection(final AttributeMap attrs, final int role) throws IOException, DataSourceException, ReportProcessingException { - if ( (role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || - role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER ) && - (!PageSection.isPrintWithReportHeader(attrs) || - !PageSection.isPrintWithReportFooter(attrs)) ) + if ((role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) && (!PageSection.isPrintWithReportHeader(attrs) || !PageSection.isPrintWithReportFooter(attrs))) { startBuffering(new OfficeStylesCollection(), true); } @@ -301,10 +294,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget protected void endReportSection(final AttributeMap attrs, final int role) throws IOException, DataSourceException, ReportProcessingException { - if ( (role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || - role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) && - (!PageSection.isPrintWithReportHeader(attrs) || - !PageSection.isPrintWithReportFooter(attrs)) ) + if ((role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) && (!PageSection.isPrintWithReportHeader(attrs) || !PageSection.isPrintWithReportFooter(attrs))) { finishBuffering(); } @@ -316,7 +306,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget private void handleParagraph() { - if ( paragraphFound ) + if (paragraphFound) { try { @@ -325,7 +315,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget paragraphHandled = true; paragraphFound = false; } - catch ( IOException ex ) + catch (IOException ex) { LOGGER.error("ReportProcessing failed", ex); } @@ -333,25 +323,25 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } private void processElement(final AttributeMap attrs, final String namespace, final String elementType) - throws IOException, ReportProcessingException + throws IOException, ReportProcessingException { final XmlWriter xmlWriter = getXmlWriter(); - if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE, attrs) ) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE, attrs)) { // a new table means we must clear our "calculated" table boundary array cache boundariesForTableArray = null; final String tableStyle = (String) attrs.getAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME); - if ( tableStyle == null ) + if (tableStyle == null) { tableBackgroundColor = null; } else { final Object raw = StyleUtilities.queryStyle(getPredefinedStylesCollection(), OfficeToken.TABLE, tableStyle, - "table-properties", OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR); - if ( raw == null || TRANSPARENT.equals(raw) ) + "table-properties", OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR); + if (raw == null || TRANSPARENT.equals(raw)) { tableBackgroundColor = null; } @@ -363,29 +353,28 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget return; } - if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMN, attrs) || - ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMNS, attrs) ) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMN, attrs) || ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMNS, attrs)) { return; } // covered-table-cell elements may appear in the input from row or column spans. In the event that we hit a // column-span we simply ignore these elements because we are going to adjust the span to fit the uniform table. - if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.COVERED_TABLE_CELL, attrs) ) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.COVERED_TABLE_CELL, attrs)) { - if ( columnSpanCounter > 0 ) + if (columnSpanCounter > 0) { columnSpanCounter--; } - if ( columnSpanCounter == 0 ) + if (columnSpanCounter == 0) { // if we weren't expecting a covered-table-cell, let's use it, it's probably from a row-span columnCounter++; final int span = getColumnSpanForCell(tableCounter, columnCounter, 1); // use the calculated span for the column in the uniform table to create any additional covered-table-cell // elements - for ( int i = 0; i < span; i++ ) + for (int i = 0; i < span; i++) { xmlWriter.writeTag(namespace, OfficeToken.COVERED_TABLE_CELL, null, XmlWriter.CLOSE); } @@ -393,17 +382,17 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget return; } - if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_ROW, attrs) ) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_ROW, attrs)) { // a new row means our column counter gets reset columnCounter = 0; // Lets make sure the color of the table is ok .. - if ( tableBackgroundColor != null ) + if (tableBackgroundColor != null) { final String styleName = (String) attrs.getAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME); final OfficeStyle style = deriveStyle(OfficeToken.TABLE_ROW, styleName); Element tableRowProperties = style.getTableRowProperties(); - if ( tableRowProperties == null ) + if (tableRowProperties == null) { tableRowProperties = new Section(); tableRowProperties.setNamespace(OfficeNamespaces.STYLE_NS); @@ -414,7 +403,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget else { final Object oldValue = tableRowProperties.getAttribute(OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR); - if ( oldValue == null || TRANSPARENT.equals(oldValue) ) + if (oldValue == null || TRANSPARENT.equals(oldValue)) { tableRowProperties.setAttribute(OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR, tableBackgroundColor); } @@ -422,33 +411,33 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget attrs.setAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME, style.getStyleName()); } } - else if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_CELL, attrs) ) + else if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_CELL, attrs)) { columnCounter++; final String styleName = (String) attrs.getAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME); - if ( styleName != null ) + if (styleName != null) { final OfficeStyle cellStyle = getPredefinedStylesCollection().getStyle(OfficeToken.TABLE_CELL, styleName); - if ( cellStyle != null ) + if (cellStyle != null) { final Section textProperties = (Section) cellStyle.getTextProperties(); - if ( textProperties != null ) + if (textProperties != null) { - for ( String i : FOPROPS ) + for (String i : FOPROPS) { textProperties.setAttribute(OfficeNamespaces.FO_NS, i, null); } textProperties.setAttribute(OfficeNamespaces.TEXT_NS, "display", null); - for ( String i : STYLEPROPS ) + for (String i : STYLEPROPS) { textProperties.setAttribute(OfficeNamespaces.STYLE_NS, i, null); } } final Section props = (Section) cellStyle.getTableCellProperties(); - if ( props != null ) + if (props != null) { final Object raw = props.getAttribute(OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR); - if ( TRANSPARENT.equals(raw) ) + if (TRANSPARENT.equals(raw)) { props.setAttribute(OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR, null); // cellStyle.removeNode(props); @@ -458,15 +447,15 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget attrs.setAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME, styleName); } - final String numColSpanStr = (String) attrs.getAttribute(namespace,NUMBERCOLUMNSSPANNED); + final String numColSpanStr = (String) attrs.getAttribute(namespace, NUMBERCOLUMNSSPANNED); int initialColumnSpan = columnSpanCounter = 1; - if ( numColSpanStr != null ) + if (numColSpanStr != null) { initialColumnSpan = Integer.parseInt(numColSpanStr); columnSpanCounter = initialColumnSpan; } final int span = getColumnSpanForCell(tableCounter, columnCounter, initialColumnSpan); - if ( initialColumnSpan > 1 ) + if (initialColumnSpan > 1) { // add the initial column span to our column counter index (subtract 1, since it is counted by default) columnCounter += initialColumnSpan - 1; @@ -486,9 +475,9 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget // } // there's no point to create number-columns-spanned attributes if we only span 1 column - if ( span > 1 ) + if (span > 1) { - attrs.setAttribute(namespace,NUMBERCOLUMNSSPANNED, "" + span); + attrs.setAttribute(namespace, NUMBERCOLUMNSSPANNED, "" + span); currentSpan = span; } // we must also generate "covered-table-cell" elements for each column spanned @@ -506,22 +495,22 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget private void collectBoundaryForElement(final AttributeMap attrs) { - if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMNS, attrs) ) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMNS, attrs)) { // A table row resets the column counter. resetCurrentRowBoundaryMarker(); } - else if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMN, attrs) ) + else if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_COLUMN, attrs)) { final String styleName = (String) attrs.getAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME); - if ( styleName == null ) + if (styleName == null) { // This should not happen, but if it does, we will ignore that cell. return; } final OfficeStyle style = getPredefinedStylesCollection().getStyle(OfficeToken.TABLE_COLUMN, styleName); - if ( style == null ) + if (style == null) { // Now this is very bad. It means that there is no style defined with the given name. return; @@ -535,7 +524,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget ColumnBoundary currentRowBoundary = new ColumnBoundary(getCurrentRowBoundaryMarker()); final List columnBoundaryList_ = getColumnBoundaryList(); final int idx = columnBoundaryList_.indexOf(currentRowBoundary); - if ( idx == -1 ) + if (idx == -1) { columnBoundaryList_.add(currentRowBoundary); } @@ -549,9 +538,9 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget private String getUnitsOfMeasure(final String str) { - if ( unitsOfMeasure == null || "".equals(unitsOfMeasure) ) + if (unitsOfMeasure == null || "".equals(unitsOfMeasure)) { - if ( str == null || "".equals(str) ) + if (str == null || "".equals(str)) { unitsOfMeasure = "cm"; return unitsOfMeasure; @@ -559,10 +548,10 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget // build units of measure, set it int i = str.length() - 1; - for ( ; i >= 0; i-- ) + for (; i >= 0; i--) { final char c = str.charAt(i); - if ( Character.isDigit(c) || c == '.' || c == ',' ) + if (Character.isDigit(c) || c == '.' || c == ',') { break; } @@ -574,7 +563,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget private void createTableShapes() throws ReportProcessingException { - if ( !shapes.isEmpty() ) + if (!shapes.isEmpty()) { try { @@ -587,7 +576,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget xmlWriter.writeTag(OfficeNamespaces.TABLE_NS, OfficeToken.SHAPES, null, XmlWriterSupport.OPEN); - for ( int i = 0; i < shapes.size(); i++ ) + for (int i = 0; i < shapes.size(); i++) { final AttributeMap attrs = (AttributeMap) shapes.get(i); final AttributeList attrList = buildAttributeList(attrs); @@ -599,9 +588,9 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } xmlWriter.writeCloseTag(); } - catch ( IOException e ) + catch (IOException e) { - throw new ReportProcessingException("Failed", e); + throw new ReportProcessingException(OfficeDocumentReportTarget.FAILED, e); } } } @@ -622,11 +611,11 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget // blow away current column styles // start processing at i=1 because we added a boundary for "0" which is virtual final ColumnBoundary[] cba = getSortedColumnBoundaryArray(); - for ( int i = 1; i < cba.length; i++ ) + for (int i = 1; i < cba.length; i++) { final ColumnBoundary cb = cba[i]; float columnWidth = cb.getBoundary(); - if ( i > 1 ) + if (i > 1) { columnWidth -= cba[i - 1].getBoundary(); } @@ -644,54 +633,51 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } xmlWriter.writeCloseTag(); } - catch ( IOException e ) + catch (IOException e) { - throw new ReportProcessingException("Failed", e); + throw new ReportProcessingException(OfficeDocumentReportTarget.FAILED, e); } } protected void endOther(final AttributeMap attrs) throws DataSourceException, ReportProcessingException { - if ( ReportTargetUtil.isElementOfType(JFreeReportInfo.REPORT_NAMESPACE, OfficeToken.OBJECT_OLE, attrs) || oleHandled ) + if (ReportTargetUtil.isElementOfType(JFreeReportInfo.REPORT_NAMESPACE, OfficeToken.OBJECT_OLE, attrs) || oleHandled) { oleHandled = false; return; } - if ( ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_ROW, attrs) && isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE ) + if (ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_ROW, attrs) && isElementBoundaryCollectionPass() && getCurrentRole() != ROLE_TEMPLATE) { final String styleName = (String) attrs.getAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME); rowHeights.add(computeRowHeight(styleName)); } - if ( isRepeatingSection() || isElementBoundaryCollectionPass() ) + if (isRepeatingSection() || isElementBoundaryCollectionPass()) { return; } final String namespace = ReportTargetUtil.getNamespaceFromAttribute(attrs); - if ( isFilteredNamespace(namespace) ) + if (isFilteredNamespace(namespace)) { return; } final String elementType = ReportTargetUtil.getElemenTypeFromAttribute(attrs); - if ( OfficeNamespaces.DRAWING_NS.equals(namespace) && OfficeToken.FRAME.equals(elementType) ) + if (OfficeNamespaces.DRAWING_NS.equals(namespace) && OfficeToken.FRAME.equals(elementType)) { return; } // if this is the report namespace, write out a table definition .. - if ( OfficeNamespaces.TABLE_NS.equals(namespace) && (OfficeToken.TABLE.equals(elementType) || - OfficeToken.COVERED_TABLE_CELL.equals(elementType) || - OfficeToken.TABLE_COLUMN.equals(elementType) || - OfficeToken.TABLE_COLUMNS.equals(elementType)) ) + if (OfficeNamespaces.TABLE_NS.equals(namespace) && (OfficeToken.TABLE.equals(elementType) || OfficeToken.COVERED_TABLE_CELL.equals(elementType) || OfficeToken.TABLE_COLUMN.equals(elementType) || OfficeToken.TABLE_COLUMNS.equals(elementType))) { return; } - if ( !paragraphHandled && OfficeNamespaces.TEXT_NS.equals(namespace) && OfficeToken.P.equals(elementType) ) + if (!paragraphHandled && OfficeNamespaces.TEXT_NS.equals(namespace) && OfficeToken.P.equals(elementType)) { - if ( !paragraphHandled ) + if (!paragraphHandled) { return; } @@ -706,15 +692,15 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget // 'covered-table-cell' elements we need to generate generateCoveredTableCells(attrs); } - catch ( IOException e ) + catch (IOException e) { - throw new ReportProcessingException("Failed", e); + throw new ReportProcessingException(OfficeDocumentReportTarget.FAILED, e); } } private void generateCoveredTableCells(final AttributeMap attrs) throws IOException { - if ( !ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_CELL, attrs) ) + if (!ReportTargetUtil.isElementOfType(OfficeNamespaces.TABLE_NS, OfficeToken.TABLE_CELL, attrs)) { return; } @@ -725,7 +711,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget // final int span = TextUtilities.parseInt((String) attribute, 0); final int span = currentSpan; currentSpan = 0; - for ( int i = 1; i < span; i++ ) + for (int i = 1; i < span; i++) { xmlWriter.writeTag(OfficeNamespaces.TABLE_NS, OfficeToken.COVERED_TABLE_CELL, null, XmlWriter.CLOSE); } @@ -739,7 +725,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget // ///////////////////////////////////////////////////////////////////////// public void processText(final String text) throws DataSourceException, ReportProcessingException { - if ( !(isRepeatingSection() || isElementBoundaryCollectionPass()) ) + if (!(isRepeatingSection() || isElementBoundaryCollectionPass())) { handleParagraph(); super.processText(text); @@ -748,7 +734,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget public void processContent(final DataFlags value) throws DataSourceException, ReportProcessingException { - if ( !(isRepeatingSection() || isElementBoundaryCollectionPass()) ) + if (!(isRepeatingSection() || isElementBoundaryCollectionPass())) { handleParagraph(); super.processContent(value); @@ -761,9 +747,9 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } protected void startContent(final AttributeMap attrs) throws IOException, DataSourceException, - ReportProcessingException + ReportProcessingException { - if ( !isElementBoundaryCollectionPass() ) + if (!isElementBoundaryCollectionPass()) { final XmlWriter xmlWriter = getXmlWriter(); xmlWriter.writeTag(OfficeNamespaces.OFFICE_NS, getStartContent(), null, XmlWriterSupport.OPEN); @@ -788,7 +774,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget { final OfficeStylesCollection predefStyles = getPredefinedStylesCollection(); final OfficeStyles commonStyles = predefStyles.getAutomaticStyles(); - if ( !commonStyles.containsStyle(OfficeToken.TABLE, "Initial_Table") ) + if (!commonStyles.containsStyle(OfficeToken.TABLE, "Initial_Table")) { final String masterPageName = createMasterPage(); @@ -797,7 +783,7 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget tableStyle.setStyleName("Initial_Table"); tableStyle.setAttribute(OfficeNamespaces.STYLE_NS, "master-page-name", masterPageName); final Element tableProperties = produceFirstChild(tableStyle, OfficeNamespaces.STYLE_NS, "table-properties"); - tableProperties.setAttribute(OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR,TRANSPARENT); + tableProperties.setAttribute(OfficeNamespaces.FO_NS, OfficeToken.BACKGROUND_COLOR, TRANSPARENT); commonStyles.addStyle(tableStyle); } return "Initial_Table"; @@ -808,13 +794,13 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget final OfficeStylesCollection predefStyles = getPredefinedStylesCollection(); final MasterPageFactory masterPageFactory = new MasterPageFactory(predefStyles.getMasterStyles()); final OfficeMasterPage masterPage; - if ( !masterPageFactory.containsMasterPage("Standard", null, null) ) + if (!masterPageFactory.containsMasterPage("Standard", null, null)) { masterPage = masterPageFactory.createMasterPage("Standard", null, null); final CSSNumericValue zeroLength = CSSNumericValue.createValue(CSSNumericType.CM, 0); final String pageLayoutTemplate = masterPage.getPageLayout(); - if ( pageLayoutTemplate == null ) + if (pageLayoutTemplate == null) { // there is no pagelayout. Create one .. final String derivedLayout = masterPageFactory.createPageStyle(getGlobalStylesCollection().getAutomaticStyles(), zeroLength, zeroLength); @@ -823,8 +809,8 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget else { final String derivedLayout = masterPageFactory.derivePageStyle(pageLayoutTemplate, - getPredefinedStylesCollection().getAutomaticStyles(), - getGlobalStylesCollection().getAutomaticStyles(), zeroLength, zeroLength); + getPredefinedStylesCollection().getAutomaticStyles(), + getGlobalStylesCollection().getAutomaticStyles(), zeroLength, zeroLength); masterPage.setPageLayout(derivedLayout); } @@ -840,10 +826,10 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget } protected void endContent(final AttributeMap attrs) throws IOException, DataSourceException, - ReportProcessingException + ReportProcessingException { // todo - if ( !isElementBoundaryCollectionPass() ) + if (!isElementBoundaryCollectionPass()) { final XmlWriter xmlWriter = getXmlWriter(); xmlWriter.writeCloseTag(); @@ -871,10 +857,10 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget private ColumnBoundary[] getSortedColumnBoundaryArray() { - if ( sortedBoundaryArray == null ) + if (sortedBoundaryArray == null) { getColumnBoundaryList().add(new ColumnBoundary(0)); - sortedBoundaryArray = (ColumnBoundary[]) getColumnBoundaryList().toArray(EMPTY_COLBOUNDS); + sortedBoundaryArray = (ColumnBoundary[]) getColumnBoundaryList().toArray(new ColumnBoundary[getColumnBoundaryList().size()]); Arrays.sort(sortedBoundaryArray); } return sortedBoundaryArray; @@ -907,19 +893,19 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget private ColumnBoundary[] getBoundariesForTable(final int table) { - if ( boundariesForTableArray == null ) + if (boundariesForTableArray == null) { final List boundariesForTable = new ArrayList(); final List boundaryList = getColumnBoundaryList(); - for ( int i = 0; i < boundaryList.size(); i++ ) + for (int i = 0; i < boundaryList.size(); i++) { final ColumnBoundary b = (ColumnBoundary) boundaryList.get(i); - if ( b.isContainedByTable(table) ) + if (b.isContainedByTable(table)) { boundariesForTable.add(b); } } - boundariesForTableArray = (ColumnBoundary[]) boundariesForTable.toArray(EMPTY_COLBOUNDS); + boundariesForTableArray = (ColumnBoundary[]) boundariesForTable.toArray(new ColumnBoundary[boundariesForTable.size()]); Arrays.sort(boundariesForTableArray); } return boundariesForTableArray; @@ -935,12 +921,12 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget float cellBoundary = tableBoundaries[col - 1].getBoundary(); float cellWidth = tableBoundaries[col - 1].getBoundary(); - if ( col > 1 ) + if (col > 1) { cellWidth = cellWidth - tableBoundaries[col - 2].getBoundary(); } - if ( initialColumnSpan > 1 ) + if (initialColumnSpan > 1) { // ok we've got some additional spanning specified on the input final int index = (col - 1) + (initialColumnSpan - 1); @@ -950,21 +936,21 @@ public class SpreadsheetRawReportTarget extends OfficeDocumentReportTarget int beginBoundaryIndex = 0; int endBoundaryIndex = globalBoundaries.length - 1; - for ( int i = 0; i < globalBoundaries.length; i++ ) + for (int i = 0; i < globalBoundaries.length; i++) { // find beginning boundary - if ( globalBoundaries[i].getBoundary() <= cellBoundary - cellWidth ) + if (globalBoundaries[i].getBoundary() <= cellBoundary - cellWidth) { beginBoundaryIndex = i; } - if ( globalBoundaries[i].getBoundary() <= cellBoundary ) + if (globalBoundaries[i].getBoundary() <= cellBoundary) { endBoundaryIndex = i; } } final int span = endBoundaryIndex - beginBoundaryIndex; // span will be zero for the first column, so we adjust it to 1 - if ( span == 0 ) + if (span == 0) { return 1; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/text/MasterPageFactory.java b/reportbuilder/java/com/sun/star/report/pentaho/output/text/MasterPageFactory.java index 8b56063..b319e33 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/text/MasterPageFactory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/text/MasterPageFactory.java @@ -178,13 +178,9 @@ public class MasterPageFactory { return false; } - if (templateName != null ? !templateName.equals( - key.templateName) : key.templateName != null) - { - return false; - } + return !(templateName != null ? !templateName.equals( + key.templateName) : key.templateName != null); - return true; } public int hashCode() @@ -196,7 +192,6 @@ public class MasterPageFactory return result; } } - // todo: Patch the page-layout ... private static final String DEFAULT_PAGE_NAME = "Default"; private final OfficeMasterStyles predefinedStyles; @@ -265,7 +260,7 @@ public class MasterPageFactory } catch (CloneNotSupportedException cne) { - throw new IllegalStateException("Implementation error: Unable to derive page",cne); + throw new IllegalStateException("Implementation error: Unable to derive page", cne); } } @@ -403,7 +398,7 @@ public class MasterPageFactory } catch (CloneNotSupportedException e) { - throw new IllegalStateException("Clone failed.",e); + throw new IllegalStateException("Clone failed.", e); } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/text/PageContext.java b/reportbuilder/java/com/sun/star/report/pentaho/output/text/PageContext.java index 01d8a9f..3fcc257 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/text/PageContext.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/text/PageContext.java @@ -75,7 +75,7 @@ public class PageContext // TODO: IS this code correct? Why not columnCount = pc.getColumnCount(); ? if (columnCount != null) { - return columnCount.intValue(); + return columnCount; } pc = pc.getParent(); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportProcessor.java b/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportProcessor.java index 730179d..0a29615 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportProcessor.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportProcessor.java @@ -108,7 +108,7 @@ public class TextRawReportProcessor extends SinglePassReportProcessor if (context instanceof ReportContextImpl) { final ReportContextImpl impl = (ReportContextImpl) context; - impl.setFormulaContext(new PentahoFormulaContext(impl.getFormulaContext(),job.getConfiguration())); + impl.setFormulaContext(new PentahoFormulaContext(impl.getFormulaContext(), job.getConfiguration())); } return context; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportTarget.java b/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportTarget.java index 0aaded5..4355d58 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportTarget.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/output/text/TextRawReportTarget.java @@ -100,7 +100,6 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget private static final int CP_SETUP = 0; private static final int CP_FIRST_TABLE = 1; private static final int CP_NEXT_TABLE = 2; - // This is the initial state of the detail-band processing. It states, that we are now waiting for a // detail-band to be printed. private static final int DETAIL_SECTION_WAIT = 0; @@ -166,11 +165,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget private boolean isResetPageNumber() { - if (pageBreakDefinition == null) - { - return false; - } - return pageBreakDefinition.isResetPageNumber(); + return pageBreakDefinition != null && pageBreakDefinition.isResetPageNumber(); } /** @@ -198,14 +193,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget } final boolean keepWithNext; - if (keepTogetherState == PageContext.KEEP_TOGETHER_FIRST_DETAIL) - { - keepWithNext = (detailBandProcessingState == DETAIL_SECTION_WAIT); - } - else - { - keepWithNext = false; - } + keepWithNext = keepTogetherState == PageContext.KEEP_TOGETHER_FIRST_DETAIL && (detailBandProcessingState == DETAIL_SECTION_WAIT); return keepWithNext; } @@ -213,15 +201,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget { final Object forceNewPage = attrs.getAttribute(OfficeNamespaces.OOREPORT_NS, "force-new-page"); - if ("after-section".equals(forceNewPage)) - { - return true; - } - if ("before-after-section".equals(forceNewPage)) - { - return true; - } - return false; + return "after-section".equals(forceNewPage) || "before-after-section".equals(forceNewPage); } private boolean isSectionPagebreakBefore(final AttributeMap attrs) @@ -268,8 +248,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget } final String masterPageName; - if (currentMasterPage == null || - !masterPageFactory.containsMasterPage(STANDARD, activePageHeader, activePageFooter)) + if (currentMasterPage == null || !masterPageFactory.containsMasterPage(STANDARD, activePageHeader, activePageFooter)) { final CSSNumericValue headerSize = context.getAllHeaderSize(); @@ -325,8 +304,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget // report header, then this implies that we have to insert a manual // pagebreak at the end of the section. - if ((!printHeader && context.getHeader() != null) || - (!printFooter && context.getFooter() != null)) + if ((!printHeader && context.getHeader() != null) || (!printFooter && context.getFooter() != null)) { setPagebreakDefinition(new PageBreakDefinition(isResetPageNumber())); } @@ -577,15 +555,13 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget } else if (isFilteredNamespace(namespace)) { - throw new IllegalStateException("This element should be hidden: " + - namespace + ", " + elementType); + throw new IllegalStateException("This element should be hidden: " + namespace + ", " + elementType); } if (isTableMergeActive() && detailBandProcessingState == DETAIL_SECTION_OTHER_PRINTED && ObjectUtilities.equal(OfficeNamespaces.TABLE_NS, namespace) && ObjectUtilities.equal(OfficeToken.TABLE_COLUMNS, elementType)) { // Skip the columns section if the tables get merged.. startBuffering(getStylesCollection(), true); - return; } else { @@ -624,8 +600,8 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget final String varType = (String) attrs.getAttribute(OfficeNamespaces.OFFICE_NS, FormatValueUtility.VALUE_TYPE); final String newVarName = variablesDeclarations.produceVariable(varName, varType); attrs.setAttribute(OfficeNamespaces.TEXT_NS, NAME, newVarName); - // this one must not be written, as the DTD does not declare it. - // attrs.setAttribute(OfficeNamespaces.OFFICE_NS, FormatValueUtility.VALUE_TYPE, null); + // this one must not be written, as the DTD does not declare it. + // attrs.setAttribute(OfficeNamespaces.OFFICE_NS, FormatValueUtility.VALUE_TYPE, null); } } @@ -724,7 +700,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget graphicProperties.setAttribute(OfficeNamespaces.STYLE_NS, "flow-with-text", "false"); graphicProperties.setAttribute(OfficeNamespaces.DRAWING_NS, "ole-draw-aspect", "1"); - // attrs.setAttribute(OfficeNamespaces.DRAWING_NS, OfficeToken.STYLE_NAME, predefAutoStyle.getStyleName()); + // attrs.setAttribute(OfficeNamespaces.DRAWING_NS, OfficeToken.STYLE_NAME, predefAutoStyle.getStyleName()); } } @@ -734,11 +710,10 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget final AttributeList attrList = buildAttributeList(attrs); xmlWriter.writeTag(namespace, elementType, attrList, XmlWriterSupport.OPEN); - if ( tableLayoutConfig != TABLE_LAYOUT_VARIABLES_PARAGRAPH - && variables != null + if (tableLayoutConfig != TABLE_LAYOUT_VARIABLES_PARAGRAPH + && variables != null && !isRepeatingSection() - && ReportTargetUtil.isElementOfType(OfficeNamespaces.TEXT_NS, OfficeToken.P, attrs) - ) + && ReportTargetUtil.isElementOfType(OfficeNamespaces.TEXT_NS, OfficeToken.P, attrs)) { //LOGGER.debug("Variables-Section in existing cell " + variables); xmlWriter.writeText(variables); @@ -785,7 +760,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget } else { - expectedTableRowCount = trc.intValue(); + expectedTableRowCount = trc; } if (isSectionPagebreakBefore(attrs)) @@ -822,16 +797,15 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget // If we have a manual pagebreak, then activate the current master-page again. masterPageName = currentMasterPage.getStyleName(); } - // But we skip this (and therefore the resulting pagebreak) if there is no manual break - // and no other condition that would force an break. + // But we skip this (and therefore the resulting pagebreak) if there is no manual break + // and no other condition that would force an break. } else if (currentRole == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER || currentRole == OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER) { breakDefinition = null; - // no pagebreaks .. + // no pagebreaks .. } - else if (currentMasterPage == null || - isPagebreakPending()) + else if (currentMasterPage == null || isPagebreakPending()) { // Must be the first table, as we have no master-page yet. masterPageName = createMasterPage(true, true); @@ -848,9 +822,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget breakDefinition = null; } } - else if (isPagebreakPending() && - currentRole != OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER && - currentRole != OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER) + else if (isPagebreakPending() && currentRole != OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_HEADER && currentRole != OfficeDocumentReportTarget.ROLE_REPEATING_GROUP_FOOTER) { // Derive an automatic style for the pagebreak. // LOGGER.debug("Manual pagebreak (within the section): " + getCurrentRole()); @@ -869,8 +841,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget } final XmlWriter xmlWriter = getXmlWriter(); - if (detailBandProcessingState == DETAIL_SECTION_OTHER_PRINTED && - masterPageName != null) + if (detailBandProcessingState == DETAIL_SECTION_OTHER_PRINTED && masterPageName != null) { // close the last table-tag, we will open a new one xmlWriter.writeCloseTag(); @@ -903,7 +874,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget xmlWriter.writeTag(OfficeNamespaces.TEXT_NS, OfficeToken.P, OfficeToken.STYLE_NAME, style.getStyleName(), XmlWriterSupport.OPEN); masterPageName = null; - //breakDefinition = null; + //breakDefinition = null; } else if (isColumnBreakPending()) { @@ -935,19 +906,10 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget final boolean keepWithNext = isKeepTableWithNext(); final boolean localKeepTogether = OfficeToken.TRUE.equals(attrs.getAttribute(OfficeNamespaces.OOREPORT_NS, KEEP_TOGETHER)); final boolean tableMergeActive = isTableMergeActive(); - if (tableMergeActive) - { - this.sectionKeepTogether = localKeepTogether; - } - else - { - this.sectionKeepTogether = false; - - } + this.sectionKeepTogether = tableMergeActive && localKeepTogether; // Check, whether we have a reason to derive a style... - if (masterPageName != null || - (!tableMergeActive && (localKeepTogether || keepWithNext)) || isColumnBreakPending()) + if (masterPageName != null || (!tableMergeActive && (localKeepTogether || keepWithNext)) || isColumnBreakPending()) { final String styleName = (String) attrs.getAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME); final OfficeStyle style = deriveStyle("table", styleName); @@ -1009,8 +971,8 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget } } attrs.setAttribute(OfficeNamespaces.TABLE_NS, OfficeToken.STYLE_NAME, style.getStyleName()); - // no need to copy the styles, this was done while deriving the - // style .. + // no need to copy the styles, this was done while deriving the + // style .. } else { @@ -1074,8 +1036,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget private boolean isTableMergeActive() { - return getCurrentRole() == ROLE_DETAIL && - tableLayoutConfig == TABLE_LAYOUT_SINGLE_DETAIL_TABLE; + return getCurrentRole() == ROLE_DETAIL && tableLayoutConfig == TABLE_LAYOUT_SINGLE_DETAIL_TABLE; } private void openSection() @@ -1086,9 +1047,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget // repeating sections have other ways of defining columns .. return; } - if (getCurrentRole() == ROLE_TEMPLATE || - getCurrentRole() == ROLE_SPREADSHEET_PAGE_HEADER || - getCurrentRole() == ROLE_SPREADSHEET_PAGE_FOOTER) + if (getCurrentRole() == ROLE_TEMPLATE || getCurrentRole() == ROLE_SPREADSHEET_PAGE_HEADER || getCurrentRole() == ROLE_SPREADSHEET_PAGE_FOOTER) { // the template section would break the multi-column stuff and we dont open up sections there // anyway .. @@ -1100,7 +1059,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget if (columnCount != null && !pageContext.isSectionOpen()) { final AttributeList attrs = new AttributeList(); - attrs.setAttribute(OfficeNamespaces.TEXT_NS, OfficeToken.STYLE_NAME, generateSectionStyle(columnCount.intValue())); + attrs.setAttribute(OfficeNamespaces.TEXT_NS, OfficeToken.STYLE_NAME, generateSectionStyle(columnCount)); attrs.setAttribute(OfficeNamespaces.TEXT_NS, NAME, sectionNames.generateName("Section")); getXmlWriter().writeTag(OfficeNamespaces.TEXT_NS, "section", attrs, XmlWriterSupport.OPEN); @@ -1113,9 +1072,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget throws IOException, DataSourceException, ReportProcessingException { sectionHeight = new LengthCalculator(); - if (role == OfficeDocumentReportTarget.ROLE_TEMPLATE || - role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || - role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) + if (role == OfficeDocumentReportTarget.ROLE_TEMPLATE || role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) { // Start buffering with an dummy styles-collection, so that the global styles dont get polluted .. startBuffering(new OfficeStylesCollection(), true); @@ -1241,9 +1198,7 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget protected void endReportSection(final AttributeMap attrs, final int role) throws IOException, DataSourceException, ReportProcessingException { - if (role == ROLE_TEMPLATE || - role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || - role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) + if (role == ROLE_TEMPLATE || role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_HEADER || role == OfficeDocumentReportTarget.ROLE_SPREADSHEET_PAGE_FOOTER) { finishBuffering(); return; @@ -1369,16 +1324,13 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget return; } - if (isInternalNS && (ObjectUtilities.equal(OfficeToken.IMAGE, elementType) || - ObjectUtilities.equal(OfficeToken.OBJECT_OLE, elementType))) + if (isInternalNS && (ObjectUtilities.equal(OfficeToken.IMAGE, elementType) || ObjectUtilities.equal(OfficeToken.OBJECT_OLE, elementType))) { return; } final XmlWriter xmlWriter = getXmlWriter(); - if (tableLayoutConfig != TABLE_LAYOUT_VARIABLES_PARAGRAPH && - isTableNs && ObjectUtilities.equal(OfficeToken.TABLE_CELL, elementType) && - !isRepeatingSection() ) + if (tableLayoutConfig != TABLE_LAYOUT_VARIABLES_PARAGRAPH && isTableNs && ObjectUtilities.equal(OfficeToken.TABLE_CELL, elementType) && !isRepeatingSection()) { if (variables != null) { @@ -1403,19 +1355,19 @@ public class TextRawReportTarget extends OfficeDocumentReportTarget xmlWriter.writeCloseTag(); variables = null; } - /** - // Only generate the empty paragraph, if we have to add the keep-together .. - else if (cellEmpty && expectedTableRowCount > 0 && - sectionKeepTogether && !firstCellSeen) - { - // we have no variables .. - StyleUtilities.copyStyle(OfficeToken.PARAGRAPH, - TextRawReportTarget.VARIABLES_HIDDEN_STYLE_WITH_KEEPWNEXT, getStylesCollection(), - getGlobalStylesCollection(), getPredefinedStylesCollection()); - xmlWriter.writeTag(OfficeNamespaces.TEXT_NS, OfficeToken.P, OfficeToken.STYLE_NAME, - TextRawReportTarget.VARIABLES_HIDDEN_STYLE_WITH_KEEPWNEXT, XmlWriterSupport.CLOSE); - } - */ + /** + // Only generate the empty paragraph, if we have to add the keep-together .. + else if (cellEmpty && expectedTableRowCount > 0 && + sectionKeepTogether && !firstCellSeen) + { + // we have no variables .. + StyleUtilities.copyStyle(OfficeToken.PARAGRAPH, + TextRawReportTarget.VARIABLES_HIDDEN_STYLE_WITH_KEEPWNEXT, getStylesCollection(), + getGlobalStylesCollection(), getPredefinedStylesCollection()); + xmlWriter.writeTag(OfficeNamespaces.TEXT_NS, OfficeToken.P, OfficeToken.STYLE_NAME, + TextRawReportTarget.VARIABLES_HIDDEN_STYLE_WITH_KEEPWNEXT, XmlWriterSupport.CLOSE); + } + */ } if (isTableNs && (ObjectUtilities.equal(OfficeToken.TABLE_CELL, elementType) || ObjectUtilities.equal(OfficeToken.COVERED_TABLE_CELL, elementType))) diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/AttributeSpecification.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/AttributeSpecification.java index 39b440c..b00c611 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/AttributeSpecification.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/AttributeSpecification.java @@ -27,35 +27,34 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser; public final class AttributeSpecification { - private final String namespaceUrl; - private final String attributName; - private final String mapperImplementation; - public AttributeSpecification (String namespaceUrl, String attributName, String mapperImplementation) - { - this.namespaceUrl = namespaceUrl; - this.attributName = attributName; - this.mapperImplementation = mapperImplementation; - } + private final String namespaceUrl; + private final String attributName; + private final String mapperImplementation; + + public AttributeSpecification(String namespaceUrl, String attributName, String mapperImplementation) + { + this.namespaceUrl = namespaceUrl; + this.attributName = attributName; + this.mapperImplementation = mapperImplementation; + } - public String getAttributName () - { - return attributName; - } + public String getAttributName() + { + return attributName; + } - public String getMapperImplementation () - { - return mapperImplementation; - } + public String getMapperImplementation() + { + return mapperImplementation; + } - public String getNamespaceUrl () - { - return namespaceUrl; - } + public String getNamespaceUrl() + { + return namespaceUrl; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeDocumentXmlResourceFactory.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeDocumentXmlResourceFactory.java index 33a6e85..0c0389f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeDocumentXmlResourceFactory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeDocumentXmlResourceFactory.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser; import com.sun.star.report.pentaho.model.OfficeDocument; @@ -44,13 +42,12 @@ import org.jfree.report.modules.factories.report.base.JFreeReportXmlResourceFact public class OfficeDocumentXmlResourceFactory extends JFreeReportXmlResourceFactory { - public OfficeDocumentXmlResourceFactory() - { - } - - public Class getFactoryType() - { - return OfficeDocument.class; - } + public OfficeDocumentXmlResourceFactory() + { + } + public Class getFactoryType() + { + return OfficeDocument.class; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeParserUtil.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeParserUtil.java index eb50b4e..4752c91 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeParserUtil.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeParserUtil.java @@ -46,6 +46,7 @@ import org.pentaho.reporting.libraries.resourceloader.ResourceManager; public class OfficeParserUtil { + private static final Log LOGGER = LogFactory.getLog(OfficeParserUtil.class); private static OfficeParserUtil instance; private static final String NAMESPACES_PREFIX = "namespaces."; diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeStylesXmlResourceFactory.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeStylesXmlResourceFactory.java index 7b95b58..c843df2 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeStylesXmlResourceFactory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/OfficeStylesXmlResourceFactory.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser; import com.sun.star.report.pentaho.model.OfficeStylesCollection; @@ -46,19 +44,17 @@ import org.pentaho.reporting.libraries.xmlns.parser.AbstractXmlResourceFactory; public class OfficeStylesXmlResourceFactory extends AbstractXmlResourceFactory { - public OfficeStylesXmlResourceFactory() - { - } - - - protected Configuration getConfiguration() - { - return JFreeReportBoot.getInstance().getGlobalConfig(); - } + public OfficeStylesXmlResourceFactory() + { + } - public Class getFactoryType() - { - return OfficeStylesCollection.class; - } + protected Configuration getConfiguration() + { + return JFreeReportBoot.getInstance().getGlobalConfig(); + } + public Class getFactoryType() + { + return OfficeStylesCollection.class; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/StarStyleXmlFactoryModule.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/StarStyleXmlFactoryModule.java index 087dce9..13bd7e3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/StarStyleXmlFactoryModule.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/StarStyleXmlFactoryModule.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser; import com.sun.star.report.pentaho.OfficeNamespaces; @@ -39,27 +37,28 @@ import org.pentaho.reporting.libraries.xmlns.parser.XmlReadHandler; public class StarStyleXmlFactoryModule implements XmlFactoryModule { - public StarStyleXmlFactoryModule() - { - } - public XmlReadHandler createReadHandler (final XmlDocumentInfo documentInfo) - { - return new DocumentStylesReadHandler(); - } + public StarStyleXmlFactoryModule() + { + } - public int getDocumentSupport (final XmlDocumentInfo documentInfo) - { - final String rootNamespace = documentInfo.getRootElementNameSpace(); - if (OfficeNamespaces.OFFICE_NS.equals(rootNamespace) && "document-styles".equals(documentInfo.getRootElement()) ) + public XmlReadHandler createReadHandler(final XmlDocumentInfo documentInfo) { - return XmlFactoryModule.RECOGNIZED_BY_NAMESPACE; + return new DocumentStylesReadHandler(); } - return XmlFactoryModule.NOT_RECOGNIZED; - } - public String getDefaultNamespace(final XmlDocumentInfo documentInfo) - { - return null; - } + public int getDocumentSupport(final XmlDocumentInfo documentInfo) + { + final String rootNamespace = documentInfo.getRootElementNameSpace(); + if (OfficeNamespaces.OFFICE_NS.equals(rootNamespace) && "document-styles".equals(documentInfo.getRootElement())) + { + return XmlFactoryModule.RECOGNIZED_BY_NAMESPACE; + } + return XmlFactoryModule.NOT_RECOGNIZED; + } + + public String getDefaultNamespace(final XmlDocumentInfo documentInfo) + { + return null; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/StarXmlFactoryModule.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/StarXmlFactoryModule.java index 2474bce..5cbfec9 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/StarXmlFactoryModule.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/StarXmlFactoryModule.java @@ -50,8 +50,7 @@ public class StarXmlFactoryModule implements XmlFactoryModule public int getDocumentSupport(final XmlDocumentInfo documentInfo) { final String rootNamespace = documentInfo.getRootElementNameSpace(); - if (OfficeNamespaces.OFFICE_NS.equals(rootNamespace) && - ("document-content".equals(documentInfo.getRootElement()) || "document".equals(documentInfo.getRootElement()))) + if (OfficeNamespaces.OFFICE_NS.equals(rootNamespace) && ("document-content".equals(documentInfo.getRootElement()) || "document".equals(documentInfo.getRootElement()))) { return XmlFactoryModule.RECOGNIZED_BY_NAMESPACE; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/StyleMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/StyleMapper.java index c3e96ab..ac76f90 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/StyleMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/StyleMapper.java @@ -27,16 +27,15 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser; import org.jfree.layouting.input.style.CSSDeclarationRule; public interface StyleMapper { - void updateStyle (final String uri, - final String attrName, - final String attrValue, - final CSSDeclarationRule targetRule); + + void updateStyle(final String uri, + final String attrName, + final String attrValue, + final CSSDeclarationRule targetRule); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/chart/ChartReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/chart/ChartReadHandler.java index 2d69626..c50bce3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/chart/ChartReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/chart/ChartReadHandler.java @@ -30,6 +30,7 @@ package com.sun.star.report.pentaho.parser.chart; import com.sun.star.report.pentaho.OfficeNamespaces; +import java.lang.Object; import java.util.ArrayList; import com.sun.star.report.pentaho.parser.ElementReadHandler; @@ -98,9 +99,9 @@ public class ChartReadHandler extends ElementReadHandler */ protected void doneParsing() throws SAXException { - for (int i = 0; i < children.size(); i++) + for (Object aChildren : children) { - final ElementReadHandler handler = (ElementReadHandler) children.get(i); + final ElementReadHandler handler = (ElementReadHandler) aChildren; element.addNode(handler.getElement()); } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/draw/ObjectOleReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/draw/ObjectOleReadHandler.java index d5a742e..f8d0603 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/draw/ObjectOleReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/draw/ObjectOleReadHandler.java @@ -71,8 +71,10 @@ public class ObjectOleReadHandler extends ElementReadHandler String classid = attrs.getValue(OfficeNamespaces.DRAWING_NS, "class-id"); if (classid != null) { - if ( classid.equalsIgnoreCase(RPT_CHART_CLASS_ID)) + if (classid.equalsIgnoreCase(RPT_CHART_CLASS_ID)) + { classid = OOO_CHART_CLASS_ID; + } element.setClassId(classid); } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentContentReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentContentReadHandler.java index d12e7f2..030999b 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentContentReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentContentReadHandler.java @@ -56,6 +56,7 @@ import org.xml.sax.SAXException; */ public class DocumentContentReadHandler extends AbstractXmlReadHandler { + private static final Log LOGGER = LogFactory.getLog(DocumentContentReadHandler.class); private OfficeDocument report; private FontFaceDeclsReadHandler fontFaceReadHandler; diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentStylesReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentStylesReadHandler.java index 14f6781..7287049 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentStylesReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/office/DocumentStylesReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.office; import com.sun.star.report.pentaho.OfficeNamespaces; @@ -50,61 +48,59 @@ import org.xml.sax.SAXException; */ public class DocumentStylesReadHandler extends ElementReadHandler { - private final OfficeStylesCollection officeStylesCollection; - private FontFaceDeclsReadHandler fontFaceReadHandler; - - public DocumentStylesReadHandler() - { - officeStylesCollection = new OfficeStylesCollection(); - } + private final OfficeStylesCollection officeStylesCollection; + private FontFaceDeclsReadHandler fontFaceReadHandler; - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild(final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { - if (!OfficeNamespaces.OFFICE_NS.equals(uri)) + public DocumentStylesReadHandler() { - return null; + officeStylesCollection = new OfficeStylesCollection(); } - if ("font-face-decls".equals(tagName)) + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, + final String tagName, + final Attributes atts) + throws SAXException { - if (fontFaceReadHandler == null) - { - fontFaceReadHandler = new FontFaceDeclsReadHandler - (officeStylesCollection.getFontFaceDecls()); - } - return fontFaceReadHandler; - } - else if ("automatic-styles".equals(tagName)) - { - return new OfficeStylesReadHandler(officeStylesCollection.getAutomaticStyles()); - } - else if ("styles".equals(tagName)) - { - return new OfficeStylesReadHandler(officeStylesCollection.getCommonStyles()); + if (!OfficeNamespaces.OFFICE_NS.equals(uri)) + { + return null; + } + + if ("font-face-decls".equals(tagName)) + { + if (fontFaceReadHandler == null) + { + fontFaceReadHandler = new FontFaceDeclsReadHandler(officeStylesCollection.getFontFaceDecls()); + } + return fontFaceReadHandler; + } + else if ("automatic-styles".equals(tagName)) + { + return new OfficeStylesReadHandler(officeStylesCollection.getAutomaticStyles()); + } + else if ("styles".equals(tagName)) + { + return new OfficeStylesReadHandler(officeStylesCollection.getCommonStyles()); + } + else if ("master-styles".equals(tagName)) + { + return new MasterStylesReadHandler(officeStylesCollection.getMasterStyles()); + } + return null; } - else if ("master-styles".equals(tagName)) + + public Element getElement() { - return new MasterStylesReadHandler(officeStylesCollection.getMasterStyles()); + return officeStylesCollection; } - return null; - } - - - public Element getElement() - { - return officeStylesCollection; - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/office/FontFaceDeclsReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/office/FontFaceDeclsReadHandler.java index 343b56a..85be44a 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/office/FontFaceDeclsReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/office/FontFaceDeclsReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.office; import java.util.ArrayList; @@ -53,67 +51,66 @@ import org.xml.sax.SAXException; */ public class FontFaceDeclsReadHandler extends ElementReadHandler { - private final FontFaceDeclsSection fontFaceDecls; - private final List fontFaceReadHandlers; - - public FontFaceDeclsReadHandler(final FontFaceDeclsSection fontFaceDecls) - { - this.fontFaceDecls = fontFaceDecls; - this.fontFaceReadHandlers = new ArrayList(); - } - public FontFaceDeclsSection getFontFaceDecls() - { - return fontFaceDecls; - } + private final FontFaceDeclsSection fontFaceDecls; + private final List fontFaceReadHandlers; - - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild(final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { - if (!OfficeNamespaces.STYLE_NS.equals(uri) ) + public FontFaceDeclsReadHandler(final FontFaceDeclsSection fontFaceDecls) { - return null; + this.fontFaceDecls = fontFaceDecls; + this.fontFaceReadHandlers = new ArrayList(); } - if ("font-face".equals(tagName)) + public FontFaceDeclsSection getFontFaceDecls() { - final FontFaceReadHandler frh = new FontFaceReadHandler(); - fontFaceReadHandlers.add(frh); - return frh; + return fontFaceDecls; } - return null; - } - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() - throws SAXException - { - for (int i = 0; i < fontFaceReadHandlers.size(); i++) + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, + final String tagName, + final Attributes atts) + throws SAXException { - final FontFaceReadHandler handler = (FontFaceReadHandler) fontFaceReadHandlers.get(i); - fontFaceDecls.addFontFace((FontFaceElement) handler.getElement()); + if (!OfficeNamespaces.STYLE_NS.equals(uri)) + { + return null; + } + + if ("font-face".equals(tagName)) + { + final FontFaceReadHandler frh = new FontFaceReadHandler(); + fontFaceReadHandlers.add(frh); + return frh; + } + return null; } - } - public Element getElement() - { - return fontFaceDecls; - } + /** + * Done parsing. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void doneParsing() + throws SAXException + { + for (int i = 0; i < fontFaceReadHandlers.size(); i++) + { + final FontFaceReadHandler handler = (FontFaceReadHandler) fontFaceReadHandlers.get(i); + fontFaceDecls.addFontFace((FontFaceElement) handler.getElement()); + } + } + public Element getElement() + { + return fontFaceDecls; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt-schema-v1.0-os.xsd b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt-schema-v1.0-os.xsd index 88fcc02..f65b341 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt-schema-v1.0-os.xsd +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt-schema-v1.0-os.xsd @@ -55,364 +55,364 @@ xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd"/> - <xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="math.xsd"/> - <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/> - <xs:import namespace="http://www.w3.org/2002/xforms" schemaLocation="xforms.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" schemaLocation="anim.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" schemaLocation="chart.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:config:1.0" schemaLocation="config.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" schemaLocation="ns1.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" schemaLocation="dr3d.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" schemaLocation="draw.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:form:1.0" schemaLocation="form.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" schemaLocation="meta.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:office:1.0" schemaLocation="office.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" schemaLocation="presentation.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:script:1.0" schemaLocation="script.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" schemaLocation="smil.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:style:1.0" schemaLocation="style.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" schemaLocation="svg.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:table:1.0" schemaLocation="table.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:text:1.0" schemaLocation="OpenDocument-schema-v1.0-os.xsd"/> - <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" schemaLocation="fo.xsd"/> - <xs:attributeGroup name="office-report-attlist"> - <xs:attribute name="command-type" default="command" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="table"/> - <xs:enumeration value="query"/> - <xs:enumeration value="command"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="command" form="qualified" type="text:string"/> - <xs:attribute name="escape-processing" default="true" form="qualified" type="text:boolean"/> - <xs:attribute name="filter" form="qualified" type="text:string"/> - <xs:attribute name="caption" form="qualified" type="text:string"/> - </xs:attributeGroup> - <xs:element name="report-component"> - <xs:complexType> - <xs:attributeGroup ref="text:common-draw-name-attlist"/> - </xs:complexType> - </xs:element> - <xs:element name="group"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:function"/> - <xs:element minOccurs="0" ref="rpt:group-header"/> - <xs:choice> - <xs:element ref="rpt:group"/> - <xs:element ref="rpt:detail"/> - </xs:choice> - <xs:element minOccurs="0" ref="rpt:group-footer"/> - </xs:sequence> - <xs:attributeGroup ref="rpt:rpt-group-attlist"/> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="rpt-group-attlist"> - <xs:attribute name="sort-ascending" use="required" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="start-new-column" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="reset-page-number" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="print-header-on-each-page" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="group-expression" use="required" form="qualified" type="text:string"/> - <xs:attribute name="keep-together" default="no" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="no"/> - <xs:enumeration value="whole-group"/> - <xs:enumeration value="with-first-detail"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> - <xs:element name="group-header"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - <xs:attributeGroup ref="rpt:rpt-group-section-attlist"/> - </xs:complexType> - </xs:element> - <xs:element name="group-footer"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - <xs:attributeGroup ref="rpt:rpt-group-section-attlist"/> - </xs:complexType> - </xs:element> - <xs:element name="report-header"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="page-header"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - <xs:attributeGroup ref="rpt:rpt-page-attlist"/> - </xs:complexType> - </xs:element> - <xs:element name="column-header"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="detail"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="column-footer"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="page-footer"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - <xs:attributeGroup ref="rpt:rpt-page-attlist"/> - </xs:complexType> - </xs:element> - <xs:element name="report-footer"> - <xs:complexType> - <xs:sequence> - <xs:element ref="table:table"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="rpt-page-attlist"> - <xs:attribute name="page-print-option" default="all-pages" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="all-pages"/> - <xs:enumeration value="not-with-report-header"/> - <xs:enumeration value="not-with-report-footer"/> - <xs:enumeration value="not-with-report-header-nor-footer"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> - <xs:attributeGroup name="rpt-section-attlist"> - <xs:attribute name="visible" default="true" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="force-new-page" default="none" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="none"/> - <xs:enumeration value="before-section"/> - <xs:enumeration value="after-section"/> - <xs:enumeration value="before-after-section"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="new-row-or-column" default="none" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="none"/> - <xs:enumeration value="before-section"/> - <xs:enumeration value="after-section"/> - <xs:enumeration value="before-after-section"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="keep-together" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> - <xs:attributeGroup name="rpt-group-section-attlist"> - <xs:attribute name="repeat-section" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> - <xs:element name="sub-document"> - <xs:complexType> - <xs:sequence> - <xs:group ref="rpt:report-master-detail-fields"/> - <xs:element ref="rpt:report-element"/> - <xs:choice minOccurs="0"> - <xs:element ref="office:document"/> - <xs:element ref="math:math"/> - </xs:choice> - </xs:sequence> - <xs:attributeGroup ref="rpt:report-sub-document-attlist"/> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="report-sub-document-attlist"> - <xs:attribute ref="xlink:href"/> - <xs:attribute ref="xlink:type"/> - <xs:attributeGroup ref="xlink:show"/> - <xs:attributeGroup ref="xlink:actuate"/> - </xs:attributeGroup> - <xs:group name="report-master-detail-fields"> - <xs:sequence> - <xs:element minOccurs="0" ref="rpt:master-detail-fields"/> - </xs:sequence> - </xs:group> - <xs:element name="master-detail-fields"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:master-detail-field"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="master-detail-field"> - <xs:complexType> - <xs:attribute name="master" use="required" form="qualified" type="text:string"/> - <xs:attribute name="detail" form="qualified" type="text:string"/> - </xs:complexType> - </xs:element> - <xs:element name="function"> - <xs:complexType> - <xs:attribute name="formula" use="required" form="qualified" type="text:formula"/> - <xs:attribute name="name" use="required" form="qualified" type="text:string"/> - <xs:attribute name="pre-evaluated" use="required" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:complexType> - </xs:element> - <xs:element name="report-element"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" ref="rpt:conditional-print-expression"/> - <xs:element minOccurs="0" ref="rpt:report-component"/> - <xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:format-condition"/> - </xs:sequence> - <xs:attributeGroup ref="rpt:rpt-report-element-attlist"/> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="rpt-report-element-attlist"> - <xs:attribute name="print-when-group-change" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="print-repeated-values" default="true" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> - <xs:element name="conditional-print-expression" type="xs:string"/> - <xs:element name="format-condition"> - <xs:complexType> - <xs:attributeGroup ref="rpt:rpt-format-condition-attlist"/> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="rpt-format-condition-attlist"> - <xs:attribute name="enabled" default="false" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - <xs:attribute name="formula" form="qualified" type="text:formula"/> - </xs:attributeGroup> - <xs:element name="fixed-content"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rpt:report-element"/> - <xs:element ref="text:p"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="formatted-text"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rpt:report-element"/> - <xs:group ref="text:common-form-control-content"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="rpt-formatted-text-attlist"> - <xs:attributeGroup ref="text:common-data-field-attlist"/> - </xs:attributeGroup> - <xs:element name="image"> - <xs:complexType> - <xs:sequence> - <xs:element ref="rpt:report-element"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:attributeGroup name="rpt-image-attlist"> - <xs:attributeGroup ref="text:common-data-field-attlist"/> - <xs:attributeGroup ref="text:image-data"/> - <xs:attribute name="scale" use="required" form="qualified"> - <xs:simpleType> - <xs:restriction base="xs:token"> - <xs:enumeration value="true"/> - <xs:enumeration value="false"/> - </xs:restriction> - </xs:simpleType> - </xs:attribute> - </xs:attributeGroup> + <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd"/> + <xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="math.xsd"/> + <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/> + <xs:import namespace="http://www.w3.org/2002/xforms" schemaLocation="xforms.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:animation:1.0" schemaLocation="anim.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" schemaLocation="chart.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:config:1.0" schemaLocation="config.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" schemaLocation="ns1.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" schemaLocation="dr3d.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" schemaLocation="draw.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:form:1.0" schemaLocation="form.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" schemaLocation="meta.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:office:1.0" schemaLocation="office.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" schemaLocation="presentation.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:script:1.0" schemaLocation="script.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0" schemaLocation="smil.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:style:1.0" schemaLocation="style.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" schemaLocation="svg.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:table:1.0" schemaLocation="table.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:text:1.0" schemaLocation="OpenDocument-schema-v1.0-os.xsd"/> + <xs:import namespace="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" schemaLocation="fo.xsd"/> + <xs:attributeGroup name="office-report-attlist"> + <xs:attribute name="command-type" default="command" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="table"/> + <xs:enumeration value="query"/> + <xs:enumeration value="command"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="command" form="qualified" type="text:string"/> + <xs:attribute name="escape-processing" default="true" form="qualified" type="text:boolean"/> + <xs:attribute name="filter" form="qualified" type="text:string"/> + <xs:attribute name="caption" form="qualified" type="text:string"/> + </xs:attributeGroup> + <xs:element name="report-component"> + <xs:complexType> + <xs:attributeGroup ref="text:common-draw-name-attlist"/> + </xs:complexType> + </xs:element> + <xs:element name="group"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:function"/> + <xs:element minOccurs="0" ref="rpt:group-header"/> + <xs:choice> + <xs:element ref="rpt:group"/> + <xs:element ref="rpt:detail"/> + </xs:choice> + <xs:element minOccurs="0" ref="rpt:group-footer"/> + </xs:sequence> + <xs:attributeGroup ref="rpt:rpt-group-attlist"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="rpt-group-attlist"> + <xs:attribute name="sort-ascending" use="required" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="start-new-column" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="reset-page-number" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="print-header-on-each-page" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="group-expression" use="required" form="qualified" type="text:string"/> + <xs:attribute name="keep-together" default="no" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="no"/> + <xs:enumeration value="whole-group"/> + <xs:enumeration value="with-first-detail"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:element name="group-header"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + <xs:attributeGroup ref="rpt:rpt-group-section-attlist"/> + </xs:complexType> + </xs:element> + <xs:element name="group-footer"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + <xs:attributeGroup ref="rpt:rpt-group-section-attlist"/> + </xs:complexType> + </xs:element> + <xs:element name="report-header"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="page-header"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + <xs:attributeGroup ref="rpt:rpt-page-attlist"/> + </xs:complexType> + </xs:element> + <xs:element name="column-header"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="detail"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="column-footer"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="page-footer"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + <xs:attributeGroup ref="rpt:rpt-page-attlist"/> + </xs:complexType> + </xs:element> + <xs:element name="report-footer"> + <xs:complexType> + <xs:sequence> + <xs:element ref="table:table"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="rpt-page-attlist"> + <xs:attribute name="page-print-option" default="all-pages" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="all-pages"/> + <xs:enumeration value="not-with-report-header"/> + <xs:enumeration value="not-with-report-footer"/> + <xs:enumeration value="not-with-report-header-nor-footer"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:attributeGroup name="rpt-section-attlist"> + <xs:attribute name="visible" default="true" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="force-new-page" default="none" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="none"/> + <xs:enumeration value="before-section"/> + <xs:enumeration value="after-section"/> + <xs:enumeration value="before-after-section"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="new-row-or-column" default="none" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="none"/> + <xs:enumeration value="before-section"/> + <xs:enumeration value="after-section"/> + <xs:enumeration value="before-after-section"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="keep-together" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:attributeGroup name="rpt-group-section-attlist"> + <xs:attribute name="repeat-section" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:element name="sub-document"> + <xs:complexType> + <xs:sequence> + <xs:group ref="rpt:report-master-detail-fields"/> + <xs:element ref="rpt:report-element"/> + <xs:choice minOccurs="0"> + <xs:element ref="office:document"/> + <xs:element ref="math:math"/> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="rpt:report-sub-document-attlist"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="report-sub-document-attlist"> + <xs:attribute ref="xlink:href"/> + <xs:attribute ref="xlink:type"/> + <xs:attributeGroup ref="xlink:show"/> + <xs:attributeGroup ref="xlink:actuate"/> + </xs:attributeGroup> + <xs:group name="report-master-detail-fields"> + <xs:sequence> + <xs:element minOccurs="0" ref="rpt:master-detail-fields"/> + </xs:sequence> + </xs:group> + <xs:element name="master-detail-fields"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:master-detail-field"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="master-detail-field"> + <xs:complexType> + <xs:attribute name="master" use="required" form="qualified" type="text:string"/> + <xs:attribute name="detail" form="qualified" type="text:string"/> + </xs:complexType> + </xs:element> + <xs:element name="function"> + <xs:complexType> + <xs:attribute name="formula" use="required" form="qualified" type="text:formula"/> + <xs:attribute name="name" use="required" form="qualified" type="text:string"/> + <xs:attribute name="pre-evaluated" use="required" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + </xs:element> + <xs:element name="report-element"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="rpt:conditional-print-expression"/> + <xs:element minOccurs="0" ref="rpt:report-component"/> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="rpt:format-condition"/> + </xs:sequence> + <xs:attributeGroup ref="rpt:rpt-report-element-attlist"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="rpt-report-element-attlist"> + <xs:attribute name="print-when-group-change" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="print-repeated-values" default="true" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:element name="conditional-print-expression" type="xs:string"/> + <xs:element name="format-condition"> + <xs:complexType> + <xs:attributeGroup ref="rpt:rpt-format-condition-attlist"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="rpt-format-condition-attlist"> + <xs:attribute name="enabled" default="false" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="formula" form="qualified" type="text:formula"/> + </xs:attributeGroup> + <xs:element name="fixed-content"> + <xs:complexType> + <xs:sequence> + <xs:element ref="rpt:report-element"/> + <xs:element ref="text:p"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="formatted-text"> + <xs:complexType> + <xs:sequence> + <xs:element ref="rpt:report-element"/> + <xs:group ref="text:common-form-control-content"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="rpt-formatted-text-attlist"> + <xs:attributeGroup ref="text:common-data-field-attlist"/> + </xs:attributeGroup> + <xs:element name="image"> + <xs:complexType> + <xs:sequence> + <xs:element ref="rpt:report-element"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="rpt-image-attlist"> + <xs:attributeGroup ref="text:common-data-field-attlist"/> + <xs:attributeGroup ref="text:image-data"/> + <xs:attribute name="scale" use="required" form="qualified"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> </xs:schema> diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormatConditionReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormatConditionReadHandler.java index de89578..bb80b5c 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormatConditionReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormatConditionReadHandler.java @@ -61,8 +61,8 @@ public class FormatConditionReadHandler extends AbstractXmlReadHandler protected void startParsing(final Attributes attrs) throws SAXException { super.startParsing(attrs); - - + + final String formula = attrs.getValue(OfficeNamespaces.OOREPORT_NS, "formula"); if (formula == null) diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormattedTextReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormattedTextReadHandler.java index 431fc54..89f92ad 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormattedTextReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FormattedTextReadHandler.java @@ -72,14 +72,14 @@ public class FormattedTextReadHandler extends ElementReadHandler element.setValueExpression(valueExpression); } - // * Print-Repeated-Values - // * Print-In-First-New-Section - // * Print-When-Group-Changes + // * Print-Repeated-Values + // * Print-In-First-New-Section + // * Print-When-Group-Changes - // * Print-When-Section-Overflows - // That property cannot be evaluated yet, as this would require us to - // have a clue about pagebreaking. We dont have that - not yet and never - // in the future, as pagebreaks are computed by OpenOffice instead + // * Print-When-Section-Overflows + // That property cannot be evaluated yet, as this would require us to + // have a clue about pagebreaking. We dont have that - not yet and never + // in the future, as pagebreaks are computed by OpenOffice instead } /** diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FunctionReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FunctionReadHandler.java index 97033e5..28f6a6d 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FunctionReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/FunctionReadHandler.java @@ -68,7 +68,7 @@ public class FunctionReadHandler extends AbstractXmlReadHandler { throw new ParseException("Required attribute 'formula' is missing", getLocator()); } - + final String name = attrs.getValue(OfficeNamespaces.OOREPORT_NS, "name"); if (name == null) { diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/GroupReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/GroupReadHandler.java index 5fb42e8..1d902f2 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/GroupReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/GroupReadHandler.java @@ -79,7 +79,7 @@ public class GroupReadHandler extends ElementReadHandler super.startParsing(attrs); final String groupExpr = attrs.getValue(OfficeNamespaces.OOREPORT_NS, "group-expression"); - if ( groupExpr != null && !"".equals(groupExpr) ) + if (groupExpr != null && !"".equals(groupExpr)) { final FormulaExpression function = new FormulaExpression(); function.setFormula(groupExpr); @@ -128,7 +128,7 @@ public class GroupReadHandler extends ElementReadHandler } if ("group-footer".equals(tagName)) { - ((Element)((Section)rh.getDetail().getElement()).getNode(0)).setAttribute(JFreeReportInfo.REPORT_NAMESPACE,"has-group-footer", OfficeToken.TRUE); + ((Element) ((Section) rh.getDetail().getElement()).getNode(0)).setAttribute(JFreeReportInfo.REPORT_NAMESPACE, "has-group-footer", OfficeToken.TRUE); groupFooter = new GroupSectionReadHandler(); return groupFooter; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/MasterDetailReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/MasterDetailReadHandler.java index 9cc0ce8..76bea71 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/MasterDetailReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/MasterDetailReadHandler.java @@ -71,7 +71,7 @@ public class MasterDetailReadHandler extends ElementReadHandler if (parseMasterDetail) { final String master = attrs.getValue(OfficeNamespaces.OOREPORT_NS, "master"); - if (master != null && master.length() > 0 ) + if (master != null && master.length() > 0) { final String detail = attrs.getValue(OfficeNamespaces.OOREPORT_NS, "detail"); element.addMasterDetailFields(master, detail); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/ReportReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/ReportReadHandler.java index f51d247..0d10f2f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/ReportReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/rpt/ReportReadHandler.java @@ -56,6 +56,7 @@ public class ReportReadHandler extends ElementReadHandler { this.detail = detail; } + public final RootTableReadHandler getDetail() { return detail; diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/FontFaceReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/FontFaceReadHandler.java index b91ffba..8e47ee8 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/FontFaceReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/FontFaceReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.style; import com.sun.star.report.pentaho.parser.ElementReadHandler; @@ -45,15 +43,16 @@ import org.jfree.report.structure.Element; */ public class FontFaceReadHandler extends ElementReadHandler { - private final FontFaceElement fontFaceElement; - public FontFaceReadHandler() - { - this.fontFaceElement = new FontFaceElement(); - } + private final FontFaceElement fontFaceElement; + + public FontFaceReadHandler() + { + this.fontFaceElement = new FontFaceElement(); + } - public Element getElement() - { - return fontFaceElement; - } + public Element getElement() + { + return fontFaceElement; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/MasterPageReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/MasterPageReadHandler.java index e9f46c0..ccfea74 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/MasterPageReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/MasterPageReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.style; import java.util.ArrayList; @@ -49,59 +47,59 @@ import org.xml.sax.SAXException; */ public class MasterPageReadHandler extends ElementReadHandler { - private final OfficeMasterPage masterPage; - private final List otherHandlers; - public MasterPageReadHandler() - { - masterPage = new OfficeMasterPage(); - this.otherHandlers = new ArrayList(); - } + private final OfficeMasterPage masterPage; + private final List otherHandlers; - public OfficeMasterPage getMasterPage() - { - return masterPage; - } + public MasterPageReadHandler() + { + masterPage = new OfficeMasterPage(); + this.otherHandlers = new ArrayList(); + } - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild(final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { - final StyleDefinitionReadHandler readHandler = - new StyleDefinitionReadHandler(); - otherHandlers.add(readHandler); - return readHandler; - } + public OfficeMasterPage getMasterPage() + { + return masterPage; + } - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() - throws SAXException - { - for (int i = 0; i < otherHandlers.size(); i++) + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, + final String tagName, + final Attributes atts) + throws SAXException { - final ElementReadHandler handler = - (ElementReadHandler) otherHandlers.get(i); - masterPage.addNode(handler.getElement()); + final StyleDefinitionReadHandler readHandler = + new StyleDefinitionReadHandler(); + otherHandlers.add(readHandler); + return readHandler; } - } + /** + * Done parsing. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void doneParsing() + throws SAXException + { + for (int i = 0; i < otherHandlers.size(); i++) + { + final ElementReadHandler handler = + (ElementReadHandler) otherHandlers.get(i); + masterPage.addNode(handler.getElement()); + } + } - public Element getElement() - { - return masterPage; - } + public Element getElement() + { + return masterPage; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStyleReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStyleReadHandler.java index aba5731..ef98a5e 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStyleReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStyleReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.style; import java.util.ArrayList; @@ -47,60 +45,60 @@ import org.xml.sax.SAXException; */ public class OfficeStyleReadHandler extends ElementReadHandler { - private final OfficeStyle officeStyle; - private final List childs; - public OfficeStyleReadHandler() - { - this.officeStyle = new OfficeStyle(); - this.childs = new ArrayList(); - } + private final OfficeStyle officeStyle; + private final List childs; + + public OfficeStyleReadHandler() + { + this.officeStyle = new OfficeStyle(); + this.childs = new ArrayList(); + } - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild (final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, + final String tagName, + final Attributes atts) + throws SAXException + { // if (OfficeParserUtil.getInstance().isValidStyleElement(uri, tagName)) // { // } - final StyleDefinitionReadHandler readHandler = - new StyleDefinitionReadHandler(); - childs.add(readHandler); - return readHandler; - } - + final StyleDefinitionReadHandler readHandler = + new StyleDefinitionReadHandler(); + childs.add(readHandler); + return readHandler; + } - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() throws SAXException - { - for (int i = 0; i < childs.size(); i++) + /** + * Done parsing. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void doneParsing() throws SAXException { - final ElementReadHandler handler = (ElementReadHandler) childs.get(i); - officeStyle.addNode(handler.getElement()); + for (int i = 0; i < childs.size(); i++) + { + final ElementReadHandler handler = (ElementReadHandler) childs.get(i); + officeStyle.addNode(handler.getElement()); + } } - } - public OfficeStyle getOfficeStyle() - { - return officeStyle; - } + public OfficeStyle getOfficeStyle() + { + return officeStyle; + } - public Element getElement() - { - return officeStyle; - } + public Element getElement() + { + return officeStyle; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStylesReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStylesReadHandler.java index cc18f4b..27dcde0 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStylesReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/OfficeStylesReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.style; import java.util.ArrayList; @@ -45,99 +43,100 @@ import java.util.List; public class OfficeStylesReadHandler extends ElementReadHandler { - private final List textStyleChilds; - private final List dataStyleChilds; - private final List otherStyleChilds; - private final List pageLayoutChilds; - private final OfficeStyles officeStyles; - public OfficeStylesReadHandler(final OfficeStyles officeStyles) - { - this.officeStyles = officeStyles; - this.pageLayoutChilds = new ArrayList(); - this.dataStyleChilds = new ArrayList(); - this.textStyleChilds = new ArrayList(); - this.otherStyleChilds = new ArrayList(); - } + private final List textStyleChilds; + private final List dataStyleChilds; + private final List otherStyleChilds; + private final List pageLayoutChilds; + private final OfficeStyles officeStyles; - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild (final String uri, final String tagName, - final Attributes atts) - throws SAXException - { - if (OfficeNamespaces.STYLE_NS.equals(uri)) - { - if ("style".equals(tagName)) - { - final OfficeStyleReadHandler xrh = new OfficeStyleReadHandler(); - textStyleChilds.add(xrh); - return xrh; - } - else if ("page-layout".equals(tagName)) - { - final PageLayoutReadHandler prh = new PageLayoutReadHandler(); - pageLayoutChilds.add(prh); - return prh; - } - } - else if (OfficeNamespaces.DATASTYLE_NS.equals(uri)) + public OfficeStylesReadHandler(final OfficeStyles officeStyles) { - final DataStyleReadHandler xrh = new DataStyleReadHandler(false); - dataStyleChilds.add(xrh); - return xrh; + this.officeStyles = officeStyles; + this.pageLayoutChilds = new ArrayList(); + this.dataStyleChilds = new ArrayList(); + this.textStyleChilds = new ArrayList(); + this.otherStyleChilds = new ArrayList(); } - final SectionReadHandler genericReadHander = new SectionReadHandler(); - otherStyleChilds.add(genericReadHander); - return genericReadHander; - } - - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() throws SAXException - { - for (int i = 0; i < textStyleChilds.size(); i++) + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, final String tagName, + final Attributes atts) + throws SAXException { - final OfficeStyleReadHandler handler = - (OfficeStyleReadHandler) textStyleChilds.get(i); - officeStyles.addStyle(handler.getOfficeStyle()); - } + if (OfficeNamespaces.STYLE_NS.equals(uri)) + { + if ("style".equals(tagName)) + { + final OfficeStyleReadHandler xrh = new OfficeStyleReadHandler(); + textStyleChilds.add(xrh); + return xrh; + } + else if ("page-layout".equals(tagName)) + { + final PageLayoutReadHandler prh = new PageLayoutReadHandler(); + pageLayoutChilds.add(prh); + return prh; + } + } + else if (OfficeNamespaces.DATASTYLE_NS.equals(uri)) + { + final DataStyleReadHandler xrh = new DataStyleReadHandler(false); + dataStyleChilds.add(xrh); + return xrh; + } - for (int i = 0; i < pageLayoutChilds.size(); i++) - { - final PageLayoutReadHandler handler = - (PageLayoutReadHandler) pageLayoutChilds.get(i); - officeStyles.addPageStyle(handler.getPageLayout()); + final SectionReadHandler genericReadHander = new SectionReadHandler(); + otherStyleChilds.add(genericReadHander); + return genericReadHander; } - for (int i = 0; i < dataStyleChilds.size(); i++) + /** + * Done parsing. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void doneParsing() throws SAXException { - final DataStyleReadHandler handler = - (DataStyleReadHandler) dataStyleChilds.get(i); - officeStyles.addDataStyle(handler.getDataStyle()); + for (int i = 0; i < textStyleChilds.size(); i++) + { + final OfficeStyleReadHandler handler = + (OfficeStyleReadHandler) textStyleChilds.get(i); + officeStyles.addStyle(handler.getOfficeStyle()); + } + + for (int i = 0; i < pageLayoutChilds.size(); i++) + { + final PageLayoutReadHandler handler = + (PageLayoutReadHandler) pageLayoutChilds.get(i); + officeStyles.addPageStyle(handler.getPageLayout()); + } + + for (int i = 0; i < dataStyleChilds.size(); i++) + { + final DataStyleReadHandler handler = + (DataStyleReadHandler) dataStyleChilds.get(i); + officeStyles.addDataStyle(handler.getDataStyle()); + } + + for (int i = 0; i < otherStyleChilds.size(); i++) + { + final SectionReadHandler handler = + (SectionReadHandler) otherStyleChilds.get(i); + officeStyles.addOtherNode((Element) handler.getNode()); + } } - for (int i = 0; i < otherStyleChilds.size(); i++) + public Element getElement() { - final SectionReadHandler handler = - (SectionReadHandler) otherStyleChilds.get(i); - officeStyles.addOtherNode((Element) handler.getNode()); + return officeStyles; } - } - - public Element getElement() - { - return officeStyles; - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/PageLayoutReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/PageLayoutReadHandler.java index 47999db..8338e36 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/PageLayoutReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/PageLayoutReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.style; import java.util.ArrayList; @@ -49,57 +47,57 @@ import org.xml.sax.SAXException; */ public class PageLayoutReadHandler extends ElementReadHandler { - private final PageLayout pageLayout; - private final List childs; - public PageLayoutReadHandler() - { - this.pageLayout = new PageLayout(); - this.childs = new ArrayList(); - } + private final PageLayout pageLayout; + private final List childs; - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild (final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { - final StyleDefinitionReadHandler readHandler = - new StyleDefinitionReadHandler(); - childs.add(readHandler); - return readHandler; - } + public PageLayoutReadHandler() + { + this.pageLayout = new PageLayout(); + this.childs = new ArrayList(); + } + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, + final String tagName, + final Attributes atts) + throws SAXException + { + final StyleDefinitionReadHandler readHandler = + new StyleDefinitionReadHandler(); + childs.add(readHandler); + return readHandler; + } - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() throws SAXException - { - for (int i = 0; i < childs.size(); i++) + /** + * Done parsing. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void doneParsing() throws SAXException { - final ElementReadHandler handler = (ElementReadHandler) childs.get(i); - pageLayout.addNode(handler.getElement()); + for (int i = 0; i < childs.size(); i++) + { + final ElementReadHandler handler = (ElementReadHandler) childs.get(i); + pageLayout.addNode(handler.getElement()); + } } - } - public PageLayout getPageLayout() - { - return pageLayout; - } + public PageLayout getPageLayout() + { + return pageLayout; + } - public Element getElement() - { - return pageLayout; - } + public Element getElement() + { + return pageLayout; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/StyleDefinitionReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/StyleDefinitionReadHandler.java index a21978b..3a477bd 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/style/StyleDefinitionReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/style/StyleDefinitionReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.style; import java.util.ArrayList; @@ -48,54 +46,53 @@ import org.xml.sax.SAXException; */ public class StyleDefinitionReadHandler extends ElementReadHandler { - private final Section rawSection; - private final List childs; - - public StyleDefinitionReadHandler() - { - this.rawSection = new Section(); - this.childs = new ArrayList(); - } - /** - * Returns the handler for a child element. - * - * @param tagName the tag name. - * @param atts the attributes. - * @return the handler or null, if the tagname is invalid. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected XmlReadHandler getHandlerForChild(final String uri, - final String tagName, - final Attributes atts) - throws SAXException - { - final StyleDefinitionReadHandler readHandler = - new StyleDefinitionReadHandler(); - childs.add(readHandler); - return readHandler; - } + private final Section rawSection; + private final List childs; + public StyleDefinitionReadHandler() + { + this.rawSection = new Section(); + this.childs = new ArrayList(); + } - /** - * Done parsing. - * - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void doneParsing() - throws SAXException - { - for (int i = 0; i < childs.size(); i++) + /** + * Returns the handler for a child element. + * + * @param tagName the tag name. + * @param atts the attributes. + * @return the handler or null, if the tagname is invalid. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected XmlReadHandler getHandlerForChild(final String uri, + final String tagName, + final Attributes atts) + throws SAXException { - final ElementReadHandler handler = (ElementReadHandler) childs.get(i); - rawSection.addNode(handler.getElement()); + final StyleDefinitionReadHandler readHandler = + new StyleDefinitionReadHandler(); + childs.add(readHandler); + return readHandler; } - } + /** + * Done parsing. + * + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void doneParsing() + throws SAXException + { + for (int i = 0; i < childs.size(); i++) + { + final ElementReadHandler handler = (ElementReadHandler) childs.get(i); + rawSection.addNode(handler.getElement()); + } + } - public Element getElement() - { - return rawSection; - } + public Element getElement() + { + return rawSection; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/OneOfConstantsMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/OneOfConstantsMapper.java index 98a4ce5..d30efee 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/OneOfConstantsMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/OneOfConstantsMapper.java @@ -49,7 +49,7 @@ public abstract class OneOfConstantsMapper implements StyleMapper this.mappings = new HashMap(); } - public void addMapping (final String value, final CSSValue target) + public void addMapping(final String value, final CSSValue target) { mappings.put(value, target); } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/draw/TextAreaVerticalAlignMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/draw/TextAreaVerticalAlignMapper.java index 6240ff1..ca90e7d 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/draw/TextAreaVerticalAlignMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/draw/TextAreaVerticalAlignMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.draw; import com.sun.star.report.pentaho.parser.stylemapper.OneOfConstantsMapper; @@ -37,12 +35,13 @@ import org.jfree.layouting.input.style.values.CSSConstant; public class TextAreaVerticalAlignMapper extends OneOfConstantsMapper { - public TextAreaVerticalAlignMapper () - { - super (BoxStyleKeys.BOX_VERTICAL_ALIGN); - addMapping("top", new CSSConstant("top")); - addMapping("bottom", new CSSConstant("bottom")); - addMapping("middle", new CSSConstant("middle")); - addMapping("justify", new CSSConstant("justify")); - } + + public TextAreaVerticalAlignMapper() + { + super(BoxStyleKeys.BOX_VERTICAL_ALIGN); + addMapping("top", new CSSConstant("top")); + addMapping("bottom", new CSSConstant("bottom")); + addMapping("middle", new CSSConstant("middle")); + addMapping("justify", new CSSConstant("justify")); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontStyleMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontStyleMapper.java index 28bb2f2..465f67f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontStyleMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontStyleMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.fo; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -37,13 +35,14 @@ import org.jfree.layouting.input.style.keys.font.FontStyleKeys; public class FontStyleMapper implements StyleMapper { - public FontStyleMapper () - { - } - public void updateStyle (final String uri, final String attrName, final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValueAsString(FontStyleKeys.FONT_STYLE, attrValue); - } + public FontStyleMapper() + { + } + + public void updateStyle(final String uri, final String attrName, final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValueAsString(FontStyleKeys.FONT_STYLE, attrValue); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontWeightMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontWeightMapper.java index ffee86a..c54c9cc 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontWeightMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/FontWeightMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.fo; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -37,13 +35,14 @@ import org.jfree.layouting.input.style.keys.font.FontStyleKeys; public class FontWeightMapper implements StyleMapper { - public FontWeightMapper () - { - } - public void updateStyle (final String uri, final String attrName, final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValueAsString(FontStyleKeys.FONT_WEIGHT, attrValue); - } + public FontWeightMapper() + { + } + + public void updateStyle(final String uri, final String attrName, final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValueAsString(FontStyleKeys.FONT_WEIGHT, attrValue); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/TextAlignMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/TextAlignMapper.java index 67fccc6..160eef2 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/TextAlignMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/fo/TextAlignMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.fo; import com.sun.star.report.pentaho.parser.stylemapper.OneOfConstantsMapper; @@ -37,15 +35,15 @@ import org.jfree.layouting.input.style.keys.text.TextStyleKeys; public class TextAlignMapper extends OneOfConstantsMapper { - public TextAlignMapper () - { - super(TextStyleKeys.TEXT_ALIGN); - addMapping("start", TextAlign.START); - addMapping("end", TextAlign.END); - addMapping("left", TextAlign.LEFT); - addMapping("center", TextAlign.CENTER); - addMapping("right", TextAlign.RIGHT); - addMapping("justify", TextAlign.JUSTIFY); - } + public TextAlignMapper() + { + super(TextStyleKeys.TEXT_ALIGN); + addMapping("start", TextAlign.START); + addMapping("end", TextAlign.END); + addMapping("left", TextAlign.LEFT); + addMapping("center", TextAlign.CENTER); + addMapping("right", TextAlign.RIGHT); + addMapping("justify", TextAlign.JUSTIFY); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyGenericMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyGenericMapper.java index 3001d7e..b1183ce 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyGenericMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyGenericMapper.java @@ -52,7 +52,10 @@ public class FontFamilyGenericMapper implements StyleMapper { final CSSStringValue cssVal = new CSSStringValue(CSSStringType.STRING, attrValue); targetRule.setPropertyValue(FontStyleKeys.FONT_FAMILY, - new CSSValueList(new CSSValue[]{cssVal})); + new CSSValueList(new CSSValue[] + { + cssVal + })); } else { diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyMapper.java index d5d7e5b..44b511f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontFamilyMapper.java @@ -52,7 +52,10 @@ public class FontFamilyMapper implements StyleMapper { final CSSStringValue cssVal = new CSSStringValue(CSSStringType.STRING, attrValue); targetRule.setPropertyValue(FontStyleKeys.FONT_FAMILY, - new CSSValueList(new CSSValue[]{cssVal})); + new CSSValueList(new CSSValue[] + { + cssVal + })); } else { diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontNameMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontNameMapper.java index 8dc6ef3..d40460f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontNameMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontNameMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -39,14 +37,15 @@ import org.jfree.layouting.input.style.keys.font.FontStyleKeys; public class FontNameMapper implements StyleMapper { - public FontNameMapper () - { - } - public void updateStyle (final String uri, final String attrName, final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValue(FontStyleKeys.FONT_NAME, - new CSSStringValue(CSSStringType.STRING, attrValue)); - } + public FontNameMapper() + { + } + + public void updateStyle(final String uri, final String attrName, final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValue(FontStyleKeys.FONT_NAME, + new CSSStringValue(CSSStringType.STRING, attrValue)); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontPitchMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontPitchMapper.java index 1841e13..b6ce2bb 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontPitchMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontPitchMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.stylemapper.OneOfConstantsMapper; @@ -37,10 +35,11 @@ import org.jfree.layouting.input.style.values.CSSConstant; public class FontPitchMapper extends OneOfConstantsMapper { - public FontPitchMapper () - { - super (FontStyleKeys.FONT_PITCH); - addMapping("variable", new CSSConstant("variable")); - addMapping("fixed", new CSSConstant("fixed")); - } + + public FontPitchMapper() + { + super(FontStyleKeys.FONT_PITCH); + addMapping("variable", new CSSConstant("variable")); + addMapping("fixed", new CSSConstant("fixed")); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontReliefMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontReliefMapper.java index f65df8f..77ebc4f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontReliefMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/FontReliefMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -37,14 +35,14 @@ import org.jfree.layouting.input.style.keys.font.FontStyleKeys; public class FontReliefMapper implements StyleMapper { - public FontReliefMapper () - { - } + public FontReliefMapper() + { + } - public void updateStyle (final String uri, final String attrName, final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValueAsString(FontStyleKeys.FONT_EFFECT, attrValue); - } + public void updateStyle(final String uri, final String attrName, final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValueAsString(FontStyleKeys.FONT_EFFECT, attrValue); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextEmphasizeMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextEmphasizeMapper.java index e3c9556..3a1a9ca 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextEmphasizeMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextEmphasizeMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -36,14 +34,14 @@ import org.jfree.layouting.input.style.CSSDeclarationRule; public class TextEmphasizeMapper implements StyleMapper { - public TextEmphasizeMapper () - { - } + public TextEmphasizeMapper() + { + } - public void updateStyle (final String uri, final String attrName, final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValueAsString("font-emphasize", attrValue); - } + public void updateStyle(final String uri, final String attrName, final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValueAsString("font-emphasize", attrValue); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineColorMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineColorMapper.java index a4a484e..b034b78 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineColorMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineColorMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -39,19 +37,20 @@ import org.jfree.layouting.util.ColorUtil; public class TextUnderlineColorMapper implements StyleMapper { - public TextUnderlineColorMapper () - { - } - public void updateStyle (final String uri, - final String attrName, - final String attrValue, - final CSSDeclarationRule targetRule) - { - final CSSColorValue cv = (CSSColorValue) ColorUtil.parseColor(attrValue); - if (cv != null) + public TextUnderlineColorMapper() + { + } + + public void updateStyle(final String uri, + final String attrName, + final String attrValue, + final CSSDeclarationRule targetRule) { - targetRule.setPropertyValue(TextStyleKeys.TEXT_UNDERLINE_COLOR, cv); + final CSSColorValue cv = (CSSColorValue) ColorUtil.parseColor(attrValue); + if (cv != null) + { + targetRule.setPropertyValue(TextStyleKeys.TEXT_UNDERLINE_COLOR, cv); + } } - } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineStyleMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineStyleMapper.java index ec9e339..8cd9a24 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineStyleMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineStyleMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.stylemapper.OneOfConstantsMapper; @@ -37,19 +35,17 @@ import org.jfree.layouting.input.style.keys.text.TextDecorationStyle; public class TextUnderlineStyleMapper extends OneOfConstantsMapper { - public TextUnderlineStyleMapper () - { - super(TextStyleKeys.TEXT_UNDERLINE_STYLE); - addMapping("none", TextDecorationStyle.NONE); - addMapping("solid", TextDecorationStyle.SOLID); - addMapping("dotted", TextDecorationStyle.DOTTED); - addMapping("dash", TextDecorationStyle.DASHED); - addMapping("long-dash", TextDecorationStyle.LONG_DASH); - addMapping("dot-dash", TextDecorationStyle.DOT_DASH); - addMapping("dot-dot-dash", TextDecorationStyle.DOT_DOT_DASH); - addMapping("wave", TextDecorationStyle.WAVE); - } - - + public TextUnderlineStyleMapper() + { + super(TextStyleKeys.TEXT_UNDERLINE_STYLE); + addMapping("none", TextDecorationStyle.NONE); + addMapping("solid", TextDecorationStyle.SOLID); + addMapping("dotted", TextDecorationStyle.DOTTED); + addMapping("dash", TextDecorationStyle.DASHED); + addMapping("long-dash", TextDecorationStyle.LONG_DASH); + addMapping("dot-dash", TextDecorationStyle.DOT_DASH); + addMapping("dot-dot-dash", TextDecorationStyle.DOT_DOT_DASH); + addMapping("wave", TextDecorationStyle.WAVE); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineWordMode.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineWordMode.java index 144fa36..a4a002b 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineWordMode.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/TextUnderlineWordMode.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.stylemapper.OneOfConstantsMapper; @@ -37,12 +35,11 @@ import org.jfree.layouting.input.style.keys.text.TextStyleKeys; public class TextUnderlineWordMode extends OneOfConstantsMapper { - public TextUnderlineWordMode () - { - super(TextStyleKeys.TEXT_UNDERLINE_MODE); - addMapping("continuous", TextDecorationMode.CONTINUOUS); - addMapping("skip-white-space", TextDecorationMode.SKIP_WHITE_SPACE); - } - + public TextUnderlineWordMode() + { + super(TextStyleKeys.TEXT_UNDERLINE_MODE); + addMapping("continuous", TextDecorationMode.CONTINUOUS); + addMapping("skip-white-space", TextDecorationMode.SKIP_WHITE_SPACE); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/VerticalAlignMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/VerticalAlignMapper.java index 2f19341..36760dc 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/VerticalAlignMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/style/VerticalAlignMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.parser.stylemapper.style; import com.sun.star.report.pentaho.parser.stylemapper.OneOfConstantsMapper; @@ -38,13 +36,14 @@ import org.jfree.layouting.input.style.values.CSSConstant; public class VerticalAlignMapper extends OneOfConstantsMapper { - public VerticalAlignMapper () - { - super (LineStyleKeys.VERTICAL_ALIGN); - addMapping("top", new CSSConstant("top")); - addMapping("bottom", new CSSConstant("bottom")); - addMapping("middle", new CSSConstant("middle")); - addMapping("baseline", new CSSConstant("baseline")); - addMapping("auto", CSSAutoValue.getInstance()); - } + + public VerticalAlignMapper() + { + super(LineStyleKeys.VERTICAL_ALIGN); + addMapping("top", new CSSConstant("top")); + addMapping("bottom", new CSSConstant("bottom")); + addMapping("middle", new CSSConstant("middle")); + addMapping("baseline", new CSSConstant("baseline")); + addMapping("auto", CSSAutoValue.getInstance()); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/ColumnWidthMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/ColumnWidthMapper.java index 8f34c7d..ecc39b7 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/ColumnWidthMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/ColumnWidthMapper.java @@ -27,7 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - package com.sun.star.report.pentaho.parser.stylemapper.table; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -41,15 +40,16 @@ import org.jfree.layouting.input.style.keys.box.BoxStyleKeys; */ public class ColumnWidthMapper implements StyleMapper { - public ColumnWidthMapper() - { - } - public void updateStyle(final String uri, - final String attrName, - final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValueAsString(BoxStyleKeys.WIDTH, attrValue); - } + public ColumnWidthMapper() + { + } + + public void updateStyle(final String uri, + final String attrName, + final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValueAsString(BoxStyleKeys.WIDTH, attrValue); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/RowHeightMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/RowHeightMapper.java index 9327a8b..a1e9c6b 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/RowHeightMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/stylemapper/table/RowHeightMapper.java @@ -27,7 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - package com.sun.star.report.pentaho.parser.stylemapper.table; import com.sun.star.report.pentaho.parser.StyleMapper; @@ -41,15 +40,16 @@ import org.jfree.layouting.input.style.keys.box.BoxStyleKeys; */ public class RowHeightMapper implements StyleMapper { - public RowHeightMapper() - { - } - public void updateStyle(final String uri, - final String attrName, - final String attrValue, - final CSSDeclarationRule targetRule) - { - targetRule.setPropertyValueAsString(BoxStyleKeys.HEIGHT, attrValue); - } + public RowHeightMapper() + { + } + + public void updateStyle(final String uri, + final String attrName, + final String attrValue, + final CSSDeclarationRule targetRule) + { + targetRule.setPropertyValueAsString(BoxStyleKeys.HEIGHT, attrValue); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnReadHandler.java index 438f1d2..c231871 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnReadHandler.java @@ -42,6 +42,7 @@ public class TableColumnReadHandler extends ElementReadHandler { private final Section tableColumn; + public TableColumnReadHandler() { tableColumn = new Section(); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnsReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnsReadHandler.java index f838c44..73644a3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnsReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/parser/table/TableColumnsReadHandler.java @@ -71,7 +71,7 @@ public class TableColumnsReadHandler extends ElementReadHandler final Attributes atts) throws SAXException { - if (OfficeNamespaces.TABLE_NS.equals(uri) && OfficeToken.TABLE_COLUMN.equals(tagName) ) + if (OfficeNamespaces.TABLE_NS.equals(uri) && OfficeToken.TABLE_COLUMN.equals(tagName)) { final TableColumnReadHandler readHandler = new TableColumnReadHandler(); columns.add(readHandler); diff --git a/reportbuilder/java/com/sun/star/report/pentaho/smil.css b/reportbuilder/java/com/sun/star/report/pentaho/smil.css index b01076f..54d59ac 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/smil.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/smil.css @@ -2,4 +2,4 @@ /** * All default styles for formating-objects elements (if there are any). - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/star-office.css b/reportbuilder/java/com/sun/star/report/pentaho/star-office.css index da515eb..22d57ca 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/star-office.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/star-office.css @@ -2,4 +2,4 @@ /** * All default styles for office elements. - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/star-report.css b/reportbuilder/java/com/sun/star/report/pentaho/star-report.css index ef4e595..56f9850 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/star-report.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/star-report.css @@ -3,43 +3,43 @@ @namespace report url("http://openoffice.org/2005/report"); table|table { - display: table; + display: table; } table|table-columns { - display: table-column-group; + display: table-column-group; } table|table-column { - display: table-column; + display: table-column; } table|table-row { - display: table-row; + display: table-row; } table|table-cell { - display: table-cell; + display: table-cell; } table|table-cell[number-columns-spanned], table|table-cell[number-columns-spanned], table|table-columns[number-columns-spanned], table|table-column[number-columns-spanned] { - -x-liblayout-colspan: attr("table|number-columns-spanned"); + -x-liblayout-colspan: attr("table|number-columns-spanned"); } table|table-cell[number-rows-spanned], table|table-cell[number-rows-spanned] { - -x-liblayout-rowspan: attr("table|number-rows-spanned"); + -x-liblayout-rowspan: attr("table|number-rows-spanned"); } /** * Style definitions for star report. - */ +*/ * { - vertical-align: baseline; + vertical-align: baseline; } /** @@ -58,15 +58,15 @@ table|table-cell[number-rows-spanned] { percentage fraction - */ +*/ @format number myname { - -x-liblayout-decimal-replacement: "-"; - -x-liblayout-display-factor: 1000; - content: "'Prefix'#,##0.00'postfix'"; + -x-liblayout-decimal-replacement: "-"; + -x-liblayout-display-factor: 1000; + content: "'Prefix'#,##0.00'postfix'"; } @format scientific anothername { - /* to be filled */ + /* to be filled */ } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/star-rpt.css b/reportbuilder/java/com/sun/star/report/pentaho/star-rpt.css index 6da2687..47b6aca 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/star-rpt.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/star-rpt.css @@ -2,4 +2,4 @@ /** * All default styles for report elements. - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/LengthCalculator.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/LengthCalculator.java index 295f5e0..0851b1a 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/LengthCalculator.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/LengthCalculator.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.styles; import org.jfree.layouting.input.style.values.CSSNumericType; @@ -44,73 +42,72 @@ import org.jfree.layouting.input.style.values.CSSNumericValue; */ public class LengthCalculator { - // and centimeter (x10) - private double millimeter; - - // and pica (x12) and inch(x72). Px is assumed to be in 96dpi. - private double point; + // and centimeter (x10) - private double pixel; + private double millimeter; + // and pica (x12) and inch(x72). Px is assumed to be in 96dpi. + private double point; + private double pixel; - public LengthCalculator() - { - } - - public void add (final CSSNumericValue value) - { - if (value == null) + public LengthCalculator() { - return; } - final CSSNumericType numericType = value.getType(); - if (numericType == CSSNumericType.CM) - { - millimeter += value.getValue() * 10; - } - else if (numericType == CSSNumericType.MM) + public void add(final CSSNumericValue value) { - millimeter += value.getValue(); - } - else if (numericType == CSSNumericType.PT) - { - point += value.getValue(); - } - else if (numericType == CSSNumericType.PC) - { - point += 12 * value.getValue(); - } - else if (numericType == CSSNumericType.INCH) - { - point += 72 * value.getValue(); - } - else if (numericType == CSSNumericType.PX) - { - pixel += value.getValue(); - } - // LOGGER.debug ("Adding " + value + " [mm: " + millimeter + "] [pt: " + point + "] px: [" + pixel + "]"); - } + if (value == null) + { + return; + } - public CSSNumericValue getResult () - { - if (pixel == 0 && point == 0) - { - return CSSNumericValue.createValue(CSSNumericType.MM, millimeter); + final CSSNumericType numericType = value.getType(); + if (numericType == CSSNumericType.CM) + { + millimeter += value.getValue() * 10; + } + else if (numericType == CSSNumericType.MM) + { + millimeter += value.getValue(); + } + else if (numericType == CSSNumericType.PT) + { + point += value.getValue(); + } + else if (numericType == CSSNumericType.PC) + { + point += 12 * value.getValue(); + } + else if (numericType == CSSNumericType.INCH) + { + point += 72 * value.getValue(); + } + else if (numericType == CSSNumericType.PX) + { + pixel += value.getValue(); + } + // LOGGER.debug ("Adding " + value + " [mm: " + millimeter + "] [pt: " + point + "] px: [" + pixel + "]"); } - if (pixel == 0 && millimeter == 0) - { - return CSSNumericValue.createValue(CSSNumericType.PT, point); - } - if (point == 0 && millimeter == 0) + + public CSSNumericValue getResult() { - return CSSNumericValue.createValue(CSSNumericType.PX, pixel); - } - // else convert it. + if (pixel == 0 && point == 0) + { + return CSSNumericValue.createValue(CSSNumericType.MM, millimeter); + } + if (pixel == 0 && millimeter == 0) + { + return CSSNumericValue.createValue(CSSNumericType.PT, point); + } + if (point == 0 && millimeter == 0) + { + return CSSNumericValue.createValue(CSSNumericType.PX, pixel); + } + // else convert it. - double result = point; - result += (millimeter * 10 * 72 / 254); - result += pixel * 72 / 96; + double result = point; + result += (millimeter * 10 * 72 / 254); + result += pixel * 72 / 96; - return CSSNumericValue.createValue(CSSNumericType.PT, result); - } + return CSSNumericValue.createValue(CSSNumericType.PT, result); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapper.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapper.java index d472a11..a3a9811 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapper.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapper.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.styles; import java.util.HashMap; @@ -54,53 +52,47 @@ import org.pentaho.reporting.libraries.resourceloader.ResourceManager; */ public class StyleMapper { - private final Map backend; - public StyleMapper() - { - this.backend = new HashMap(); - } + private final Map backend; - public void addMapping(final StyleMappingRule rule) - { - backend.put(rule.getKey(), rule); - } + public StyleMapper() + { + this.backend = new HashMap(); + } - public boolean isListOfStyles(final String elementNamespace, - final String elementTagName, - final String attributeNamespace, - final String attributeName) - { - final StyleMapperKey key = new StyleMapperKey - (elementNamespace, elementTagName, attributeNamespace, attributeName); - final StyleMappingRule rule = (StyleMappingRule) backend.get(key); - if (rule == null) + public void addMapping(final StyleMappingRule rule) { - return false; + backend.put(rule.getKey(), rule); } - return rule.isListOfValues(); - } - public String getStyleFamilyFor(final String elementNamespace, - final String elementTagName, - final String attributeNamespace, - final String attributeName) - { - final StyleMapperKey key = new StyleMapperKey - (elementNamespace, elementTagName, attributeNamespace, attributeName); - final StyleMappingRule rule = (StyleMappingRule) backend.get(key); - if (rule == null) + public boolean isListOfStyles(final String elementNamespace, + final String elementTagName, + final String attributeNamespace, + final String attributeName) { - return null; + final StyleMapperKey key = new StyleMapperKey(elementNamespace, elementTagName, attributeNamespace, attributeName); + final StyleMappingRule rule = (StyleMappingRule) backend.get(key); + return rule != null && rule.isListOfValues(); } - return rule.getFamily(); - } - public static StyleMapper loadInstance (final ResourceManager resourceManager) - throws ResourceException - { - final Resource resource = resourceManager.createDirectly - ("res://com/sun/star/report/pentaho/styles/stylemapper.xml", StyleMapper.class); - return (StyleMapper) resource.getResource(); - } + public String getStyleFamilyFor(final String elementNamespace, + final String elementTagName, + final String attributeNamespace, + final String attributeName) + { + final StyleMapperKey key = new StyleMapperKey(elementNamespace, elementTagName, attributeNamespace, attributeName); + final StyleMappingRule rule = (StyleMappingRule) backend.get(key); + if (rule == null) + { + return null; + } + return rule.getFamily(); + } + + public static StyleMapper loadInstance(final ResourceManager resourceManager) + throws ResourceException + { + final Resource resource = resourceManager.createDirectly("res://com/sun/star/report/pentaho/styles/stylemapper.xml", StyleMapper.class); + return (StyleMapper) resource.getResource(); + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperKey.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperKey.java index b25a22e..2cd33ea 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperKey.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperKey.java @@ -96,9 +96,7 @@ public final class StyleMapperKey final StyleMapperKey that = (StyleMapperKey) o; - if ((attributeName != null ? !attributeName.equals(that.attributeName) : that.attributeName != null) || - (attributeNamespace != null ? !attributeNamespace.equals(that.attributeNamespace) : that.attributeNamespace != null) || - !elementName.equals(that.elementName) || !elementNamespace.equals(that.elementNamespace)) + if ((attributeName != null ? !attributeName.equals(that.attributeName) : that.attributeName != null) || (attributeNamespace != null ? !attributeNamespace.equals(that.attributeNamespace) : that.attributeNamespace != null) || !elementName.equals(that.elementName) || !elementNamespace.equals(that.elementNamespace)) { return false; } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlFactoryModule.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlFactoryModule.java index 88cf486..bf1a6e8 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlFactoryModule.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlFactoryModule.java @@ -57,8 +57,7 @@ public class StyleMapperXmlFactoryModule implements XmlFactoryModule public int getDocumentSupport(final XmlDocumentInfo documentInfo) { final String rootNamespace = documentInfo.getRootElementNameSpace(); - if (StyleMapperXmlFactoryModule.NAMESPACE.equals(rootNamespace) && - "style-mapper-definition".equals(documentInfo.getRootElement())) + if (StyleMapperXmlFactoryModule.NAMESPACE.equals(rootNamespace) && "style-mapper-definition".equals(documentInfo.getRootElement())) { return XmlFactoryModule.RECOGNIZED_BY_NAMESPACE; diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlResourceFactory.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlResourceFactory.java index ab9f34a..12c9609 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlResourceFactory.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMapperXmlResourceFactory.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.styles; import org.pentaho.reporting.libraries.xmlns.parser.AbstractXmlResourceFactory; @@ -43,17 +41,18 @@ import org.pentaho.reporting.libraries.base.config.Configuration; */ public class StyleMapperXmlResourceFactory extends AbstractXmlResourceFactory { - public StyleMapperXmlResourceFactory() - { - } - protected Configuration getConfiguration() - { - return JFreeReportBoot.getInstance().getGlobalConfig(); - } + public StyleMapperXmlResourceFactory() + { + } + + protected Configuration getConfiguration() + { + return JFreeReportBoot.getInstance().getGlobalConfig(); + } - public Class getFactoryType() - { - return StyleMapper.class; - } + public Class getFactoryType() + { + return StyleMapper.class; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingReadHandler.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingReadHandler.java index c2653eb..eb5f915 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingReadHandler.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingReadHandler.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.styles; import org.pentaho.reporting.libraries.xmlns.parser.AbstractXmlReadHandler; @@ -44,66 +42,62 @@ import org.xml.sax.SAXException; */ public class StyleMappingReadHandler extends AbstractXmlReadHandler { - private StyleMappingRule rule; - - public StyleMappingReadHandler() - { - } + private StyleMappingRule rule; - /** - * Starts parsing. - * - * @param attrs the attributes. - * @throws org.xml.sax.SAXException if there is a parsing error. - */ - protected void startParsing(final Attributes attrs) - throws SAXException - { - final String elementNamespace = attrs.getValue(getUri(), - "element-namespace"); - if (elementNamespace == null) + public StyleMappingReadHandler() { - throw new ParseException - ("Required attribute 'element-namespace' is missing", getLocator()); } - final String elementName = attrs.getValue(getUri(), "element-name"); - - if (elementName == null) + /** + * Starts parsing. + * + * @param attrs the attributes. + * @throws org.xml.sax.SAXException if there is a parsing error. + */ + protected void startParsing(final Attributes attrs) + throws SAXException { - throw new ParseException - ("Required attribute 'element-name' is missing", getLocator()); - } + final String elementNamespace = attrs.getValue(getUri(), + "element-namespace"); + if (elementNamespace == null) + { + throw new ParseException("Required attribute 'element-namespace' is missing", getLocator()); + } - final String attributeNamespace = attrs.getValue(getUri(), - "attribute-namespace"); - final String attributeName = attrs.getValue(getUri(), "attribute-name"); + final String elementName = attrs.getValue(getUri(), "element-name"); - final boolean listOfValues = - "styleNameRefs".equals(attrs.getValue(getUri(), "type")); + if (elementName == null) + { + throw new ParseException("Required attribute 'element-name' is missing", getLocator()); + } - final String family = attrs.getValue(getUri(), "style-family"); - final StyleMapperKey key = new StyleMapperKey - (elementNamespace, elementName, attributeNamespace, attributeName); - rule = new StyleMappingRule(key, family, listOfValues); - } + final String attributeNamespace = attrs.getValue(getUri(), + "attribute-namespace"); + final String attributeName = attrs.getValue(getUri(), "attribute-name"); + final boolean listOfValues = + "styleNameRefs".equals(attrs.getValue(getUri(), "type")); - public StyleMappingRule getRule() - { - return rule; - } + final String family = attrs.getValue(getUri(), "style-family"); + final StyleMapperKey key = new StyleMapperKey(elementNamespace, elementName, attributeNamespace, attributeName); + rule = new StyleMappingRule(key, family, listOfValues); + } - /** - * Returns the object for this element or null, if this element does not - * create an object. - * - * @return the object. - */ - public Object getObject() - throws SAXException - { - return rule; - } + public StyleMappingRule getRule() + { + return rule; + } + + /** + * Returns the object for this element or null, if this element does not + * create an object. + * + * @return the object. + */ + public Object getObject() + throws SAXException + { + return rule; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingRule.java b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingRule.java index e15a910..ef93f6f 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingRule.java +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/StyleMappingRule.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.pentaho.styles; /** @@ -39,32 +37,31 @@ package com.sun.star.report.pentaho.styles; */ public class StyleMappingRule { - private final StyleMapperKey key; - private final String family; - private final boolean listOfValues; - - public StyleMappingRule(final StyleMapperKey key, final String family, - final boolean listOfValues) - { - this.key = key; - this.family = family; - this.listOfValues = listOfValues; - } + private final StyleMapperKey key; + private final String family; + private final boolean listOfValues; + public StyleMappingRule(final StyleMapperKey key, final String family, + final boolean listOfValues) + { + this.key = key; + this.family = family; + this.listOfValues = listOfValues; + } - public StyleMapperKey getKey() - { - return key; - } + public StyleMapperKey getKey() + { + return key; + } - public String getFamily() - { - return family; - } + public String getFamily() + { + return family; + } - public boolean isListOfValues() - { - return listOfValues; - } + public boolean isListOfValues() + { + return listOfValues; + } } diff --git a/reportbuilder/java/com/sun/star/report/pentaho/styles/stylemapper.xsd b/reportbuilder/java/com/sun/star/report/pentaho/styles/stylemapper.xsd index 905dbc8..93392a6 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/styles/stylemapper.xsd +++ b/reportbuilder/java/com/sun/star/report/pentaho/styles/stylemapper.xsd @@ -34,62 +34,62 @@ xmlns="http://jfreereport.sourceforge.net/namespaces/engine/openoffice/stylemapper" targetNamespace="http://jfreereport.sourceforge.net/namespaces/engine/openoffice/stylemapper" attributeFormDefault="unqualified"> - <xsd:annotation> - <xsd:documentation> + <xsd:annotation> + <xsd:documentation> This schema describes the format of the stylemapper definition file. The stylemapper declares what style-families are referenced by an element. - </xsd:documentation> - </xsd:annotation> + </xsd:documentation> + </xsd:annotation> - <xsd:simpleType name="styleNameRefType"> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="styleNameRef"/> - <xsd:enumeration value="styleNameRefs"/> - </xsd:restriction> - </xsd:simpleType> + <xsd:simpleType name="styleNameRefType"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="styleNameRef"/> + <xsd:enumeration value="styleNameRefs"/> + </xsd:restriction> + </xsd:simpleType> - <xsd:simpleType name="styleFamilyType"> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="paragraph"/> - <xsd:enumeration value="text"/> - <xsd:enumeration value="section"/> - <xsd:enumeration value="table"/> - <xsd:enumeration value="table-column"/> - <xsd:enumeration value="table-row"/> - <xsd:enumeration value="table-cell"/> - <xsd:enumeration value="table-page"/> - <xsd:enumeration value="chart"/> - <xsd:enumeration value="default"/> - <xsd:enumeration value="drawing-page"/> - <xsd:enumeration value="graphic"/> - <xsd:enumeration value="presentation"/> - <xsd:enumeration value="control"/> - <xsd:enumeration value="ruby"/> - <xsd:enumeration value="custom-shape"/> - </xsd:restriction> - </xsd:simpleType> + <xsd:simpleType name="styleFamilyType"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="paragraph"/> + <xsd:enumeration value="text"/> + <xsd:enumeration value="section"/> + <xsd:enumeration value="table"/> + <xsd:enumeration value="table-column"/> + <xsd:enumeration value="table-row"/> + <xsd:enumeration value="table-cell"/> + <xsd:enumeration value="table-page"/> + <xsd:enumeration value="chart"/> + <xsd:enumeration value="default"/> + <xsd:enumeration value="drawing-page"/> + <xsd:enumeration value="graphic"/> + <xsd:enumeration value="presentation"/> + <xsd:enumeration value="control"/> + <xsd:enumeration value="ruby"/> + <xsd:enumeration value="custom-shape"/> + </xsd:restriction> + </xsd:simpleType> - <xsd:element name="mapping"> - <xsd:complexType> - <xsd:attribute name="element-namespace" use="required" type="xsd:anyURI"/> - <xsd:attribute name="element-name" use="required" type="xsd:NCName"/> - <xsd:attribute name="attribute-namespace" use="required" type="xsd:anyURI"/> - <xsd:attribute name="attribute-name" use="required" type="xsd:NCName"/> - <xsd:attribute name="type" use="required" type="styleNameRefType"/> - <xsd:attribute name="style-family" use="required" type="styleFamilyType"/> - </xsd:complexType> - </xsd:element> + <xsd:element name="mapping"> + <xsd:complexType> + <xsd:attribute name="element-namespace" use="required" type="xsd:anyURI"/> + <xsd:attribute name="element-name" use="required" type="xsd:NCName"/> + <xsd:attribute name="attribute-namespace" use="required" type="xsd:anyURI"/> + <xsd:attribute name="attribute-name" use="required" type="xsd:NCName"/> + <xsd:attribute name="type" use="required" type="styleNameRefType"/> + <xsd:attribute name="style-family" use="required" type="styleFamilyType"/> + </xsd:complexType> + </xsd:element> - <xsd:element name="style-mapper-definition"> - <xsd:complexType> - <xsd:complexContent> - <xsd:restriction base="xsd:anyType"> - <xsd:sequence> - <xsd:element ref="mapping" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> + <xsd:element name="style-mapper-definition"> + <xsd:complexType> + <xsd:complexContent> + <xsd:restriction base="xsd:anyType"> + <xsd:sequence> + <xsd:element ref="mapping" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:restriction> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> </xsd:schema> diff --git a/reportbuilder/java/com/sun/star/report/pentaho/svg.css b/reportbuilder/java/com/sun/star/report/pentaho/svg.css index f715210..ebe16e3 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/svg.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/svg.css @@ -2,4 +2,4 @@ /** * All default styles for formating-objects elements (if there are any). - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/pentaho/xsl-fo.css b/reportbuilder/java/com/sun/star/report/pentaho/xsl-fo.css index 494ee66..f030a38 100644 --- a/reportbuilder/java/com/sun/star/report/pentaho/xsl-fo.css +++ b/reportbuilder/java/com/sun/star/report/pentaho/xsl-fo.css @@ -2,4 +2,4 @@ /** * All default styles for formating-objects elements (if there are any). - */ +*/ diff --git a/reportbuilder/java/com/sun/star/report/util/DefaultJobProperties.java b/reportbuilder/java/com/sun/star/report/util/DefaultJobProperties.java index 2cb50b8..dee2848 100644 --- a/reportbuilder/java/com/sun/star/report/util/DefaultJobProperties.java +++ b/reportbuilder/java/com/sun/star/report/util/DefaultJobProperties.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.util; import java.util.HashMap; @@ -40,44 +38,45 @@ import java.util.Map; public class DefaultJobProperties implements JobProperties { - private final ReportEngineMetaData metaData; - private final Map properties; - public DefaultJobProperties (final ReportEngineMetaData metaData) - { - if (metaData == null) + private final ReportEngineMetaData metaData; + private final Map properties; + + public DefaultJobProperties(final ReportEngineMetaData metaData) { - throw new NullPointerException(); + if (metaData == null) + { + throw new NullPointerException(); + } + this.properties = new HashMap(); + this.metaData = metaData; } - this.properties = new HashMap(); - this.metaData = metaData; - } - public Object getProperty (final String key) - { - return properties.get(key); - } - - public void setProperty (final String key, final Object value) - throws JobDefinitionException - { - final Class type = metaData.getParameterType(key); - if (type == null) + public Object getProperty(final String key) { - throw new JobDefinitionException("The parameter name is not known: " + key); + return properties.get(key); } - if (!type.isInstance(value)) + + public void setProperty(final String key, final Object value) + throws JobDefinitionException { - throw new JobDefinitionException("The parameter value is not understood"); - } + final Class type = metaData.getParameterType(key); + if (type == null) + { + throw new JobDefinitionException("The parameter name is not known: " + key); + } + if (!type.isInstance(value)) + { + throw new JobDefinitionException("The parameter value is not understood"); + } - this.properties.put(key, value); - } + this.properties.put(key, value); + } - public JobProperties copy() - { - final DefaultJobProperties props = new DefaultJobProperties(metaData); - props.properties.putAll(properties); - return props; - } + public JobProperties copy() + { + final DefaultJobProperties props = new DefaultJobProperties(metaData); + props.properties.putAll(properties); + return props; + } } diff --git a/reportbuilder/java/com/sun/star/report/util/DefaultParameterMap.java b/reportbuilder/java/com/sun/star/report/util/DefaultParameterMap.java index 965db65..a46d348e 100644 --- a/reportbuilder/java/com/sun/star/report/util/DefaultParameterMap.java +++ b/reportbuilder/java/com/sun/star/report/util/DefaultParameterMap.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.util; import java.util.HashMap; @@ -38,92 +36,90 @@ import java.util.Map; public class DefaultParameterMap implements ParameterMap { - private final Map backend; - - public DefaultParameterMap () - { - backend = new HashMap(); - } - public void clear () - { - backend.clear(); - } + private final Map backend; - /** - * Retrieves the value stored for a key in this properties collection. - * - * @param key the property key. - * @return The stored value, or <code>null</code> if the key does not exist in this - * collection. - */ - public Object get (final String key) - { - if (key == null) + public DefaultParameterMap() { - throw new NullPointerException - ("DefaultParameterMap.get (..): Parameter 'key' must not be null"); + backend = new HashMap(); } - return backend.get(key); - } - /** - * Retrieves the value stored for a key in this properties collection, and returning the - * default value if the key was not stored in this properties collection. - * - * @param key the property key. - * @param defaultValue the default value to be returned when the key is not stored in - * this properties collection. - * @return The stored value, or the default value if the key does not exist in this - * collection. - */ - public Object get (final String key, final Object defaultValue) - { - if (key == null) + public void clear() { - throw new NullPointerException - ("DefaultParameterMap.get (..): Parameter 'key' must not be null"); + backend.clear(); } - final Object o = this.backend.get(key); - if (o == null) + + /** + * Retrieves the value stored for a key in this properties collection. + * + * @param key the property key. + * @return The stored value, or <code>null</code> if the key does not exist in this + * collection. + */ + public Object get(final String key) { - return defaultValue; + if (key == null) + { + throw new NullPointerException("DefaultParameterMap.get (..): Parameter 'key' must not be null"); + } + return backend.get(key); } - return o; - } - - public String[] keys () - { - return (String[]) this.backend.keySet().toArray(new String[backend.size()]); - } - /** - * Adds a property to this properties collection. If a property with the given name - * exist, the property will be replaced with the new value. If the value is null, the - * property will be removed. - * - * @param key the property key. - * @param value the property value. - */ - public void put (final String key, final Object value) - { - if (key == null) + /** + * Retrieves the value stored for a key in this properties collection, and returning the + * default value if the key was not stored in this properties collection. + * + * @param key the property key. + * @param defaultValue the default value to be returned when the key is not stored in + * this properties collection. + * @return The stored value, or the default value if the key does not exist in this + * collection. + */ + public Object get(final String key, final Object defaultValue) { - throw new NullPointerException - ("ReportProperties.put (..): Parameter 'key' must not be null"); + if (key == null) + { + throw new NullPointerException("DefaultParameterMap.get (..): Parameter 'key' must not be null"); + } + final Object o = this.backend.get(key); + if (o == null) + { + return defaultValue; + } + return o; } - if (value == null) + + public String[] keys() { - this.backend.remove(key); + return (String[]) this.backend.keySet().toArray(new String[backend.size()]); } - else + + /** + * Adds a property to this properties collection. If a property with the given name + * exist, the property will be replaced with the new value. If the value is null, the + * property will be removed. + * + * @param key the property key. + * @param value the property value. + */ + public void put(final String key, final Object value) { - this.backend.put(key, value); + if (key == null) + { + throw new NullPointerException("ReportProperties.put (..): Parameter 'key' must not be null"); + } + if (value == null) + { + this.backend.remove(key); + } + else + { + this.backend.put(key, value); + } } - } - public int size () - { - return this.backend.size(); - } + public int size() + { + return this.backend.size(); + } } diff --git a/reportbuilder/java/com/sun/star/report/util/DefaultReportJobDefinition.java b/reportbuilder/java/com/sun/star/report/util/DefaultReportJobDefinition.java index 4ce835b..b66f9a0 100644 --- a/reportbuilder/java/com/sun/star/report/util/DefaultReportJobDefinition.java +++ b/reportbuilder/java/com/sun/star/report/util/DefaultReportJobDefinition.java @@ -27,8 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - - package com.sun.star.report.util; import com.sun.star.report.DataSourceFactory; @@ -43,81 +41,79 @@ import com.sun.star.report.ReportJobDefinition; public class DefaultReportJobDefinition implements ReportJobDefinition { - public static final String OUTPUT_TYPE = "output-type"; - - private final DefaultParameterMap parameters; - private final DefaultJobProperties properties; - - public DefaultReportJobDefinition (final ReportEngineMetaData metaData) - { - this.parameters = new DefaultParameterMap(); - this.properties = new DefaultJobProperties(metaData); - } - - public void setDataSourceFactory (final DataSourceFactory dataSourceFactory) - throws JobDefinitionException - { - this.properties.setProperty(ReportEngineParameterNames.INPUT_DATASOURCE_FACTORY, dataSourceFactory); - } - - public DataSourceFactory getDataSourceFactory () - { - return (DataSourceFactory) this.properties.getProperty(ReportEngineParameterNames.INPUT_DATASOURCE_FACTORY); - } - - public InputRepository getInputRepository () - { - return (InputRepository) - this.properties.getProperty(ReportEngineParameterNames.INPUT_REPOSITORY); - } - - public void setInputRepository (final InputRepository inputRepository) - throws JobDefinitionException - { - this.properties.setProperty(ReportEngineParameterNames.INPUT_REPOSITORY, inputRepository); - } - - public OutputRepository getOutputRepository () - { - return (OutputRepository) - this.properties.getProperty(ReportEngineParameterNames.OUTPUT_REPOSITORY); - } - - public void setOutputRepository (final OutputRepository outputRepository) - throws JobDefinitionException - { - this.properties.setProperty(ReportEngineParameterNames.OUTPUT_REPOSITORY, outputRepository); - } - - /** - * The parameters of the root report definition. The parameters for the subreports are - * defined using mappings, it would not make sense to define them here. - * - * @return a map container for query parameters. - */ - public ParameterMap getQueryParameters () - { - return parameters; - } - - public void setReportDefinitionName (final String reportDefinitionName) - throws JobDefinitionException - { - this.properties.setProperty(ReportEngineParameterNames.INPUT_NAME, reportDefinitionName); - } - - /** - * The name under which we can load the report definition. - * - * @return the report definition's name. - */ - public String getReportDefinitionName () - { - return (String) this.properties.getProperty(ReportEngineParameterNames.INPUT_NAME); - } - public JobProperties getProcessingParameters () - { - return properties; - } + public static final String OUTPUT_TYPE = "output-type"; + private final DefaultParameterMap parameters; + private final DefaultJobProperties properties; + + public DefaultReportJobDefinition(final ReportEngineMetaData metaData) + { + this.parameters = new DefaultParameterMap(); + this.properties = new DefaultJobProperties(metaData); + } + + public void setDataSourceFactory(final DataSourceFactory dataSourceFactory) + throws JobDefinitionException + { + this.properties.setProperty(ReportEngineParameterNames.INPUT_DATASOURCE_FACTORY, dataSourceFactory); + } + + public DataSourceFactory getDataSourceFactory() + { + return (DataSourceFactory) this.properties.getProperty(ReportEngineParameterNames.INPUT_DATASOURCE_FACTORY); + } + + public InputRepository getInputRepository() + { + return (InputRepository) this.properties.getProperty(ReportEngineParameterNames.INPUT_REPOSITORY); + } + + public void setInputRepository(final InputRepository inputRepository) + throws JobDefinitionException + { + this.properties.setProperty(ReportEngineParameterNames.INPUT_REPOSITORY, inputRepository); + } + + public OutputRepository getOutputRepository() + { + return (OutputRepository) this.properties.getProperty(ReportEngineParameterNames.OUTPUT_REPOSITORY); + } + + public void setOutputRepository(final OutputRepository outputRepository) + throws JobDefinitionException + { + this.properties.setProperty(ReportEngineParameterNames.OUTPUT_REPOSITORY, outputRepository); + } + + /** + * The parameters of the root report definition. The parameters for the subreports are + * defined using mappings, it would not make sense to define them here. + * + * @return a map container for query parameters. + */ + public ParameterMap getQueryParameters() + { + return parameters; + } + + public void setReportDefinitionName(final String reportDefinitionName) + throws JobDefinitionException + { + this.properties.setProperty(ReportEngineParameterNames.INPUT_NAME, reportDefinitionName); + } + + /** + * The name under which we can load the report definition. + * + * @return the report definition's name. + */ + public String getReportDefinitionName() + { + return (String) this.properties.getProperty(ReportEngineParameterNames.INPUT_NAME); + } + + public JobProperties getProcessingParameters() + { + return properties; + } } diff --git a/reportbuilder/java/com/sun/star/report/util/ManifestWriter.java b/reportbuilder/java/com/sun/star/report/util/ManifestWriter.java index 951ce9d..2b22e06 100644 --- a/reportbuilder/java/com/sun/star/report/util/ManifestWriter.java +++ b/reportbuilder/java/com/sun/star/report/util/ManifestWriter.java @@ -27,7 +27,6 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ - package com.sun.star.report.util; import java.util.HashMap; @@ -50,73 +49,74 @@ import com.sun.star.report.OutputRepository; * @author Thomas Morgner */ public class ManifestWriter -{ +{ // need this two strings other it breaks the ooo build :-( - public static final String MANIFEST_NS = "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"; - public static final String TAG_DEF_PREFIX = "com.sun.star.report.pentaho.output."; - private final Map entries; - public ManifestWriter() - { - entries = new HashMap(); - } + public static final String MANIFEST_NS = "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"; + public static final String TAG_DEF_PREFIX = "com.sun.star.report.pentaho.output."; + private final Map entries; - public void addEntry(final String fullPath, final String mimeType) - { - if (fullPath == null) + public ManifestWriter() { - throw new NullPointerException(); + entries = new HashMap(); } - if (mimeType == null) + + public void addEntry(final String fullPath, final String mimeType) { - throw new NullPointerException(); + if (fullPath == null) + { + throw new NullPointerException(); + } + if (mimeType == null) + { + throw new NullPointerException(); + } + if ("META-INF/manifest.xml".equals(fullPath)) + { + return; + } + entries.put(fullPath, mimeType); } - if ("META-INF/manifest.xml".equals(fullPath)) + + public boolean isEmpty() { - return; + return entries.isEmpty(); } - entries.put(fullPath, mimeType); - } - - public boolean isEmpty() - { - return entries.isEmpty(); - } - public void write(final OutputRepository outputRepository) throws IOException - { - if (isEmpty()) + public void write(final OutputRepository outputRepository) throws IOException { - return; - } + if (isEmpty()) + { + return; + } - final DefaultTagDescription tagDescription = new DefaultTagDescription(); - tagDescription.configure(JFreeReportBoot.getInstance().getGlobalConfig(), - TAG_DEF_PREFIX); + final DefaultTagDescription tagDescription = new DefaultTagDescription(); + tagDescription.configure(JFreeReportBoot.getInstance().getGlobalConfig(), + TAG_DEF_PREFIX); - final OutputStream manifestOutputStream = - outputRepository.createOutputStream("META-INF/manifest.xml", "text/xml"); + final OutputStream manifestOutputStream = + outputRepository.createOutputStream("META-INF/manifest.xml", "text/xml"); - final OutputStreamWriter writer = new OutputStreamWriter(manifestOutputStream, "UTF-8"); - final XmlWriter xmlWriter = new XmlWriter(writer, tagDescription); - xmlWriter.setAlwaysAddNamespace(true); - xmlWriter.writeXmlDeclaration("UTF-8"); + final OutputStreamWriter writer = new OutputStreamWriter(manifestOutputStream, "UTF-8"); + final XmlWriter xmlWriter = new XmlWriter(writer, tagDescription); + xmlWriter.setAlwaysAddNamespace(true); + xmlWriter.writeXmlDeclaration("UTF-8"); - final AttributeList rootAttributes = new AttributeList(); - rootAttributes.addNamespaceDeclaration("manifest", MANIFEST_NS); - xmlWriter.writeTag(MANIFEST_NS, "manifest", rootAttributes, XmlWriterSupport.OPEN); + final AttributeList rootAttributes = new AttributeList(); + rootAttributes.addNamespaceDeclaration("manifest", MANIFEST_NS); + xmlWriter.writeTag(MANIFEST_NS, "manifest", rootAttributes, XmlWriterSupport.OPEN); - final Iterator iterator = entries.entrySet().iterator(); - while (iterator.hasNext()) - { - final Map.Entry entry = (Map.Entry) iterator.next(); - final AttributeList entryAttrs = new AttributeList(); - entryAttrs.setAttribute(MANIFEST_NS, "media-type", (String) entry.getValue()); - entryAttrs.setAttribute(MANIFEST_NS, "full-path", (String) entry.getKey()); - xmlWriter.writeTag(MANIFEST_NS, "file-entry", entryAttrs, XmlWriterSupport.CLOSE); - } + final Iterator iterator = entries.entrySet().iterator(); + while (iterator.hasNext()) + { + final Map.Entry entry = (Map.Entry) iterator.next(); + final AttributeList entryAttrs = new AttributeList(); + entryAttrs.setAttribute(MANIFEST_NS, "media-type", (String) entry.getValue()); + entryAttrs.setAttribute(MANIFEST_NS, "full-path", (String) entry.getKey()); + xmlWriter.writeTag(MANIFEST_NS, "file-entry", entryAttrs, XmlWriterSupport.CLOSE); + } - xmlWriter.writeCloseTag(); - xmlWriter.close(); - } + xmlWriter.writeCloseTag(); + xmlWriter.close(); + } } |