User: rt Date: 2008-06-16 13:14:35+0000 Modified: dba/reportdesign/java/com/sun/star/report/pentaho/output/StyleUtilities.java
Log: INTEGRATION: CWS rptchart02 (1.5.4); FILE MERGED 2008/05/27 08:06:16 oj 1.5.4.3: #i77610# handle keep-with-next and may-break-between-rows and keep-together 2008/04/16 06:23:38 oj 1.5.4.2: RESYNC: (1.5-1.6); FILE MERGED 2008/03/12 09:42:51 oj 1.5.4.1: impl chart handling and some code refactoring File Changes: Directory: /dba/reportdesign/java/com/sun/star/report/pentaho/output/ ===================================================================== File [changed]: StyleUtilities.java Url: http://dba.openoffice.org/source/browse/dba/reportdesign/java/com/sun/star/report/pentaho/output/StyleUtilities.java?r1=1.7&r2=1.8 Delta lines: +43 -1 -------------------- --- StyleUtilities.java 2008-05-05 14:32:15+0000 1.7 +++ StyleUtilities.java 2008-06-16 13:14:32+0000 1.8 @@ -38,6 +38,7 @@ import com.sun.star.report.pentaho.model.OfficeStyle; import com.sun.star.report.pentaho.model.OfficeStyles; import com.sun.star.report.pentaho.model.OfficeStylesCollection; +import java.util.ArrayList; import java.util.Set; import org.jfree.report.ReportProcessingException; import org.jfree.report.structure.Element; @@ -448,7 +449,7 @@ // now copy the common style .. final OfficeStyles commonStyles = commonCollection.getCommonStyles(); - if (!commonStyles.containsStyle(styleFamily, styleName) ) + if (!commonStyles.containsStyle(styleFamily, styleName)) { copyStyleInternal(commonStyle, commonStyles, commonCollection, commonCollection, predefCollection, @@ -500,6 +501,46 @@ styleName, sectionName, propertyNamespace, propertyName, new HashSet()); } + public static OfficeStyle queryStyleByProperties(final OfficeStylesCollection predefCollection, + final String styleFamily, + final String sectionName, + final ArrayList propertyNamespace, + final ArrayList propertyName, + final ArrayList propertyValues) + { + if ( propertyNamespace.size() != propertyName.size()) + return null; + final OfficeStyle[] styles = predefCollection.getAutomaticStyles().getAllStyles(); + for (int i = 0; i < styles.length; i++) + { + final OfficeStyle officeStyle = styles[i]; + if ( officeStyle.getStyleFamily().equals(styleFamily) ) + { + final Element section = officeStyle.findFirstChild(OfficeNamespaces.STYLE_NS, sectionName); + if (section != null) + { + int j = 0; + for (; j < propertyNamespace.size(); j++) + { + final String ns = (String)propertyNamespace.get(j); + final String prop = (String)propertyName.get(j); + final Object obj = section.getAttribute(ns, prop); + final Object value = propertyValues.get(j); + if ( obj == null && value == null) + continue; + if (!propertyValues.get(j).equals(obj)) + break; + } + if ( j == propertyName.size() ) + { + return officeStyle; + } + } + } + } + return null; + } + private static String queryStyle(final OfficeStylesCollection predefCollection, final String styleFamily, final String styleName, @@ -518,6 +559,7 @@ if (style == null) { return null; // no such style + } final Element section = style.findFirstChild(OfficeNamespaces.STYLE_NS, sectionName); if (section != null) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
