Author: pete.muir(a)jboss.org
Date: 2008-08-30 08:01:23 -0400 (Sat, 30 Aug 2008)
New Revision: 8856
Modified:
trunk/src/pdf/org/jboss/seam/pdf/ITextUtils.java
trunk/src/pdf/org/jboss/seam/pdf/KeyStoreConfig.java
trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd
trunk/src/pdf/org/jboss/seam/pdf/ui/FormComponent.java
trunk/src/pdf/org/jboss/seam/pdf/ui/ITextComponent.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIAnchor.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarCode.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UICell.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIChapter.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartSeries.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIColor.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIElement.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIField.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIFont.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIFooter.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIForm.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIGraphics2D.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeader.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeaderFooter.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIHtmlText.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIImage.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UILineChart.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIList.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIListItem.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIOutputText.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIPage.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIPageNumber.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIParagraph.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIPieChart.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIRectangle.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UISection.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UISignature.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UIStroke.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UISwingComponent.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UITable.java
trunk/src/pdf/org/jboss/seam/pdf/ui/UITitle.java
Log:
ws
Modified: trunk/src/pdf/org/jboss/seam/pdf/ITextUtils.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ITextUtils.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ITextUtils.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -8,108 +8,125 @@
import com.lowagie.text.PageSize;
import com.lowagie.text.Rectangle;
-public class ITextUtils {
- static Map<String,Color> colorMap = new HashMap<String,Color>();
+public class ITextUtils
+{
+ static Map<String, Color> colorMap = new HashMap<String, Color>();
- static {
- colorMap.put("white", Color.white);
- colorMap.put("gray", Color.gray);
- colorMap.put("lightgray", Color.lightGray);
- colorMap.put("darkgray", Color.darkGray);
- colorMap.put("black", Color.black);
- colorMap.put("red", Color.red);
- colorMap.put("pink", Color.pink);
- colorMap.put("yellow", Color.yellow);
- colorMap.put("green", Color.green);
- colorMap.put("magenta", Color.magenta);
- colorMap.put("cyan", Color.cyan);
- colorMap.put("blue", Color.blue);
- colorMap.put("orange", Color.orange);
- }
+ static
+ {
+ colorMap.put("white", Color.white);
+ colorMap.put("gray", Color.gray);
+ colorMap.put("lightgray", Color.lightGray);
+ colorMap.put("darkgray", Color.darkGray);
+ colorMap.put("black", Color.black);
+ colorMap.put("red", Color.red);
+ colorMap.put("pink", Color.pink);
+ colorMap.put("yellow", Color.yellow);
+ colorMap.put("green", Color.green);
+ colorMap.put("magenta", Color.magenta);
+ colorMap.put("cyan", Color.cyan);
+ colorMap.put("blue", Color.blue);
+ colorMap.put("orange", Color.orange);
+ }
+ /**
+ * not all itext objects accept a string value as input, so we'll copy that
+ * logic here.
+ */
+ public static int alignmentValue(String alignment)
+ {
+ return ElementTags.alignmentValue(alignment);
+ }
- /**
- * not all itext objects accept a string value as input,
- * so we'll copy that logic here.
- */
- public static int alignmentValue(String alignment) {
- return ElementTags.alignmentValue(alignment);
- }
+ public static Rectangle pageSizeValue(String name)
+ {
+ return PageSize.getRectangle(name);
+ }
- public static Rectangle pageSizeValue(String name) {
- return PageSize.getRectangle(name);
- }
+ /**
+ * return a color value from a string specification.
+ */
+ public static Color colorValue(String colorName)
+ {
+ if (colorName == null)
+ {
+ return null;
+ }
+ colorName = colorName.trim().toLowerCase();
- /**
- * return a color value from a string specification.
- */
- public static Color colorValue(String colorName) {
- if (colorName == null) {
- return null;
- }
+ Color color = colorMap.get(colorName);
- colorName = colorName.trim().toLowerCase();
+ if (color == null && colorName.startsWith("rgb"))
+ {
+ color = rgbStringToColor(colorName);
+ }
+ if (color == null)
+ {
+ color = Color.decode(colorName);
+ }
- Color color = colorMap.get(colorName);
+ return color;
+ }
- if (color == null && colorName.startsWith("rgb")) {
- color = rgbStringToColor(colorName);
- }
- if (color == null) {
- color = Color.decode(colorName);
- }
+ /*
+ * Returns color of the form rgb(r,g,b) or rgb(r,g,b,a) r,g,b,a values can be
+ * 0-255 or float values with a '%' sign
+ */
+ public static Color rgbStringToColor(String rgbString)
+ {
+ String rgb[] = rgbString.split(",");
- return color;
- }
+ if (rgb.length == 3)
+ {
+ return new Color(
+ parseSingleChanel(rgb[0]),
+ parseSingleChanel(rgb[1]),
+ parseSingleChanel(rgb[2]));
+ }
+ else if (rgb.length == 4)
+ {
+ return new Color(
+ parseSingleChanel(rgb[0]),
+ parseSingleChanel(rgb[1]),
+ parseSingleChanel(rgb[2]),
+ parseSingleChanel(rgb[3]));
+ }
- /*
- * Returns color of the form rgb(r,g,b) or rgb(r,g,b,a)
- * r,g,b,a values can be 0-255 or float values with a '%' sign
- */
- public static Color rgbStringToColor(String rgbString) {
- String rgb[] = rgbString.split(",");
-
- if (rgb.length == 3) {
- return new Color(parseSingleChanel(rgb[0]),
- parseSingleChanel(rgb[1]),
- parseSingleChanel(rgb[2]));
- } else if (rgb.length == 4) {
- return new Color(parseSingleChanel(rgb[0]),
- parseSingleChanel(rgb[1]),
- parseSingleChanel(rgb[2]),
- parseSingleChanel(rgb[3]));
- }
+ throw new RuntimeException("invalid rgb color specification: " +
rgbString);
+ }
- throw new RuntimeException("invalid rgb color specification: " +
rgbString);
- }
+ private static int parseSingleChanel(String chanel)
+ {
+ if (chanel.contains("%"))
+ {
+ float percent = Float.parseFloat(chanel.replaceAll("[^0-9\\.]",
""));
+ return (int) (255 * (percent / 100));
+ }
+ return Integer.parseInt(chanel.replaceAll("[^0-9]", ""));
+ }
- private static int parseSingleChanel(String chanel) {
- if (chanel.contains("%")) {
- float percent =
Float.parseFloat(chanel.replaceAll("[^0-9\\.]",""));
- return (int)(255 * (percent / 100));
- }
- return Integer.parseInt(chanel.replaceAll("[^0-9]", ""));
- }
+ public static float[] stringToFloatArray(String text)
+ {
+ String[] parts = text.split("\\s");
+ float[] values = new float[parts.length];
+ for (int i = 0; i < parts.length; i++)
+ {
+ values[i] = Float.valueOf(parts[i]);
+ }
- public static float[] stringToFloatArray(String text) {
- String[] parts = text.split("\\s");
- float[] values = new float[parts.length];
- for (int i=0;i<parts.length;i++) {
- values[i] = Float.valueOf(parts[i]);
- }
+ return values;
+ }
- return values;
- }
+ public static int[] stringToIntArray(String text)
+ {
+ String[] parts = text.split("\\s");
+ int[] values = new int[parts.length];
+ for (int i = 0; i < parts.length; i++)
+ {
+ values[i] = Integer.valueOf(parts[i]);
+ }
-
- public static int[] stringToIntArray(String text) {
- String[] parts = text.split("\\s");
- int[] values = new int[parts.length];
- for (int i=0;i<parts.length;i++) {
- values[i] = Integer.valueOf(parts[i]);
- }
-
- return values;
- }
+ return values;
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/KeyStoreConfig.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/KeyStoreConfig.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/KeyStoreConfig.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -9,41 +9,55 @@
@Name("org.jboss.seam.pdf.pdfKeyStore")
@Install(false)
@Scope(ScopeType.APPLICATION)
-public class KeyStoreConfig {
- String keyStore = null;
- String keyStorePassword = null;
- String keyPassword = null;
- String keyAlias = null;
-
- public String getKeyStore() {
- return keyStore;
- }
- public void setKeyStore(String keyStore) {
- this.keyStore = keyStore;
- }
+public class KeyStoreConfig
+{
+ String keyStore = null;
+ String keyStorePassword = null;
+ String keyPassword = null;
+ String keyAlias = null;
- public String getKeyAlias() {
- return keyAlias;
- }
- public void setKeyAlias(String keyAlias) {
- this.keyAlias = keyAlias;
- }
-
- public String getKeyStorePassword() {
- return keyStorePassword;
- }
- public void setKeyStorePassword(String keyStorePassword) {
- this.keyStorePassword = keyStorePassword;
- }
-
- public String getKeyPassword() {
- return keyPassword;
- }
- public void setKeyPassword(String keyPassword) {
- this.keyPassword = keyPassword;
- }
-
- public static KeyStoreConfig instance() {
- return (KeyStoreConfig) Component.getInstance(KeyStoreConfig.class);
- }
+ public String getKeyStore()
+ {
+ return keyStore;
+ }
+
+ public void setKeyStore(String keyStore)
+ {
+ this.keyStore = keyStore;
+ }
+
+ public String getKeyAlias()
+ {
+ return keyAlias;
+ }
+
+ public void setKeyAlias(String keyAlias)
+ {
+ this.keyAlias = keyAlias;
+ }
+
+ public String getKeyStorePassword()
+ {
+ return keyStorePassword;
+ }
+
+ public void setKeyStorePassword(String keyStorePassword)
+ {
+ this.keyStorePassword = keyStorePassword;
+ }
+
+ public String getKeyPassword()
+ {
+ return keyPassword;
+ }
+
+ public void setKeyPassword(String keyPassword)
+ {
+ this.keyPassword = keyPassword;
+ }
+
+ public static KeyStoreConfig instance()
+ {
+ return (KeyStoreConfig) Component.getInstance(KeyStoreConfig.class);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/pdf-2.1.xsd 2008-08-30 12:01:23 UTC (rev 8856)
@@ -5,23 +5,25 @@
xmlns:pdf="http://jboss.com/products/seam/pdf"
xmlns:components="http://jboss.com/products/seam/components"
attributeFormDefault="unqualified">
- <xs:import
namespace="http://jboss.com/products/seam/components"
schemaLocation="components-2.1.xsd"/>
+ <xs:import
namespace="http://jboss.com/products/seam/components"
+ schemaLocation="components-2.1.xsd" />
- <xs:element name="key-store-config">
- <xs:annotation>
- <xs:documentation>
- The key stores holds the encryption keys for creating signed PDF
documents
- </xs:documentation>
- </xs:annotation>
- <xs:complexType mixed="true">
- <xs:attributeGroup ref="components:attlist.component"/>
- <xs:attributeGroup ref="pdf:attlist.keystore"/>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="attlist.keystore">
- <xs:attribute name="key-store"
type="components:string"/>
- <xs:attribute name="key-store-password"
type="components:string"/>
- <xs:attribute name="key-password"
type="components:string"/>
- <xs:attribute name="key-alias"
type="components:string"/>
- </xs:attributeGroup>
+ <xs:element name="key-store-config">
+ <xs:annotation>
+ <xs:documentation>
+ The key stores holds the encryption keys for creating signed PDF
+ documents
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:attributeGroup ref="components:attlist.component" />
+ <xs:attributeGroup ref="pdf:attlist.keystore" />
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="attlist.keystore">
+ <xs:attribute name="key-store" type="components:string"
/>
+ <xs:attribute name="key-store-password"
type="components:string" />
+ <xs:attribute name="key-password" type="components:string"
/>
+ <xs:attribute name="key-alias" type="components:string"
/>
+ </xs:attributeGroup>
</xs:schema>
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/FormComponent.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/FormComponent.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/FormComponent.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -6,7 +6,7 @@
public abstract class FormComponent extends UIComponentBase
{
protected static final String FIELDS_KEY = "acrofields";
-
+
protected Object valueOf(String name, Object defaultValue)
{
Object value = defaultValue;
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/ITextComponent.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/ITextComponent.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/ITextComponent.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -12,256 +12,291 @@
import org.jboss.seam.ui.util.JSF;
-
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.xml.simpleparser.EntitiesToUnicode;
-public abstract class ITextComponent
- extends UIComponentBase
+public abstract class ITextComponent extends UIComponentBase
{
- public static final String COMPONENT_FAMILY = "org.jboss.seam.pdf";
-
- protected String inFacet;
- protected Object currentFacet;
-
- /**
- * get the current Itext object
- */
- abstract public Object getITextObject();
+ public static final String COMPONENT_FAMILY = "org.jboss.seam.pdf";
- /**
- * signal that the component should create it's managed object
- * @throws IOException
- * @throws DocumentException
- */
- abstract public void createITextObject(FacesContext context) throws IOException,
DocumentException;
+ protected String inFacet;
+ protected Object currentFacet;
- /**
- * remove the itext objext
- */
- abstract public void removeITextObject();
-
- /**
- * subcomponents should implement this to add child components
- * to themselves
- */
- abstract public void handleAdd(Object other);
-
- final public void add(Object other) {
- if (inFacet != null) {
- handleFacet(inFacet, other);
- } else {
- handleAdd(other);
- }
- }
-
- public void handleFacet(String facetName, Object obj) {
- currentFacet = obj;
- // facets.put(facetName,obj);
- }
+ /**
+ * get the current Itext object
+ */
+ abstract public Object getITextObject();
- /**
- * look up the tree for an itext font
- */
- public Font getFont() {
- UIFont fontComponent = (UIFont) findITextParent(this, UIFont.class);
- return fontComponent == null ? null : fontComponent.getFont();
- }
+ /**
+ * signal that the component should create it's managed object
+ *
+ * @throws IOException
+ * @throws DocumentException
+ */
+ abstract public void createITextObject(FacesContext context) throws IOException,
DocumentException;
- /**
- * look up the tree for the itext document
- */
- public Document findDocument() {
- ITextComponent parent = findITextParent(this, UIDocument.class);
- if (parent != null) {
- return (Document) parent.getITextObject();
- } else {
- return null;
- }
- }
+ /**
+ * remove the itext objext
+ */
+ abstract public void removeITextObject();
- /**
- * find the first parent that is an itext component);
- */
- public ITextComponent findITextParent(UIComponent parent) {
- return findITextParent(parent, null);
- }
+ /**
+ * subcomponents should implement this to add child components to themselves
+ */
+ abstract public void handleAdd(Object other);
- /**
- * find the first parent that is an itext component of a given type
- */
- public ITextComponent findITextParent(UIComponent parent, Class<?> c) {
- if (parent == null) {
- return null;
- }
-
- if (parent instanceof ITextComponent) {
- if (c==null || c.isAssignableFrom(parent.getClass())) {
- return (ITextComponent) parent;
- }
- }
+ final public void add(Object other)
+ {
+ if (inFacet != null)
+ {
+ handleFacet(inFacet, other);
+ }
+ else
+ {
+ handleAdd(other);
+ }
+ }
- return findITextParent(parent.getParent(),c);
- }
+ public void handleFacet(String facetName, Object obj)
+ {
+ currentFacet = obj;
+ // facets.put(facetName,obj);
+ }
+ /**
+ * look up the tree for an itext font
+ */
+ public Font getFont()
+ {
+ UIFont fontComponent = (UIFont) findITextParent(this, UIFont.class);
+ return fontComponent == null ? null : fontComponent.getFont();
+ }
- /**
- * add a component (usually the current itext object) to the itext parent's itext
object
- */
- public void addToITextParent(Object obj) {
- ITextComponent parent = findITextParent(getParent());
- if (parent != null) {
- parent.add(obj);
- } else {
- noITextParentFound();
- }
- }
+ /**
+ * look up the tree for the itext document
+ */
+ public Document findDocument()
+ {
+ ITextComponent parent = findITextParent(this, UIDocument.class);
+ if (parent != null)
+ {
+ return (Document) parent.getITextObject();
+ }
+ else
+ {
+ return null;
+ }
+ }
- public void noITextParentFound() {
- throw new RuntimeException("Couldn't find ITextComponent parent for
component " +
- this.getClass().getName());
- }
+ /**
+ * find the first parent that is an itext component);
+ */
+ public ITextComponent findITextParent(UIComponent parent)
+ {
+ return findITextParent(parent, null);
+ }
- public Object processFacet(String facetName) {
- if (inFacet!=null && inFacet.equals(facetName)) {
- return null;
- }
-
- UIComponent facet = this.getFacet(facetName);
- Object result = null;
- if (facet != null) {
+ /**
+ * find the first parent that is an itext component of a given type
+ */
+ public ITextComponent findITextParent(UIComponent parent, Class<?> c)
+ {
+ if (parent == null)
+ {
+ return null;
+ }
+
+ if (parent instanceof ITextComponent)
+ {
+ if (c == null || c.isAssignableFrom(parent.getClass()))
+ {
+ return (ITextComponent) parent;
+ }
+ }
+
+ return findITextParent(parent.getParent(), c);
+ }
+
+ /**
+ * add a component (usually the current itext object) to the itext parent's
+ * itext object
+ */
+ public void addToITextParent(Object obj)
+ {
+ ITextComponent parent = findITextParent(getParent());
+ if (parent != null)
+ {
+ parent.add(obj);
+ }
+ else
+ {
+ noITextParentFound();
+ }
+ }
+
+ public void noITextParentFound()
+ {
+ throw new RuntimeException(
+ "Couldn't find ITextComponent parent for component " +
this.getClass().getName());
+ }
+
+ public Object processFacet(String facetName)
+ {
+ if (inFacet != null && inFacet.equals(facetName))
+ {
+ return null;
+ }
+
+ UIComponent facet = this.getFacet(facetName);
+ Object result = null;
+ if (facet != null)
+ {
+ currentFacet = null;
+ inFacet = facetName;
+ try
+ {
+ encode(FacesContext.getCurrentInstance(), facet);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ finally
+ {
+ inFacet = null;
+ result = currentFacet;
currentFacet = null;
- inFacet = facetName;
- try {
- encode(FacesContext.getCurrentInstance(), facet);
- } catch (Exception e) {
- throw new RuntimeException(e);
- } finally {
- inFacet = null;
- result = currentFacet;
- currentFacet = null;
- }
- }
- return result;
- }
-
- public Object valueBinding(FacesContext context,
- String property,
- Object defaultValue) {
- Object value = defaultValue;
- ValueExpression expression = getValueExpression(property);
+ }
+ }
+ return result;
+ }
- if (expression != null) {
- value = expression.getValue(context.getELContext());
- }
- return value;
- }
-
- public Object valueBinding(String property, Object defaultValue) {
- return valueBinding(FacesContext.getCurrentInstance(), property, defaultValue);
- }
-
- // ------------------------------------------------------
+ public Object valueBinding(FacesContext context, String property, Object
defaultValue)
+ {
+ Object value = defaultValue;
+ ValueExpression expression = getValueExpression(property);
- @Override
- public String getFamily()
- {
- return COMPONENT_FAMILY;
- }
+ if (expression != null)
+ {
+ value = expression.getValue(context.getELContext());
+ }
+ return value;
+ }
- @Override
- public boolean getRendersChildren() {
- return true;
- }
+ public Object valueBinding(String property, Object defaultValue)
+ {
+ return valueBinding(FacesContext.getCurrentInstance(), property, defaultValue);
+ }
- @Override
- public void encodeBegin(FacesContext context)
- throws IOException
- {
- try
- {
- createITextObject(context);
- }
- catch (DocumentException e)
- {
- throw new FacesException(e);
- }
- }
+ // ------------------------------------------------------
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- Object obj = getITextObject();
- if (obj != null) {
- addToITextParent(getITextObject());
- }
- removeITextObject();
- }
+ @Override
+ public String getFamily()
+ {
+ return COMPONENT_FAMILY;
+ }
- @SuppressWarnings("unchecked")
- @Override
- public void encodeChildren(FacesContext context)
- throws IOException
- {
- for (UIComponent child: this.getChildren()) {
- // ugly hack to be able to capture facelets text
- if (child.getFamily().equals("facelets.LiteralText")) {
- String text = EntitiesToUnicode.decodeString(extractText(context,
child));
- Font font = getFont();
- Chunk chunk = null;
- if (font == null) {
- chunk = new Chunk(text);
- } else {
- chunk = new Chunk(text, getFont());
- }
- add(chunk);
- } else {
- encode(context, child);
+ @Override
+ public boolean getRendersChildren()
+ {
+ return true;
+ }
+
+ @Override
+ public void encodeBegin(FacesContext context) throws IOException
+ {
+ try
+ {
+ createITextObject(context);
+ }
+ catch (DocumentException e)
+ {
+ throw new FacesException(e);
+ }
+ }
+
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ Object obj = getITextObject();
+ if (obj != null)
+ {
+ addToITextParent(getITextObject());
+ }
+ removeITextObject();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void encodeChildren(FacesContext context) throws IOException
+ {
+ for (UIComponent child : this.getChildren())
+ {
+ // ugly hack to be able to capture facelets text
+ if (child.getFamily().equals("facelets.LiteralText"))
+ {
+ String text = EntitiesToUnicode.decodeString(extractText(context, child));
+ Font font = getFont();
+ Chunk chunk = null;
+ if (font == null)
+ {
+ chunk = new Chunk(text);
}
- }
- }
+ else
+ {
+ chunk = new Chunk(text, getFont());
+ }
+ add(chunk);
+ }
+ else
+ {
+ encode(context, child);
+ }
+ }
+ }
- public String extractText(FacesContext context, UIComponent child)
- throws IOException
- {
- ResponseWriter response = context.getResponseWriter();
- StringWriter stringWriter = new StringWriter();
- ResponseWriter cachingResponseWriter = response.cloneWithWriter(stringWriter);
- context.setResponseWriter(cachingResponseWriter);
-
- JSF.renderChild(context, child);
+ public String extractText(FacesContext context, UIComponent child) throws IOException
+ {
+ ResponseWriter response = context.getResponseWriter();
+ StringWriter stringWriter = new StringWriter();
+ ResponseWriter cachingResponseWriter = response.cloneWithWriter(stringWriter);
+ context.setResponseWriter(cachingResponseWriter);
- context.setResponseWriter(response);
-
- return stringWriter.getBuffer().toString();
- }
+ JSF.renderChild(context, child);
+ context.setResponseWriter(response);
- @SuppressWarnings("unchecked")
- public void encode(FacesContext context,
- UIComponent component)
- throws IOException
- {
- if (!component.isRendered()) {
- return;
- }
+ return stringWriter.getBuffer().toString();
+ }
- component.encodeBegin(context);
+ @SuppressWarnings("unchecked")
+ public void encode(FacesContext context, UIComponent component) throws IOException
+ {
+ if (!component.isRendered())
+ {
+ return;
+ }
- if (component.getChildCount() > 0) {
- if (component.getRendersChildren()) {
- component.encodeChildren(context);
- } else {
- for (UIComponent child: component.getChildren()) {
- encode(context, child);
- }
+ component.encodeBegin(context);
+
+ if (component.getChildCount() > 0)
+ {
+ if (component.getRendersChildren())
+ {
+ component.encodeChildren(context);
+ }
+ else
+ {
+ for (UIComponent child : component.getChildren())
+ {
+ encode(context, child);
}
- }
+ }
+ }
- component.encodeEnd(context);
- }
+ component.encodeEnd(context);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIAnchor.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIAnchor.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIAnchor.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -3,50 +3,58 @@
import javax.faces.context.*;
import com.lowagie.text.*;
-public class UIAnchor
- extends ITextComponent
+public class UIAnchor extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIAnchor";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIAnchor";
- Anchor anchor;
+ Anchor anchor;
- String name;
- String reference;
+ String name;
+ String reference;
- public void setName(String name) {
- this.name = name;
- }
- public void setReference(String reference) {
- this.reference = reference;
- }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
- @Override
- public Object getITextObject() {
- return anchor;
- }
+ public void setReference(String reference)
+ {
+ this.reference = reference;
+ }
- @Override
- public void removeITextObject() {
- anchor = null;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return anchor;
+ }
- @Override
- public void createITextObject(FacesContext context) {
- anchor = new Anchor();
+ @Override
+ public void removeITextObject()
+ {
+ anchor = null;
+ }
- name = (String) valueBinding(context, "name", name);
- if (name != null) {
- anchor.setName(name);
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ anchor = new Anchor();
- reference = (String) valueBinding(context, "reference", reference);
- if (reference != null) {
- anchor.setReference(reference);
- }
- }
+ name = (String) valueBinding(context, "name", name);
+ if (name != null)
+ {
+ anchor.setName(name);
+ }
- @Override
- public void handleAdd(Object o) {
- anchor.add(o);
- }
+ reference = (String) valueBinding(context, "reference", reference);
+ if (reference != null)
+ {
+ anchor.setReference(reference);
+ }
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ anchor.add(o);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarChart.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -10,84 +10,74 @@
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.Dataset;
-public class UIBarChart
- extends UICategoryChartBase
+public class UIBarChart extends UICategoryChartBase
{
- private CategoryDataset dataset;
+ private CategoryDataset dataset;
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
- }
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[1];
- values[0] = super.saveState(context);
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[1];
+ values[0] = super.saveState(context);
- return values;
- }
+ return values;
+ }
- @Override
- public void createDataset() {
- dataset = new DefaultCategoryDataset();
- }
+ @Override
+ public void createDataset()
+ {
+ dataset = new DefaultCategoryDataset();
+ }
+ // @Override
+ // public void configurePlot(Plot p) {
+ // super.configurePlot(p);
+ // }
+ @Override
+ public void configureRenderer(CategoryItemRenderer renderer)
+ {
+ super.configureRenderer(renderer);
+ if (renderer instanceof BarRenderer)
+ {
+ configureRenderer((BarRenderer) renderer);
+ }
+ }
-// @Override
-// public void configurePlot(Plot p) {
-// super.configurePlot(p);
-// }
+ public void configureRenderer(BarRenderer renderer)
+ {
+ }
+ @Override
+ public JFreeChart createChart(FacesContext context)
+ {
+ JFreeChart chart;
- @Override
- public void configureRenderer(CategoryItemRenderer renderer){
- super.configureRenderer(renderer);
- if (renderer instanceof BarRenderer) {
- configureRenderer((BarRenderer) renderer);
- }
- }
+ if (!getIs3D())
+ {
+ chart = ChartFactory.createBarChart(getTitle(), getDomainAxisLabel(),
getRangeAxisLabel(), dataset, plotOrientation(getOrientation()), getLegend(), false,
false);
+ }
+ else
+ {
+ chart = ChartFactory.createBarChart3D(getTitle(), getDomainAxisLabel(),
getRangeAxisLabel(), dataset, plotOrientation(getOrientation()), getLegend(), false,
false);
+ }
+ configureTitle(chart.getTitle());
+ configureLegend(chart.getLegend());
- public void configureRenderer(BarRenderer renderer) {
- }
+ return chart;
+ }
- @Override
- public JFreeChart createChart(FacesContext context) {
- JFreeChart chart;
-
- if (!getIs3D()) {
- chart = ChartFactory.createBarChart(getTitle(),
- getDomainAxisLabel(),
- getRangeAxisLabel(),
- dataset,
- plotOrientation(getOrientation()),
- getLegend(),
- false,
- false);
- } else {
- chart = ChartFactory.createBarChart3D(getTitle(),
- getDomainAxisLabel(),
- getRangeAxisLabel(),
- dataset,
- plotOrientation(getOrientation()),
- getLegend(),
- false,
- false);
- }
-
- configureTitle(chart.getTitle());
- configureLegend(chart.getLegend());
-
- return chart;
- }
-
- @Override
- public Dataset getDataset() {
- return dataset;
- }
+ @Override
+ public Dataset getDataset()
+ {
+ return dataset;
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarCode.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarCode.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIBarCode.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -22,323 +22,374 @@
import com.lowagie.text.Image;
import com.lowagie.text.pdf.*;
-
/**
* based on JBSEAM-1155 submission by user ivan
*/
-public class UIBarCode
- extends ITextComponent
+public class UIBarCode extends ITextComponent
{
-
- private Barcode barcode;
- private Object itextObject;
-
- private String type;
- private String code;
- private String codeType;
- private Float xpos;
- private Float ypos;
- private Float rotDegrees;
- private String altText;
- private Float barHeight;
- private Float textSize;
- private Float minBarWidth;
- private Float barMultiplier;
- String barColor;
- String textColor;
-
- public String getCode() {
- return (String) valueBinding("code", code);
- }
+ private Barcode barcode;
+ private Object itextObject;
- public void setCode(String code) {
- this.code = code;
- }
+ private String type;
+ private String code;
+ private String codeType;
+ private Float xpos;
+ private Float ypos;
+ private Float rotDegrees;
+ private String altText;
+ private Float barHeight;
+ private Float textSize;
+ private Float minBarWidth;
+ private Float barMultiplier;
- public String getType() {
- return (String) valueBinding("type", type);
- }
+ String barColor;
+ String textColor;
- public void setType(String type) {
- this.type = type;
- }
+ public String getCode()
+ {
+ return (String) valueBinding("code", code);
+ }
- public String getCodeType() {
- return (String) valueBinding("codeType", codeType);
- }
+ public void setCode(String code)
+ {
+ this.code = code;
+ }
- public void setCodeType(String codeType) {
- this.codeType = codeType;
- }
-
- public Float getRotDegrees(){
- return (Float) valueBinding("rotDegrees", rotDegrees);
- }
+ public String getType()
+ {
+ return (String) valueBinding("type", type);
+ }
- public void setRotDegrees(Float rotDegrees) {
- this.rotDegrees = rotDegrees;
- }
-
- public Float getXpos() {
- return (Float) valueBinding("xpos", xpos);
- }
+ public void setType(String type)
+ {
+ this.type = type;
+ }
- public void setXpos(Float xpos) {
- this.xpos = xpos;
- }
+ public String getCodeType()
+ {
+ return (String) valueBinding("codeType", codeType);
+ }
- public Float getYpos() {
- return (Float) valueBinding("ypos", ypos);
- }
+ public void setCodeType(String codeType)
+ {
+ this.codeType = codeType;
+ }
- public void setYpos(Float ypos) {
- this.ypos = ypos;
- }
+ public Float getRotDegrees()
+ {
+ return (Float) valueBinding("rotDegrees", rotDegrees);
+ }
- public String getAltText() {
- return (String) valueBinding("altText", altText);
- }
+ public void setRotDegrees(Float rotDegrees)
+ {
+ this.rotDegrees = rotDegrees;
+ }
- public void setAltText(String altText) {
- this.altText = altText;
- }
+ public Float getXpos()
+ {
+ return (Float) valueBinding("xpos", xpos);
+ }
- public Float getBarHeight() {
- return (Float) valueBinding("barHeight", barHeight);
- }
+ public void setXpos(Float xpos)
+ {
+ this.xpos = xpos;
+ }
- public void setBarHeight(Float barHeight) {
- this.barHeight = barHeight;
- }
+ public Float getYpos()
+ {
+ return (Float) valueBinding("ypos", ypos);
+ }
- public Float getBarMultiplier() {
- return (Float) valueBinding("barMultiplier", barMultiplier);
- }
+ public void setYpos(Float ypos)
+ {
+ this.ypos = ypos;
+ }
- public void setBarMultiplier(Float barMultiplier) {
- this.barMultiplier = barMultiplier;
- }
+ public String getAltText()
+ {
+ return (String) valueBinding("altText", altText);
+ }
- public Float getMinBarWidth() {
- return (Float) valueBinding("minBarWidth", minBarWidth);
- }
+ public void setAltText(String altText)
+ {
+ this.altText = altText;
+ }
- public void setMinBarWidth(Float minBarWidth) {
- this.minBarWidth = minBarWidth;
- }
+ public Float getBarHeight()
+ {
+ return (Float) valueBinding("barHeight", barHeight);
+ }
- public Float getTextSize() {
- return (Float) valueBinding("textSize", textSize);
- }
+ public void setBarHeight(Float barHeight)
+ {
+ this.barHeight = barHeight;
+ }
- public void setTextSize(Float textSize) {
- this.textSize = textSize;
- }
-
- public String getBarColor() {
- return (String) valueBinding("barColor", barColor);
- }
+ public Float getBarMultiplier()
+ {
+ return (Float) valueBinding("barMultiplier", barMultiplier);
+ }
- public void setBarColor(String barColor) {
- this.barColor = barColor;
- }
+ public void setBarMultiplier(Float barMultiplier)
+ {
+ this.barMultiplier = barMultiplier;
+ }
- public String getTextColor() {
- return (String) valueBinding("textColor", textColor);
- }
+ public Float getMinBarWidth()
+ {
+ return (Float) valueBinding("minBarWidth", minBarWidth);
+ }
- public void setTextColor(String textColor) {
- this.textColor = textColor;
- }
+ public void setMinBarWidth(Float minBarWidth)
+ {
+ this.minBarWidth = minBarWidth;
+ }
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
-
- type = (String) values[1];
- code = (String) values[2];
- xpos = (Float) values[5];
- ypos = (Float) values[6];
- rotDegrees = (Float) values[7];
- altText = (String) values[8];
- barHeight = (Float) values[9];
- textSize = (Float) values[10];
- minBarWidth = (Float) values[11];
- barMultiplier = (Float) values[12];
- codeType = (String) values[13];
- barColor = (String) values[14];
- textColor = (String) values[15];
- }
+ public Float getTextSize()
+ {
+ return (Float) valueBinding("textSize", textSize);
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[16];
-
- values[0] = super.saveState(context);
- values[1] = type;
- values[2] = code;
- values[5] = xpos;
- values[6] = ypos;
- values[7] = rotDegrees;
- values[8] = altText;
- values[9] = barHeight;
- values[10] = textSize;
- values[11] = minBarWidth;
- values[12] = barMultiplier;
- values[13] = codeType;
- values[14] = barColor;
- values[15] = textColor;
-
- return values;
- }
-
-
- @Override
- public Object getITextObject() {
- return itextObject;
- }
+ public void setTextSize(Float textSize)
+ {
+ this.textSize = textSize;
+ }
- @Override
- public void createITextObject(FacesContext context) throws IOException {
- barcode = createBarcodeType(getType());
-
- barcode.setCode(getCode());
-
- Integer codeVal = lookupCodeType(getCodeType());
- if (codeVal != null) {
- barcode.setCodeType(codeVal);
- }
-
- if (getAltText() != null) {
- barcode.setAltText(getAltText());
- }
+ public String getBarColor()
+ {
+ return (String) valueBinding("barColor", barColor);
+ }
- if (getBarHeight() != null) {
- barcode.setBarHeight(getBarHeight());
- }
+ public void setBarColor(String barColor)
+ {
+ this.barColor = barColor;
+ }
- if (getBarMultiplier() != null) {
- barcode.setN(getBarMultiplier());
- }
-
- if (getMinBarWidth() != null) {
- barcode.setX(getMinBarWidth());
- }
+ public String getTextColor()
+ {
+ return (String) valueBinding("textColor", textColor);
+ }
-
- UIDocument doc = (UIDocument) findITextParent(getParent(), UIDocument.class);
-
- if (doc != null) {
- PdfWriter writer = (PdfWriter) doc.getWriter();
- PdfContentByte cb = writer.getDirectContent();
- Image image = barcode.createImageWithBarcode(cb,
-
ITextUtils.colorValue(getBarColor()),
-
ITextUtils.colorValue(getTextColor()));
-
- if (getRotDegrees() != null) {
- image.setRotationDegrees(getRotDegrees());
- }
- if (getXpos()!= null && getYpos()!=null) {
- image.setAbsolutePosition(getXpos(), getYpos());
- }
-
- itextObject = image;
- } else {
- Color bars = ITextUtils.colorValue(getBarColor());
- if (bars == null) {
- bars = Color.BLACK;
- }
- byte[] imageData = imageToByteArray(barcode.createAwtImage(bars,
Color.WHITE));
- itextObject = new ImageWrapper(imageData, Type.IMAGE_JPEG);
- }
- }
+ public void setTextColor(String textColor)
+ {
+ this.textColor = textColor;
+ }
- private Integer lookupCodeType(String codeType) {
- if (codeType == null || codeType.length()==0) {
- return null;
- }
-
- try {
- Field field = Barcode.class.getDeclaredField(codeType.toUpperCase());
- return field.getInt(Barcode.class);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
- private Barcode createBarcodeType(String barcodeType) {
- if (barcodeType == null || barcodeType.length()==0) {
- return new Barcode128();
- }
-
- if (barcodeType.equalsIgnoreCase("code128")) {
- return new Barcode128();
- } else if (barcodeType.equalsIgnoreCase("code39")) {
- return new Barcode39();
- } else if (barcodeType.equalsIgnoreCase("codabar")) {
- return new BarcodeCodabar();
- } else if (barcodeType.equalsIgnoreCase("ean")) {
- return new BarcodeEAN();
- } else if (barcodeType.equalsIgnoreCase("inter25")) {
- return new BarcodeInter25();
- } else if (barcodeType.equalsIgnoreCase("postnet")) {
- return new BarcodePostnet();
- }
- throw new RuntimeException("Unknown barcode type " + barcodeType);
- }
+ type = (String) values[1];
+ code = (String) values[2];
+ xpos = (Float) values[5];
+ ypos = (Float) values[6];
+ rotDegrees = (Float) values[7];
+ altText = (String) values[8];
+ barHeight = (Float) values[9];
+ textSize = (Float) values[10];
+ minBarWidth = (Float) values[11];
+ barMultiplier = (Float) values[12];
+ codeType = (String) values[13];
+ barColor = (String) values[14];
+ textColor = (String) values[15];
+ }
- @Override
- public void removeITextObject() {
- itextObject = null;
- }
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[16];
- @Override
- public void handleAdd(Object other) {
- throw new RuntimeException("can't add " +
other.getClass().getName() + " to barcode");
- }
-
- public static byte[] imageToByteArray(java.awt.Image image)
- throws IOException
- {
- BufferedImage bufferedImage = new BufferedImage(image.getWidth(null),
- image.getHeight(null),
- BufferedImage.TYPE_INT_RGB);
- Graphics gc = bufferedImage.createGraphics();
- gc.drawImage(image, 0, 0, null);
-
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- ImageIO.write(bufferedImage, "jpeg", stream);
-
- return stream.toByteArray();
- }
-
- @Override
- public void noITextParentFound() {
- try {
- FacesContext context = FacesContext.getCurrentInstance();
- ResponseWriter response = context.getResponseWriter();
- response.startElement("img", null);
- GraphicImageStore store = GraphicImageStore.instance();
+ values[0] = super.saveState(context);
+ values[1] = type;
+ values[2] = code;
+ values[5] = xpos;
+ values[6] = ypos;
+ values[7] = rotDegrees;
+ values[8] = altText;
+ values[9] = barHeight;
+ values[10] = textSize;
+ values[11] = minBarWidth;
+ values[12] = barMultiplier;
+ values[13] = codeType;
+ values[14] = barColor;
+ values[15] = textColor;
- String key = store.put((ImageWrapper) itextObject);
- String url = context.getExternalContext().getRequestContextPath() +
- GraphicImageResource.GRAPHIC_IMAGE_RESOURCE_PATH + "/" + key +
Type.IMAGE_JPEG.getExtension();
+ return values;
+ }
- response.writeAttribute("src", url, null);
+ @Override
+ public Object getITextObject()
+ {
+ return itextObject;
+ }
- response.endElement("img");
+ @Override
+ public void createITextObject(FacesContext context) throws IOException
+ {
+ barcode = createBarcodeType(getType());
- Manager.instance().beforeRedirect();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
+ barcode.setCode(getCode());
+ Integer codeVal = lookupCodeType(getCodeType());
+ if (codeVal != null)
+ {
+ barcode.setCodeType(codeVal);
+ }
-
+ if (getAltText() != null)
+ {
+ barcode.setAltText(getAltText());
+ }
+
+ if (getBarHeight() != null)
+ {
+ barcode.setBarHeight(getBarHeight());
+ }
+
+ if (getBarMultiplier() != null)
+ {
+ barcode.setN(getBarMultiplier());
+ }
+
+ if (getMinBarWidth() != null)
+ {
+ barcode.setX(getMinBarWidth());
+ }
+
+ UIDocument doc = (UIDocument) findITextParent(getParent(), UIDocument.class);
+
+ if (doc != null)
+ {
+ PdfWriter writer = (PdfWriter) doc.getWriter();
+ PdfContentByte cb = writer.getDirectContent();
+ Image image = barcode.createImageWithBarcode(cb,
ITextUtils.colorValue(getBarColor()), ITextUtils.colorValue(getTextColor()));
+
+ if (getRotDegrees() != null)
+ {
+ image.setRotationDegrees(getRotDegrees());
+ }
+ if (getXpos() != null && getYpos() != null)
+ {
+ image.setAbsolutePosition(getXpos(), getYpos());
+ }
+
+ itextObject = image;
+ }
+ else
+ {
+ Color bars = ITextUtils.colorValue(getBarColor());
+ if (bars == null)
+ {
+ bars = Color.BLACK;
+ }
+ byte[] imageData = imageToByteArray(barcode.createAwtImage(bars, Color.WHITE));
+ itextObject = new ImageWrapper(imageData, Type.IMAGE_JPEG);
+ }
+ }
+
+ private Integer lookupCodeType(String codeType)
+ {
+ if (codeType == null || codeType.length() == 0)
+ {
+ return null;
+ }
+
+ try
+ {
+ Field field = Barcode.class.getDeclaredField(codeType.toUpperCase());
+ return field.getInt(Barcode.class);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private Barcode createBarcodeType(String barcodeType)
+ {
+ if (barcodeType == null || barcodeType.length() == 0)
+ {
+ return new Barcode128();
+ }
+
+ if (barcodeType.equalsIgnoreCase("code128"))
+ {
+ return new Barcode128();
+ }
+ else if (barcodeType.equalsIgnoreCase("code39"))
+ {
+ return new Barcode39();
+ }
+ else if (barcodeType.equalsIgnoreCase("codabar"))
+ {
+ return new BarcodeCodabar();
+ }
+ else if (barcodeType.equalsIgnoreCase("ean"))
+ {
+ return new BarcodeEAN();
+ }
+ else if (barcodeType.equalsIgnoreCase("inter25"))
+ {
+ return new BarcodeInter25();
+ }
+ else if (barcodeType.equalsIgnoreCase("postnet"))
+ {
+ return new BarcodePostnet();
+ }
+ throw new RuntimeException("Unknown barcode type " + barcodeType);
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ itextObject = null;
+ }
+
+ @Override
+ public void handleAdd(Object other)
+ {
+ throw new RuntimeException("can't add " + other.getClass().getName()
+ " to barcode");
+ }
+
+ public static byte[] imageToByteArray(java.awt.Image image) throws IOException
+ {
+ BufferedImage bufferedImage = new BufferedImage(image.getWidth(null),
image.getHeight(null), BufferedImage.TYPE_INT_RGB);
+ Graphics gc = bufferedImage.createGraphics();
+ gc.drawImage(image, 0, 0, null);
+
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ ImageIO.write(bufferedImage, "jpeg", stream);
+
+ return stream.toByteArray();
+ }
+
+ @Override
+ public void noITextParentFound()
+ {
+ try
+ {
+ FacesContext context = FacesContext.getCurrentInstance();
+ ResponseWriter response = context.getResponseWriter();
+ response.startElement("img", null);
+ GraphicImageStore store = GraphicImageStore.instance();
+
+ String key = store.put((ImageWrapper) itextObject);
+ String url = context.getExternalContext().getRequestContextPath() +
GraphicImageResource.GRAPHIC_IMAGE_RESOURCE_PATH + "/" + key +
Type.IMAGE_JPEG.getExtension();
+
+ response.writeAttribute("src", url, null);
+
+ response.endElement("img");
+
+ Manager.instance().beforeRedirect();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java 2008-08-30 11:55:40 UTC
(rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UICategoryChartBase.java 2008-08-30 12:01:23 UTC
(rev 8856)
@@ -8,328 +8,382 @@
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
-public abstract class UICategoryChartBase
- extends UIChart
+public abstract class UICategoryChartBase extends UIChart
{
- private String orientation;
-
- private boolean legend;
- private boolean is3D = false;
+ private String orientation;
- private String title;
- private String titleBackgroundPaint;
- private String titlePaint;
+ private boolean legend;
+ private boolean is3D = false;
- private String legendBackgroundPaint;
- private String legendItemPaint;
+ private String title;
+ private String titleBackgroundPaint;
+ private String titlePaint;
- private String domainAxisLabel;
- private String domainAxisPaint;
- private Boolean domainGridlinesVisible;
- private String domainGridlinePaint;
- private String domainGridlineStroke;
-
- private String rangeAxisLabel;
- private String rangeAxisPaint;
- private Boolean rangeGridlinesVisible;
- private String rangeGridlinePaint;
- private String rangeGridlineStroke;
-
- public String getDomainAxisLabel() {
- return (String) valueBinding("domainAxisLabel", domainAxisLabel);
- }
+ private String legendBackgroundPaint;
+ private String legendItemPaint;
- public void setDomainAxisLabel(String categoryAxisLabel) {
- this.domainAxisLabel = categoryAxisLabel;
- }
+ private String domainAxisLabel;
+ private String domainAxisPaint;
+ private Boolean domainGridlinesVisible;
+ private String domainGridlinePaint;
+ private String domainGridlineStroke;
- public String getRangeAxisLabel() {
- return (String) valueBinding("rangeAxisLabel", rangeAxisLabel);
- }
+ private String rangeAxisLabel;
+ private String rangeAxisPaint;
+ private Boolean rangeGridlinesVisible;
+ private String rangeGridlinePaint;
+ private String rangeGridlineStroke;
- public void setRangeAxisLabel(String valueAxisLabel) {
- this.rangeAxisLabel = valueAxisLabel;
- }
+ public String getDomainAxisLabel()
+ {
+ return (String) valueBinding("domainAxisLabel", domainAxisLabel);
+ }
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getTitle() {
- return (String) valueBinding("title", title);
- }
-
- public void setOrientation(String orientation) {
- this.orientation = orientation;
- }
-
- public String getOrientation() {
- return (String) valueBinding("orientation", orientation);
- }
-
-
- public void setLegend(boolean legend) {
- this.legend = legend;
- }
-
- public boolean getLegend() {
- return (Boolean) valueBinding("legend", legend);
- }
+ public void setDomainAxisLabel(String categoryAxisLabel)
+ {
+ this.domainAxisLabel = categoryAxisLabel;
+ }
- public void setIs3D(boolean is3D) {
- this.is3D = true;
- }
-
- public boolean getIs3D() {
- return (Boolean) valueBinding("is3D", is3D);
- }
+ public String getRangeAxisLabel()
+ {
+ return (String) valueBinding("rangeAxisLabel", rangeAxisLabel);
+ }
- public void setTitleBackgroundPaint(String titleBackgroundPaint) {
- this.titleBackgroundPaint = titleBackgroundPaint;
- }
-
- public String getTitleBackgroundPaint() {
- return (String) valueBinding("titleBackgroundPaint",
titleBackgroundPaint);
- }
+ public void setRangeAxisLabel(String valueAxisLabel)
+ {
+ this.rangeAxisLabel = valueAxisLabel;
+ }
- public void setTitlePaint(String titlePaint) {
- this.titlePaint = titlePaint;
- }
+ public void setTitle(String title)
+ {
+ this.title = title;
+ }
- public String getTitlePaint() {
- return (String) valueBinding("titlePaint", titlePaint);
- }
-
- public String getLegendBackgroundPaint() {
- return (String) valueBinding("legendBackgroundPaint",
legendBackgroundPaint);
- }
+ public String getTitle()
+ {
+ return (String) valueBinding("title", title);
+ }
- public void setLegendBackgroundPaint(String legendBackgroundPaint) {
- this.legendBackgroundPaint = legendBackgroundPaint;
- }
+ public void setOrientation(String orientation)
+ {
+ this.orientation = orientation;
+ }
- public String getLegendItemPaint() {
- return (String) valueBinding("legendItemPaint", legendItemPaint);
- }
+ public String getOrientation()
+ {
+ return (String) valueBinding("orientation", orientation);
+ }
- public void setLegendItemPaint(String legendItemPaint) {
- this.legendItemPaint = legendItemPaint;
- }
-
- public String getDomainGridlinePaint() {
- return (String) valueBinding("domainGridlinePaint",
domainGridlinePaint);
- }
+ public void setLegend(boolean legend)
+ {
+ this.legend = legend;
+ }
- public void setDomainGridlinePaint(String domainGridlinePaint) {
- this.domainGridlinePaint = domainGridlinePaint;
- }
+ public boolean getLegend()
+ {
+ return (Boolean) valueBinding("legend", legend);
+ }
- public String getDomainGridlineStroke() {
- return (String) valueBinding("domainGridlineStroke",
domainGridlineStroke);
- }
+ public void setIs3D(boolean is3D)
+ {
+ this.is3D = true;
+ }
- public void setDomainGridlineStroke(String domainGridlineStroke) {
- this.domainGridlineStroke = domainGridlineStroke;
- }
+ public boolean getIs3D()
+ {
+ return (Boolean) valueBinding("is3D", is3D);
+ }
- public Boolean getDomainGridlinesVisible() {
- return (Boolean) valueBinding("domainGridlinesVisible",
domainGridlinesVisible);
- }
+ public void setTitleBackgroundPaint(String titleBackgroundPaint)
+ {
+ this.titleBackgroundPaint = titleBackgroundPaint;
+ }
- public void setDomainGridlinesVisible(Boolean domainGridlinesVisible) {
- this.domainGridlinesVisible = domainGridlinesVisible;
- }
+ public String getTitleBackgroundPaint()
+ {
+ return (String) valueBinding("titleBackgroundPaint",
titleBackgroundPaint);
+ }
- public String getRangeGridlinePaint() {
- return (String) valueBinding("rangeGridlinePaint",
rangeGridlinePaint);
- }
+ public void setTitlePaint(String titlePaint)
+ {
+ this.titlePaint = titlePaint;
+ }
- public void setRangeGridlinePaint(String rangeGridlinePaint) {
- this.rangeGridlinePaint = rangeGridlinePaint;
- }
+ public String getTitlePaint()
+ {
+ return (String) valueBinding("titlePaint", titlePaint);
+ }
- public String getRangeGridlineStroke() {
- return (String) valueBinding("rangeGridlineStroke",
rangeGridlineStroke);
- }
+ public String getLegendBackgroundPaint()
+ {
+ return (String) valueBinding("legendBackgroundPaint",
legendBackgroundPaint);
+ }
- public void setRangeGridlineStroke(String rangeGridlineStroke) {
- this.rangeGridlineStroke = rangeGridlineStroke;
- }
+ public void setLegendBackgroundPaint(String legendBackgroundPaint)
+ {
+ this.legendBackgroundPaint = legendBackgroundPaint;
+ }
- public Boolean getRangeGridlinesVisible() {
- return (Boolean) valueBinding("rangeGridlinesVisible",
rangeGridlinesVisible);
- }
+ public String getLegendItemPaint()
+ {
+ return (String) valueBinding("legendItemPaint", legendItemPaint);
+ }
- public void setRangeGridlinesVisible(Boolean rangeGridlinesVisible) {
- this.rangeGridlinesVisible = rangeGridlinesVisible;
- }
-
- public String getDomainAxisPaint() {
- return (String) valueBinding("domainAxisPaint", domainAxisPaint);
- }
+ public void setLegendItemPaint(String legendItemPaint)
+ {
+ this.legendItemPaint = legendItemPaint;
+ }
- public void setDomainAxisPaint(String domainAxisPaint) {
- this.domainAxisPaint = domainAxisPaint;
- }
+ public String getDomainGridlinePaint()
+ {
+ return (String) valueBinding("domainGridlinePaint",
domainGridlinePaint);
+ }
- public String getRangeAxisPaint() {
- return (String) valueBinding("rangeAxisPaint", rangeAxisPaint);
- }
+ public void setDomainGridlinePaint(String domainGridlinePaint)
+ {
+ this.domainGridlinePaint = domainGridlinePaint;
+ }
- public void setRangeAxisPaint(String rangeAxisPaint) {
- this.rangeAxisPaint = rangeAxisPaint;
- }
+ public String getDomainGridlineStroke()
+ {
+ return (String) valueBinding("domainGridlineStroke",
domainGridlineStroke);
+ }
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
-
- super.restoreState(context, values[0]);
-
- orientation = (String) values[1];
- legend = (Boolean) values[2];
- is3D = (Boolean) values[3];
- title = (String) values[4];
- titleBackgroundPaint = (String) values[5];
- titlePaint = (String) values[6];
- legendBackgroundPaint = (String) values[7];
- legendItemPaint = (String) values[8];
- domainAxisLabel = (String) values[9];
- domainAxisPaint = (String) values[10];
- domainGridlinesVisible = (Boolean) values[11];
- domainGridlinePaint = (String) values[12];
- domainGridlineStroke = (String) values[13];
- rangeAxisLabel = (String) values[14];
- rangeAxisPaint = (String) values[15];
- rangeGridlinesVisible = (Boolean) values[16];
- rangeGridlinePaint = (String) values[17];
- rangeGridlineStroke = (String) values[18];
- }
+ public void setDomainGridlineStroke(String domainGridlineStroke)
+ {
+ this.domainGridlineStroke = domainGridlineStroke;
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[19];
- values[0] = super.saveState(context);
- values[1] = orientation;
- values[2] = legend;
- values[3] = is3D;
- values[4] = title;
- values[5] = titleBackgroundPaint;
- values[6] = titlePaint;
- values[7] = legendBackgroundPaint;
- values[8] = legendItemPaint;
- values[9] = domainAxisLabel;
- values[10] = domainAxisPaint;
- values[11] = domainGridlinesVisible;
- values[12] = domainGridlinePaint;
- values[13] = domainGridlineStroke;
- values[14] = rangeAxisLabel;
- values[15] = rangeAxisPaint;
- values[16] = rangeGridlinesVisible;
- values[17] = rangeGridlinePaint;
- values[18] = rangeGridlineStroke;
+ public Boolean getDomainGridlinesVisible()
+ {
+ return (Boolean) valueBinding("domainGridlinesVisible",
domainGridlinesVisible);
+ }
- return values;
- }
-
- @Override
- public void configurePlot(Plot plot) {
- super.configurePlot(plot);
- if (plot instanceof CategoryPlot) {
- configurePlot((CategoryPlot) plot);
- } else {
- System.out.println("UICATEGORYCHART --- unknown plot " + plot);
- }
- }
-
- public void configurePlot(CategoryPlot plot) {
- //plot.setAxisOffset(RectangleInsets)
- //plot.setDomainAxisLocation(arg0);
- //plot.setRangeAxisLocation(arg0);
-
- if (getDomainGridlinesVisible() != null) {
- plot.setDomainGridlinesVisible(getDomainGridlinesVisible());
- }
-
- if (findColor(getDomainGridlinePaint()) != null) {
- plot.setDomainGridlinePaint(findColor(getDomainGridlinePaint()));
- }
- if (findStroke(getDomainGridlineStroke()) != null) {
- plot.setDomainGridlineStroke(findStroke(getDomainGridlineStroke()));
- }
- if (findColor(getDomainAxisPaint()) != null) {
- plot.getDomainAxis().setLabelPaint(findColor(getDomainAxisPaint()));
- }
-
- if (getRangeGridlinesVisible() != null) {
- plot.setRangeGridlinesVisible(getRangeGridlinesVisible());
- }
- if (findColor(getRangeGridlinePaint())!=null) {
- plot.setRangeGridlinePaint(findColor(getRangeGridlinePaint()));
- }
- if (findStroke(getRangeGridlineStroke())!=null) {
- plot.setRangeGridlineStroke(findStroke(getRangeGridlineStroke()));
- }
- if (findColor(getRangeAxisPaint()) != null) {
- plot.getRangeAxis().setLabelPaint(findColor(getRangeAxisPaint()));
- }
- configureRenderer(plot.getRenderer());
- }
-
-
- public void configureRenderer(CategoryItemRenderer renderer){
- //renderer.setItemMargin(0.0);
-
-// renderer.setBase(arg0);
-// renderer.setBaseFillPaint(arg0);
-// renderer.setBaseItemLabelFont(arg0);
-// renderer.setBaseItemLabelPaint(arg0);
-// renderer.setBaseItemLabelsVisible(arg0);
-// renderer.setBaseOutlinePaint(arg0);
-// renderer.setBaseOutlineStroke(arg0);
-// renderer.setBaseSeriesVisible(arg0);
-// renderer.setBaseSeriesVisibleInLegend(arg0);
-// renderer.setBaseShape(arg0);
-// renderer.setBaseStroke();
-// renderer.setFillPaint(arg0);
-// renderer.setItemLabelFont(arg0);
-// renderer.setItemLabelPaint(arg0);
-// renderer.setItemLabelsVisible(arg0);
-// renderer.setItemMargin(arg0);
-// renderer.setOutlinePaint(arg0)
-// renderer.setOutlineStroke(arg0)
-// renderer.setPaint(arg0);
-// renderer.setStroke(arg0);
-
-
-
- //renderer.setBaseOutlineStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_MITER, 10f,
- //new float[] {10,3}, 0));
- }
-
- public void configureTitle(TextTitle chartTitle) {
- if (chartTitle!=null) {
- if (findColor(getTitleBackgroundPaint()) != null) {
- chartTitle.setBackgroundPaint(findColor(getTitleBackgroundPaint()));
- }
-
- if (findColor(getTitlePaint()) != null) {
- chartTitle.setPaint(findColor(getTitlePaint()));
- }
- }
- }
-
- void configureLegend(LegendTitle chartLegend) {
- if (chartLegend!=null) {
- if (findColor(getLegendBackgroundPaint())!=null) {
- chartLegend.setBackgroundPaint(findColor(getLegendBackgroundPaint()));
- }
- if (findColor(getLegendItemPaint())!= null) {
- chartLegend.setItemPaint(findColor(getLegendItemPaint()));
- }
- }
- }
+ public void setDomainGridlinesVisible(Boolean domainGridlinesVisible)
+ {
+ this.domainGridlinesVisible = domainGridlinesVisible;
+ }
+ public String getRangeGridlinePaint()
+ {
+ return (String) valueBinding("rangeGridlinePaint", rangeGridlinePaint);
+ }
+
+ public void setRangeGridlinePaint(String rangeGridlinePaint)
+ {
+ this.rangeGridlinePaint = rangeGridlinePaint;
+ }
+
+ public String getRangeGridlineStroke()
+ {
+ return (String) valueBinding("rangeGridlineStroke",
rangeGridlineStroke);
+ }
+
+ public void setRangeGridlineStroke(String rangeGridlineStroke)
+ {
+ this.rangeGridlineStroke = rangeGridlineStroke;
+ }
+
+ public Boolean getRangeGridlinesVisible()
+ {
+ return (Boolean) valueBinding("rangeGridlinesVisible",
rangeGridlinesVisible);
+ }
+
+ public void setRangeGridlinesVisible(Boolean rangeGridlinesVisible)
+ {
+ this.rangeGridlinesVisible = rangeGridlinesVisible;
+ }
+
+ public String getDomainAxisPaint()
+ {
+ return (String) valueBinding("domainAxisPaint", domainAxisPaint);
+ }
+
+ public void setDomainAxisPaint(String domainAxisPaint)
+ {
+ this.domainAxisPaint = domainAxisPaint;
+ }
+
+ public String getRangeAxisPaint()
+ {
+ return (String) valueBinding("rangeAxisPaint", rangeAxisPaint);
+ }
+
+ public void setRangeAxisPaint(String rangeAxisPaint)
+ {
+ this.rangeAxisPaint = rangeAxisPaint;
+ }
+
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+
+ super.restoreState(context, values[0]);
+
+ orientation = (String) values[1];
+ legend = (Boolean) values[2];
+ is3D = (Boolean) values[3];
+ title = (String) values[4];
+ titleBackgroundPaint = (String) values[5];
+ titlePaint = (String) values[6];
+ legendBackgroundPaint = (String) values[7];
+ legendItemPaint = (String) values[8];
+ domainAxisLabel = (String) values[9];
+ domainAxisPaint = (String) values[10];
+ domainGridlinesVisible = (Boolean) values[11];
+ domainGridlinePaint = (String) values[12];
+ domainGridlineStroke = (String) values[13];
+ rangeAxisLabel = (String) values[14];
+ rangeAxisPaint = (String) values[15];
+ rangeGridlinesVisible = (Boolean) values[16];
+ rangeGridlinePaint = (String) values[17];
+ rangeGridlineStroke = (String) values[18];
+ }
+
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[19];
+ values[0] = super.saveState(context);
+ values[1] = orientation;
+ values[2] = legend;
+ values[3] = is3D;
+ values[4] = title;
+ values[5] = titleBackgroundPaint;
+ values[6] = titlePaint;
+ values[7] = legendBackgroundPaint;
+ values[8] = legendItemPaint;
+ values[9] = domainAxisLabel;
+ values[10] = domainAxisPaint;
+ values[11] = domainGridlinesVisible;
+ values[12] = domainGridlinePaint;
+ values[13] = domainGridlineStroke;
+ values[14] = rangeAxisLabel;
+ values[15] = rangeAxisPaint;
+ values[16] = rangeGridlinesVisible;
+ values[17] = rangeGridlinePaint;
+ values[18] = rangeGridlineStroke;
+
+ return values;
+ }
+
+ @Override
+ public void configurePlot(Plot plot)
+ {
+ super.configurePlot(plot);
+ if (plot instanceof CategoryPlot)
+ {
+ configurePlot((CategoryPlot) plot);
+ }
+ else
+ {
+ System.out.println("UICATEGORYCHART --- unknown plot " + plot);
+ }
+ }
+
+ public void configurePlot(CategoryPlot plot)
+ {
+ // plot.setAxisOffset(RectangleInsets)
+ // plot.setDomainAxisLocation(arg0);
+ // plot.setRangeAxisLocation(arg0);
+
+ if (getDomainGridlinesVisible() != null)
+ {
+ plot.setDomainGridlinesVisible(getDomainGridlinesVisible());
+ }
+
+ if (findColor(getDomainGridlinePaint()) != null)
+ {
+ plot.setDomainGridlinePaint(findColor(getDomainGridlinePaint()));
+ }
+ if (findStroke(getDomainGridlineStroke()) != null)
+ {
+ plot.setDomainGridlineStroke(findStroke(getDomainGridlineStroke()));
+ }
+ if (findColor(getDomainAxisPaint()) != null)
+ {
+ plot.getDomainAxis().setLabelPaint(findColor(getDomainAxisPaint()));
+ }
+
+ if (getRangeGridlinesVisible() != null)
+ {
+ plot.setRangeGridlinesVisible(getRangeGridlinesVisible());
+ }
+ if (findColor(getRangeGridlinePaint()) != null)
+ {
+ plot.setRangeGridlinePaint(findColor(getRangeGridlinePaint()));
+ }
+ if (findStroke(getRangeGridlineStroke()) != null)
+ {
+ plot.setRangeGridlineStroke(findStroke(getRangeGridlineStroke()));
+ }
+ if (findColor(getRangeAxisPaint()) != null)
+ {
+ plot.getRangeAxis().setLabelPaint(findColor(getRangeAxisPaint()));
+ }
+ configureRenderer(plot.getRenderer());
+ }
+
+ public void configureRenderer(CategoryItemRenderer renderer)
+ {
+ // renderer.setItemMargin(0.0);
+
+ // renderer.setBase(arg0);
+ // renderer.setBaseFillPaint(arg0);
+ // renderer.setBaseItemLabelFont(arg0);
+ // renderer.setBaseItemLabelPaint(arg0);
+ // renderer.setBaseItemLabelsVisible(arg0);
+ // renderer.setBaseOutlinePaint(arg0);
+ // renderer.setBaseOutlineStroke(arg0);
+ // renderer.setBaseSeriesVisible(arg0);
+ // renderer.setBaseSeriesVisibleInLegend(arg0);
+ // renderer.setBaseShape(arg0);
+ // renderer.setBaseStroke();
+ // renderer.setFillPaint(arg0);
+ // renderer.setItemLabelFont(arg0);
+ // renderer.setItemLabelPaint(arg0);
+ // renderer.setItemLabelsVisible(arg0);
+ // renderer.setItemMargin(arg0);
+ // renderer.setOutlinePaint(arg0)
+ // renderer.setOutlineStroke(arg0)
+ // renderer.setPaint(arg0);
+ // renderer.setStroke(arg0);
+
+ // renderer.setBaseOutlineStroke(new BasicStroke(2f,
+ // BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10f,
+ // new float[] {10,3}, 0));
+ }
+
+ public void configureTitle(TextTitle chartTitle)
+ {
+ if (chartTitle != null)
+ {
+ if (findColor(getTitleBackgroundPaint()) != null)
+ {
+ chartTitle.setBackgroundPaint(findColor(getTitleBackgroundPaint()));
+ }
+
+ if (findColor(getTitlePaint()) != null)
+ {
+ chartTitle.setPaint(findColor(getTitlePaint()));
+ }
+ }
+ }
+
+ void configureLegend(LegendTitle chartLegend)
+ {
+ if (chartLegend != null)
+ {
+ if (findColor(getLegendBackgroundPaint()) != null)
+ {
+ chartLegend.setBackgroundPaint(findColor(getLegendBackgroundPaint()));
+ }
+ if (findColor(getLegendItemPaint()) != null)
+ {
+ chartLegend.setItemPaint(findColor(getLegendItemPaint()));
+ }
+ }
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UICell.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UICell.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UICell.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -7,293 +7,352 @@
import javax.faces.context.FacesContext;
-public class UICell
- extends UIRectangle
+public class UICell extends UIRectangle
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UICell";
+ public static final String COMPONENT_TYPE = "org.jboss.seam.pdf.ui.UICell";
- PdfPCell cell;
- String horizontalAlignment;
- String verticalAlignment;
- Float padding;
- Float paddingLeft;
- Float paddingRight;
- Float paddingTop;
- Float paddingBottom;
- Boolean useBorderPadding;
- Float leading;
- Float multipliedLeading;
- Float indent;
- Float extraParagraphSpace;
- Float fixedHeight;
- Boolean noWrap;
- Float minimumHeight;
- Integer colspan;
- Float followingIndent;
- Float rightIndent;
- Integer spaceCharRatio;
- Integer runDirection;
- Integer arabicOptions;
- Boolean useAscender;
- Float grayFill;
- Integer rotation;
-
- boolean hasContent = false;
-
- public void setGrayFill(Float grayFill) {
- this.grayFill = grayFill;
- }
+ PdfPCell cell;
+ String horizontalAlignment;
+ String verticalAlignment;
+ Float padding;
+ Float paddingLeft;
+ Float paddingRight;
+ Float paddingTop;
+ Float paddingBottom;
+ Boolean useBorderPadding;
+ Float leading;
+ Float multipliedLeading;
+ Float indent;
+ Float extraParagraphSpace;
+ Float fixedHeight;
+ Boolean noWrap;
+ Float minimumHeight;
+ Integer colspan;
+ Float followingIndent;
+ Float rightIndent;
+ Integer spaceCharRatio;
+ Integer runDirection;
+ Integer arabicOptions;
+ Boolean useAscender;
+ Float grayFill;
+ Integer rotation;
- public void setHorizontalAlignment(String horizontalAlignment) {
- this.horizontalAlignment = horizontalAlignment;
- }
+ boolean hasContent = false;
- public void setVerticalAlignment(String verticalAlignment) {
- this.verticalAlignment = verticalAlignment;
- }
+ public void setGrayFill(Float grayFill)
+ {
+ this.grayFill = grayFill;
+ }
- public void setPadding(Float padding) {
- this.padding = padding;
- }
-
- public void setPaddingLeft(Float paddingLeft) {
- this.paddingLeft = paddingLeft;
- }
+ public void setHorizontalAlignment(String horizontalAlignment)
+ {
+ this.horizontalAlignment = horizontalAlignment;
+ }
- public void setPaddingRight(Float paddingRight) {
- this.paddingRight = paddingRight;
- }
+ public void setVerticalAlignment(String verticalAlignment)
+ {
+ this.verticalAlignment = verticalAlignment;
+ }
- public void setPaddingTop(Float paddingTop) {
- this.paddingTop = paddingTop;
- }
+ public void setPadding(Float padding)
+ {
+ this.padding = padding;
+ }
- public void setPaddingBottom(Float paddingBottom) {
- this.paddingBottom = paddingBottom;
- }
+ public void setPaddingLeft(Float paddingLeft)
+ {
+ this.paddingLeft = paddingLeft;
+ }
- public void setUseBorderPadding(Boolean useBorderPadding) {
- this.useBorderPadding = useBorderPadding;
- }
+ public void setPaddingRight(Float paddingRight)
+ {
+ this.paddingRight = paddingRight;
+ }
- public void setLeading(Float leading) {
- this.leading = leading;
- }
+ public void setPaddingTop(Float paddingTop)
+ {
+ this.paddingTop = paddingTop;
+ }
- public void setMultipliedLeading(Float multipliedLeading) {
- this.multipliedLeading = multipliedLeading;
- }
+ public void setPaddingBottom(Float paddingBottom)
+ {
+ this.paddingBottom = paddingBottom;
+ }
- public void setIndent(Float indent) {
- this.indent = indent;
- }
+ public void setUseBorderPadding(Boolean useBorderPadding)
+ {
+ this.useBorderPadding = useBorderPadding;
+ }
- public void setExtraParagraphSpace(Float extraParagraphSpace) {
- this.extraParagraphSpace = extraParagraphSpace;
- }
+ public void setLeading(Float leading)
+ {
+ this.leading = leading;
+ }
- public void setFixedHeight(Float fixedHeight) {
- this.fixedHeight = fixedHeight;
- }
+ public void setMultipliedLeading(Float multipliedLeading)
+ {
+ this.multipliedLeading = multipliedLeading;
+ }
- public void setNoWrap(Boolean noWrap) {
- this.noWrap = noWrap;
- }
+ public void setIndent(Float indent)
+ {
+ this.indent = indent;
+ }
- public void setMinimumHeight(Float minimumHeight) {
- this.minimumHeight = minimumHeight;
- }
+ public void setExtraParagraphSpace(Float extraParagraphSpace)
+ {
+ this.extraParagraphSpace = extraParagraphSpace;
+ }
- public void setColspan(Integer colspan) {
- this.colspan = colspan;
- }
+ public void setFixedHeight(Float fixedHeight)
+ {
+ this.fixedHeight = fixedHeight;
+ }
- public void setFollowingIndent(Float followingIndent) {
- this.followingIndent = followingIndent;
- }
+ public void setNoWrap(Boolean noWrap)
+ {
+ this.noWrap = noWrap;
+ }
- public void setRightIndent(Float rightIndent) {
- this.rightIndent = rightIndent;
- }
+ public void setMinimumHeight(Float minimumHeight)
+ {
+ this.minimumHeight = minimumHeight;
+ }
- public void setSpaceCharRatio(Integer spaceCharRatio) {
- this.spaceCharRatio = spaceCharRatio;
- }
+ public void setColspan(Integer colspan)
+ {
+ this.colspan = colspan;
+ }
- public void setRunDirection(Integer runDirection) {
- this.runDirection = runDirection;
- }
+ public void setFollowingIndent(Float followingIndent)
+ {
+ this.followingIndent = followingIndent;
+ }
- public void setArabicOptions(Integer arabicOptions) {
- this.arabicOptions = arabicOptions;
- }
+ public void setRightIndent(Float rightIndent)
+ {
+ this.rightIndent = rightIndent;
+ }
- public void setUseAscender(Boolean useAscender) {
- this.useAscender = useAscender;
- }
-
- public void setRotation(Integer rotation) {
- this.rotation = rotation;
- }
+ public void setSpaceCharRatio(Integer spaceCharRatio)
+ {
+ this.spaceCharRatio = spaceCharRatio;
+ }
- @Override
- public Object getITextObject() {
- return cell;
- }
+ public void setRunDirection(Integer runDirection)
+ {
+ this.runDirection = runDirection;
+ }
- @Override
- public void removeITextObject() {
- cell = null;
- }
+ public void setArabicOptions(Integer arabicOptions)
+ {
+ this.arabicOptions = arabicOptions;
+ }
- @Override
- public void createITextObject(FacesContext context) {
- PdfPCell defaultCell = getDefaultCellFromTable();
- if (defaultCell != null) {
- cell = new PdfPCell(defaultCell);
- } else {
- cell = new PdfPCell();
- }
-
- horizontalAlignment = (String) valueBinding(context,
"horizontalAlignment", horizontalAlignment);
- if (horizontalAlignment != null) {
- cell.setHorizontalAlignment(ITextUtils.alignmentValue(horizontalAlignment));
- }
-
- verticalAlignment = (String) valueBinding(context, "verticalAlignment",
verticalAlignment);
- if (verticalAlignment != null) {
- cell.setVerticalAlignment(ITextUtils.alignmentValue(verticalAlignment));
- }
-
- padding = (Float) valueBinding(context, "padding", padding);
- if (padding != null) {
- cell.setPadding(padding);
- }
-
- paddingLeft = (Float) valueBinding(context, "paddingLeft",
paddingLeft);
- if (paddingLeft != null) {
- cell.setPaddingLeft(paddingLeft);
- }
-
- paddingRight = (Float) valueBinding(context, "paddingRight",
paddingRight);
- if (paddingRight != null) {
- cell.setPaddingRight(paddingRight);
- }
-
- paddingTop = (Float) valueBinding(context, "paddingTop", paddingTop);
- if (paddingTop != null) {
- cell.setPaddingTop(paddingTop);
- }
-
- paddingBottom = (Float) valueBinding(context, "paddingBottom",
paddingBottom);
- if (paddingBottom != null) {
- cell.setPaddingBottom(paddingBottom);
- }
-
- useBorderPadding = (Boolean) valueBinding(context, "useBorderPadding",
useBorderPadding);
- if (useBorderPadding != null) {
- cell.setUseBorderPadding(useBorderPadding);
- }
-
- leading = (Float) valueBinding(context, "leading", leading);
- multipliedLeading = (Float) valueBinding(context, "multipliedLeading",
multipliedLeading);
- if (leading != null || multipliedLeading != null) {
- cell.setLeading(leading == null ? 0 : leading.floatValue(),
- multipliedLeading==null ? 0 :
multipliedLeading.floatValue());
- }
-
- indent = (Float) valueBinding(context, "indent", indent);
- if (indent != null) {
- cell.setIndent(indent);
- }
-
- extraParagraphSpace = (Float) valueBinding(context,
"extraParagraphSpace", extraParagraphSpace);
- if (extraParagraphSpace != null) {
- cell.setExtraParagraphSpace(extraParagraphSpace);
- }
-
- fixedHeight = (Float) valueBinding(context, "fixedHeight",
fixedHeight);
- if (fixedHeight != null) {
- cell.setFixedHeight(fixedHeight);
- }
-
- noWrap = (Boolean) valueBinding(context, "noWrap", noWrap);
- if (noWrap != null) {
- cell.setNoWrap(noWrap);
- }
-
- minimumHeight = (Float) valueBinding(context, "minimumHeight",
minimumHeight);
- if (minimumHeight != null) {
- cell.setMinimumHeight(minimumHeight);
- }
-
- colspan = (Integer) valueBinding(context, "colspan", colspan);
- if (colspan != null) {
- cell.setColspan(colspan);
- }
-
- followingIndent = (Float) valueBinding(context, "followingIndent",
followingIndent);
- if (followingIndent != null) {
- cell.setFollowingIndent(followingIndent);
- }
- rightIndent = (Float) valueBinding(context, "rightIndent",
rightIndent);
- if (rightIndent != null) {
- cell.setRightIndent(rightIndent);
- }
- spaceCharRatio = (Integer) valueBinding(context, "spaceCharRatio",
spaceCharRatio);
- if (spaceCharRatio != null) {
- cell.setSpaceCharRatio(spaceCharRatio);
- }
- runDirection = (Integer) valueBinding(context, "runDirection",
runDirection);
- if (runDirection != null) {
- cell.setRunDirection(runDirection);
- }
- arabicOptions = (Integer) valueBinding(context, "arabicOptions",
arabicOptions);
- if (arabicOptions != null) {
- cell.setArabicOptions(arabicOptions);
- }
- useAscender = (Boolean) valueBinding(context, "useAscender",
useAscender);
- if (useAscender != null) {
- cell.setUseAscender(useAscender);
- }
-
- grayFill = (Float) valueBinding(context, "grayFill", grayFill);
- if (grayFill != null) {
- cell.setGrayFill(grayFill);
- }
-
- rotation = (Integer) valueBinding(context, "rotation", rotation);
- if (rotation != null) {
- cell.setRotation(rotation);
- }
-
- applyRectangleProperties(context, cell);
- }
+ public void setUseAscender(Boolean useAscender)
+ {
+ this.useAscender = useAscender;
+ }
- private PdfPCell getDefaultCellFromTable() {
- UITable parentTable = (UITable) findITextParent(this, UITable.class);
- if (parentTable != null) {
- return parentTable.getDefaultCellFacet();
- }
- return null;
- }
+ public void setRotation(Integer rotation)
+ {
+ this.rotation = rotation;
+ }
- @Override
- public void handleAdd(Object o) {
- if (!hasContent && o instanceof Image) {
- // added by user request, but it mages the logic here rather ugly.
- cell.setImage((Image) o);
-
- } else if (o instanceof Element) {
- if (cell.getImage() != null) {
- cell.addElement(cell.getImage());
- }
- cell.addElement((Element) o);
- } else {
- throw new RuntimeException("Can't add " +
o.getClass().getName() +
- " to cell");
- }
- hasContent = true;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return cell;
+ }
+ @Override
+ public void removeITextObject()
+ {
+ cell = null;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ PdfPCell defaultCell = getDefaultCellFromTable();
+ if (defaultCell != null)
+ {
+ cell = new PdfPCell(defaultCell);
+ }
+ else
+ {
+ cell = new PdfPCell();
+ }
+
+ horizontalAlignment = (String) valueBinding(context,
"horizontalAlignment", horizontalAlignment);
+ if (horizontalAlignment != null)
+ {
+ cell.setHorizontalAlignment(ITextUtils.alignmentValue(horizontalAlignment));
+ }
+
+ verticalAlignment = (String) valueBinding(context, "verticalAlignment",
verticalAlignment);
+ if (verticalAlignment != null)
+ {
+ cell.setVerticalAlignment(ITextUtils.alignmentValue(verticalAlignment));
+ }
+
+ padding = (Float) valueBinding(context, "padding", padding);
+ if (padding != null)
+ {
+ cell.setPadding(padding);
+ }
+
+ paddingLeft = (Float) valueBinding(context, "paddingLeft", paddingLeft);
+ if (paddingLeft != null)
+ {
+ cell.setPaddingLeft(paddingLeft);
+ }
+
+ paddingRight = (Float) valueBinding(context, "paddingRight",
paddingRight);
+ if (paddingRight != null)
+ {
+ cell.setPaddingRight(paddingRight);
+ }
+
+ paddingTop = (Float) valueBinding(context, "paddingTop", paddingTop);
+ if (paddingTop != null)
+ {
+ cell.setPaddingTop(paddingTop);
+ }
+
+ paddingBottom = (Float) valueBinding(context, "paddingBottom",
paddingBottom);
+ if (paddingBottom != null)
+ {
+ cell.setPaddingBottom(paddingBottom);
+ }
+
+ useBorderPadding = (Boolean) valueBinding(context, "useBorderPadding",
useBorderPadding);
+ if (useBorderPadding != null)
+ {
+ cell.setUseBorderPadding(useBorderPadding);
+ }
+
+ leading = (Float) valueBinding(context, "leading", leading);
+ multipliedLeading = (Float) valueBinding(context, "multipliedLeading",
multipliedLeading);
+ if (leading != null || multipliedLeading != null)
+ {
+ cell.setLeading(leading == null ? 0 : leading.floatValue(), multipliedLeading ==
null ? 0 : multipliedLeading.floatValue());
+ }
+
+ indent = (Float) valueBinding(context, "indent", indent);
+ if (indent != null)
+ {
+ cell.setIndent(indent);
+ }
+
+ extraParagraphSpace = (Float) valueBinding(context,
"extraParagraphSpace", extraParagraphSpace);
+ if (extraParagraphSpace != null)
+ {
+ cell.setExtraParagraphSpace(extraParagraphSpace);
+ }
+
+ fixedHeight = (Float) valueBinding(context, "fixedHeight", fixedHeight);
+ if (fixedHeight != null)
+ {
+ cell.setFixedHeight(fixedHeight);
+ }
+
+ noWrap = (Boolean) valueBinding(context, "noWrap", noWrap);
+ if (noWrap != null)
+ {
+ cell.setNoWrap(noWrap);
+ }
+
+ minimumHeight = (Float) valueBinding(context, "minimumHeight",
minimumHeight);
+ if (minimumHeight != null)
+ {
+ cell.setMinimumHeight(minimumHeight);
+ }
+
+ colspan = (Integer) valueBinding(context, "colspan", colspan);
+ if (colspan != null)
+ {
+ cell.setColspan(colspan);
+ }
+
+ followingIndent = (Float) valueBinding(context, "followingIndent",
followingIndent);
+ if (followingIndent != null)
+ {
+ cell.setFollowingIndent(followingIndent);
+ }
+ rightIndent = (Float) valueBinding(context, "rightIndent", rightIndent);
+ if (rightIndent != null)
+ {
+ cell.setRightIndent(rightIndent);
+ }
+ spaceCharRatio = (Integer) valueBinding(context, "spaceCharRatio",
spaceCharRatio);
+ if (spaceCharRatio != null)
+ {
+ cell.setSpaceCharRatio(spaceCharRatio);
+ }
+ runDirection = (Integer) valueBinding(context, "runDirection",
runDirection);
+ if (runDirection != null)
+ {
+ cell.setRunDirection(runDirection);
+ }
+ arabicOptions = (Integer) valueBinding(context, "arabicOptions",
arabicOptions);
+ if (arabicOptions != null)
+ {
+ cell.setArabicOptions(arabicOptions);
+ }
+ useAscender = (Boolean) valueBinding(context, "useAscender",
useAscender);
+ if (useAscender != null)
+ {
+ cell.setUseAscender(useAscender);
+ }
+
+ grayFill = (Float) valueBinding(context, "grayFill", grayFill);
+ if (grayFill != null)
+ {
+ cell.setGrayFill(grayFill);
+ }
+
+ rotation = (Integer) valueBinding(context, "rotation", rotation);
+ if (rotation != null)
+ {
+ cell.setRotation(rotation);
+ }
+
+ applyRectangleProperties(context, cell);
+ }
+
+ private PdfPCell getDefaultCellFromTable()
+ {
+ UITable parentTable = (UITable) findITextParent(this, UITable.class);
+ if (parentTable != null)
+ {
+ return parentTable.getDefaultCellFacet();
+ }
+ return null;
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ if (!hasContent && o instanceof Image)
+ {
+ // added by user request, but it mages the logic here rather ugly.
+ cell.setImage((Image) o);
+
+ }
+ else if (o instanceof Element)
+ {
+ if (cell.getImage() != null)
+ {
+ cell.addElement(cell.getImage());
+ }
+ cell.addElement((Element) o);
+ }
+ else
+ {
+ throw new RuntimeException("Can't add " + o.getClass().getName() +
" to cell");
+ }
+ hasContent = true;
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIChapter.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIChapter.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIChapter.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -3,31 +3,34 @@
import javax.faces.context.*;
import com.lowagie.text.*;
-public class UIChapter
- extends UISection
+public class UIChapter extends UISection
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIChapter";
-
- Integer number = 1;
-
- public Chapter getChapter() {
- return (Chapter) getSection();
- }
-
- public void setNumber(Integer number) {
- this.number = number;
- }
-
- @Override
- public Object getITextObject() {
- return section;
- }
-
- // removeITextObject, handleAdd set by parent
-
- @Override
- public void createITextObject(FacesContext context) {
- number = (Integer) valueBinding(context, "number", number);
- section = new Chapter("",number);
- }
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIChapter";
+
+ Integer number = 1;
+
+ public Chapter getChapter()
+ {
+ return (Chapter) getSection();
+ }
+
+ public void setNumber(Integer number)
+ {
+ this.number = number;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return section;
+ }
+
+ // removeITextObject, handleAdd set by parent
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ number = (Integer) valueBinding(context, "number", number);
+ section = new Chapter("", number);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIChart.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -28,323 +28,369 @@
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;
-public abstract class UIChart
- extends ITextComponent
+public abstract class UIChart extends ITextComponent
{
- private Image image = null;
- private JFreeChart chart = null;
- private byte[] imageData;
-
- private int height = 300;
- private int width = 400;
-
- private String borderBackgroundPaint;
- private String borderPaint;
- private String borderStroke;
- private boolean borderVisible = true;
-
- private String plotBackgroundPaint;
- private Float plotBackgroundAlpha;
- private Float plotForegroundAlpha;
- private String plotOutlineStroke;
- private String plotOutlinePaint;
-
-
-
- public void setHeight(int height) {
- this.height = height;
- }
-
- public int getHeight() {
- return (Integer) valueBinding(FacesContext.getCurrentInstance(),
"height", height);
- }
+ private Image image = null;
+ private JFreeChart chart = null;
+ private byte[] imageData;
- public void setWidth(int width) {
- this.width = width;
- }
-
- public int getWidth() {
- return (Integer) valueBinding(FacesContext.getCurrentInstance(),
"width", width);
- }
-
- public void setBorderBackgroundPaint(String backgroundPaint) {
- this.borderBackgroundPaint = backgroundPaint;
- }
-
- public String getBorderBackgroundPaint() {
- return (String) valueBinding(FacesContext.getCurrentInstance(),
"borderBackgroundPaint", borderBackgroundPaint);
- }
-
- public void setBorderPaint(String borderPaint) {
- this.borderPaint = borderPaint;
- }
-
- public String getBorderPaint() {
- return (String) valueBinding(FacesContext.getCurrentInstance(),
"borderPaint", borderPaint);
- }
-
- public void setBorderStroke(String borderStroke) {
- this.borderStroke = borderStroke;
- }
-
- public String getBorderStroke() {
- return (String) valueBinding(FacesContext.getCurrentInstance(),
"borderStroke", borderStroke);
- }
-
- public void setBorderVisible(boolean borderVisible) {
- this.borderVisible = borderVisible;
- }
-
- public boolean getBorderVisible() {
- return (Boolean) valueBinding(FacesContext.getCurrentInstance(),
"borderVisible", borderVisible);
- }
-
+ private int height = 300;
+ private int width = 400;
- public void setPlotBackgroundAlpha(Float plotBackgroundAlpha) {
- this.plotBackgroundAlpha = plotBackgroundAlpha;
- }
+ private String borderBackgroundPaint;
+ private String borderPaint;
+ private String borderStroke;
+ private boolean borderVisible = true;
- public Float getPlotBackgroundAlpha() {
- return (Float) valueBinding(FacesContext.getCurrentInstance(),
"plotBackgroundAlpha", plotBackgroundAlpha);
- }
-
- public void setPlotBackgroundPaint(String plotBackgroundPaint) {
- this.plotBackgroundPaint = plotBackgroundPaint;
- }
-
- public String getPlotBackgroundPaint() {
- return (String) valueBinding(FacesContext.getCurrentInstance(),
"plotBackgroundPaint", plotBackgroundPaint);
- }
+ private String plotBackgroundPaint;
+ private Float plotBackgroundAlpha;
+ private Float plotForegroundAlpha;
+ private String plotOutlineStroke;
+ private String plotOutlinePaint;
- public void setPlotForegroundAlpha(Float plotForegroundAlpha) {
- this.plotForegroundAlpha = plotForegroundAlpha;
- }
- public Float getPlotForegroundAlpha() {
- return (Float) valueBinding(FacesContext.getCurrentInstance(),
"plotForegroundAlpha", plotForegroundAlpha);
- }
+ public void setHeight(int height)
+ {
+ this.height = height;
+ }
- public void setPlotOutlinePaint(String plotOutlinePaint) {
- this.plotOutlinePaint = plotOutlinePaint;
- }
-
- public String getPlotOutlinePaint() {
- return (String) valueBinding(FacesContext.getCurrentInstance(),
"plotOutlinePaint", plotOutlinePaint);
- }
-
- public void setPlotOutlineStroke(String plotOutlineStroke) {
- this.plotOutlineStroke = plotOutlineStroke;
- }
-
- public String getPlotOutlineStroke() {
- return (String) valueBinding(FacesContext.getCurrentInstance(),
"plotOutlineStroke", plotOutlineStroke);
- }
-
-
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
-
- height = (Integer) values[1];
- width = (Integer) values[2];
- borderBackgroundPaint = (String) values[3];
- borderPaint = (String) values[4];
- borderStroke = (String) values[5];
- borderVisible = (Boolean) values[6];
- plotBackgroundPaint = (String) values[7];
- plotBackgroundAlpha = (Float) values[8];
- plotForegroundAlpha = (Float) values[9];
- plotOutlineStroke = (String) values[10];
- plotOutlinePaint = (String) values[11];
- }
+ public int getHeight()
+ {
+ return (Integer) valueBinding(FacesContext.getCurrentInstance(),
"height", height);
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[12];
-
- values[0] = super.saveState(context);
- values[1] = height;
- values[2] = width;
- values[3] = borderBackgroundPaint;
- values[4] = borderPaint;
- values[5] = borderStroke;
- values[6] = borderVisible;
- values[7] = plotBackgroundPaint;
- values[8] = plotBackgroundAlpha;
- values[9] = plotForegroundAlpha;
- values[10] = plotOutlineStroke;
- values[11] = plotOutlinePaint;
-
- return values;
- }
-
-
- public static Paint findColor(String name) {
- if (name == null || name.length() == 0) {
- return null;
- }
- UIComponent component =
FacesContext.getCurrentInstance().getViewRoot().findComponent(name);
-
- if (component != null) {
- if (component instanceof UIColor) {
- return ((UIColor) component).getPaint();
- } else {
- throw new RuntimeException();
- }
- }
-
- return ITextUtils.colorValue(name);
- }
-
- public static Stroke findStroke(String id) {
- if (id == null || id.length() ==0) {
- return null;
- }
-
- UIComponent component =
FacesContext.getCurrentInstance().getViewRoot().findComponent(id);
+ public void setWidth(int width)
+ {
+ this.width = width;
+ }
- if (component instanceof UIStroke) {
- return ((UIStroke) component).getStroke();
- } else {
- throw new RuntimeException();
+ public int getWidth()
+ {
+ return (Integer) valueBinding(FacesContext.getCurrentInstance(), "width",
width);
+ }
- }
- }
-
- public abstract JFreeChart createChart(FacesContext context);
- public JFreeChart getChart() {
- return chart;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
-
- if (getBorderBackgroundPaint() != null) {
- chart.setBackgroundPaint(findColor(getBorderBackgroundPaint()));
- }
-
- if (getBorderPaint() != null) {
- chart.setBorderPaint(findColor(getBorderPaint()));
- }
-
- if (getBorderStroke() != null) {
- chart.setBorderStroke(findStroke(getBorderStroke()));
- }
+ public void setBorderBackgroundPaint(String backgroundPaint)
+ {
+ this.borderBackgroundPaint = backgroundPaint;
+ }
- chart.setBorderVisible(getBorderVisible());
-
- configurePlot(chart.getPlot());
-
-
- try {
- UIDocument doc = (UIDocument) findITextParent(getParent(),
UIDocument.class);
- if (doc != null) {
- PdfWriter writer = (PdfWriter) doc.getWriter();
- PdfContentByte cb = writer.getDirectContent();
- PdfTemplate tp = cb.createTemplate(getWidth(), getHeight());
- Graphics2D g2 = tp.createGraphics(getWidth(), getHeight(), new
DefaultFontMapper());
- chart.draw(g2, new Rectangle2D.Double(0, 0, getWidth(), getHeight()));
- g2.dispose();
+ public String getBorderBackgroundPaint()
+ {
+ return (String) valueBinding(FacesContext.getCurrentInstance(),
"borderBackgroundPaint", borderBackgroundPaint);
+ }
- image = new ImgTemplate(tp);
- } else {
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- ChartUtilities.writeChartAsJPEG(stream, chart, getWidth(), getHeight());
+ public void setBorderPaint(String borderPaint)
+ {
+ this.borderPaint = borderPaint;
+ }
- imageData = stream.toByteArray();
- stream.close();
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
-
+ public String getBorderPaint()
+ {
+ return (String) valueBinding(FacesContext.getCurrentInstance(),
"borderPaint", borderPaint);
+ }
- public void configurePlot(Plot plot) {
- if (getPlotBackgroundAlpha() != null) {
- plot.setBackgroundAlpha(getPlotBackgroundAlpha());
- }
- if (getPlotForegroundAlpha() != null) {
- plot.setForegroundAlpha(getPlotForegroundAlpha());
- }
- if (getPlotBackgroundPaint() != null) {
- plot.setBackgroundPaint(findColor(getPlotBackgroundPaint()));
- }
- if (getPlotOutlinePaint() != null) {
- plot.setOutlinePaint(findColor(getPlotOutlinePaint()));
- }
- if (getPlotOutlineStroke() != null) {
- plot.setOutlineStroke(findStroke(getPlotOutlineStroke()));
- }
- }
-
- public PlotOrientation plotOrientation(String orientation) {
- if (orientation != null &&
orientation.equalsIgnoreCase("horizontal")) {
- return PlotOrientation.HORIZONTAL;
- } else {
- return PlotOrientation.VERTICAL;
- }
- }
-
- @Override
- public void encodeBegin(FacesContext context)
- throws IOException
- {
- // bypass super to avoid createITextObject() before the chart is ready
- createDataset();
- chart = createChart(context);
- }
-
-
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- // call create here so that we'll have a valid chart
- createITextObject(context);
+ public void setBorderStroke(String borderStroke)
+ {
+ this.borderStroke = borderStroke;
+ }
- if (imageData != null) {
- ResponseWriter response = context.getResponseWriter();
- response.startElement("img", null);
- GraphicImageStore store = GraphicImageStore.instance();
- String key = store.put(new ImageWrapper(imageData, Type.IMAGE_JPEG));
- String url = context.getExternalContext().getRequestContextPath() +
- GraphicImageResource.GRAPHIC_IMAGE_RESOURCE_PATH + "/"
+ key + Type.IMAGE_JPEG.getExtension();
+ public String getBorderStroke()
+ {
+ return (String) valueBinding(FacesContext.getCurrentInstance(),
"borderStroke", borderStroke);
+ }
- response.writeAttribute("src", url, null);
-
- response.writeAttribute("height", getHeight(), null);
- response.writeAttribute("width", getWidth(), null);
+ public void setBorderVisible(boolean borderVisible)
+ {
+ this.borderVisible = borderVisible;
+ }
- response.endElement("img");
+ public boolean getBorderVisible()
+ {
+ return (Boolean) valueBinding(FacesContext.getCurrentInstance(),
"borderVisible", borderVisible);
+ }
- Manager.instance().beforeRedirect();
- }
-
- super.encodeEnd(context);
- }
-
+ public void setPlotBackgroundAlpha(Float plotBackgroundAlpha)
+ {
+ this.plotBackgroundAlpha = plotBackgroundAlpha;
+ }
- @Override
- public Object getITextObject() {
- return image;
- }
+ public Float getPlotBackgroundAlpha()
+ {
+ return (Float) valueBinding(FacesContext.getCurrentInstance(),
"plotBackgroundAlpha", plotBackgroundAlpha);
+ }
- @Override
- public void handleAdd(Object arg0) {
- throw new RuntimeException("No children allowed");
- }
+ public void setPlotBackgroundPaint(String plotBackgroundPaint)
+ {
+ this.plotBackgroundPaint = plotBackgroundPaint;
+ }
- @Override
- public void removeITextObject() {
- image = null;
- chart = null;
- }
+ public String getPlotBackgroundPaint()
+ {
+ return (String) valueBinding(FacesContext.getCurrentInstance(),
"plotBackgroundPaint", plotBackgroundPaint);
+ }
-
- public abstract void createDataset();
- public abstract Dataset getDataset();
+ public void setPlotForegroundAlpha(Float plotForegroundAlpha)
+ {
+ this.plotForegroundAlpha = plotForegroundAlpha;
+ }
+
+ public Float getPlotForegroundAlpha()
+ {
+ return (Float) valueBinding(FacesContext.getCurrentInstance(),
"plotForegroundAlpha", plotForegroundAlpha);
+ }
+
+ public void setPlotOutlinePaint(String plotOutlinePaint)
+ {
+ this.plotOutlinePaint = plotOutlinePaint;
+ }
+
+ public String getPlotOutlinePaint()
+ {
+ return (String) valueBinding(FacesContext.getCurrentInstance(),
"plotOutlinePaint", plotOutlinePaint);
+ }
+
+ public void setPlotOutlineStroke(String plotOutlineStroke)
+ {
+ this.plotOutlineStroke = plotOutlineStroke;
+ }
+
+ public String getPlotOutlineStroke()
+ {
+ return (String) valueBinding(FacesContext.getCurrentInstance(),
"plotOutlineStroke", plotOutlineStroke);
+ }
+
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
+
+ height = (Integer) values[1];
+ width = (Integer) values[2];
+ borderBackgroundPaint = (String) values[3];
+ borderPaint = (String) values[4];
+ borderStroke = (String) values[5];
+ borderVisible = (Boolean) values[6];
+ plotBackgroundPaint = (String) values[7];
+ plotBackgroundAlpha = (Float) values[8];
+ plotForegroundAlpha = (Float) values[9];
+ plotOutlineStroke = (String) values[10];
+ plotOutlinePaint = (String) values[11];
+ }
+
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[12];
+
+ values[0] = super.saveState(context);
+ values[1] = height;
+ values[2] = width;
+ values[3] = borderBackgroundPaint;
+ values[4] = borderPaint;
+ values[5] = borderStroke;
+ values[6] = borderVisible;
+ values[7] = plotBackgroundPaint;
+ values[8] = plotBackgroundAlpha;
+ values[9] = plotForegroundAlpha;
+ values[10] = plotOutlineStroke;
+ values[11] = plotOutlinePaint;
+
+ return values;
+ }
+
+ public static Paint findColor(String name)
+ {
+ if (name == null || name.length() == 0)
+ {
+ return null;
+ }
+ UIComponent component =
FacesContext.getCurrentInstance().getViewRoot().findComponent(name);
+
+ if (component != null)
+ {
+ if (component instanceof UIColor)
+ {
+ return ((UIColor) component).getPaint();
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+
+ return ITextUtils.colorValue(name);
+ }
+
+ public static Stroke findStroke(String id)
+ {
+ if (id == null || id.length() == 0)
+ {
+ return null;
+ }
+
+ UIComponent component =
FacesContext.getCurrentInstance().getViewRoot().findComponent(id);
+
+ if (component instanceof UIStroke)
+ {
+ return ((UIStroke) component).getStroke();
+ }
+ else
+ {
+ throw new RuntimeException();
+
+ }
+ }
+
+ public abstract JFreeChart createChart(FacesContext context);
+
+ public JFreeChart getChart()
+ {
+ return chart;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+
+ if (getBorderBackgroundPaint() != null)
+ {
+ chart.setBackgroundPaint(findColor(getBorderBackgroundPaint()));
+ }
+
+ if (getBorderPaint() != null)
+ {
+ chart.setBorderPaint(findColor(getBorderPaint()));
+ }
+
+ if (getBorderStroke() != null)
+ {
+ chart.setBorderStroke(findStroke(getBorderStroke()));
+ }
+
+ chart.setBorderVisible(getBorderVisible());
+
+ configurePlot(chart.getPlot());
+
+ try
+ {
+ UIDocument doc = (UIDocument) findITextParent(getParent(), UIDocument.class);
+ if (doc != null)
+ {
+ PdfWriter writer = (PdfWriter) doc.getWriter();
+ PdfContentByte cb = writer.getDirectContent();
+ PdfTemplate tp = cb.createTemplate(getWidth(), getHeight());
+ Graphics2D g2 = tp.createGraphics(getWidth(), getHeight(), new
DefaultFontMapper());
+ chart.draw(g2, new Rectangle2D.Double(0, 0, getWidth(), getHeight()));
+ g2.dispose();
+
+ image = new ImgTemplate(tp);
+ }
+ else
+ {
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ ChartUtilities.writeChartAsJPEG(stream, chart, getWidth(), getHeight());
+
+ imageData = stream.toByteArray();
+ stream.close();
+ }
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void configurePlot(Plot plot)
+ {
+ if (getPlotBackgroundAlpha() != null)
+ {
+ plot.setBackgroundAlpha(getPlotBackgroundAlpha());
+ }
+ if (getPlotForegroundAlpha() != null)
+ {
+ plot.setForegroundAlpha(getPlotForegroundAlpha());
+ }
+ if (getPlotBackgroundPaint() != null)
+ {
+ plot.setBackgroundPaint(findColor(getPlotBackgroundPaint()));
+ }
+ if (getPlotOutlinePaint() != null)
+ {
+ plot.setOutlinePaint(findColor(getPlotOutlinePaint()));
+ }
+ if (getPlotOutlineStroke() != null)
+ {
+ plot.setOutlineStroke(findStroke(getPlotOutlineStroke()));
+ }
+ }
+
+ public PlotOrientation plotOrientation(String orientation)
+ {
+ if (orientation != null &&
orientation.equalsIgnoreCase("horizontal"))
+ {
+ return PlotOrientation.HORIZONTAL;
+ }
+ else
+ {
+ return PlotOrientation.VERTICAL;
+ }
+ }
+
+ @Override
+ public void encodeBegin(FacesContext context) throws IOException
+ {
+ // bypass super to avoid createITextObject() before the chart is ready
+ createDataset();
+ chart = createChart(context);
+ }
+
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ // call create here so that we'll have a valid chart
+ createITextObject(context);
+
+ if (imageData != null)
+ {
+ ResponseWriter response = context.getResponseWriter();
+ response.startElement("img", null);
+ GraphicImageStore store = GraphicImageStore.instance();
+ String key = store.put(new ImageWrapper(imageData, Type.IMAGE_JPEG));
+ String url = context.getExternalContext().getRequestContextPath() +
GraphicImageResource.GRAPHIC_IMAGE_RESOURCE_PATH + "/" + key +
Type.IMAGE_JPEG.getExtension();
+
+ response.writeAttribute("src", url, null);
+
+ response.writeAttribute("height", getHeight(), null);
+ response.writeAttribute("width", getWidth(), null);
+
+ response.endElement("img");
+
+ Manager.instance().beforeRedirect();
+ }
+
+ super.encodeEnd(context);
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return image;
+ }
+
+ @Override
+ public void handleAdd(Object arg0)
+ {
+ throw new RuntimeException("No children allowed");
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ image = null;
+ chart = null;
+ }
+
+ public abstract void createDataset();
+
+ public abstract Dataset getDataset();
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartData.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -10,193 +10,221 @@
import org.jfree.data.general.Dataset;
import org.jfree.data.general.DefaultPieDataset;
-public class UIChartData
- extends ITextComponent
-{
- private String key;
- private String series;
- private Object value;
- private Float explodedPercent;
-
- private String sectionPaint;
- private String sectionOutlinePaint;
- private String sectionOutlineStroke;
-
- public Object getValue() {
- return valueBinding("value", value);
- }
+public class UIChartData extends ITextComponent
+{
+ private String key;
+ private String series;
+ private Object value;
+ private Float explodedPercent;
- public void setValue(Object value) {
- this.value = value;
- }
-
- public Number getNumericValue() {
- Object val = getValue();
- if (val instanceof Number) {
- return (Number) getValue();
- } else if (val instanceof String) {
- return new BigDecimal((String)val);
- } else {
- throw new RuntimeException("Can't convert " +
val.getClass().getName() + " to numeric value");
- }
- }
+ private String sectionPaint;
+ private String sectionOutlinePaint;
+ private String sectionOutlineStroke;
- public String getKey() {
- return (String) valueBinding("key", key);
- }
+ public Object getValue()
+ {
+ return valueBinding("value", value);
+ }
- public void setKey(String key) {
- this.key = key;
- }
-
+ public void setValue(Object value)
+ {
+ this.value = value;
+ }
+ public Number getNumericValue()
+ {
+ Object val = getValue();
+ if (val instanceof Number)
+ {
+ return (Number) getValue();
+ }
+ else if (val instanceof String)
+ {
+ return new BigDecimal((String) val);
+ }
+ else
+ {
+ throw new RuntimeException("Can't convert " +
val.getClass().getName() + " to numeric value");
+ }
+ }
- public String getSeries() {
- String value = (String) valueBinding("series", series);
- if (value == null) {
- UIChartSeries series = (UIChartSeries) findITextParent(this,
UIChartSeries.class);
- value = series.getKey();
- }
- return value;
- }
+ public String getKey()
+ {
+ return (String) valueBinding("key", key);
+ }
- public void setSeries(String series) {
- this.series = series;
- }
-
+ public void setKey(String key)
+ {
+ this.key = key;
+ }
- public void setValue(Double value) {
- this.value = value;
- }
+ public String getSeries()
+ {
+ String value = (String) valueBinding("series", series);
+ if (value == null)
+ {
+ UIChartSeries series = (UIChartSeries) findITextParent(this,
UIChartSeries.class);
+ value = series.getKey();
+ }
+ return value;
+ }
- public Float getExplodedPercent() {
- return (Float) valueBinding("explodedPercent", explodedPercent);
- }
+ public void setSeries(String series)
+ {
+ this.series = series;
+ }
- public void setExplodedPercent(Float explodedPercent) {
- this.explodedPercent = explodedPercent;
- }
-
+ public void setValue(Double value)
+ {
+ this.value = value;
+ }
- public String getSectionOutlinePaint() {
- return (String) valueBinding("sectionOutlinePaint",
sectionOutlinePaint);
- }
+ public Float getExplodedPercent()
+ {
+ return (Float) valueBinding("explodedPercent", explodedPercent);
+ }
- public void setSectionOutlinePaint(String sectionOutlinePaint) {
- this.sectionOutlinePaint = sectionOutlinePaint;
- }
+ public void setExplodedPercent(Float explodedPercent)
+ {
+ this.explodedPercent = explodedPercent;
+ }
- public String getSectionOutlineStroke() {
- return (String) valueBinding("sectionOutlineStroke",
sectionOutlineStroke);
- }
+ public String getSectionOutlinePaint()
+ {
+ return (String) valueBinding("sectionOutlinePaint",
sectionOutlinePaint);
+ }
- public void setSectionOutlineStroke(String sectionOutlineStroke) {
- this.sectionOutlineStroke = sectionOutlineStroke;
- }
+ public void setSectionOutlinePaint(String sectionOutlinePaint)
+ {
+ this.sectionOutlinePaint = sectionOutlinePaint;
+ }
- public String getSectionPaint() {
- return (String) valueBinding("sectionPaint", sectionPaint);
- }
+ public String getSectionOutlineStroke()
+ {
+ return (String) valueBinding("sectionOutlineStroke",
sectionOutlineStroke);
+ }
- public void setSectionPaint(String sectionPaint) {
- this.sectionPaint = sectionPaint;
- }
+ public void setSectionOutlineStroke(String sectionOutlineStroke)
+ {
+ this.sectionOutlineStroke = sectionOutlineStroke;
+ }
-
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
-
- key = (String) values[1];
- //columnKey = (String) values[2];
- series = (String) values[3];
- value = values[4];
- explodedPercent = (Float) values[5];
- sectionPaint = (String) values[6];
- sectionOutlinePaint = (String) values[7];
- sectionOutlineStroke = (String) values[8];
- }
+ public String getSectionPaint()
+ {
+ return (String) valueBinding("sectionPaint", sectionPaint);
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[9];
+ public void setSectionPaint(String sectionPaint)
+ {
+ this.sectionPaint = sectionPaint;
+ }
- values[0] = super.saveState(context);
- values[1] = key;
- //values[2] = columnKey;
- values[3] = series;
- values[4] = value;
- values[5] = explodedPercent;
- values[6] = sectionPaint;
- values[7] = sectionOutlinePaint;
- values[8] = sectionOutlineStroke;
-
- return values;
- }
-
-
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- super.encodeEnd(context);
-
- UIChart chart = (UIChart) findITextParent(getParent(), UIChart.class);
- if (chart != null) {
- Dataset dataset = chart.getDataset();
-
- if (dataset instanceof DefaultPieDataset) {
- DefaultPieDataset piedata = (DefaultPieDataset) dataset;
- piedata.setValue(getKey(), getNumericValue());
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
- PiePlot plot = (PiePlot) chart.getChart().getPlot();
-
- if (getExplodedPercent() != null) {
- plot.setExplodePercent(getKey(), getExplodedPercent());
- }
-
- if (UIChart.findColor(getSectionPaint()) != null) {
- plot.setSectionPaint(getKey(),
UIChart.findColor(getSectionPaint()));
- }
-
- if (UIChart.findColor(getSectionOutlinePaint()) != null) {
- plot.setSectionOutlinePaint(getKey(),
UIChart.findColor(getSectionOutlinePaint()));
- }
-
- if (UIChart.findStroke(getSectionOutlineStroke()) != null) {
- plot.setSectionOutlineStroke(getKey(),
UIChart.findStroke(getSectionOutlineStroke()));
- }
- } else if (dataset instanceof DefaultCategoryDataset) {
- DefaultCategoryDataset data = (DefaultCategoryDataset) dataset;
-
- //CategoryPlot plot = (CategoryPlot) chart.getChart().getPlot();
- data.addValue(getNumericValue(), getSeries(), getKey());
- } else {
- throw new RuntimeException("Cannot add data to dataset of type
" + dataset.getClass());
- }
- }
- }
-
- @Override
- public void createITextObject(FacesContext context) {
-
- }
+ key = (String) values[1];
+ // columnKey = (String) values[2];
+ series = (String) values[3];
+ value = values[4];
+ explodedPercent = (Float) values[5];
+ sectionPaint = (String) values[6];
+ sectionOutlinePaint = (String) values[7];
+ sectionOutlineStroke = (String) values[8];
+ }
- @Override
- public Object getITextObject() {
- return null;
- }
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[9];
- @Override
- public void handleAdd(Object other) {
-
- }
+ values[0] = super.saveState(context);
+ values[1] = key;
+ // values[2] = columnKey;
+ values[3] = series;
+ values[4] = value;
+ values[5] = explodedPercent;
+ values[6] = sectionPaint;
+ values[7] = sectionOutlinePaint;
+ values[8] = sectionOutlineStroke;
- @Override
- public void removeITextObject() {
-
- }
+ return values;
+ }
+
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ super.encodeEnd(context);
+
+ UIChart chart = (UIChart) findITextParent(getParent(), UIChart.class);
+ if (chart != null)
+ {
+ Dataset dataset = chart.getDataset();
+
+ if (dataset instanceof DefaultPieDataset)
+ {
+ DefaultPieDataset piedata = (DefaultPieDataset) dataset;
+ piedata.setValue(getKey(), getNumericValue());
+
+ PiePlot plot = (PiePlot) chart.getChart().getPlot();
+
+ if (getExplodedPercent() != null)
+ {
+ plot.setExplodePercent(getKey(), getExplodedPercent());
+ }
+
+ if (UIChart.findColor(getSectionPaint()) != null)
+ {
+ plot.setSectionPaint(getKey(), UIChart.findColor(getSectionPaint()));
+ }
+
+ if (UIChart.findColor(getSectionOutlinePaint()) != null)
+ {
+ plot.setSectionOutlinePaint(getKey(),
UIChart.findColor(getSectionOutlinePaint()));
+ }
+
+ if (UIChart.findStroke(getSectionOutlineStroke()) != null)
+ {
+ plot.setSectionOutlineStroke(getKey(),
UIChart.findStroke(getSectionOutlineStroke()));
+ }
+ }
+ else if (dataset instanceof DefaultCategoryDataset)
+ {
+ DefaultCategoryDataset data = (DefaultCategoryDataset) dataset;
+
+ // CategoryPlot plot = (CategoryPlot) chart.getChart().getPlot();
+ data.addValue(getNumericValue(), getSeries(), getKey());
+ }
+ else
+ {
+ throw new RuntimeException("Cannot add data to dataset of type " +
dataset.getClass());
+ }
+ }
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
+
+ @Override
+ public void handleAdd(Object other)
+ {
+
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartSeries.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartSeries.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIChartSeries.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -11,187 +11,217 @@
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.Dataset;
-public class UIChartSeries
- extends ITextComponent
+public class UIChartSeries extends ITextComponent
{
- private String key;
- private String seriesPaint;
- private String seriesFillPaint;
- private String seriesOutlinePaint;
- private String seriesOutlineStroke;
- private String seriesStroke;
- private Boolean seriesVisible;
- private Boolean seriesVisibleInLegend;
-
- public String getKey() {
- return (String) valueBinding("key", key);
- }
+ private String key;
+ private String seriesPaint;
+ private String seriesFillPaint;
+ private String seriesOutlinePaint;
+ private String seriesOutlineStroke;
+ private String seriesStroke;
+ private Boolean seriesVisible;
+ private Boolean seriesVisibleInLegend;
- public void setKey(String key) {
- this.key = key;
- }
-
- public String getSeriesPaint() {
- return (String) valueBinding("seriesPaint", seriesPaint);
- }
+ public String getKey()
+ {
+ return (String) valueBinding("key", key);
+ }
- public void setSeriesPaint(String seriesPaint) {
- this.seriesPaint = seriesPaint;
- }
+ public void setKey(String key)
+ {
+ this.key = key;
+ }
- public String getSeriesFillPaint() {
- return (String) valueBinding("seriesFillPaint", seriesFillPaint);
- }
+ public String getSeriesPaint()
+ {
+ return (String) valueBinding("seriesPaint", seriesPaint);
+ }
- public void setSeriesFillPaint(String seriesFillPaint) {
- this.seriesFillPaint = seriesFillPaint;
- }
+ public void setSeriesPaint(String seriesPaint)
+ {
+ this.seriesPaint = seriesPaint;
+ }
- public String getSeriesOutlinePaint() {
- return (String) valueBinding("seriesOutlinePaint",
seriesOutlinePaint);
- }
+ public String getSeriesFillPaint()
+ {
+ return (String) valueBinding("seriesFillPaint", seriesFillPaint);
+ }
- public void setSeriesOutlinePaint(String seriesOutlinePaint) {
- this.seriesOutlinePaint = seriesOutlinePaint;
- }
+ public void setSeriesFillPaint(String seriesFillPaint)
+ {
+ this.seriesFillPaint = seriesFillPaint;
+ }
- public String getSeriesOutlineStroke() {
- return (String) valueBinding("seriesOutlineStroke",
seriesOutlineStroke);
- }
+ public String getSeriesOutlinePaint()
+ {
+ return (String) valueBinding("seriesOutlinePaint", seriesOutlinePaint);
+ }
- public void setSeriesOutlineStroke(String seriesOutlineStroke) {
- this.seriesOutlineStroke = seriesOutlineStroke;
- }
+ public void setSeriesOutlinePaint(String seriesOutlinePaint)
+ {
+ this.seriesOutlinePaint = seriesOutlinePaint;
+ }
- public String getSeriesStroke() {
- return (String) valueBinding("seriesStroke", seriesStroke);
- }
+ public String getSeriesOutlineStroke()
+ {
+ return (String) valueBinding("seriesOutlineStroke",
seriesOutlineStroke);
+ }
- public void setSeriesStroke(String seriesStroke) {
- this.seriesStroke = seriesStroke;
- }
+ public void setSeriesOutlineStroke(String seriesOutlineStroke)
+ {
+ this.seriesOutlineStroke = seriesOutlineStroke;
+ }
- public Boolean getSeriesVisible() {
- return (Boolean) valueBinding("seriesVisible", seriesVisible);
- }
+ public String getSeriesStroke()
+ {
+ return (String) valueBinding("seriesStroke", seriesStroke);
+ }
- public void setSeriesVisible(Boolean seriesVisible) {
- this.seriesVisible = seriesVisible;
- }
+ public void setSeriesStroke(String seriesStroke)
+ {
+ this.seriesStroke = seriesStroke;
+ }
- public Boolean getSeriesVisibleInLegend() {
- return (Boolean) valueBinding("seriesVisibleInLegend",
seriesVisibleInLegend);
- }
+ public Boolean getSeriesVisible()
+ {
+ return (Boolean) valueBinding("seriesVisible", seriesVisible);
+ }
- public void setSeriesVisibleInLegend(Boolean seriesVisibleInLegend) {
- this.seriesVisibleInLegend = seriesVisibleInLegend;
- }
+ public void setSeriesVisible(Boolean seriesVisible)
+ {
+ this.seriesVisible = seriesVisible;
+ }
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
-
- key = (String) values[1];
- seriesPaint = (String) values[2];
- seriesFillPaint = (String) values[3];
- seriesOutlinePaint = (String) values[4];
- seriesOutlineStroke = (String) values[5];
- seriesStroke = (String) values[6];
- seriesVisible = (Boolean) values[7];
- seriesVisibleInLegend = (Boolean) values[8];
- }
+ public Boolean getSeriesVisibleInLegend()
+ {
+ return (Boolean) valueBinding("seriesVisibleInLegend",
seriesVisibleInLegend);
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[9];
+ public void setSeriesVisibleInLegend(Boolean seriesVisibleInLegend)
+ {
+ this.seriesVisibleInLegend = seriesVisibleInLegend;
+ }
- values[0] = super.saveState(context);
- values[1] = key;
- values[2] = seriesPaint;
- values[3] = seriesFillPaint;
- values[4] = seriesOutlinePaint;
- values[5] = seriesOutlineStroke;
- values[6] = seriesStroke;
- values[7] = seriesVisible;
- values[8] = seriesVisibleInLegend;
-
- return values;
- }
-
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- UIChart chart = (UIChart) findITextParent(getParent(), UIChart.class);
- Dataset dataset = chart.getDataset();
- if (chart != null) {
- Plot p = chart.getChart().getPlot();
- if (p instanceof CategoryPlot) {
- CategoryPlot plot = (CategoryPlot) p;
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
- int seriesIndex = ((CategoryDataset) dataset).getRowIndex(getKey());
+ key = (String) values[1];
+ seriesPaint = (String) values[2];
+ seriesFillPaint = (String) values[3];
+ seriesOutlinePaint = (String) values[4];
+ seriesOutlineStroke = (String) values[5];
+ seriesStroke = (String) values[6];
+ seriesVisible = (Boolean) values[7];
+ seriesVisibleInLegend = (Boolean) values[8];
+ }
- CategoryItemRenderer renderer = plot.getRenderer();
-
- // CategoryRenderer
- if (renderer instanceof AbstractRenderer) {
- configureSeries((AbstractRenderer) renderer,seriesIndex);
- } else {
- System.out.println("render is not AbtractRenderer" +
renderer);
- }
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[9];
+
+ values[0] = super.saveState(context);
+ values[1] = key;
+ values[2] = seriesPaint;
+ values[3] = seriesFillPaint;
+ values[4] = seriesOutlinePaint;
+ values[5] = seriesOutlineStroke;
+ values[6] = seriesStroke;
+ values[7] = seriesVisible;
+ values[8] = seriesVisibleInLegend;
+
+ return values;
+ }
+
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ UIChart chart = (UIChart) findITextParent(getParent(), UIChart.class);
+ Dataset dataset = chart.getDataset();
+ if (chart != null)
+ {
+ Plot p = chart.getChart().getPlot();
+ if (p instanceof CategoryPlot)
+ {
+ CategoryPlot plot = (CategoryPlot) p;
+
+ int seriesIndex = ((CategoryDataset) dataset).getRowIndex(getKey());
+
+ CategoryItemRenderer renderer = plot.getRenderer();
+
+ // CategoryRenderer
+ if (renderer instanceof AbstractRenderer)
+ {
+ configureSeries((AbstractRenderer) renderer, seriesIndex);
}
- }
+ else
+ {
+ System.out.println("render is not AbtractRenderer" + renderer);
+ }
+ }
+ }
- }
-
-
- private void configureSeries(AbstractRenderer renderer, int seriesIndex) {
- if (getSeriesPaint() != null) {
- renderer.setSeriesPaint(seriesIndex, UIChart.findColor(getSeriesPaint()));
- }
+ }
- if (getSeriesFillPaint() != null) {
- renderer.setSeriesFillPaint(seriesIndex,
UIChart.findColor(getSeriesFillPaint()));
- }
+ private void configureSeries(AbstractRenderer renderer, int seriesIndex)
+ {
+ if (getSeriesPaint() != null)
+ {
+ renderer.setSeriesPaint(seriesIndex, UIChart.findColor(getSeriesPaint()));
+ }
- if (getSeriesOutlinePaint() != null) {
- renderer.setSeriesOutlinePaint(seriesIndex,
UIChart.findColor(getSeriesOutlinePaint()));
- }
+ if (getSeriesFillPaint() != null)
+ {
+ renderer.setSeriesFillPaint(seriesIndex,
UIChart.findColor(getSeriesFillPaint()));
+ }
- if (getSeriesOutlineStroke() != null) {
- renderer.setSeriesOutlineStroke(seriesIndex,
UIChart.findStroke(getSeriesOutlineStroke()));
- }
+ if (getSeriesOutlinePaint() != null)
+ {
+ renderer.setSeriesOutlinePaint(seriesIndex,
UIChart.findColor(getSeriesOutlinePaint()));
+ }
- if (getSeriesStroke() != null) {
- renderer.setSeriesStroke(seriesIndex,
UIChart.findStroke(getSeriesStroke()));
- }
-
- if (getSeriesVisible() != null) {
- renderer.setSeriesVisible(seriesIndex, getSeriesVisible());
- }
-
- if (getSeriesVisibleInLegend() != null) {
- renderer.setSeriesVisibleInLegend(seriesIndex, getSeriesVisibleInLegend());
- }
- }
+ if (getSeriesOutlineStroke() != null)
+ {
+ renderer.setSeriesOutlineStroke(seriesIndex,
UIChart.findStroke(getSeriesOutlineStroke()));
+ }
- @Override
- public void createITextObject(FacesContext context) {
- }
+ if (getSeriesStroke() != null)
+ {
+ renderer.setSeriesStroke(seriesIndex, UIChart.findStroke(getSeriesStroke()));
+ }
- @Override
- public Object getITextObject() {
- return null;
- }
+ if (getSeriesVisible() != null)
+ {
+ renderer.setSeriesVisible(seriesIndex, getSeriesVisible());
+ }
- @Override
- public void removeITextObject() {
- }
-
- @Override
- public void handleAdd(Object other) {
- }
+ if (getSeriesVisibleInLegend() != null)
+ {
+ renderer.setSeriesVisibleInLegend(seriesIndex, getSeriesVisibleInLegend());
+ }
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ }
+
+ @Override
+ public void handleAdd(Object other)
+ {
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIColor.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIColor.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIColor.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -10,74 +10,86 @@
import org.jboss.seam.pdf.ITextUtils;
-public class UIColor
- extends UIComponentBase
+public class UIColor extends UIComponentBase
{
- String color;
- String color2;
-
- String point;
- String point2;
-
- public void setColor(String color) {
- this.color = color;
- }
-
- public String getColor() {
- return (color != null) ? color : (String) evalExpression("color");
- }
-
- public void setColor2(String color2) {
- this.color2 = color2;
- }
-
- public String getColor2() {
- return (color2 != null) ? color2 : (String) evalExpression("color2");
- }
-
- public void setPoint(String point) {
- this.point = point;
- }
-
- public String getPoint() {
- return (point != null) ? point : (String) evalExpression("point");
- }
-
- public void setPoint2(String point2) {
- this.point2 = point2;
- }
-
- public String getPoint2() {
- return (point2 != null) ? point2 : (String) evalExpression("point2");
- }
+ String color;
+ String color2;
- @Override
- public String getFamily() {
- return ITextComponent.COMPONENT_FAMILY;
- }
-
- public Object evalExpression(String el) {
- ValueExpression expr = getValueExpression(el);
- return (expr == null) ?
- null : expr.getValue(FacesContext.getCurrentInstance().getELContext());
- }
+ String point;
+ String point2;
- public Point2D pointValue(String string) {
- Point2D point = new Point2D.Float();
- float[] vals = ITextUtils.stringToFloatArray(string);
- point.setLocation(vals[0],vals[1]);
- return point;
- }
-
- public Paint getPaint() {
- String c1 = getColor();
- String c2 = getColor2();
-
- if (c2 == null) {
- return ITextUtils.colorValue(c1);
- } else {
- return new GradientPaint(pointValue(getPoint()),ITextUtils.colorValue(c1),
- pointValue(getPoint()),ITextUtils.colorValue(c2));
- }
- }
+ public void setColor(String color)
+ {
+ this.color = color;
+ }
+
+ public String getColor()
+ {
+ return (color != null) ? color : (String) evalExpression("color");
+ }
+
+ public void setColor2(String color2)
+ {
+ this.color2 = color2;
+ }
+
+ public String getColor2()
+ {
+ return (color2 != null) ? color2 : (String) evalExpression("color2");
+ }
+
+ public void setPoint(String point)
+ {
+ this.point = point;
+ }
+
+ public String getPoint()
+ {
+ return (point != null) ? point : (String) evalExpression("point");
+ }
+
+ public void setPoint2(String point2)
+ {
+ this.point2 = point2;
+ }
+
+ public String getPoint2()
+ {
+ return (point2 != null) ? point2 : (String) evalExpression("point2");
+ }
+
+ @Override
+ public String getFamily()
+ {
+ return ITextComponent.COMPONENT_FAMILY;
+ }
+
+ public Object evalExpression(String el)
+ {
+ ValueExpression expr = getValueExpression(el);
+ return (expr == null) ? null :
expr.getValue(FacesContext.getCurrentInstance().getELContext());
+ }
+
+ public Point2D pointValue(String string)
+ {
+ Point2D point = new Point2D.Float();
+ float[] vals = ITextUtils.stringToFloatArray(string);
+ point.setLocation(vals[0], vals[1]);
+ return point;
+ }
+
+ public Paint getPaint()
+ {
+ String c1 = getColor();
+ String c2 = getColor2();
+
+ if (c2 == null)
+ {
+ return ITextUtils.colorValue(c1);
+ }
+ else
+ {
+ return new GradientPaint(pointValue(getPoint()), ITextUtils.colorValue(c1),
pointValue(getPoint()), ITextUtils.colorValue(c2));
+ }
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -26,336 +26,397 @@
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.rtf.RtfWriter2;
-public class UIDocument
- extends ITextComponent
+public class UIDocument extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIDocument";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIDocument";
- public static DocumentType PDF = new DocumentType("pdf",
"application/pdf");
- public static DocumentType RTF = new DocumentType("rtf",
"text/rtf");
- public static DocumentType HTML = new DocumentType("html",
"text/html");
-
- DocWriter writer;
- Document document;
- ByteArrayOutputStream stream;
+ public static DocumentType PDF = new DocumentType("pdf",
"application/pdf");
+ public static DocumentType RTF = new DocumentType("rtf",
"text/rtf");
+ public static DocumentType HTML = new DocumentType("html",
"text/html");
- DocumentType documentType;
+ DocWriter writer;
+ Document document;
+ ByteArrayOutputStream stream;
- String type;
- String title;
- String subject;
- String keywords;
- String author;
- String creator;
- String orientation;
+ DocumentType documentType;
- String pageSize;
- String margins;
- Boolean marginMirroring;
+ String type;
+ String title;
+ String subject;
+ String keywords;
+ String author;
+ String creator;
+ String orientation;
- String disposition;
- String fileName;
-
- boolean sendRedirect = true;
+ String pageSize;
+ String margins;
+ Boolean marginMirroring;
- UISignature signatureField;
+ String disposition;
+ String fileName;
- public void setDisposition(String disposition) {
- this.disposition = disposition;
- }
-
- public void setFileName(String fileName) {
- this.fileName = fileName;
- }
+ boolean sendRedirect = true;
- public void setType(String type) {
- this.type = type;
- }
+ UISignature signatureField;
- public void setMargins(String margins) {
- this.margins = margins;
- }
+ public void setDisposition(String disposition)
+ {
+ this.disposition = disposition;
+ }
- public void setPageSize(String pageSize) {
- this.pageSize = pageSize;
- }
+ public void setFileName(String fileName)
+ {
+ this.fileName = fileName;
+ }
- public void setMarginMirroring(Boolean marginMirroring) {
- this.marginMirroring = marginMirroring;
- }
+ public void setType(String type)
+ {
+ this.type = type;
+ }
- public void setAuthor(String author) {
- this.author = author;
- }
+ public void setMargins(String margins)
+ {
+ this.margins = margins;
+ }
- public void setCreator(String creator) {
- this.creator = creator;
- }
+ public void setPageSize(String pageSize)
+ {
+ this.pageSize = pageSize;
+ }
- public void setKeywords(String keywords) {
- this.keywords = keywords;
- }
+ public void setMarginMirroring(Boolean marginMirroring)
+ {
+ this.marginMirroring = marginMirroring;
+ }
- public void setSubject(String subject) {
- this.subject = subject;
- }
+ public void setAuthor(String author)
+ {
+ this.author = author;
+ }
- public void setTitle(String title) {
- this.title = title;
- }
+ public void setCreator(String creator)
+ {
+ this.creator = creator;
+ }
- public void setOrientation(String orientation) {
- this.orientation = orientation;
- }
+ public void setKeywords(String keywords)
+ {
+ this.keywords = keywords;
+ }
+ public void setSubject(String subject)
+ {
+ this.subject = subject;
+ }
- public void setSendRedirect(boolean sendRedirect) {
- this.sendRedirect = sendRedirect;
- }
+ public void setTitle(String title)
+ {
+ this.title = title;
+ }
- public boolean getSendRedirect() {
- return sendRedirect;
- }
+ public void setOrientation(String orientation)
+ {
+ this.orientation = orientation;
+ }
+ public void setSendRedirect(boolean sendRedirect)
+ {
+ this.sendRedirect = sendRedirect;
+ }
- @Override
- public Object getITextObject() {
- return document;
- }
+ public boolean getSendRedirect()
+ {
+ return sendRedirect;
+ }
- @Override
- public void createITextObject(FacesContext context) {
- type = (String) valueBinding(context, "type", type);
- documentType = documentTypeForName(type);
+ @Override
+ public Object getITextObject()
+ {
+ return document;
+ }
- document = new Document();
- // most of this needs to be done BEFORE document.open();
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ type = (String) valueBinding(context, "type", type);
+ documentType = documentTypeForName(type);
- pageSize = (String) valueBinding(context, "pageSize", pageSize);
- if (pageSize != null) {
- document.setPageSize(ITextUtils.pageSizeValue(pageSize));
- }
+ document = new Document();
+ // most of this needs to be done BEFORE document.open();
- orientation = (String) valueBinding(context, "orientation",
orientation);
- if (orientation != null) {
- if (orientation.equalsIgnoreCase("portrait")) {
- // do nothing
- } else if (orientation.equalsIgnoreCase("landscape")) {
- Rectangle currentSize = document.getPageSize();
- document.setPageSize(new Rectangle(currentSize.getHeight(),
- currentSize.getWidth()));
- } else {
- throw new RuntimeException("orientation value " + orientation +
"unknown");
- }
- }
+ pageSize = (String) valueBinding(context, "pageSize", pageSize);
+ if (pageSize != null)
+ {
+ document.setPageSize(ITextUtils.pageSizeValue(pageSize));
+ }
- margins = (String) valueBinding(context, "margins", margins);
- if (margins != null) {
- float[] vals = ITextUtils.stringToFloatArray(margins);
- if (vals.length != 4) {
- throw new RuntimeException("margins must contain 4 float
values");
- }
+ orientation = (String) valueBinding(context, "orientation",
orientation);
+ if (orientation != null)
+ {
+ if (orientation.equalsIgnoreCase("portrait"))
+ {
+ // do nothing
+ }
+ else if (orientation.equalsIgnoreCase("landscape"))
+ {
+ Rectangle currentSize = document.getPageSize();
+ document.setPageSize(new Rectangle(currentSize.getHeight(),
currentSize.getWidth()));
+ }
+ else
+ {
+ throw new RuntimeException("orientation value " + orientation +
"unknown");
+ }
+ }
- document.setMargins(vals[0], vals[1], vals[2], vals[3]);
- }
+ margins = (String) valueBinding(context, "margins", margins);
+ if (margins != null)
+ {
+ float[] vals = ITextUtils.stringToFloatArray(margins);
+ if (vals.length != 4)
+ {
+ throw new RuntimeException("margins must contain 4 float values");
+ }
- marginMirroring = (Boolean) valueBinding(context, "marginMirroring",
marginMirroring);
- if (marginMirroring != null) {
- document.setMarginMirroring(marginMirroring);
- }
- }
+ document.setMargins(vals[0], vals[1], vals[2], vals[3]);
+ }
- protected void initMetaData(FacesContext context) {
- title = (String) valueBinding(context, "title", title);
- if (title != null) {
- document.addTitle(title);
- }
+ marginMirroring = (Boolean) valueBinding(context, "marginMirroring",
marginMirroring);
+ if (marginMirroring != null)
+ {
+ document.setMarginMirroring(marginMirroring);
+ }
+ }
- subject = (String) valueBinding(context, "subject", subject);
- if (subject != null) {
- document.addSubject(subject);
- }
+ protected void initMetaData(FacesContext context)
+ {
+ title = (String) valueBinding(context, "title", title);
+ if (title != null)
+ {
+ document.addTitle(title);
+ }
- keywords = (String) valueBinding(context, "keywords", keywords);
- if (keywords != null) {
- document.addKeywords(keywords);
- }
+ subject = (String) valueBinding(context, "subject", subject);
+ if (subject != null)
+ {
+ document.addSubject(subject);
+ }
- author = (String) valueBinding(context, "author", author);
- if (author != null) {
- document.addAuthor(author);
- }
+ keywords = (String) valueBinding(context, "keywords", keywords);
+ if (keywords != null)
+ {
+ document.addKeywords(keywords);
+ }
- creator = (String) valueBinding(context, "creator", creator);
- if (creator != null) {
- document.addCreator(creator);
- }
- }
+ author = (String) valueBinding(context, "author", author);
+ if (author != null)
+ {
+ document.addAuthor(author);
+ }
- @Override
- public void removeITextObject() {
- document = null;
- }
+ creator = (String) valueBinding(context, "creator", creator);
+ if (creator != null)
+ {
+ document.addCreator(creator);
+ }
+ }
- @Override
- public void handleAdd(Object o) {
- if (o instanceof Element) {
- try {
- document.add((Element) o);
- } catch (DocumentException e) {
- throw new RuntimeException(e);
- }
- } else {
- throw new IllegalArgumentException("cannot add " + o);
- }
- }
+ @Override
+ public void removeITextObject()
+ {
+ document = null;
+ }
- public void addSignature(UISignature signatureField) {
- this.signatureField = signatureField;
- }
+ @Override
+ public void handleAdd(Object o)
+ {
+ if (o instanceof Element)
+ {
+ try
+ {
+ document.add((Element) o);
+ }
+ catch (DocumentException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException("cannot add " + o);
+ }
+ }
-
- @Override
- public void encodeBegin(FacesContext context)
- throws IOException
- {
- super.encodeBegin(context);
+ public void addSignature(UISignature signatureField)
+ {
+ this.signatureField = signatureField;
+ }
- stream = new ByteArrayOutputStream();
+ @Override
+ public void encodeBegin(FacesContext context) throws IOException
+ {
+ super.encodeBegin(context);
- try {
- writer = createWriterForStream(stream);
+ stream = new ByteArrayOutputStream();
- initMetaData(context);
- processHeaders();
+ try
+ {
+ writer = createWriterForStream(stream);
- document.open();
- } catch (DocumentException e) {
+ initMetaData(context);
+ processHeaders();
+
+ document.open();
+ }
+ catch (DocumentException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected void processHeaders()
+ {
+ Object facet = getFacet("header");
+
+ if (facet == null)
+ {
+ return;
+ }
+
+ if (facet instanceof UIComponent)
+ {
+ try
+ {
+ encode(FacesContext.getCurrentInstance(), (UIComponent) facet);
+ }
+ catch (Exception e)
+ {
throw new RuntimeException(e);
- }
- }
-
-
- protected void processHeaders() {
- Object facet = getFacet("header");
+ }
+ }
+ }
- if (facet == null) {
- return;
- }
+ protected String baseNameForViewId(String viewId)
+ {
+ int pos = viewId.lastIndexOf("/");
+ if (pos != -1)
+ {
+ viewId = viewId.substring(pos + 1);
+ }
- if (facet instanceof UIComponent) {
- try {
- encode(FacesContext.getCurrentInstance(), (UIComponent) facet);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
+ pos = viewId.lastIndexOf(".");
+ if (pos != -1)
+ {
+ viewId = viewId.substring(0, pos);
+ }
+ return viewId;
+ }
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ document.close();
- protected String baseNameForViewId(String viewId) {
- int pos = viewId.lastIndexOf("/");
- if (pos != -1) {
- viewId = viewId.substring(pos+1);
- }
+ byte[] bytes = stream.toByteArray();
- pos = viewId.lastIndexOf(".");
- if (pos!=-1) {
- viewId = viewId.substring(0,pos);
- }
+ if (signatureField != null)
+ {
+ bytes = signatureField.sign(bytes);
+ }
- return viewId;
- }
+ String viewId = Pages.getViewId(context);
+ String baseName = baseNameForViewId(viewId);
-
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- document.close();
+ DocumentData documentData = new DocumentData(baseName, documentType, bytes);
+ String dispositionValue = (String) valueBinding(context, "disposition",
disposition);
+ if (dispositionValue != null)
+ {
+ documentData.setDisposition(dispositionValue);
+ }
- byte[] bytes = stream.toByteArray();
+ String fileNameValue = (String) valueBinding(context, "fileName",
fileName);
+ if (fileNameValue != null)
+ {
+ documentData.setFilename(fileNameValue);
+ }
- if (signatureField != null) {
- bytes = signatureField.sign(bytes);
- }
-
- String viewId = Pages.getViewId(context);
- String baseName = baseNameForViewId(viewId);
-
- DocumentData documentData = new DocumentData(baseName, documentType, bytes);
- String dispositionValue = (String) valueBinding(context, "disposition",
disposition);
- if (dispositionValue != null) {
- documentData.setDisposition(dispositionValue);
- }
-
- String fileNameValue = (String) valueBinding(context, "fileName",
fileName);
- if (fileNameValue != null) {
- documentData.setFilename(fileNameValue);
- }
+ if (sendRedirect)
+ {
+ DocumentStore store = DocumentStore.instance();
+ String id = store.newId();
- if (sendRedirect) {
- DocumentStore store = DocumentStore.instance();
- String id = store.newId();
+ String url = store.preferredUrlForContent(baseName, documentType.getExtension(),
id);
+ url = Manager.instance().encodeConversationId(url, viewId);
- String url = store.preferredUrlForContent(baseName,
documentType.getExtension(), id);
- url = Manager.instance().encodeConversationId(url, viewId);
+ store.saveData(id, documentData);
- store.saveData(id, documentData);
-
- removeITextObject();
+ removeITextObject();
- context.getExternalContext().redirect(url);
- } else {
- UIComponent parent = getParent();
+ context.getExternalContext().redirect(url);
+ }
+ else
+ {
+ UIComponent parent = getParent();
- if (parent instanceof ValueHolder) {
- ValueHolder holder = (ValueHolder) parent;
- holder.setValue(documentData);
- }
- }
- }
+ if (parent instanceof ValueHolder)
+ {
+ ValueHolder holder = (ValueHolder) parent;
+ holder.setValue(documentData);
+ }
+ }
+ }
+ public DocWriter getWriter()
+ {
+ return writer;
+ }
- public DocWriter getWriter() {
- return writer;
- }
-
- public PdfContentByte getPdfContent() {
- PdfWriter writer = (PdfWriter) getWriter();
- return writer.getDirectContent();
- }
-
- public PdfTemplate createPdfTemplate(float width, float height) {
- return getPdfContent().createTemplate(width, height);
- }
-
- private DocumentType documentTypeForName(String typeName) {
- if (typeName != null) {
- if (typeName.equalsIgnoreCase("pdf")) {
- return PDF;
- } else if (typeName.equalsIgnoreCase("rtf")) {
- return RTF;
- } else if (typeName.equalsIgnoreCase("html")) {
- return HTML;
- }
- }
- return PDF;
- }
-
+ public PdfContentByte getPdfContent()
+ {
+ PdfWriter writer = (PdfWriter) getWriter();
+ return writer.getDirectContent();
+ }
- protected DocWriter createWriterForStream(OutputStream stream)
- throws DocumentException
- {
- if (documentType == PDF) {
- return PdfWriter.getInstance(document, stream);
- } else if (documentType == RTF) {
- return RtfWriter2.getInstance(document, stream);
- } else if (documentType == HTML) {
- return HtmlWriter.getInstance(document, stream);
- }
-
- throw new IllegalArgumentException("unknown document type");
- }
+ public PdfTemplate createPdfTemplate(float width, float height)
+ {
+ return getPdfContent().createTemplate(width, height);
+ }
+
+ private DocumentType documentTypeForName(String typeName)
+ {
+ if (typeName != null)
+ {
+ if (typeName.equalsIgnoreCase("pdf"))
+ {
+ return PDF;
+ }
+ else if (typeName.equalsIgnoreCase("rtf"))
+ {
+ return RTF;
+ }
+ else if (typeName.equalsIgnoreCase("html"))
+ {
+ return HTML;
+ }
+ }
+ return PDF;
+ }
+
+ protected DocWriter createWriterForStream(OutputStream stream) throws
DocumentException
+ {
+ if (documentType == PDF)
+ {
+ return PdfWriter.getInstance(document, stream);
+ }
+ else if (documentType == RTF)
+ {
+ return RtfWriter2.getInstance(document, stream);
+ }
+ else if (documentType == HTML)
+ {
+ return HtmlWriter.getInstance(document, stream);
+ }
+
+ throw new IllegalArgumentException("unknown document type");
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIElement.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIElement.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIElement.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -4,33 +4,37 @@
import com.lowagie.text.Element;
-public class UIElement
- extends ITextComponent
+public class UIElement extends ITextComponent
{
- Element element;
-
- public void setValue(Element element) {
- this.element = element;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
- element = (Element) valueBinding(context, "value", element);
- }
+ Element element;
- @Override
- public Object getITextObject() {
- return element;
- }
+ public void setValue(Element element)
+ {
+ this.element = element;
+ }
- @Override
- public void handleAdd(Object other) {
- throw new RuntimeException("No children allowed");
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ element = (Element) valueBinding(context, "value", element);
+ }
- @Override
- public void removeITextObject() {
- element = null;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return element;
+ }
+ @Override
+ public void handleAdd(Object other)
+ {
+ throw new RuntimeException("No children allowed");
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ element = null;
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIField.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIField.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIField.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -14,10 +14,10 @@
public class UIField extends FormComponent
{
public static final String COMPONENT_FAMILY = "org.jboss.seam.pdf.UIField";
-
+
private String name;
private String value;
-
+
@Override
public void encodeBegin(FacesContext facesContext) throws IOException
{
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIFont.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIFont.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIFont.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -4,99 +4,118 @@
import org.jboss.seam.pdf.ITextUtils;
import com.lowagie.text.*;
-public class UIFont
- extends ITextComponent
+public class UIFont extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIParagraph";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIParagraph";
- Font font;
-
- String name;
- String encoding;
- int size = Font.UNDEFINED;
- String style;
- String color;
+ Font font;
- public String getName() {
- return (String) valueBinding("name", name);
- }
+ String name;
+ String encoding;
+ int size = Font.UNDEFINED;
+ String style;
+ String color;
- public void setFamily(String name) {
- this.name = name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getEncoding() {
- return (String) valueBinding("encoding", encoding);
- }
+ public String getName()
+ {
+ return (String) valueBinding("name", name);
+ }
- public void setEncoding(String encoding) {
- this.encoding = encoding;
- }
+ public void setFamily(String name)
+ {
+ this.name = name;
+ }
- public int getSize() {
- return (Integer) valueBinding("size", size);
- }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
- public void setSize(int size) {
- this.size = size;
- }
+ public String getEncoding()
+ {
+ return (String) valueBinding("encoding", encoding);
+ }
- public void setStyle(String style) {
- this.style = style;
- }
- public String getStyle() {
- return (String) valueBinding("style", style);
- }
-
- public String getColor() {
- return (String) valueBinding("color", color);
- }
+ public void setEncoding(String encoding)
+ {
+ this.encoding = encoding;
+ }
- public void setColor(String color) {
- this.color = color;
- }
-
-
- @Override
- public Font getFont() {
- return font;
- }
-
- @Override
- public Object getITextObject() {
- return null; // we don't add to this component, so skip
- }
+ public int getSize()
+ {
+ return (Integer) valueBinding("size", size);
+ }
- @Override
- public void removeITextObject() {
- font = null;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
- if (encoding == null) {
- font = FontFactory.getFont(getName(), getSize());
- } else {
- font = FontFactory.getFont(getName(), getEncoding(), getSize());
- }
-
- if (getStyle() != null) {
- font.setStyle(getStyle());
- }
-
- if (getColor() != null) {
- font.setColor(ITextUtils.colorValue(getColor()));
- }
- }
+ public void setSize(int size)
+ {
+ this.size = size;
+ }
- @Override
- public void handleAdd(Object o) {
- addToITextParent(o);
- }
+ public void setStyle(String style)
+ {
+ this.style = style;
+ }
+ public String getStyle()
+ {
+ return (String) valueBinding("style", style);
+ }
+ public String getColor()
+ {
+ return (String) valueBinding("color", color);
+ }
+
+ public void setColor(String color)
+ {
+ this.color = color;
+ }
+
+ @Override
+ public Font getFont()
+ {
+ return font;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return null; // we don't add to this component, so skip
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ font = null;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ if (encoding == null)
+ {
+ font = FontFactory.getFont(getName(), getSize());
+ }
+ else
+ {
+ font = FontFactory.getFont(getName(), getEncoding(), getSize());
+ }
+
+ if (getStyle() != null)
+ {
+ font.setStyle(getStyle());
+ }
+
+ if (getColor() != null)
+ {
+ font.setColor(ITextUtils.colorValue(getColor()));
+ }
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ addToITextParent(o);
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIFooter.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIFooter.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIFooter.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -3,13 +3,16 @@
import com.lowagie.text.Document;
import com.lowagie.text.HeaderFooter;
-public class UIFooter extends UIHeaderFooter {
- @Override
- public void handleHeaderFooter(HeaderFooter footer) {
- Document document = findDocument();
- if (document == null) {
- throw new RuntimeException("cannot locate document object");
- }
- findDocument().setFooter(footer);
- }
+public class UIFooter extends UIHeaderFooter
+{
+ @Override
+ public void handleHeaderFooter(HeaderFooter footer)
+ {
+ Document document = findDocument();
+ if (document == null)
+ {
+ throw new RuntimeException("cannot locate document object");
+ }
+ findDocument().setFooter(footer);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIForm.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIForm.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIForm.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -24,16 +24,16 @@
public class UIForm extends FormComponent
{
public static final String COMPONENT_FAMILY = "org.jboss.seam.pdf.UIForm";
-
+
private Log log = Logging.getLog(getClass());
-
+
private String URL;
-
+
PdfReader reader;
PdfStamper stamper;
AcroFields fields;
ByteArrayOutputStream buffer;
-
+
public String getURL()
{
return (String) valueOf("URL", URL);
@@ -43,7 +43,7 @@
{
URL = url;
}
-
+
@Override
public void encodeBegin(FacesContext facesContext) throws IOException
{
@@ -73,7 +73,7 @@
{
throw new FacesException("Could not flush PDF", e);
}
-
+
String viewId = Pages.getViewId(facesContext);
String baseName = baseNameForViewId(viewId);
DocumentStore store = DocumentStore.instance();
@@ -87,7 +87,6 @@
facesContext.getExternalContext().redirect(url);
}
-
public static String baseNameForViewId(String viewId)
{
int pos = viewId.lastIndexOf("/");
@@ -103,8 +102,8 @@
}
return viewId;
- }
-
+ }
+
@Override
public String getFamily()
{
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIGraphics2D.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIGraphics2D.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIGraphics2D.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -9,62 +9,73 @@
import com.lowagie.text.ImgTemplate;
import com.lowagie.text.pdf.PdfTemplate;
-public abstract class UIGraphics2D
- extends ITextComponent
+public abstract class UIGraphics2D extends ITextComponent
{
- private Image image = null;
+ private Image image = null;
- private int height = 300;
- private int width = 400;
+ private int height = 300;
+ private int width = 400;
- public void setHeight(int height) {
- this.height = height;
- }
-
- public int getHeight() {
- return (Integer) valueBinding("height", height);
- }
+ public void setHeight(int height)
+ {
+ this.height = height;
+ }
- public void setWidth(int width) {
- this.width = width;
- }
-
- public int getWidth() {
- return (Integer) valueBinding("width", width);
- }
+ public int getHeight()
+ {
+ return (Integer) valueBinding("height", height);
+ }
- @Override
- public void createITextObject(FacesContext context) {
- UIDocument doc = (UIDocument) findITextParent(getParent(), UIDocument.class);
- if (doc != null) {
- PdfTemplate tp = doc.createPdfTemplate(getWidth(), getHeight());
- Graphics2D g2 = tp.createGraphics(getWidth(), getHeight());
+ public void setWidth(int width)
+ {
+ this.width = width;
+ }
- render(g2);
- g2.dispose();
+ public int getWidth()
+ {
+ return (Integer) valueBinding("width", width);
+ }
- try {
- image = new ImgTemplate(tp);
- } catch (BadElementException e) {
- throw new RuntimeException(e);
- }
- }
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ UIDocument doc = (UIDocument) findITextParent(getParent(), UIDocument.class);
+ if (doc != null)
+ {
+ PdfTemplate tp = doc.createPdfTemplate(getWidth(), getHeight());
+ Graphics2D g2 = tp.createGraphics(getWidth(), getHeight());
- public abstract void render(Graphics2D g2);
+ render(g2);
+ g2.dispose();
- @Override
- public void handleAdd(Object arg0) {
- throw new RuntimeException("No children allowed");
- }
+ try
+ {
+ image = new ImgTemplate(tp);
+ }
+ catch (BadElementException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ }
- @Override
- public void removeITextObject() {
- image = null;
- }
+ public abstract void render(Graphics2D g2);
- @Override
- public Object getITextObject() {
- return image;
- }
+ @Override
+ public void handleAdd(Object arg0)
+ {
+ throw new RuntimeException("No children allowed");
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ image = null;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return image;
+ }
}
\ No newline at end of file
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeader.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeader.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeader.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -3,15 +3,17 @@
import com.lowagie.text.Document;
import com.lowagie.text.HeaderFooter;
-public class UIHeader extends UIHeaderFooter {
- @Override
- public void handleHeaderFooter(HeaderFooter header) {
- Document document = findDocument();
- if (document == null) {
- throw new RuntimeException("cannot locate document object");
- }
-
- findDocument().setHeader(header);
- }
+public class UIHeader extends UIHeaderFooter
+{
+ @Override
+ public void handleHeaderFooter(HeaderFooter header)
+ {
+ Document document = findDocument();
+ if (document == null)
+ {
+ throw new RuntimeException("cannot locate document object");
+ }
+
+ findDocument().setHeader(header);
+ }
}
-
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeaderFooter.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeaderFooter.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIHeaderFooter.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -10,87 +10,106 @@
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.Phrase;
-public abstract class UIHeaderFooter
- extends UIRectangle
+public abstract class UIHeaderFooter extends UIRectangle
{
- HeaderFooter header;
- Phrase before;
- Phrase after;
+ HeaderFooter header;
+ Phrase before;
+ Phrase after;
- String alignment;
-
- public UIHeaderFooter() {
- super();
- }
+ String alignment;
- public void setAlignment(String alignment) {
- this.alignment = alignment;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
- before = defaultPhrase();
- after = null;
- }
+ public UIHeaderFooter()
+ {
+ super();
+ }
- @Override
- public Object getITextObject() {
- return null;
- }
+ public void setAlignment(String alignment)
+ {
+ this.alignment = alignment;
+ }
- @Override
- public void handleAdd(Object other) {
- if (after == null) {
- before.add(other);
- } else {
- after.add(other);
- }
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ before = defaultPhrase();
+ after = null;
+ }
- @Override
- public void removeITextObject() {
- before = null;
- after = null;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
- public void markPage() {
- after = defaultPhrase();
- }
+ @Override
+ public void handleAdd(Object other)
+ {
+ if (after == null)
+ {
+ before.add(other);
+ }
+ else
+ {
+ after.add(other);
+ }
+ }
- @Override
- public void encodeEnd(FacesContext context) throws IOException {
- HeaderFooter header;
-
- if (after == null) {
- header = new HeaderFooter(before, false);
- } else {
- header = new HeaderFooter(before, after);
- }
-
- alignment = (String) valueBinding(context, "alignment", alignment);
- if (alignment != null) {
- header.setAlignment(ITextUtils.alignmentValue(alignment));
- }
-
- applyRectangleProperties(context, header);
-
- super.encodeEnd(context);
- handleHeaderFooter(header);
- }
-
- public abstract void handleHeaderFooter(HeaderFooter item);
-
- /**
- * HeaderFooter derives the font for the number from the font of the before phrase.
- * Worse still, there is no way to set the font after the phrase is created. The
best we
- * can do is get the surrounding font context and hope for the best.
- */
- private Phrase defaultPhrase() {
- Font font = getFont();
- if (font == null) {
- return new Phrase();
- } else {
- return new Phrase("", font);
- }
- }
+ @Override
+ public void removeITextObject()
+ {
+ before = null;
+ after = null;
+ }
+
+ public void markPage()
+ {
+ after = defaultPhrase();
+ }
+
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ HeaderFooter header;
+
+ if (after == null)
+ {
+ header = new HeaderFooter(before, false);
+ }
+ else
+ {
+ header = new HeaderFooter(before, after);
+ }
+
+ alignment = (String) valueBinding(context, "alignment", alignment);
+ if (alignment != null)
+ {
+ header.setAlignment(ITextUtils.alignmentValue(alignment));
+ }
+
+ applyRectangleProperties(context, header);
+
+ super.encodeEnd(context);
+ handleHeaderFooter(header);
+ }
+
+ public abstract void handleHeaderFooter(HeaderFooter item);
+
+ /**
+ * HeaderFooter derives the font for the number from the font of the before
+ * phrase. Worse still, there is no way to set the font after the phrase is
+ * created. The best we can do is get the surrounding font context and hope
+ * for the best.
+ */
+ private Phrase defaultPhrase()
+ {
+ Font font = getFont();
+ if (font == null)
+ {
+ return new Phrase();
+ }
+ else
+ {
+ return new Phrase("", font);
+ }
+ }
}
\ No newline at end of file
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIHtmlText.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIHtmlText.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIHtmlText.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -15,133 +15,151 @@
import com.lowagie.text.html.simpleparser.HTMLWorker;
import com.lowagie.text.html.simpleparser.StyleSheet;
-public class UIHtmlText
- extends ITextComponent
- implements ValueHolder
+public class UIHtmlText extends ITextComponent implements ValueHolder
{
- private Converter converter;
- private Object localValue;
+ private Converter converter;
+ private Object localValue;
- @Override
- public boolean getRendersChildren() {
- return true;
- }
-
- @Override
- public void encodeChildren(FacesContext context)
- throws IOException
- {
- ResponseWriter writer = context.getResponseWriter();
-
- StringWriter stringWriter = new StringWriter();
- ResponseWriter cachingResponseWriter = writer.cloneWithWriter(stringWriter);
- context.setResponseWriter(cachingResponseWriter);
- JSF.renderChildren(context, this);
- context.setResponseWriter(writer);
-
- String output = stringWriter.getBuffer().toString();
- addFromHtml(output);
- }
-
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- Object value = getValue();
- if (value!=null) {
- addFromHtml(convert(context,value));
- }
-
- super.encodeEnd(context);
- }
+ @Override
+ public boolean getRendersChildren()
+ {
+ return true;
+ }
+ @Override
+ public void encodeChildren(FacesContext context) throws IOException
+ {
+ ResponseWriter writer = context.getResponseWriter();
- private void addFromHtml(String html)
- throws IOException
- {
- for (Object o: HTMLWorker.parseToList(new StringReader(html), getStyle())) {
- addToITextParent(o);
- }
+ StringWriter stringWriter = new StringWriter();
+ ResponseWriter cachingResponseWriter = writer.cloneWithWriter(stringWriter);
+ context.setResponseWriter(cachingResponseWriter);
+ JSF.renderChildren(context, this);
+ context.setResponseWriter(writer);
- //paragraph.addAll(HTMLWorker.parseToList(new StringReader(html), getStyle()));
- }
+ String output = stringWriter.getBuffer().toString();
+ addFromHtml(output);
+ }
- /**
- * XXX - this needs some work
- */
- private StyleSheet getStyle() {
- StyleSheet styles = new StyleSheet();
- styles.loadTagStyle("body", "leading", "16,0");
- return styles;
- }
-
-
- protected String convert(FacesContext context, Object value) {
- Converter myConverter = converterForValue(context, value);
- if (myConverter != null) {
- return myConverter.getAsString(context, this, value);
- } else if (value != null) {
- return value.toString();
- } else {
- return "";
- }
- }
-
- protected Converter converterForValue(FacesContext ctx, Object value) {
- if (converter != null) {
- return converter;
- }
-
- if (value != null) {
- try {
- return ctx.getApplication().createConverter(value.getClass());
- } catch (FacesException e) {
- // no converter defined - no problem
- }
- }
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ Object value = getValue();
+ if (value != null)
+ {
+ addFromHtml(convert(context, value));
+ }
- return null;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
+ super.encodeEnd(context);
+ }
- }
+ private void addFromHtml(String html) throws IOException
+ {
+ for (Object o : HTMLWorker.parseToList(new StringReader(html), getStyle()))
+ {
+ addToITextParent(o);
+ }
- @Override
- public Object getITextObject() {
- return null;
- }
+ // paragraph.addAll(HTMLWorker.parseToList(new StringReader(html),
+ // getStyle()));
+ }
- @Override
- public void removeITextObject() {
- }
-
- @Override
- public void handleAdd(Object other)
- {
- throw new RuntimeException("illegal child element");
- }
-
- public Converter getConverter() {
- return converter;
- }
+ /**
+ * XXX - this needs some work
+ */
+ private StyleSheet getStyle()
+ {
+ StyleSheet styles = new StyleSheet();
+ styles.loadTagStyle("body", "leading", "16,0");
+ return styles;
+ }
- public void setConverter(Converter converter) {
- this.converter = converter;
- }
-
- public Object getValue() {
- return valueBinding(FacesContext.getCurrentInstance(), "value",
localValue);
- }
+ protected String convert(FacesContext context, Object value)
+ {
+ Converter myConverter = converterForValue(context, value);
+ if (myConverter != null)
+ {
+ return myConverter.getAsString(context, this, value);
+ }
+ else if (value != null)
+ {
+ return value.toString();
+ }
+ else
+ {
+ return "";
+ }
+ }
- public void setValue(Object value) {
- this.localValue = value;
- }
+ protected Converter converterForValue(FacesContext ctx, Object value)
+ {
+ if (converter != null)
+ {
+ return converter;
+ }
- public Object getLocalValue() {
- return localValue;
- }
+ if (value != null)
+ {
+ try
+ {
+ return ctx.getApplication().createConverter(value.getClass());
+ }
+ catch (FacesException e)
+ {
+ // no converter defined - no problem
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ }
+
+ @Override
+ public void handleAdd(Object other)
+ {
+ throw new RuntimeException("illegal child element");
+ }
+
+ public Converter getConverter()
+ {
+ return converter;
+ }
+
+ public void setConverter(Converter converter)
+ {
+ this.converter = converter;
+ }
+
+ public Object getValue()
+ {
+ return valueBinding(FacesContext.getCurrentInstance(), "value",
localValue);
+ }
+
+ public void setValue(Object value)
+ {
+ this.localValue = value;
+ }
+
+ public Object getLocalValue()
+ {
+ return localValue;
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIImage.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIImage.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIImage.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -12,220 +12,261 @@
import com.lowagie.text.DocumentException;
import com.lowagie.text.Image;
-public class UIImage
- extends UIRectangle
+public class UIImage extends UIRectangle
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIImage";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIImage";
- Image image;
-
- Object value;
- float rotation;
- float height;
- float width;
- String alignment;
- String alt;
-
- Float indentationLeft;
- Float indentationRight;
- Float spacingBefore;
- Float spacingAfter;
- Float widthPercentage;
- Float initialRotation;
- String dpi;
- String scalePercent;
-
- Boolean wrap;
- Boolean underlying;
-
- java.awt.Image imageData;
-
- public void setValue(Object value) {
- this.value = value;
- }
-
- public void setRotation(float rotation) {
- this.rotation = rotation;
- }
+ Image image;
- public void setHeight(float height) {
- this.height = height;
- }
+ Object value;
+ float rotation;
+ float height;
+ float width;
+ String alignment;
+ String alt;
- public void setWidth(float width) {
- this.width = width;
- }
+ Float indentationLeft;
+ Float indentationRight;
+ Float spacingBefore;
+ Float spacingAfter;
+ Float widthPercentage;
+ Float initialRotation;
+ String dpi;
+ String scalePercent;
- public void setAlignment(String alignment) {
- this.alignment = alignment;
- }
+ Boolean wrap;
+ Boolean underlying;
- public void setAlt(String alt) {
- this.alt = alt;
- }
+ java.awt.Image imageData;
- public void setWrap(Boolean wrap) {
- this.wrap = wrap;
- }
+ public void setValue(Object value)
+ {
+ this.value = value;
+ }
- public void setUnderlying(Boolean underlying) {
- this.underlying = underlying;
- }
+ public void setRotation(float rotation)
+ {
+ this.rotation = rotation;
+ }
- public void setDpi(String dpi) {
- this.dpi = dpi;
- }
+ public void setHeight(float height)
+ {
+ this.height = height;
+ }
- public void setIndentationLeft(Float indentationLeft) {
- this.indentationLeft = indentationLeft;
- }
+ public void setWidth(float width)
+ {
+ this.width = width;
+ }
- public void setIndentationRight(Float indentationRight) {
- this.indentationRight = indentationRight;
- }
+ public void setAlignment(String alignment)
+ {
+ this.alignment = alignment;
+ }
- public void setInitialRotation(Float initialRotation) {
- this.initialRotation = initialRotation;
- }
+ public void setAlt(String alt)
+ {
+ this.alt = alt;
+ }
- public void setSpacingAfter(Float spacingAfter) {
- this.spacingAfter = spacingAfter;
- }
+ public void setWrap(Boolean wrap)
+ {
+ this.wrap = wrap;
+ }
- public void setSpacingBefore(Float spacingBefore) {
- this.spacingBefore = spacingBefore;
- }
+ public void setUnderlying(Boolean underlying)
+ {
+ this.underlying = underlying;
+ }
- public void setWidthPercentage(Float widthPercentage) {
- this.widthPercentage = widthPercentage;
- }
-
- public void setScalePercent(String scalePercent) {
- this.scalePercent = scalePercent;
- }
-
- @Override
- public Object getITextObject() {
- return image;
- }
-
- @Override
- public void removeITextObject() {
- image = null;
- }
-
-
- @SuppressWarnings("unchecked")
- @Override
- public void createITextObject(FacesContext context) throws IOException,
DocumentException {
- value = valueBinding(context, "value", value);
-
- // instance() doesn't work here - we need a new instance
- org.jboss.seam.ui.graphicImage.Image seamImage = new
org.jboss.seam.ui.graphicImage.Image();
- if (value instanceof BufferedImage) {
- seamImage.setBufferedImage((BufferedImage)value);
- } else {
- seamImage.setInput(value);
- }
+ public void setDpi(String dpi)
+ {
+ this.dpi = dpi;
+ }
- for (UIComponent cmp : this.getChildren()) {
- if (cmp instanceof ImageTransform) {
- ImageTransform imageTransform = (ImageTransform) cmp;
- imageTransform.applyTransform(seamImage);
- }
- }
+ public void setIndentationLeft(Float indentationLeft)
+ {
+ this.indentationLeft = indentationLeft;
+ }
- byte[] data = seamImage.getImage();
- image = Image.getInstance(data);
-
-
- rotation = (Float) valueBinding(context, "rotation", rotation);
- if (rotation != 0) {
- image.setRotationDegrees(rotation);
- }
+ public void setIndentationRight(Float indentationRight)
+ {
+ this.indentationRight = indentationRight;
+ }
- height = (Float) valueBinding(context, "height", height);
- width = (Float) valueBinding(context, "width", width);
- if (height>0 || width > 0) {
- image.scaleAbsolute(width, height);
- }
+ public void setInitialRotation(Float initialRotation)
+ {
+ this.initialRotation = initialRotation;
+ }
- int alignmentValue = 0;
-
- alignment = (String) valueBinding(context, "alignment", alignment);
- if (alignment != null) {
- alignmentValue = (ITextUtils.alignmentValue(alignment));
- }
-
- wrap = (Boolean) valueBinding(context, "wrap", wrap);
- if (wrap!=null && wrap.booleanValue()) {
- alignmentValue |= Image.TEXTWRAP;
- }
-
- underlying = (Boolean) valueBinding(context, "underlying",
underlying);
- if (underlying!= null && underlying.booleanValue()) {
- alignmentValue |= Image.UNDERLYING;
- }
+ public void setSpacingAfter(Float spacingAfter)
+ {
+ this.spacingAfter = spacingAfter;
+ }
- image.setAlignment(alignmentValue);
+ public void setSpacingBefore(Float spacingBefore)
+ {
+ this.spacingBefore = spacingBefore;
+ }
- alt = (String) valueBinding(context, "alt", alt);
- if (alt != null) {
- image.setAlt(alt);
- }
-
- indentationLeft = (Float) valueBinding(context, "indentationLeft",
indentationLeft);
- if (indentationLeft != null) {
- image.setIndentationLeft(indentationLeft);
- }
+ public void setWidthPercentage(Float widthPercentage)
+ {
+ this.widthPercentage = widthPercentage;
+ }
- indentationRight = (Float) valueBinding(context, "indentationRight",
indentationRight);
- if (indentationRight != null) {
- image.setIndentationRight(indentationRight);
- }
-
- spacingBefore = (Float) valueBinding(context, "spacingBefore",
spacingBefore);
- if (spacingBefore != null) {
- image.setSpacingBefore(spacingBefore);
- }
-
- spacingAfter = (Float) valueBinding(context, "spacingAfter",
spacingAfter);
- if (spacingAfter != null) {
- image.setSpacingAfter(spacingAfter);
- }
- widthPercentage = (Float) valueBinding(context, "widthPercentage",
widthPercentage);
- if (widthPercentage != null) {
- image.setWidthPercentage(widthPercentage);
- }
-
- initialRotation = (Float) valueBinding(context, "initialRotation",
initialRotation);
- if (initialRotation != null) {
- image.setInitialRotation(initialRotation);
- }
-
- dpi = (String) valueBinding(context, "dpi", dpi);
- if (dpi != null) {
- int[] dpiValues = ITextUtils.stringToIntArray(dpi);
- image.setDpi(dpiValues[0], dpiValues[1]);
+ public void setScalePercent(String scalePercent)
+ {
+ this.scalePercent = scalePercent;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return image;
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ image = null;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void createITextObject(FacesContext context) throws IOException,
DocumentException
+ {
+ value = valueBinding(context, "value", value);
+
+ // instance() doesn't work here - we need a new instance
+ org.jboss.seam.ui.graphicImage.Image seamImage = new
org.jboss.seam.ui.graphicImage.Image();
+ if (value instanceof BufferedImage)
+ {
+ seamImage.setBufferedImage((BufferedImage) value);
+ }
+ else
+ {
+ seamImage.setInput(value);
+ }
+
+ for (UIComponent cmp : this.getChildren())
+ {
+ if (cmp instanceof ImageTransform)
+ {
+ ImageTransform imageTransform = (ImageTransform) cmp;
+ imageTransform.applyTransform(seamImage);
}
-
- applyRectangleProperties(context, image);
-
- scalePercent = (String) valueBinding(context, "scalePercent",
scalePercent);
- if (scalePercent != null) {
- float[] scale = ITextUtils.stringToFloatArray(scalePercent);
- if (scale.length == 1) {
- image.scalePercent(scale[0]);
- } else if (scale.length == 2) {
- image.scalePercent(scale[0], scale[1]);
- } else {
- throw new RuntimeException("scalePercent must contain one or two
scale percentages");
- }
- }
- }
+ }
- @Override
- public void handleAdd(Object o) {
- throw new RuntimeException("can't add " + o.getClass().getName() +
" to image");
- }
+ byte[] data = seamImage.getImage();
+ image = Image.getInstance(data);
+
+ rotation = (Float) valueBinding(context, "rotation", rotation);
+ if (rotation != 0)
+ {
+ image.setRotationDegrees(rotation);
+ }
+
+ height = (Float) valueBinding(context, "height", height);
+ width = (Float) valueBinding(context, "width", width);
+ if (height > 0 || width > 0)
+ {
+ image.scaleAbsolute(width, height);
+ }
+
+ int alignmentValue = 0;
+
+ alignment = (String) valueBinding(context, "alignment", alignment);
+ if (alignment != null)
+ {
+ alignmentValue = (ITextUtils.alignmentValue(alignment));
+ }
+
+ wrap = (Boolean) valueBinding(context, "wrap", wrap);
+ if (wrap != null && wrap.booleanValue())
+ {
+ alignmentValue |= Image.TEXTWRAP;
+ }
+
+ underlying = (Boolean) valueBinding(context, "underlying", underlying);
+ if (underlying != null && underlying.booleanValue())
+ {
+ alignmentValue |= Image.UNDERLYING;
+ }
+
+ image.setAlignment(alignmentValue);
+
+ alt = (String) valueBinding(context, "alt", alt);
+ if (alt != null)
+ {
+ image.setAlt(alt);
+ }
+
+ indentationLeft = (Float) valueBinding(context, "indentationLeft",
indentationLeft);
+ if (indentationLeft != null)
+ {
+ image.setIndentationLeft(indentationLeft);
+ }
+
+ indentationRight = (Float) valueBinding(context, "indentationRight",
indentationRight);
+ if (indentationRight != null)
+ {
+ image.setIndentationRight(indentationRight);
+ }
+
+ spacingBefore = (Float) valueBinding(context, "spacingBefore",
spacingBefore);
+ if (spacingBefore != null)
+ {
+ image.setSpacingBefore(spacingBefore);
+ }
+
+ spacingAfter = (Float) valueBinding(context, "spacingAfter",
spacingAfter);
+ if (spacingAfter != null)
+ {
+ image.setSpacingAfter(spacingAfter);
+ }
+ widthPercentage = (Float) valueBinding(context, "widthPercentage",
widthPercentage);
+ if (widthPercentage != null)
+ {
+ image.setWidthPercentage(widthPercentage);
+ }
+
+ initialRotation = (Float) valueBinding(context, "initialRotation",
initialRotation);
+ if (initialRotation != null)
+ {
+ image.setInitialRotation(initialRotation);
+ }
+
+ dpi = (String) valueBinding(context, "dpi", dpi);
+ if (dpi != null)
+ {
+ int[] dpiValues = ITextUtils.stringToIntArray(dpi);
+ image.setDpi(dpiValues[0], dpiValues[1]);
+ }
+
+ applyRectangleProperties(context, image);
+
+ scalePercent = (String) valueBinding(context, "scalePercent",
scalePercent);
+ if (scalePercent != null)
+ {
+ float[] scale = ITextUtils.stringToFloatArray(scalePercent);
+ if (scale.length == 1)
+ {
+ image.scalePercent(scale[0]);
+ }
+ else if (scale.length == 2)
+ {
+ image.scalePercent(scale[0], scale[1]);
+ }
+ else
+ {
+ throw new RuntimeException("scalePercent must contain one or two scale
percentages");
+ }
+ }
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ throw new RuntimeException("can't add " + o.getClass().getName() +
" to image");
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UILineChart.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UILineChart.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UILineChart.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -9,77 +9,68 @@
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.Dataset;
-public class UILineChart
- extends UICategoryChartBase
+public class UILineChart extends UICategoryChartBase
{
- CategoryDataset dataset;
-
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
- }
+ CategoryDataset dataset;
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[1];
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
+ }
- values[0] = super.saveState(context);
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[1];
- return values;
- }
-
- @Override
- public void createDataset() {
- dataset = new DefaultCategoryDataset();
- }
+ values[0] = super.saveState(context);
- @Override
- public JFreeChart createChart(FacesContext context) {
- JFreeChart chart;
-
- if (!getIs3D()) {
- chart = ChartFactory.createLineChart(getTitle(),
- getDomainAxisLabel(),
- getRangeAxisLabel(),
- dataset,
- plotOrientation(getOrientation()),
- getLegend(),
- false,
- false);
- } else {
- chart = ChartFactory.createLineChart3D(getTitle(),
- getDomainAxisLabel(),
- getRangeAxisLabel(),
- dataset,
- plotOrientation(getOrientation()),
- getLegend(),
- false,
- false);
- }
-
- configureTitle(chart.getTitle());
- configureLegend(chart.getLegend());
-
- return chart;
- }
+ return values;
+ }
-// @Override
-// public void configurePlot(Plot p) {
-// super.configurePlot(p);
-// }
-
-
- @Override
- public void configureRenderer(CategoryItemRenderer renderer){
- super.configureRenderer(renderer);
- }
-
- @Override
- public Dataset getDataset() {
- return dataset;
- }
+ @Override
+ public void createDataset()
+ {
+ dataset = new DefaultCategoryDataset();
+ }
+ @Override
+ public JFreeChart createChart(FacesContext context)
+ {
+ JFreeChart chart;
+
+ if (!getIs3D())
+ {
+ chart = ChartFactory.createLineChart(getTitle(), getDomainAxisLabel(),
getRangeAxisLabel(), dataset, plotOrientation(getOrientation()), getLegend(), false,
false);
+ }
+ else
+ {
+ chart = ChartFactory.createLineChart3D(getTitle(), getDomainAxisLabel(),
getRangeAxisLabel(), dataset, plotOrientation(getOrientation()), getLegend(), false,
false);
+ }
+
+ configureTitle(chart.getTitle());
+ configureLegend(chart.getLegend());
+
+ return chart;
+ }
+
+ // @Override
+ // public void configurePlot(Plot p) {
+ // super.configurePlot(p);
+ // }
+
+ @Override
+ public void configureRenderer(CategoryItemRenderer renderer)
+ {
+ super.configureRenderer(renderer);
+ }
+
+ @Override
+ public Dataset getDataset()
+ {
+ return dataset;
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIList.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIList.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIList.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -3,111 +3,136 @@
import javax.faces.context.*;
import com.lowagie.text.*;
-public class UIList
- extends ITextComponent
+public class UIList extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIList";
+ public static final String COMPONENT_TYPE = "org.jboss.seam.pdf.ui.UIList";
- public static final String STYLE_NUMBERED = "NUMBERED";
- public static final String STYLE_LETTERED = "LETTERED";
- public static final String STYLE_GREEK = "GREEK";
- public static final String STYLE_ROMAN = "ROMAN";
- public static final String STYLE_DINGBATS = "ZAPFDINGBATS";
- public static final String STYLE_DINGBATS_NUMBER = "ZAPFDINGBATS_NUMBER";
-
- List list;
+ public static final String STYLE_NUMBERED = "NUMBERED";
+ public static final String STYLE_LETTERED = "LETTERED";
+ public static final String STYLE_GREEK = "GREEK";
+ public static final String STYLE_ROMAN = "ROMAN";
+ public static final String STYLE_DINGBATS = "ZAPFDINGBATS";
+ public static final String STYLE_DINGBATS_NUMBER = "ZAPFDINGBATS_NUMBER";
- String style;
- String listSymbol;
- float indent = 20;
- Boolean lowerCase = false;
- Integer charNumber;
- Integer numberType = 0;
-
- public void setStyle(String style) {
- this.style = style;
- }
-
- public void setIndent(float indent) {
- this.indent = indent;
- }
+ List list;
- public void setListSymbol(String listSymbol) {
- this.listSymbol = listSymbol;
- }
-
- /* for dingbats symbol list */
- public void setCharNumber(Integer charNumber) {
- this.charNumber = charNumber;
- }
-
- /* for dingbats number list */
- public void setNumberType(Integer numberType) {
- this.numberType = numberType;
- }
-
- /* for ROMAN,GREEK */
- public void setLowerCase(Boolean lowerCase) {
- this.lowerCase = lowerCase;
- }
+ String style;
+ String listSymbol;
+ float indent = 20;
+ Boolean lowerCase = false;
+ Integer charNumber;
+ Integer numberType = 0;
- @Override
- public Object getITextObject() {
- return list;
- }
+ public void setStyle(String style)
+ {
+ this.style = style;
+ }
- @Override
- public void removeITextObject() {
- list = null;
- }
+ public void setIndent(float indent)
+ {
+ this.indent = indent;
+ }
- @Override
- public void createITextObject(FacesContext context) {
- style = (String) valueBinding(context, "style", style);
- lowerCase = (Boolean) valueBinding(context, "lowerCase", lowerCase);
- indent = (Float) valueBinding(context, "indent", indent);
- listSymbol = (String) valueBinding(context, "listSymbol", listSymbol);
-
- if (style != null) {
- if (style.equalsIgnoreCase(STYLE_ROMAN)) {
- list = new RomanList((int) indent); // int? bug in text?
- if (lowerCase != null) {
- list.setLowercase(lowerCase);
- //((RomanList) list).setRomanLower(lowerCase);
- }
- } else if (style.equalsIgnoreCase(STYLE_GREEK)) {
- list = new GreekList((int)indent); // int? bug in itext?
+ public void setListSymbol(String listSymbol)
+ {
+ this.listSymbol = listSymbol;
+ }
- if (lowerCase != null) {
- list.setLowercase(lowerCase);
- //((GreekList) list).setGreekLower(lowerCase);
- }
- } else if (style.equalsIgnoreCase(STYLE_DINGBATS)) {
- charNumber = (Integer) valueBinding(context, "charNumber",
charNumber);
- list = new ZapfDingbatsList(charNumber, (int) indent);
- } else if (style.equalsIgnoreCase(STYLE_DINGBATS_NUMBER)) {
- numberType = (Integer) valueBinding(context, "numberType",
numberType);
- list = new ZapfDingbatsNumberList(numberType, (int) indent);
+ /* for dingbats symbol list */
+ public void setCharNumber(Integer charNumber)
+ {
+ this.charNumber = charNumber;
+ }
- } else if (style.equalsIgnoreCase(STYLE_NUMBERED)) {
- list = new List(true, indent);
- //setFirst(int)
- } else if (style.equalsIgnoreCase(STYLE_LETTERED)) {
- list = new List(false, true, indent);
- //setFirst(char)
+ /* for dingbats number list */
+ public void setNumberType(Integer numberType)
+ {
+ this.numberType = numberType;
+ }
+
+ /* for ROMAN,GREEK */
+ public void setLowerCase(Boolean lowerCase)
+ {
+ this.lowerCase = lowerCase;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return list;
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ list = null;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ style = (String) valueBinding(context, "style", style);
+ lowerCase = (Boolean) valueBinding(context, "lowerCase", lowerCase);
+ indent = (Float) valueBinding(context, "indent", indent);
+ listSymbol = (String) valueBinding(context, "listSymbol", listSymbol);
+
+ if (style != null)
+ {
+ if (style.equalsIgnoreCase(STYLE_ROMAN))
+ {
+ list = new RomanList((int) indent); // int? bug in text?
+ if (lowerCase != null)
+ {
+ list.setLowercase(lowerCase);
+ // ((RomanList) list).setRomanLower(lowerCase);
}
- }
-
- if (list == null) {
- list = new List(false, indent);
- if (listSymbol!=null) {
- list.setListSymbol(listSymbol);
+ }
+ else if (style.equalsIgnoreCase(STYLE_GREEK))
+ {
+ list = new GreekList((int) indent); // int? bug in itext?
+
+ if (lowerCase != null)
+ {
+ list.setLowercase(lowerCase);
+ // ((GreekList) list).setGreekLower(lowerCase);
}
- }
- }
+ }
+ else if (style.equalsIgnoreCase(STYLE_DINGBATS))
+ {
+ charNumber = (Integer) valueBinding(context, "charNumber",
charNumber);
+ list = new ZapfDingbatsList(charNumber, (int) indent);
+ }
+ else if (style.equalsIgnoreCase(STYLE_DINGBATS_NUMBER))
+ {
+ numberType = (Integer) valueBinding(context, "numberType",
numberType);
+ list = new ZapfDingbatsNumberList(numberType, (int) indent);
- @Override
- public void handleAdd(Object o) {
- list.add(o);
- }
+ }
+ else if (style.equalsIgnoreCase(STYLE_NUMBERED))
+ {
+ list = new List(true, indent);
+ // setFirst(int)
+ }
+ else if (style.equalsIgnoreCase(STYLE_LETTERED))
+ {
+ list = new List(false, true, indent);
+ // setFirst(char)
+ }
+ }
+
+ if (list == null)
+ {
+ list = new List(false, indent);
+ if (listSymbol != null)
+ {
+ list.setListSymbol(listSymbol);
+ }
+ }
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ list.add(o);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIListItem.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIListItem.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIListItem.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -6,77 +6,92 @@
import com.lowagie.text.*;
-public class UIListItem
- extends ITextComponent
+public class UIListItem extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIListItem";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIListItem";
- ListItem listItem;
+ ListItem listItem;
- String alignment;
- Float indentationLeft;
- Float indentationRight;
- Integer listSymbol;
-
- public void setListSymbol(Integer listSymbol) {
- this.listSymbol = listSymbol;
- }
-
- public void setAlignment(String alignment) {
- this.alignment = alignment;
- }
+ String alignment;
+ Float indentationLeft;
+ Float indentationRight;
+ Integer listSymbol;
- public void setIndentationLeft(Float indentationLeft) {
- this.indentationLeft = indentationLeft;
- }
+ public void setListSymbol(Integer listSymbol)
+ {
+ this.listSymbol = listSymbol;
+ }
- public void setIndentationRight(Float indentationRight) {
- this.indentationRight = indentationRight;
- }
+ public void setAlignment(String alignment)
+ {
+ this.alignment = alignment;
+ }
- @Override
- public Object getITextObject() {
- return listItem;
- }
+ public void setIndentationLeft(Float indentationLeft)
+ {
+ this.indentationLeft = indentationLeft;
+ }
- @Override
- public void createITextObject(FacesContext context) {
- listItem = new ListItem();
-
- // should listSymbol be a facet?
- listSymbol = (Integer) valueBinding(context, "listSymbol",
listSymbol);
- if (listSymbol != null) {
- int symbol = listSymbol;
- Font font = getFont();
- if (font == null) {
- listItem.setListSymbol(new Chunk((char)symbol));
- } else {
- listItem.setListSymbol(new Chunk((char)symbol, font));
- }
- }
-
- alignment = (String) valueBinding(context, "alignment", alignment);
- if (alignment != null) {
- listItem.setAlignment(ITextUtils.alignmentValue(alignment));
- }
-
- indentationLeft = (Float) valueBinding(context, "indentationLeft",
indentationLeft);
- if (indentationLeft != null) {
- listItem.setIndentationLeft(indentationLeft);
- }
-
- indentationRight = (Float) valueBinding(context, "indentationRight",
indentationRight);
- if (indentationRight != null) {
- listItem.setIndentationRight(indentationRight);
- }
- }
+ public void setIndentationRight(Float indentationRight)
+ {
+ this.indentationRight = indentationRight;
+ }
- @Override
- public void removeITextObject() {
- listItem = null;
- }
- @Override
- public void handleAdd(Object o) {
- listItem.add(o);
- }
+ @Override
+ public Object getITextObject()
+ {
+ return listItem;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ listItem = new ListItem();
+
+ // should listSymbol be a facet?
+ listSymbol = (Integer) valueBinding(context, "listSymbol", listSymbol);
+ if (listSymbol != null)
+ {
+ int symbol = listSymbol;
+ Font font = getFont();
+ if (font == null)
+ {
+ listItem.setListSymbol(new Chunk((char) symbol));
+ }
+ else
+ {
+ listItem.setListSymbol(new Chunk((char) symbol, font));
+ }
+ }
+
+ alignment = (String) valueBinding(context, "alignment", alignment);
+ if (alignment != null)
+ {
+ listItem.setAlignment(ITextUtils.alignmentValue(alignment));
+ }
+
+ indentationLeft = (Float) valueBinding(context, "indentationLeft",
indentationLeft);
+ if (indentationLeft != null)
+ {
+ listItem.setIndentationLeft(indentationLeft);
+ }
+
+ indentationRight = (Float) valueBinding(context, "indentationRight",
indentationRight);
+ if (indentationRight != null)
+ {
+ listItem.setIndentationRight(indentationRight);
+ }
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ listItem = null;
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ listItem.add(o);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIOutputText.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIOutputText.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIOutputText.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -9,101 +9,121 @@
import com.lowagie.text.Chunk;
-public class UIOutputText
- extends ITextComponent
- implements ValueHolder
+public class UIOutputText extends ITextComponent implements ValueHolder
{
- Chunk chunk;
+ Chunk chunk;
- Converter converter;
- Object value;
- Object localValue;
+ Converter converter;
+ Object value;
+ Object localValue;
-
- // -- ITextComponent methods
- @Override
- public void encodeEnd(FacesContext context)
- throws IOException
- {
- chunk.append(convert(context, getValue()));
-
- super.encodeEnd(context);
- }
-
- protected String convert(FacesContext context, Object value) {
- Converter myConverter = converterForValue(context, value);
- if (myConverter != null) {
- return myConverter.getAsString(context, this, value);
- } else if (value != null) {
- return value.toString();
- } else {
- return "";
- }
- }
-
- protected Converter converterForValue(FacesContext ctx, Object value) {
- if (converter != null) {
- return converter;
- }
-
- if (value != null) {
- try {
- return ctx.getApplication().createConverter(value.getClass());
- } catch (FacesException e) {
- // no converter defined - no problem
- }
- }
+ // -- ITextComponent methods
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ chunk.append(convert(context, getValue()));
- return null;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
- com.lowagie.text.Font font = getFont();
-
- if (font == null) {
- chunk = new Chunk("");
- } else {
- chunk = new Chunk("", getFont());
- }
- }
+ super.encodeEnd(context);
+ }
- @Override
- public Object getITextObject() {
- return chunk;
- }
+ protected String convert(FacesContext context, Object value)
+ {
+ Converter myConverter = converterForValue(context, value);
+ if (myConverter != null)
+ {
+ return myConverter.getAsString(context, this, value);
+ }
+ else if (value != null)
+ {
+ return value.toString();
+ }
+ else
+ {
+ return "";
+ }
+ }
- @Override
- public void handleAdd(Object other) {
- throw new RuntimeException("illegal child element");
- }
+ protected Converter converterForValue(FacesContext ctx, Object value)
+ {
+ if (converter != null)
+ {
+ return converter;
+ }
- @Override
- public void removeITextObject() {
- chunk = null;
- }
+ if (value != null)
+ {
+ try
+ {
+ return ctx.getApplication().createConverter(value.getClass());
+ }
+ catch (FacesException e)
+ {
+ // no converter defined - no problem
+ }
+ }
- // -- ValueHolder methods
+ return null;
+ }
- public Converter getConverter() {
- return converter;
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ com.lowagie.text.Font font = getFont();
- public void setConverter(Converter converter) {
- this.converter = converter;
- }
+ if (font == null)
+ {
+ chunk = new Chunk("");
+ }
+ else
+ {
+ chunk = new Chunk("", getFont());
+ }
+ }
- public Object getValue() {
- return valueBinding(FacesContext.getCurrentInstance(), "value",
localValue);
- }
+ @Override
+ public Object getITextObject()
+ {
+ return chunk;
+ }
- public void setValue(Object value) {
- this.localValue = value;
- }
+ @Override
+ public void handleAdd(Object other)
+ {
+ throw new RuntimeException("illegal child element");
+ }
- public Object getLocalValue() {
- return localValue;
- }
+ @Override
+ public void removeITextObject()
+ {
+ chunk = null;
+ }
+ // -- ValueHolder methods
+
+ public Converter getConverter()
+ {
+ return converter;
+ }
+
+ public void setConverter(Converter converter)
+ {
+ this.converter = converter;
+ }
+
+ public Object getValue()
+ {
+ return valueBinding(FacesContext.getCurrentInstance(), "value",
localValue);
+ }
+
+ public void setValue(Object value)
+ {
+ this.localValue = value;
+ }
+
+ public Object getLocalValue()
+ {
+ return localValue;
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIPage.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIPage.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIPage.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -6,42 +6,47 @@
import com.lowagie.text.*;
-public class UIPage
- extends ITextComponent
+public class UIPage extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIPage";
+ public static final String COMPONENT_TYPE = "org.jboss.seam.pdf.ui.UIPage";
- @Override
- public Object getITextObject() {
- return null;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
- @Override
- public void removeITextObject() {
- // nothing to do
- }
+ @Override
+ public void removeITextObject()
+ {
+ // nothing to do
+ }
- @Override
- public void createITextObject(FacesContext context) {
- // nothing to do
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ // nothing to do
+ }
- @Override
- public void handleAdd(Object o) {
- addToITextParent(o);
- }
+ @Override
+ public void handleAdd(Object o)
+ {
+ addToITextParent(o);
+ }
- @Override
- public void encodeBegin(FacesContext context)
- throws IOException
- {
- super.encodeBegin(context);
- Document document = findDocument();
- if (document != null) {
- document.newPage();
- } else {
- throw new IllegalArgumentException("Cannot find parent document");
- }
- }
+ @Override
+ public void encodeBegin(FacesContext context) throws IOException
+ {
+ super.encodeBegin(context);
+ Document document = findDocument();
+ if (document != null)
+ {
+ document.newPage();
+ }
+ else
+ {
+ throw new IllegalArgumentException("Cannot find parent document");
+ }
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIPageNumber.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIPageNumber.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIPageNumber.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -1,37 +1,44 @@
package org.jboss.seam.pdf.ui;
+
import java.io.IOException;
import javax.faces.context.FacesContext;
-public class UIPageNumber extends ITextComponent {
+public class UIPageNumber extends ITextComponent
+{
- @Override
- public void createITextObject(FacesContext context) {
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ }
- @Override
- public Object getITextObject() {
- return null;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
- @Override
- public void handleAdd(Object other) {
- throw new RuntimeException("header page number cannot contain other
elements");
- }
+ @Override
+ public void handleAdd(Object other)
+ {
+ throw new RuntimeException("header page number cannot contain other
elements");
+ }
- @Override
- public void removeITextObject() {
- }
+ @Override
+ public void removeITextObject()
+ {
+ }
- @Override
- public void encodeEnd(FacesContext context) throws IOException {
- super.encodeEnd(context);
- UIHeaderFooter header = (UIHeaderFooter) findITextParent(this,
UIHeaderFooter.class);
- if (header == null) {
- throw new RuntimeException("pageNumber can only be used in the context
of a header or footer");
- }
- header.markPage();
- }
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ super.encodeEnd(context);
+ UIHeaderFooter header = (UIHeaderFooter) findITextParent(this,
UIHeaderFooter.class);
+ if (header == null)
+ {
+ throw new RuntimeException("pageNumber can only be used in the context of a
header or footer");
+ }
+ header.markPage();
+ }
-
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIParagraph.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIParagraph.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIParagraph.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -3,129 +3,165 @@
import javax.faces.context.*;
import com.lowagie.text.*;
-public class UIParagraph
- extends ITextComponent
+public class UIParagraph extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIParagraph";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UIParagraph";
- Paragraph paragraph;
- String alignment;
-
- Float firstLineIndent;
- Float extraParagraphSpace;
- Float leading;
- Float multipliedLeading;
- Float spacingBefore;
- Float spacingAfter;
- Float indentationLeft;
- Float indentationRight;
+ Paragraph paragraph;
+ String alignment;
- Boolean keepTogether;
+ Float firstLineIndent;
+ Float extraParagraphSpace;
+ Float leading;
+ Float multipliedLeading;
+ Float spacingBefore;
+ Float spacingAfter;
+ Float indentationLeft;
+ Float indentationRight;
- public void setAlignment(String alignment) {
- this.alignment = alignment;
- }
- public void setFirstLineIndent(Float firstLineIndent) {
- this.firstLineIndent = firstLineIndent;
- }
- public void setExtraParagraphSpace(Float extraParagraphSpace) {
- this.extraParagraphSpace = extraParagraphSpace;
- }
- public void setLeading(Float leading) {
- this.leading = leading;
- }
- public void setMultipliedLeading(Float multipliedLeading) {
- this.multipliedLeading = multipliedLeading;
- }
- public void setSpacingBefore(Float spacingBefore) {
- this.spacingBefore = spacingBefore;
- }
- public void setSpacingAfter(Float spacingAfter) {
- this.spacingAfter = spacingAfter;
- }
- public void setIndentationLeft(Float indentationLeft) {
- this.indentationLeft = indentationLeft;
- }
- public void setIndentationRight(Float indentationRight) {
- this.indentationRight = indentationRight;
- }
- public void setKeepTogether(Boolean keepTogether) {
- this.keepTogether = keepTogether;
- }
+ Boolean keepTogether;
- @Override
- public Object getITextObject() {
- return paragraph;
- }
+ public void setAlignment(String alignment)
+ {
+ this.alignment = alignment;
+ }
- @Override
- public void removeITextObject() {
- paragraph = null;
- }
+ public void setFirstLineIndent(Float firstLineIndent)
+ {
+ this.firstLineIndent = firstLineIndent;
+ }
- @Override
- public void createITextObject(FacesContext context) {
- Font font = getFont();
- if (font == null) {
- paragraph = new Paragraph();
- } else {
- paragraph = new Paragraph("", font);
- }
+ public void setExtraParagraphSpace(Float extraParagraphSpace)
+ {
+ this.extraParagraphSpace = extraParagraphSpace;
+ }
- alignment = (String) valueBinding(context, "alignment", alignment);
- if (alignment != null) {
- paragraph.setAlignment(alignment);
- }
-
- firstLineIndent = (Float) valueBinding(context, "firstLineIndent",
firstLineIndent);
- if (firstLineIndent != null) {
- paragraph.setFirstLineIndent(firstLineIndent);
- }
+ public void setLeading(Float leading)
+ {
+ this.leading = leading;
+ }
- extraParagraphSpace = (Float) valueBinding(context,
"extraParagraphSpace", extraParagraphSpace);
- if (extraParagraphSpace != null) {
- paragraph.setExtraParagraphSpace(extraParagraphSpace);
- }
+ public void setMultipliedLeading(Float multipliedLeading)
+ {
+ this.multipliedLeading = multipliedLeading;
+ }
- leading = (Float) valueBinding(context, "leading", leading);
- multipliedLeading = (Float) valueBinding(context, "multipliedLeading",
multipliedLeading);
- if (leading != null) {
- if (multipliedLeading != null) {
- paragraph.setLeading(leading, multipliedLeading);
- } else {
- paragraph.setLeading(leading);
- }
- }
+ public void setSpacingBefore(Float spacingBefore)
+ {
+ this.spacingBefore = spacingBefore;
+ }
+ public void setSpacingAfter(Float spacingAfter)
+ {
+ this.spacingAfter = spacingAfter;
+ }
- spacingBefore = (Float) valueBinding(context, "spacingBefore",
spacingBefore);
- if (spacingBefore != null) {
- paragraph.setSpacingBefore(spacingBefore);
- }
-
- spacingAfter = (Float) valueBinding(context, "spacingAfter",
spacingAfter);
- if (spacingAfter != null) {
- paragraph.setSpacingAfter(spacingAfter);
- }
-
- indentationLeft = (Float) valueBinding(context, "indentationLeft",
indentationLeft);
- if (indentationLeft != null) {
- paragraph.setIndentationLeft(indentationLeft);
- }
-
- indentationRight = (Float) valueBinding(context, "indentationRight",
indentationRight);
- if (indentationRight != null) {
- paragraph.setIndentationRight(indentationRight);
- }
-
- keepTogether = (Boolean) valueBinding(context, "keepTogether",
keepTogether);
- if (keepTogether != null) {
- paragraph.setKeepTogether(keepTogether);
- }
- }
+ public void setIndentationLeft(Float indentationLeft)
+ {
+ this.indentationLeft = indentationLeft;
+ }
- @Override
- public void handleAdd(Object o) {
- paragraph.add(o);
- }
+ public void setIndentationRight(Float indentationRight)
+ {
+ this.indentationRight = indentationRight;
+ }
+
+ public void setKeepTogether(Boolean keepTogether)
+ {
+ this.keepTogether = keepTogether;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return paragraph;
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ paragraph = null;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ Font font = getFont();
+ if (font == null)
+ {
+ paragraph = new Paragraph();
+ }
+ else
+ {
+ paragraph = new Paragraph("", font);
+ }
+
+ alignment = (String) valueBinding(context, "alignment", alignment);
+ if (alignment != null)
+ {
+ paragraph.setAlignment(alignment);
+ }
+
+ firstLineIndent = (Float) valueBinding(context, "firstLineIndent",
firstLineIndent);
+ if (firstLineIndent != null)
+ {
+ paragraph.setFirstLineIndent(firstLineIndent);
+ }
+
+ extraParagraphSpace = (Float) valueBinding(context,
"extraParagraphSpace", extraParagraphSpace);
+ if (extraParagraphSpace != null)
+ {
+ paragraph.setExtraParagraphSpace(extraParagraphSpace);
+ }
+
+ leading = (Float) valueBinding(context, "leading", leading);
+ multipliedLeading = (Float) valueBinding(context, "multipliedLeading",
multipliedLeading);
+ if (leading != null)
+ {
+ if (multipliedLeading != null)
+ {
+ paragraph.setLeading(leading, multipliedLeading);
+ }
+ else
+ {
+ paragraph.setLeading(leading);
+ }
+ }
+
+ spacingBefore = (Float) valueBinding(context, "spacingBefore",
spacingBefore);
+ if (spacingBefore != null)
+ {
+ paragraph.setSpacingBefore(spacingBefore);
+ }
+
+ spacingAfter = (Float) valueBinding(context, "spacingAfter",
spacingAfter);
+ if (spacingAfter != null)
+ {
+ paragraph.setSpacingAfter(spacingAfter);
+ }
+
+ indentationLeft = (Float) valueBinding(context, "indentationLeft",
indentationLeft);
+ if (indentationLeft != null)
+ {
+ paragraph.setIndentationLeft(indentationLeft);
+ }
+
+ indentationRight = (Float) valueBinding(context, "indentationRight",
indentationRight);
+ if (indentationRight != null)
+ {
+ paragraph.setIndentationRight(indentationRight);
+ }
+
+ keepTogether = (Boolean) valueBinding(context, "keepTogether",
keepTogether);
+ if (keepTogether != null)
+ {
+ paragraph.setKeepTogether(keepTogether);
+ }
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ paragraph.add(o);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIPieChart.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIPieChart.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIPieChart.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -11,391 +11,462 @@
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.util.Rotation;
-public class UIPieChart
- extends UIChart
+public class UIPieChart extends UIChart
{
- private DefaultPieDataset data;
-
- private String title;
- private String label;
- private boolean legend = true;
- private boolean is3D = false;
-
- private Double labelLinkMargin;
- private String labelLinkPaint;
- private String labelLinkStroke;
- private Boolean labelLinksVisible;
- private String labelOutlinePaint;
- private String labelOutlineStroke;
- private String labelShadowPaint;
- private String labelPaint;
- private Double labelGap;
- private String labelBackgroundPaint;
- private Double startAngle;
- private Boolean circular;
- private String direction;
- private String sectionOutlinePaint;
- private String sectionOutlineStroke;
- private Boolean sectionOutlinesVisible;
- private String baseSectionOutlinePaint;
- private String baseSectionPaint;
- private String baseSectionOutlineStroke;
-
- public void setTitle(String title) {
- this.title = title;
- }
-
- public String getTitle() {
- return (String) valueBinding("title", title);
- }
-
- public void setLabel(String label) {
- this.label = label;
- }
-
- public String getLabel() {
- return (String) valueBinding("label", label);
- }
-
- public void setLegend(boolean legend) {
- this.legend = legend;
- }
-
- public boolean getLegend(){
- return (Boolean) valueBinding("legend", legend);
- }
-
- public void setIs3D(boolean is3D) {
- this.is3D = true;
- }
-
- public boolean getIs3D() {
- return (Boolean) valueBinding("is3D", is3D);
- }
-
- public String getBaseSectionOutlinePaint() {
- return (String) valueBinding("baseSectionOutlinePaint",
baseSectionOutlinePaint);
- }
+ private DefaultPieDataset data;
- public void setBaseSectionOutlinePaint(String baseSectionOutlinePaint) {
- this.baseSectionOutlinePaint = baseSectionOutlinePaint;
- }
+ private String title;
+ private String label;
+ private boolean legend = true;
+ private boolean is3D = false;
- public String getBaseSectionOutlineStroke() {
- return (String) valueBinding("baseSectionOutlineStroke",
baseSectionOutlineStroke);
- }
+ private Double labelLinkMargin;
+ private String labelLinkPaint;
+ private String labelLinkStroke;
+ private Boolean labelLinksVisible;
+ private String labelOutlinePaint;
+ private String labelOutlineStroke;
+ private String labelShadowPaint;
+ private String labelPaint;
+ private Double labelGap;
+ private String labelBackgroundPaint;
+ private Double startAngle;
+ private Boolean circular;
+ private String direction;
+ private String sectionOutlinePaint;
+ private String sectionOutlineStroke;
+ private Boolean sectionOutlinesVisible;
+ private String baseSectionOutlinePaint;
+ private String baseSectionPaint;
+ private String baseSectionOutlineStroke;
- public void setBaseSectionOutlineStroke(String baseSectionOutlineStroke) {
- this.baseSectionOutlineStroke = baseSectionOutlineStroke;
- }
+ public void setTitle(String title)
+ {
+ this.title = title;
+ }
- public String getBaseSectionPaint() {
- return (String) valueBinding("baseSectionPaint", baseSectionPaint);
- }
+ public String getTitle()
+ {
+ return (String) valueBinding("title", title);
+ }
- public void setBaseSectionPaint(String baseSectionPaint) {
- this.baseSectionPaint = baseSectionPaint;
- }
+ public void setLabel(String label)
+ {
+ this.label = label;
+ }
- public Boolean getCircular() {
- return (Boolean) valueBinding("isCircular", circular);
- }
+ public String getLabel()
+ {
+ return (String) valueBinding("label", label);
+ }
- public void setCircular(Boolean circular) {
- this.circular = circular;
- }
+ public void setLegend(boolean legend)
+ {
+ this.legend = legend;
+ }
- public String getLabelBackgroundPaint() {
- return (String) valueBinding("labelBackgroundPaint",
labelBackgroundPaint);
- }
+ public boolean getLegend()
+ {
+ return (Boolean) valueBinding("legend", legend);
+ }
- public void setLabelBackgroundPaint(String labelBackgroundPaint) {
- this.labelBackgroundPaint = labelBackgroundPaint;
- }
+ public void setIs3D(boolean is3D)
+ {
+ this.is3D = true;
+ }
- public Double getLabelGap() {
- return (Double) valueBinding("labelGap", labelGap);
- }
+ public boolean getIs3D()
+ {
+ return (Boolean) valueBinding("is3D", is3D);
+ }
- public void setLabelGap(Double labelGap) {
- this.labelGap = labelGap;
- }
+ public String getBaseSectionOutlinePaint()
+ {
+ return (String) valueBinding("baseSectionOutlinePaint",
baseSectionOutlinePaint);
+ }
- public Double getLabelLinkMargin() {
- return (Double) valueBinding("labelLinkMargin", labelLinkMargin);
- }
+ public void setBaseSectionOutlinePaint(String baseSectionOutlinePaint)
+ {
+ this.baseSectionOutlinePaint = baseSectionOutlinePaint;
+ }
- public void setLabelLinkMargin(double labelLinkMargin) {
- this.labelLinkMargin = labelLinkMargin;
- }
+ public String getBaseSectionOutlineStroke()
+ {
+ return (String) valueBinding("baseSectionOutlineStroke",
baseSectionOutlineStroke);
+ }
- public String getLabelLinkPaint() {
- return (String) valueBinding("labelLinkPaint", labelLinkPaint);
- }
+ public void setBaseSectionOutlineStroke(String baseSectionOutlineStroke)
+ {
+ this.baseSectionOutlineStroke = baseSectionOutlineStroke;
+ }
- public void setLabelLinkPaint(String labelLinkPaint) {
- this.labelLinkPaint = labelLinkPaint;
- }
+ public String getBaseSectionPaint()
+ {
+ return (String) valueBinding("baseSectionPaint", baseSectionPaint);
+ }
- public String getLabelLinkStroke() {
- return (String) valueBinding("labelLinkStroke", labelLinkStroke);
- }
+ public void setBaseSectionPaint(String baseSectionPaint)
+ {
+ this.baseSectionPaint = baseSectionPaint;
+ }
- public void setLabelLinkStroke(String labelLinkStroke) {
- this.labelLinkStroke = labelLinkStroke;
- }
+ public Boolean getCircular()
+ {
+ return (Boolean) valueBinding("isCircular", circular);
+ }
- public Boolean isLabelLinksVisible() {
- return (Boolean) valueBinding("labelLinksVisible", labelLinksVisible);
- }
+ public void setCircular(Boolean circular)
+ {
+ this.circular = circular;
+ }
- public void setLabelLinksVisible(Boolean labelLinksVisible) {
- this.labelLinksVisible = labelLinksVisible;
- }
+ public String getLabelBackgroundPaint()
+ {
+ return (String) valueBinding("labelBackgroundPaint",
labelBackgroundPaint);
+ }
- public String getLabelOutlinePaint() {
- return (String) valueBinding("labelOutlinePaint", labelOutlinePaint);
- }
+ public void setLabelBackgroundPaint(String labelBackgroundPaint)
+ {
+ this.labelBackgroundPaint = labelBackgroundPaint;
+ }
- public void setLabelOutlinePaint(String labelOutlinePaint) {
- this.labelOutlinePaint = labelOutlinePaint;
- }
+ public Double getLabelGap()
+ {
+ return (Double) valueBinding("labelGap", labelGap);
+ }
- public String getLabelOutlineStroke() {
- return (String) valueBinding("labelOutlineStroke", labelOutlineStroke);
- }
+ public void setLabelGap(Double labelGap)
+ {
+ this.labelGap = labelGap;
+ }
- public void setLabelOutlineStroke(String labelOutlineStroke) {
- this.labelOutlineStroke = labelOutlineStroke;
- }
+ public Double getLabelLinkMargin()
+ {
+ return (Double) valueBinding("labelLinkMargin", labelLinkMargin);
+ }
- public String getLabelPaint() {
- return (String) valueBinding("labelPaint", labelPaint);
- }
+ public void setLabelLinkMargin(double labelLinkMargin)
+ {
+ this.labelLinkMargin = labelLinkMargin;
+ }
- public void setLabelPaint(String labelPaint) {
- this.labelPaint = labelPaint;
- }
+ public String getLabelLinkPaint()
+ {
+ return (String) valueBinding("labelLinkPaint", labelLinkPaint);
+ }
- public String getLabelShadowPaint() {
- return (String) valueBinding("labelShadowPaint", labelShadowPaint);
- }
+ public void setLabelLinkPaint(String labelLinkPaint)
+ {
+ this.labelLinkPaint = labelLinkPaint;
+ }
- public void setLabelShadowPaint(String labelShadowPaint) {
- this.labelShadowPaint = labelShadowPaint;
- }
+ public String getLabelLinkStroke()
+ {
+ return (String) valueBinding("labelLinkStroke", labelLinkStroke);
+ }
- public String getDirection() {
- return (String) valueBinding("rotation", direction);
- }
+ public void setLabelLinkStroke(String labelLinkStroke)
+ {
+ this.labelLinkStroke = labelLinkStroke;
+ }
- public void setDirection(String rotation) {
- this.direction = rotation;
- }
+ public Boolean isLabelLinksVisible()
+ {
+ return (Boolean) valueBinding("labelLinksVisible", labelLinksVisible);
+ }
- public String getSectionOutlinePaint() {
- return (String) valueBinding("sectionOutlinePaint",
sectionOutlinePaint);
- }
+ public void setLabelLinksVisible(Boolean labelLinksVisible)
+ {
+ this.labelLinksVisible = labelLinksVisible;
+ }
- public void setSectionOutlinePaint(String sectionOutlinePaint) {
- this.sectionOutlinePaint = sectionOutlinePaint;
- }
+ public String getLabelOutlinePaint()
+ {
+ return (String) valueBinding("labelOutlinePaint", labelOutlinePaint);
+ }
- public String getSectionOutlineStroke() {
- return (String) valueBinding("sectionOutlineStroke",
sectionOutlineStroke);
- }
+ public void setLabelOutlinePaint(String labelOutlinePaint)
+ {
+ this.labelOutlinePaint = labelOutlinePaint;
+ }
- public void setSectionOutlineStroke(String sectionOutlineStroke) {
- this.sectionOutlineStroke = sectionOutlineStroke;
- }
+ public String getLabelOutlineStroke()
+ {
+ return (String) valueBinding("labelOutlineStroke", labelOutlineStroke);
+ }
- public Boolean isSectionOutlinesVisible() {
- return (Boolean) valueBinding("sectionOutlineVisible",
sectionOutlinesVisible);
- }
+ public void setLabelOutlineStroke(String labelOutlineStroke)
+ {
+ this.labelOutlineStroke = labelOutlineStroke;
+ }
- public void setSectionOutlinesVisible(Boolean sectionOutlinesVisible) {
- this.sectionOutlinesVisible = sectionOutlinesVisible;
- }
+ public String getLabelPaint()
+ {
+ return (String) valueBinding("labelPaint", labelPaint);
+ }
- public Double getStartAngle() {
- return (Double) valueBinding("startAngle", startAngle);
- }
+ public void setLabelPaint(String labelPaint)
+ {
+ this.labelPaint = labelPaint;
+ }
- public void setStartAngle(Double startAngle) {
- this.startAngle = startAngle;
- }
+ public String getLabelShadowPaint()
+ {
+ return (String) valueBinding("labelShadowPaint", labelShadowPaint);
+ }
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
-
- title = (String) values[1];
- label = (String) values[2];
- legend = (Boolean) values[3];
- is3D = (Boolean) values[4];
- labelLinkMargin = (Double) values[5];
- labelLinkPaint = (String) values[6];
- labelLinkStroke = (String) values[7];
- labelLinksVisible = (Boolean) values[8];
- labelOutlinePaint = (String) values[9];
- labelOutlineStroke = (String) values[10];
- labelShadowPaint = (String) values[11];
- labelPaint = (String) values[12];
- labelGap = (Double) values[13];
- labelBackgroundPaint = (String) values[14];
- startAngle = (Double) values[15];
- circular = (Boolean) values[16];
- direction = (String) values[17];
- sectionOutlinePaint = (String) values[18];
- sectionOutlineStroke = (String) values[19];
- sectionOutlinesVisible = (Boolean) values[20];
- baseSectionOutlinePaint = (String) values[21];
- baseSectionPaint = (String) values[22];
- baseSectionOutlineStroke = (String) values[23];
- }
+ public void setLabelShadowPaint(String labelShadowPaint)
+ {
+ this.labelShadowPaint = labelShadowPaint;
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[24];
+ public String getDirection()
+ {
+ return (String) valueBinding("rotation", direction);
+ }
- values[0] = super.saveState(context);
- values[1] = title;
- values[2] = label;
- values[3] = legend;
- values[4] = is3D;
- values[5] = labelLinkMargin;
- values[6] = labelLinkPaint;
- values[7] = labelLinkStroke;
- values[8] = labelLinksVisible;
- values[9] = labelOutlinePaint;
- values[10] = labelOutlineStroke;
- values[11] = labelShadowPaint;
- values[12] = labelPaint;
- values[13] = labelGap;
- values[14] = labelBackgroundPaint;
- values[15] = startAngle;
- values[16] = circular;
- values[17] = direction;
- values[18] = sectionOutlinePaint;
- values[19] = sectionOutlineStroke;
- values[20] = sectionOutlinesVisible;
- values[21] = baseSectionOutlinePaint;
- values[22] = baseSectionPaint;
- values[23] = baseSectionOutlineStroke;
-
- return values;
- }
-
-
-
- @Override
- public void createDataset() {
- data = new DefaultPieDataset();
- }
-
- @Override
- public Dataset getDataset() {
- return data;
- }
-
- public Rotation rotationValue(String value) {
- if (value == null || value.equalsIgnoreCase("anticlockwise")) {
- return Rotation.ANTICLOCKWISE;
- } else {
- return Rotation.CLOCKWISE;
- }
- }
-
- @Override
- public void configurePlot(Plot plot) {
- super.configurePlot(plot);
+ public void setDirection(String rotation)
+ {
+ this.direction = rotation;
+ }
- if (plot instanceof PiePlot) {
- PiePlot pieplot = (PiePlot) plot;
- if (label != null) {
- pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(label));
- }
-
- if (baseSectionOutlinePaint != null) {
- pieplot.setBaseSectionOutlinePaint(findColor(baseSectionOutlinePaint));
- }
- if (baseSectionOutlineStroke != null) {
-
pieplot.setBaseSectionOutlineStroke(findStroke(baseSectionOutlineStroke));
- }
- if (baseSectionPaint != null) {
- pieplot.setBaseSectionPaint(findColor(baseSectionPaint));
- }
-
- if (circular != null) {
- pieplot.setCircular(circular);
- }
- if (startAngle!=null) {
- pieplot.setStartAngle(startAngle);
- }
- if (direction != null) {
- pieplot.setDirection(rotationValue(direction));
- }
-
- if (sectionOutlinePaint != null) {
- pieplot.setSectionOutlinePaint(findColor(sectionOutlinePaint));
- }
- if (sectionOutlineStroke != null) {
- pieplot.setSectionOutlineStroke(findStroke(sectionOutlineStroke));
- }
- if (sectionOutlinesVisible != null) {
- pieplot.setSectionOutlinesVisible(sectionOutlinesVisible);
- }
+ public String getSectionOutlinePaint()
+ {
+ return (String) valueBinding("sectionOutlinePaint",
sectionOutlinePaint);
+ }
-
-
-
- //pieplot.setLabelFont(arg0);
- if (labelBackgroundPaint!=null) {
- pieplot.setLabelBackgroundPaint(findColor(labelBackgroundPaint));
- }
- if (labelGap != null) {
- pieplot.setLabelGap(labelGap);
- }
- if (labelLinkMargin != null) {
- pieplot.setLabelLinkMargin(labelLinkMargin);
- }
- if (labelLinkPaint != null) {
- pieplot.setLabelLinkPaint(findColor(labelLinkPaint));
- }
- if (labelLinkStroke != null) {
- pieplot.setLabelLinkStroke(findStroke(labelLinkStroke));
- }
- if (labelLinksVisible != null) {
- pieplot.setLabelLinksVisible(labelLinksVisible);
- }
- if (labelOutlinePaint != null) {
- pieplot.setLabelOutlinePaint(findColor(labelOutlinePaint));
- }
- if (labelOutlineStroke != null) {
- pieplot.setLabelOutlineStroke(findStroke(labelOutlineStroke));
- }
- if (labelPaint != null) {
- pieplot.setLabelPaint(findColor(labelPaint));
- }
- if (labelShadowPaint != null) {
- pieplot.setLabelShadowPaint(findColor(labelShadowPaint));
- }
-
-
- }
- }
-
- @Override
- public JFreeChart createChart(FacesContext context) {
- legend = (Boolean) valueBinding(context, "legend", getLegend());
-
- if (!is3D) {
- return ChartFactory.createPieChart(getTitle(), data, legend, false, false);
- } else {
- return ChartFactory.createPieChart3D(getTitle(), data, legend, false,
false);
- }
- }
+ public void setSectionOutlinePaint(String sectionOutlinePaint)
+ {
+ this.sectionOutlinePaint = sectionOutlinePaint;
+ }
+
+ public String getSectionOutlineStroke()
+ {
+ return (String) valueBinding("sectionOutlineStroke",
sectionOutlineStroke);
+ }
+
+ public void setSectionOutlineStroke(String sectionOutlineStroke)
+ {
+ this.sectionOutlineStroke = sectionOutlineStroke;
+ }
+
+ public Boolean isSectionOutlinesVisible()
+ {
+ return (Boolean) valueBinding("sectionOutlineVisible",
sectionOutlinesVisible);
+ }
+
+ public void setSectionOutlinesVisible(Boolean sectionOutlinesVisible)
+ {
+ this.sectionOutlinesVisible = sectionOutlinesVisible;
+ }
+
+ public Double getStartAngle()
+ {
+ return (Double) valueBinding("startAngle", startAngle);
+ }
+
+ public void setStartAngle(Double startAngle)
+ {
+ this.startAngle = startAngle;
+ }
+
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
+
+ title = (String) values[1];
+ label = (String) values[2];
+ legend = (Boolean) values[3];
+ is3D = (Boolean) values[4];
+ labelLinkMargin = (Double) values[5];
+ labelLinkPaint = (String) values[6];
+ labelLinkStroke = (String) values[7];
+ labelLinksVisible = (Boolean) values[8];
+ labelOutlinePaint = (String) values[9];
+ labelOutlineStroke = (String) values[10];
+ labelShadowPaint = (String) values[11];
+ labelPaint = (String) values[12];
+ labelGap = (Double) values[13];
+ labelBackgroundPaint = (String) values[14];
+ startAngle = (Double) values[15];
+ circular = (Boolean) values[16];
+ direction = (String) values[17];
+ sectionOutlinePaint = (String) values[18];
+ sectionOutlineStroke = (String) values[19];
+ sectionOutlinesVisible = (Boolean) values[20];
+ baseSectionOutlinePaint = (String) values[21];
+ baseSectionPaint = (String) values[22];
+ baseSectionOutlineStroke = (String) values[23];
+ }
+
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[24];
+
+ values[0] = super.saveState(context);
+ values[1] = title;
+ values[2] = label;
+ values[3] = legend;
+ values[4] = is3D;
+ values[5] = labelLinkMargin;
+ values[6] = labelLinkPaint;
+ values[7] = labelLinkStroke;
+ values[8] = labelLinksVisible;
+ values[9] = labelOutlinePaint;
+ values[10] = labelOutlineStroke;
+ values[11] = labelShadowPaint;
+ values[12] = labelPaint;
+ values[13] = labelGap;
+ values[14] = labelBackgroundPaint;
+ values[15] = startAngle;
+ values[16] = circular;
+ values[17] = direction;
+ values[18] = sectionOutlinePaint;
+ values[19] = sectionOutlineStroke;
+ values[20] = sectionOutlinesVisible;
+ values[21] = baseSectionOutlinePaint;
+ values[22] = baseSectionPaint;
+ values[23] = baseSectionOutlineStroke;
+
+ return values;
+ }
+
+ @Override
+ public void createDataset()
+ {
+ data = new DefaultPieDataset();
+ }
+
+ @Override
+ public Dataset getDataset()
+ {
+ return data;
+ }
+
+ public Rotation rotationValue(String value)
+ {
+ if (value == null || value.equalsIgnoreCase("anticlockwise"))
+ {
+ return Rotation.ANTICLOCKWISE;
+ }
+ else
+ {
+ return Rotation.CLOCKWISE;
+ }
+ }
+
+ @Override
+ public void configurePlot(Plot plot)
+ {
+ super.configurePlot(plot);
+
+ if (plot instanceof PiePlot)
+ {
+ PiePlot pieplot = (PiePlot) plot;
+ if (label != null)
+ {
+ pieplot.setLabelGenerator(new StandardPieSectionLabelGenerator(label));
+ }
+
+ if (baseSectionOutlinePaint != null)
+ {
+ pieplot.setBaseSectionOutlinePaint(findColor(baseSectionOutlinePaint));
+ }
+ if (baseSectionOutlineStroke != null)
+ {
+ pieplot.setBaseSectionOutlineStroke(findStroke(baseSectionOutlineStroke));
+ }
+ if (baseSectionPaint != null)
+ {
+ pieplot.setBaseSectionPaint(findColor(baseSectionPaint));
+ }
+
+ if (circular != null)
+ {
+ pieplot.setCircular(circular);
+ }
+ if (startAngle != null)
+ {
+ pieplot.setStartAngle(startAngle);
+ }
+ if (direction != null)
+ {
+ pieplot.setDirection(rotationValue(direction));
+ }
+
+ if (sectionOutlinePaint != null)
+ {
+ pieplot.setSectionOutlinePaint(findColor(sectionOutlinePaint));
+ }
+ if (sectionOutlineStroke != null)
+ {
+ pieplot.setSectionOutlineStroke(findStroke(sectionOutlineStroke));
+ }
+ if (sectionOutlinesVisible != null)
+ {
+ pieplot.setSectionOutlinesVisible(sectionOutlinesVisible);
+ }
+
+ // pieplot.setLabelFont(arg0);
+ if (labelBackgroundPaint != null)
+ {
+ pieplot.setLabelBackgroundPaint(findColor(labelBackgroundPaint));
+ }
+ if (labelGap != null)
+ {
+ pieplot.setLabelGap(labelGap);
+ }
+ if (labelLinkMargin != null)
+ {
+ pieplot.setLabelLinkMargin(labelLinkMargin);
+ }
+ if (labelLinkPaint != null)
+ {
+ pieplot.setLabelLinkPaint(findColor(labelLinkPaint));
+ }
+ if (labelLinkStroke != null)
+ {
+ pieplot.setLabelLinkStroke(findStroke(labelLinkStroke));
+ }
+ if (labelLinksVisible != null)
+ {
+ pieplot.setLabelLinksVisible(labelLinksVisible);
+ }
+ if (labelOutlinePaint != null)
+ {
+ pieplot.setLabelOutlinePaint(findColor(labelOutlinePaint));
+ }
+ if (labelOutlineStroke != null)
+ {
+ pieplot.setLabelOutlineStroke(findStroke(labelOutlineStroke));
+ }
+ if (labelPaint != null)
+ {
+ pieplot.setLabelPaint(findColor(labelPaint));
+ }
+ if (labelShadowPaint != null)
+ {
+ pieplot.setLabelShadowPaint(findColor(labelShadowPaint));
+ }
+
+ }
+ }
+
+ @Override
+ public JFreeChart createChart(FacesContext context)
+ {
+ legend = (Boolean) valueBinding(context, "legend", getLegend());
+
+ if (!is3D)
+ {
+ return ChartFactory.createPieChart(getTitle(), data, legend, false, false);
+ }
+ else
+ {
+ return ChartFactory.createPieChart3D(getTitle(), data, legend, false, false);
+ }
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIRectangle.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIRectangle.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIRectangle.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -6,138 +6,162 @@
import com.lowagie.text.Rectangle;
-public abstract class UIRectangle
-extends ITextComponent
+public abstract class UIRectangle extends ITextComponent
{
- protected Integer border;
- protected String borderColor;
- protected String borderColorLeft;
- protected String borderColorRight;
- protected String borderColorTop;
- protected String borderColorBottom;
- protected String backgroundColor;
- protected Float borderWidth;
- protected Float borderWidthLeft;
- protected Float borderWidthRight;
- protected Float borderWidthTop;
- protected Float borderWidthBottom;
+ protected Integer border;
+ protected String borderColor;
+ protected String borderColorLeft;
+ protected String borderColorRight;
+ protected String borderColorTop;
+ protected String borderColorBottom;
+ protected String backgroundColor;
+ protected Float borderWidth;
+ protected Float borderWidthLeft;
+ protected Float borderWidthRight;
+ protected Float borderWidthTop;
+ protected Float borderWidthBottom;
- public UIRectangle() {
- super();
- }
+ public UIRectangle()
+ {
+ super();
+ }
- // xxx - use string
- public void setBorder(Integer border) {
- this.border = border;
- }
-
- public void setBorderWidth(Float borderWidth) {
- this.borderWidth = borderWidth;
- }
+ // xxx - use string
+ public void setBorder(Integer border)
+ {
+ this.border = border;
+ }
- public void setBorderWidthBottom(Float borderWidthBottom) {
- this.borderWidthBottom = borderWidthBottom;
- }
+ public void setBorderWidth(Float borderWidth)
+ {
+ this.borderWidth = borderWidth;
+ }
- public void setBorderWidthLeft(Float borderWidthLeft) {
- this.borderWidthLeft = borderWidthLeft;
- }
+ public void setBorderWidthBottom(Float borderWidthBottom)
+ {
+ this.borderWidthBottom = borderWidthBottom;
+ }
- public void setBorderWidthRight(Float borderWidthRight) {
- this.borderWidthRight = borderWidthRight;
- }
+ public void setBorderWidthLeft(Float borderWidthLeft)
+ {
+ this.borderWidthLeft = borderWidthLeft;
+ }
- public void setBorderWidthTop(Float borderWidthTop) {
- this.borderWidthTop = borderWidthTop;
- }
+ public void setBorderWidthRight(Float borderWidthRight)
+ {
+ this.borderWidthRight = borderWidthRight;
+ }
- public void setBackgroundColor(String backgroundColor) {
- this.backgroundColor = backgroundColor;
- }
+ public void setBorderWidthTop(Float borderWidthTop)
+ {
+ this.borderWidthTop = borderWidthTop;
+ }
- public void setBorderColor(String borderColor) {
- this.borderColor = borderColor;
- }
+ public void setBackgroundColor(String backgroundColor)
+ {
+ this.backgroundColor = backgroundColor;
+ }
- public void setBorderColorBottom(String borderColorBottom) {
- this.borderColorBottom = borderColorBottom;
- }
+ public void setBorderColor(String borderColor)
+ {
+ this.borderColor = borderColor;
+ }
- public void setBorderColorLeft(String borderColorLeft) {
- this.borderColorLeft = borderColorLeft;
- }
+ public void setBorderColorBottom(String borderColorBottom)
+ {
+ this.borderColorBottom = borderColorBottom;
+ }
- public void setBorderColorRight(String borderColorRight) {
- this.borderColorRight = borderColorRight;
- }
+ public void setBorderColorLeft(String borderColorLeft)
+ {
+ this.borderColorLeft = borderColorLeft;
+ }
- public void setBorderColorTop(String borderColorTop) {
- this.borderColorTop = borderColorTop;
- }
+ public void setBorderColorRight(String borderColorRight)
+ {
+ this.borderColorRight = borderColorRight;
+ }
+ public void setBorderColorTop(String borderColorTop)
+ {
+ this.borderColorTop = borderColorTop;
+ }
- public void applyRectangleProperties(FacesContext context, Rectangle rectangle) {
-
- border = (Integer) valueBinding(context, "border", border);
- if (border != null) {
- rectangle.setBorder(border);
- }
-
- backgroundColor = (String) valueBinding(context, "backgroundColor",
backgroundColor);
- if (backgroundColor != null) {
- rectangle.setBackgroundColor(ITextUtils.colorValue(backgroundColor));
- }
+ public void applyRectangleProperties(FacesContext context, Rectangle rectangle)
+ {
- borderColor = (String) valueBinding(context, "borderColor",
borderColor);
- if (borderColor != null) {
- rectangle.setBorderColor(ITextUtils.colorValue(borderColor));
- }
+ border = (Integer) valueBinding(context, "border", border);
+ if (border != null)
+ {
+ rectangle.setBorder(border);
+ }
- borderColorLeft = (String) valueBinding(context, "borderColorLeft",
borderColorLeft);
- if (borderColorLeft != null) {
- rectangle.setBorderColorLeft(ITextUtils.colorValue(borderColorLeft));
- }
+ backgroundColor = (String) valueBinding(context, "backgroundColor",
backgroundColor);
+ if (backgroundColor != null)
+ {
+ rectangle.setBackgroundColor(ITextUtils.colorValue(backgroundColor));
+ }
- borderColorRight = (String) valueBinding(context, "borderColorRight",
borderColorRight);
- if (borderColorRight != null) {
- rectangle.setBorderColorRight(ITextUtils.colorValue(borderColorRight));
- }
+ borderColor = (String) valueBinding(context, "borderColor",
borderColor);
+ if (borderColor != null)
+ {
+ rectangle.setBorderColor(ITextUtils.colorValue(borderColor));
+ }
- borderColorTop = (String) valueBinding(context, "borderColorTop",
borderColorTop);
- if (borderColorTop != null) {
- rectangle.setBorderColorTop(ITextUtils.colorValue(borderColorTop));
- }
+ borderColorLeft = (String) valueBinding(context, "borderColorLeft",
borderColorLeft);
+ if (borderColorLeft != null)
+ {
+ rectangle.setBorderColorLeft(ITextUtils.colorValue(borderColorLeft));
+ }
- borderColorBottom = (String) valueBinding(context, "borderColorBottom",
borderColorBottom);
- if (borderColorBottom != null) {
- rectangle.setBorderColorBottom(ITextUtils.colorValue(borderColorBottom));
- }
+ borderColorRight = (String) valueBinding(context, "borderColorRight",
borderColorRight);
+ if (borderColorRight != null)
+ {
+ rectangle.setBorderColorRight(ITextUtils.colorValue(borderColorRight));
+ }
- borderWidth = (Float) valueBinding(context, "borderWidth",
borderWidth);
- if (borderWidth != null) {
- rectangle.setBorderWidth(borderWidth);
- }
+ borderColorTop = (String) valueBinding(context, "borderColorTop",
borderColorTop);
+ if (borderColorTop != null)
+ {
+ rectangle.setBorderColorTop(ITextUtils.colorValue(borderColorTop));
+ }
- borderWidthLeft = (Float) valueBinding(context, "borderWidthLeft",
borderWidthLeft);
- if (borderWidthLeft != null) {
- rectangle.setBorderWidthLeft(borderWidthLeft);
- }
+ borderColorBottom = (String) valueBinding(context, "borderColorBottom",
borderColorBottom);
+ if (borderColorBottom != null)
+ {
+ rectangle.setBorderColorBottom(ITextUtils.colorValue(borderColorBottom));
+ }
- borderWidthRight = (Float) valueBinding(context, "borderWidthRight",
borderWidthRight);
- if (borderWidthRight != null) {
- rectangle.setBorderWidthRight(borderWidthRight);
- }
+ borderWidth = (Float) valueBinding(context, "borderWidth", borderWidth);
+ if (borderWidth != null)
+ {
+ rectangle.setBorderWidth(borderWidth);
+ }
- borderWidthTop = (Float) valueBinding(context, "borderWidthTop",
borderWidthTop);
- if (borderWidthTop != null) {
- rectangle.setBorderWidthTop(borderWidthTop);
- }
+ borderWidthLeft = (Float) valueBinding(context, "borderWidthLeft",
borderWidthLeft);
+ if (borderWidthLeft != null)
+ {
+ rectangle.setBorderWidthLeft(borderWidthLeft);
+ }
- borderWidthBottom = (Float) valueBinding(context, "borderWidthBottom",
borderWidthBottom);
- if (borderWidthBottom != null) {
- rectangle.setBorderWidthBottom(borderWidthBottom);
- }
+ borderWidthRight = (Float) valueBinding(context, "borderWidthRight",
borderWidthRight);
+ if (borderWidthRight != null)
+ {
+ rectangle.setBorderWidthRight(borderWidthRight);
+ }
- }
+ borderWidthTop = (Float) valueBinding(context, "borderWidthTop",
borderWidthTop);
+ if (borderWidthTop != null)
+ {
+ rectangle.setBorderWidthTop(borderWidthTop);
+ }
+ borderWidthBottom = (Float) valueBinding(context, "borderWidthBottom",
borderWidthBottom);
+ if (borderWidthBottom != null)
+ {
+ rectangle.setBorderWidthBottom(borderWidthBottom);
+ }
+
+ }
+
}
\ No newline at end of file
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UISection.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UISection.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UISection.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -3,63 +3,72 @@
import javax.faces.context.*;
import com.lowagie.text.*;
-public class UISection
- extends ITextComponent
+public class UISection extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UISection";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UISection";
- Section section;
- Integer numberDepth;
-
- public void setNumberDepth(Integer numberDepth) {
- this.numberDepth = numberDepth;
- }
-
- public Section getSection() {
- return section;
- }
-
- @Override
- public Object getITextObject() {
- return null; // don't add to parent - already added.
- }
+ Section section;
+ Integer numberDepth;
- @Override
- public void removeITextObject() {
- section = null;
- }
+ public void setNumberDepth(Integer numberDepth)
+ {
+ this.numberDepth = numberDepth;
+ }
- @Override
- public void handleAdd(Object o) {
- section.add(o);
- }
-
- @Override
- public void createITextObject(FacesContext context) {
- UISection uiParent = (UISection)findITextParent(getParent(), UISection.class);
-
- Section sectionParent = uiParent.getSection();
- if (sectionParent == null) {
- throw new RuntimeException("section must have a parent
chapter/section");
- }
-
- numberDepth = (Integer) valueBinding(context, "numberDepth",
numberDepth);
- if (numberDepth == null) {
- numberDepth = countSectionParents(this, 0);
- }
+ public Section getSection()
+ {
+ return section;
+ }
- section = sectionParent.addSection(new Paragraph(""), numberDepth);
- }
+ @Override
+ public Object getITextObject()
+ {
+ return null; // don't add to parent - already added.
+ }
- private int countSectionParents(UISection component, int level) {
- if (component == null) {
- return level;
- }
- return countSectionParents((UISection)findITextParent(component.getParent(),
UISection.class),
- level+1);
- }
+ @Override
+ public void removeITextObject()
+ {
+ section = null;
+ }
- public void setTitle(Paragraph title) {
- section.setTitle(title);
- }
+ @Override
+ public void handleAdd(Object o)
+ {
+ section.add(o);
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ UISection uiParent = (UISection) findITextParent(getParent(), UISection.class);
+
+ Section sectionParent = uiParent.getSection();
+ if (sectionParent == null)
+ {
+ throw new RuntimeException("section must have a parent
chapter/section");
+ }
+
+ numberDepth = (Integer) valueBinding(context, "numberDepth",
numberDepth);
+ if (numberDepth == null)
+ {
+ numberDepth = countSectionParents(this, 0);
+ }
+
+ section = sectionParent.addSection(new Paragraph(""), numberDepth);
+ }
+
+ private int countSectionParents(UISection component, int level)
+ {
+ if (component == null)
+ {
+ return level;
+ }
+ return countSectionParents((UISection) findITextParent(component.getParent(),
UISection.class), level + 1);
+ }
+
+ public void setTitle(Paragraph title)
+ {
+ section.setTitle(title);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UISignature.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UISignature.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UISignature.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -20,123 +20,140 @@
import com.lowagie.text.pdf.PdfStamper;
import com.lowagie.text.pdf.PdfWriter;
-public class UISignature
- extends ITextComponent
+public class UISignature extends ITextComponent
{
- // signature box
- String field;
- String size;
- String reason;
- String location;
-
- public void setField(String field) {
- this.field = field;
- }
-
- public void setSize(String size) {
- this.size = size;
- }
- public void setReason(String reason) {
- this.reason = reason;
- }
- public void setLocation(String location) {
- this.location = location;
- }
-
-
-
- @Override
- public void createITextObject(FacesContext context) {}
+ // signature box
+ String field;
+ String size;
+ String reason;
+ String location;
- @Override
- public void removeITextObject() {}
-
- @Override
- public Object getITextObject() {
- return null;
- }
+ public void setField(String field)
+ {
+ this.field = field;
+ }
- @Override
- public void handleAdd(Object other) {
- throw new RuntimeException("PDF signature does not accept children");
- }
+ public void setSize(String size)
+ {
+ this.size = size;
+ }
- @Override
- public void encodeEnd(FacesContext context) throws IOException {
- PdfWriter writer = findWriter();
- if (writer == null) {
- throw new RuntimeException("Cannot find PdfWriter - the document may not
exist or may not be a pdf type");
- }
-
- PdfAcroForm form = writer.getAcroForm();
+ public void setReason(String reason)
+ {
+ this.reason = reason;
+ }
- field = (String) valueBinding(context, "field", field);
- if (field == null) {
- throw new RuntimeException("signature field named is required");
- }
-
- size = (String) valueBinding(context, "size", size);
- if (size == null) {
- throw new RuntimeException("signature size is required");
- }
- float[] rect = ITextUtils.stringToFloatArray(size);
- if (rect.length != 4) {
- throw new RuntimeException("size must contain four numbers");
- }
- form.addSignature(field, rect[0], rect[1], rect[2], rect[3]);
-
- UIDocument doc = (UIDocument) findITextParent(this, UIDocument.class);
- doc.addSignature(this);
-
- super.encodeEnd(context);
- }
+ public void setLocation(String location)
+ {
+ this.location = location;
+ }
- private PdfWriter findWriter() {
- UIDocument doc = (UIDocument) findITextParent(this, UIDocument.class);
- if (doc != null) {
- DocWriter writer = doc.getWriter();
-
- if (writer instanceof PdfWriter) {
- return (PdfWriter) writer;
- }
- }
- return null;
- }
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ }
- public byte[] sign(byte[] originalBytes) {
- KeyStoreConfig store = KeyStoreConfig.instance();
-
- try {
- InputStream is = FacesResources.getResourceAsStream( store.getKeyStore(),
getFacesContext().getExternalContext() );
-
- KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
- ks.load(is, store.getKeyStorePassword().toCharArray());
+ @Override
+ public void removeITextObject()
+ {
+ }
- PrivateKey key = (PrivateKey) ks.getKey(store.getKeyAlias(),
- store.getKeyPassword().toCharArray());
- Certificate[] chain = ks.getCertificateChain(store.getKeyAlias());
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
- PdfReader reader = new PdfReader(originalBytes);
- ByteArrayOutputStream os = new ByteArrayOutputStream();
+ @Override
+ public void handleAdd(Object other)
+ {
+ throw new RuntimeException("PDF signature does not accept children");
+ }
- PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0');
- PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
- appearance.setCrypto(key, chain, null,
- PdfSignatureAppearance.SELF_SIGNED);
-
- appearance.setReason(reason);
- appearance.setLocation(location);
-
- appearance.setVisibleSignature(field);
- stamper.close();
-
- return os.toByteArray();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
+ @Override
+ public void encodeEnd(FacesContext context) throws IOException
+ {
+ PdfWriter writer = findWriter();
+ if (writer == null)
+ {
+ throw new RuntimeException("Cannot find PdfWriter - the document may not
exist or may not be a pdf type");
+ }
- }
+ PdfAcroForm form = writer.getAcroForm();
+ field = (String) valueBinding(context, "field", field);
+ if (field == null)
+ {
+ throw new RuntimeException("signature field named is required");
+ }
-
+ size = (String) valueBinding(context, "size", size);
+ if (size == null)
+ {
+ throw new RuntimeException("signature size is required");
+ }
+ float[] rect = ITextUtils.stringToFloatArray(size);
+ if (rect.length != 4)
+ {
+ throw new RuntimeException("size must contain four numbers");
+ }
+ form.addSignature(field, rect[0], rect[1], rect[2], rect[3]);
+
+ UIDocument doc = (UIDocument) findITextParent(this, UIDocument.class);
+ doc.addSignature(this);
+
+ super.encodeEnd(context);
+ }
+
+ private PdfWriter findWriter()
+ {
+ UIDocument doc = (UIDocument) findITextParent(this, UIDocument.class);
+ if (doc != null)
+ {
+ DocWriter writer = doc.getWriter();
+
+ if (writer instanceof PdfWriter)
+ {
+ return (PdfWriter) writer;
+ }
+ }
+ return null;
+ }
+
+ public byte[] sign(byte[] originalBytes)
+ {
+ KeyStoreConfig store = KeyStoreConfig.instance();
+
+ try
+ {
+ InputStream is = FacesResources.getResourceAsStream(store.getKeyStore(),
getFacesContext().getExternalContext());
+
+ KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
+ ks.load(is, store.getKeyStorePassword().toCharArray());
+
+ PrivateKey key = (PrivateKey) ks.getKey(store.getKeyAlias(),
store.getKeyPassword().toCharArray());
+ Certificate[] chain = ks.getCertificateChain(store.getKeyAlias());
+
+ PdfReader reader = new PdfReader(originalBytes);
+ ByteArrayOutputStream os = new ByteArrayOutputStream();
+
+ PdfStamper stamper = PdfStamper.createSignature(reader, os, '\0');
+ PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
+ appearance.setCrypto(key, chain, null, PdfSignatureAppearance.SELF_SIGNED);
+
+ appearance.setReason(reason);
+ appearance.setLocation(location);
+
+ appearance.setVisibleSignature(field);
+ stamper.close();
+
+ return os.toByteArray();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIStroke.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIStroke.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIStroke.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -8,142 +8,170 @@
import org.jboss.seam.pdf.ITextUtils;
-public class UIStroke
- extends UIComponentBase
+public class UIStroke extends UIComponentBase
{
- Float width;
- String cap; // CAP_BUTT, CAP_ROUND, CAP_SQUARE
- String join; // JOIN_MITER, JOIN_ROUND, JOIN_BEVEL
- Float miterLimit =1f;
- String dashString;
- Float dashPhase = 0f;
-
- public String getCap() {
- return cap;
- }
+ Float width;
+ String cap; // CAP_BUTT, CAP_ROUND, CAP_SQUARE
+ String join; // JOIN_MITER, JOIN_ROUND, JOIN_BEVEL
+ Float miterLimit = 1f;
+ String dashString;
+ Float dashPhase = 0f;
- public void setCap(String cap) {
- this.cap = cap;
- }
+ public String getCap()
+ {
+ return cap;
+ }
- public String getDash() {
- return dashString;
- }
+ public void setCap(String cap)
+ {
+ this.cap = cap;
+ }
- public void setDash(String dash) {
- this.dashString = dash;
- }
+ public String getDash()
+ {
+ return dashString;
+ }
- public float getDashPhase() {
- return dashPhase;
- }
+ public void setDash(String dash)
+ {
+ this.dashString = dash;
+ }
- public void setDashPhase(float dashPhase) {
- this.dashPhase = dashPhase;
- }
+ public float getDashPhase()
+ {
+ return dashPhase;
+ }
- public String getJoin() {
- return join;
- }
+ public void setDashPhase(float dashPhase)
+ {
+ this.dashPhase = dashPhase;
+ }
- public void setJoin(String join) {
- this.join = join;
- }
+ public String getJoin()
+ {
+ return join;
+ }
- public float getMiterlimit() {
- return miterLimit;
- }
+ public void setJoin(String join)
+ {
+ this.join = join;
+ }
- public void setMiterLimit(float miterLimit) {
- this.miterLimit = miterLimit;
- }
+ public float getMiterlimit()
+ {
+ return miterLimit;
+ }
- public float getWidth() {
- return width;
- }
+ public void setMiterLimit(float miterLimit)
+ {
+ this.miterLimit = miterLimit;
+ }
- public void setWidth(float width) {
- this.width = width;
- }
-
- public int capValue(String cap) {
- if (cap == null || cap.equalsIgnoreCase("butt")) {
- return BasicStroke.CAP_BUTT;
- } else if (cap.equalsIgnoreCase("round")) {
- return BasicStroke.CAP_ROUND;
- } else if (cap.equalsIgnoreCase("square")) {
- return BasicStroke.CAP_SQUARE;
- }
- throw new RuntimeException("invalid cap value: " + cap);
- }
-
- public int joinValue(String join) {
- if (join == null || join.equalsIgnoreCase("miter")) {
- return BasicStroke.JOIN_MITER;
- } else if (join.equalsIgnoreCase("round")) {
- return BasicStroke.JOIN_ROUND;
- } else if (join.equalsIgnoreCase("bevel")) {
- return BasicStroke.JOIN_BEVEL;
- }
- throw new RuntimeException("invalid join value: " + join);
- }
-
+ public float getWidth()
+ {
+ return width;
+ }
- @Override
- public String getFamily() {
- return ITextComponent.COMPONENT_FAMILY;
- }
-
-
- @Override
- public void restoreState(FacesContext context, Object state)
- {
- Object[] values = (Object[]) state;
- super.restoreState(context, values[0]);
+ public void setWidth(float width)
+ {
+ this.width = width;
+ }
- width = (Float) values[1];
- cap = (String) values[2];
- join = (String) values[3];
- miterLimit = (Float) values[4];
- dashString = (String) values[5];
- dashPhase = (Float) values[6];
- }
+ public int capValue(String cap)
+ {
+ if (cap == null || cap.equalsIgnoreCase("butt"))
+ {
+ return BasicStroke.CAP_BUTT;
+ }
+ else if (cap.equalsIgnoreCase("round"))
+ {
+ return BasicStroke.CAP_ROUND;
+ }
+ else if (cap.equalsIgnoreCase("square"))
+ {
+ return BasicStroke.CAP_SQUARE;
+ }
+ throw new RuntimeException("invalid cap value: " + cap);
+ }
- @Override
- public Object saveState(FacesContext context)
- {
- Object[] values = new Object[7];
-
- values[0] = super.saveState(context);
- values[1] = width;
- values[2] = cap;
- values[3] = join;
- values[4] = miterLimit;
- values[5] = dashString;
- values[6] = dashPhase;
-
- return values;
- }
-
- public Stroke getStroke() {
- if (width == null) {
- return new BasicStroke();
- } else if (cap == null) {
- return new BasicStroke(getWidth());
- } else if (dashString == null) {
- if (miterLimit == null) {
- return new BasicStroke(getWidth(), capValue(getCap()),
joinValue(getJoin()));
- } else {
- return new BasicStroke(getWidth(), capValue(getCap()),
joinValue(getJoin()), miterLimit);
- }
- } else {
- return new BasicStroke(getWidth(),
- capValue(getCap()),
- joinValue(getJoin()),
- getMiterlimit(),
- ITextUtils.stringToFloatArray(getDash()),
- getDashPhase());
- }
- }
+ public int joinValue(String join)
+ {
+ if (join == null || join.equalsIgnoreCase("miter"))
+ {
+ return BasicStroke.JOIN_MITER;
+ }
+ else if (join.equalsIgnoreCase("round"))
+ {
+ return BasicStroke.JOIN_ROUND;
+ }
+ else if (join.equalsIgnoreCase("bevel"))
+ {
+ return BasicStroke.JOIN_BEVEL;
+ }
+ throw new RuntimeException("invalid join value: " + join);
+ }
+ @Override
+ public String getFamily()
+ {
+ return ITextComponent.COMPONENT_FAMILY;
+ }
+
+ @Override
+ public void restoreState(FacesContext context, Object state)
+ {
+ Object[] values = (Object[]) state;
+ super.restoreState(context, values[0]);
+
+ width = (Float) values[1];
+ cap = (String) values[2];
+ join = (String) values[3];
+ miterLimit = (Float) values[4];
+ dashString = (String) values[5];
+ dashPhase = (Float) values[6];
+ }
+
+ @Override
+ public Object saveState(FacesContext context)
+ {
+ Object[] values = new Object[7];
+
+ values[0] = super.saveState(context);
+ values[1] = width;
+ values[2] = cap;
+ values[3] = join;
+ values[4] = miterLimit;
+ values[5] = dashString;
+ values[6] = dashPhase;
+
+ return values;
+ }
+
+ public Stroke getStroke()
+ {
+ if (width == null)
+ {
+ return new BasicStroke();
+ }
+ else if (cap == null)
+ {
+ return new BasicStroke(getWidth());
+ }
+ else if (dashString == null)
+ {
+ if (miterLimit == null)
+ {
+ return new BasicStroke(getWidth(), capValue(getCap()),
joinValue(getJoin()));
+ }
+ else
+ {
+ return new BasicStroke(getWidth(), capValue(getCap()), joinValue(getJoin()),
miterLimit);
+ }
+ }
+ else
+ {
+ return new BasicStroke(getWidth(), capValue(getCap()), joinValue(getJoin()),
getMiterlimit(), ITextUtils.stringToFloatArray(getDash()), getDashPhase());
+ }
+ }
+
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UISwingComponent.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UISwingComponent.java 2008-08-30 11:55:40 UTC (rev
8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UISwingComponent.java 2008-08-30 12:01:23 UTC (rev
8856)
@@ -3,38 +3,40 @@
import java.awt.Component;
import java.awt.Graphics2D;
-public class UISwingComponent extends UIGraphics2D {
- private Component component;
+public class UISwingComponent extends UIGraphics2D
+{
+ private Component component;
- public void setComponent(Component component) {
- this.component = component;
- }
+ public void setComponent(Component component)
+ {
+ this.component = component;
+ }
- public Component getComponent() {
- return (Component) valueBinding("component", component);
- }
-
-
- @Override
- public void render(Graphics2D g2) {
- // don't use the component variable directly!
- // we need to check for the valueBinding
- Component component = getComponent();
+ public Component getComponent()
+ {
+ return (Component) valueBinding("component", component);
+ }
- if (component == null) {
- throw new RuntimeException("Component was null");
- }
+ @Override
+ public void render(Graphics2D g2)
+ {
+ // don't use the component variable directly!
+ // we need to check for the valueBinding
+ Component component = getComponent();
- System.out.println("component is " + component + " " +
- component.getWidth() + "x" + component.getHeight());
- // setSize() is very important. The default size
- // for this component is zero, which means it will not display
- // unless the size is set
- component.setSize(getWidth(), getHeight());
+ if (component == null)
+ {
+ throw new RuntimeException("Component was null");
+ }
- System.out.println("component is " + component + " " +
- component.getWidth() + "x" + component.getHeight());
- component.paint(g2);
- System.out.println("g2=" + g2);
- }
+ System.out.println("component is " + component + " " +
component.getWidth() + "x" + component.getHeight());
+ // setSize() is very important. The default size
+ // for this component is zero, which means it will not display
+ // unless the size is set
+ component.setSize(getWidth(), getHeight());
+
+ System.out.println("component is " + component + " " +
component.getWidth() + "x" + component.getHeight());
+ component.paint(g2);
+ System.out.println("g2=" + g2);
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UITable.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UITable.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UITable.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -7,215 +7,260 @@
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
-public class UITable
- extends ITextComponent
+public class UITable extends ITextComponent
{
- public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UITable";
+ public static final String COMPONENT_TYPE =
"org.jboss.seam.pdf.ui.UITable";
- PdfPTable table;
- String widths;
- int columns = 1;
- Integer headerRows = 0;
- Integer footerRows = 0;
- Float widthPercentage;
- Integer horizontalAlignment;
- Boolean skipFirstHeader;
- Integer runDirection;
- Boolean lockedWidth;
- Boolean splitRows;
- Float spacingBefore;
- Float spacingAfter;
- Boolean extendLastRow;
- Boolean headersInEvent;
- Boolean splitLate;
- Boolean keepTogether;
+ PdfPTable table;
+ String widths;
+ int columns = 1;
+ Integer headerRows = 0;
+ Integer footerRows = 0;
+ Float widthPercentage;
+ Integer horizontalAlignment;
+ Boolean skipFirstHeader;
+ Integer runDirection;
+ Boolean lockedWidth;
+ Boolean splitRows;
+ Float spacingBefore;
+ Float spacingAfter;
+ Boolean extendLastRow;
+ Boolean headersInEvent;
+ Boolean splitLate;
+ Boolean keepTogether;
+ public void setWidths(String widths)
+ {
+ this.widths = widths;
+ }
- public void setWidths(String widths) {
- this.widths = widths;
- }
-
- public void setColumns(int columns) {
- this.columns = columns;
- }
+ public void setColumns(int columns)
+ {
+ this.columns = columns;
+ }
- public void setHeaderRows(Integer headerRows) {
- this.headerRows = headerRows;
- }
+ public void setHeaderRows(Integer headerRows)
+ {
+ this.headerRows = headerRows;
+ }
- public void setFooterRows(Integer footerRows) {
- this.footerRows = footerRows;
- }
+ public void setFooterRows(Integer footerRows)
+ {
+ this.footerRows = footerRows;
+ }
- public void setExtendLastRow(Boolean extendLastRow) {
- this.extendLastRow = extendLastRow;
- }
-
- public void setHeadersInEvent(Boolean headersInEvent) {
- this.headersInEvent = headersInEvent;
- }
-
- public void setHorizontalAlignment(String horizontalAlignment) {
- this.horizontalAlignment = ITextUtils.alignmentValue(horizontalAlignment);
- }
-
- public void setKeepTogether(Boolean keepTogether) {
- this.keepTogether = keepTogether;
- }
-
- public void setLockedWidth(Boolean lockedWidth) {
- this.lockedWidth = lockedWidth;
- }
-
- public void setRunDirection(Integer runDirection) {
- this.runDirection = runDirection;
- }
-
- public void setSkipFirstHeader(Boolean skipFirstHeader) {
- this.skipFirstHeader = skipFirstHeader;
- }
-
- public void setSpacingAfter(Float spacingAfter) {
- this.spacingAfter = spacingAfter;
- }
-
- public void setSpacingBefore(Float spacingBefore) {
- this.spacingBefore = spacingBefore;
- }
-
- public void setSplitLate(Boolean splitLate) {
- this.splitLate = splitLate;
- }
-
- public void setSplitRows(Boolean splitRows) {
- this.splitRows = splitRows;
- }
-
- public void setTable(PdfPTable table) {
- this.table = table;
- }
-
- public void setWidthPercentage(Float widthPercentage) {
- this.widthPercentage = widthPercentage;
- }
-
-
-
- @Override
- public Object getITextObject() {
- return table;
- }
-
- @Override
- public void removeITextObject() {
- table = null;
- }
-
- @Override
- public void createITextObject(FacesContext context) {
- columns = (Integer) valueBinding(context, "columns", columns);
- table = new PdfPTable(columns);
-
- widths = (String) valueBinding(context, "widths", widths);
- if (widths != null) {
- try {
- table.setWidths(ITextUtils.stringToFloatArray(widths));
- } catch (DocumentException e) {
- throw new RuntimeException(e);
- }
- }
-
- headerRows = (Integer) valueBinding(context, "headerRows",
headerRows);
- if (headerRows != null) {
- table.setHeaderRows(headerRows);
- }
-
- footerRows = (Integer) valueBinding(context, "footerRows",
footerRows);
- if (footerRows != null) {
- table.setFooterRows(footerRows);
- }
-
- widthPercentage = (Float) valueBinding(context, "widthPercentage",
widthPercentage);
- if (widthPercentage!=null) {
- table.setWidthPercentage(widthPercentage);
- }
-
- horizontalAlignment = (Integer) valueBinding(context,
"horizontalAlignment", horizontalAlignment);
- if (horizontalAlignment!=null) {
- table.setHorizontalAlignment(horizontalAlignment);
- }
-
- runDirection = (Integer) valueBinding(context, "runDirection",
runDirection);
- if (runDirection!=null) {
- table.setRunDirection(runDirection);
- }
-
- lockedWidth = (Boolean) valueBinding(context, "lockedWidth",
lockedWidth);
- if (lockedWidth!=null) {
- table.setLockedWidth(lockedWidth);
- }
-
- splitRows = (Boolean) valueBinding(context, "splitRows", splitRows);
- if (splitRows!=null) {
- table.setSplitRows(splitRows);
- }
-
- spacingBefore = (Float) valueBinding(context, "spacingBefore",
spacingBefore);
- if (spacingBefore!=null) {
- table.setSpacingBefore(spacingBefore);
- }
-
- spacingAfter = (Float) valueBinding(context, "spacingAfter",
spacingAfter);
- if (spacingAfter!=null) {
- table.setSpacingAfter(spacingAfter);
- }
-
- extendLastRow = (Boolean) valueBinding(context, "extendLastRow",
extendLastRow);
- if (extendLastRow!=null) {
- table.setExtendLastRow(extendLastRow);
- }
-
- headersInEvent = (Boolean) valueBinding(context, "headersInEvent",
headersInEvent);
- if (headersInEvent!=null) {
- table.setHeadersInEvent(headersInEvent);
- }
-
- splitLate = (Boolean) valueBinding(context, "splitLate", splitLate);
- if (splitLate!=null) {
- table.setSplitLate(splitLate);
- }
-
- keepTogether = (Boolean) valueBinding(context, "keepTogether",
keepTogether);
- if (keepTogether!=null) {
- table.setKeepTogether(keepTogether);
- }
- }
-
- @Override
- public void handleAdd(Object o) {
- if (o instanceof PdfPCell) {
- table.addCell((PdfPCell) o);
- } else if (o instanceof PdfPTable) {
- table.addCell((PdfPTable) o);
- } else if (o instanceof Phrase) {
- table.addCell((Phrase) o);
- } else if (o instanceof Image) {
- table.addCell((Image) o);
- } else {
- throw new RuntimeException("Can't add " +
o.getClass().getName() +
- " to table");
- }
- }
+ public void setExtendLastRow(Boolean extendLastRow)
+ {
+ this.extendLastRow = extendLastRow;
+ }
- public PdfPCell getDefaultCellFacet() {
- Object facet = processFacet("defaultCell");
-
- if (facet != null) {
- if (!(facet instanceof PdfPCell)) {
- throw new RuntimeException("UITable defaultCell facet must be a PdfPCell -
found " + facet.getClass());
- }
- return (PdfPCell) facet;
- }
- return null;
- }
+ public void setHeadersInEvent(Boolean headersInEvent)
+ {
+ this.headersInEvent = headersInEvent;
+ }
+
+ public void setHorizontalAlignment(String horizontalAlignment)
+ {
+ this.horizontalAlignment = ITextUtils.alignmentValue(horizontalAlignment);
+ }
+
+ public void setKeepTogether(Boolean keepTogether)
+ {
+ this.keepTogether = keepTogether;
+ }
+
+ public void setLockedWidth(Boolean lockedWidth)
+ {
+ this.lockedWidth = lockedWidth;
+ }
+
+ public void setRunDirection(Integer runDirection)
+ {
+ this.runDirection = runDirection;
+ }
+
+ public void setSkipFirstHeader(Boolean skipFirstHeader)
+ {
+ this.skipFirstHeader = skipFirstHeader;
+ }
+
+ public void setSpacingAfter(Float spacingAfter)
+ {
+ this.spacingAfter = spacingAfter;
+ }
+
+ public void setSpacingBefore(Float spacingBefore)
+ {
+ this.spacingBefore = spacingBefore;
+ }
+
+ public void setSplitLate(Boolean splitLate)
+ {
+ this.splitLate = splitLate;
+ }
+
+ public void setSplitRows(Boolean splitRows)
+ {
+ this.splitRows = splitRows;
+ }
+
+ public void setTable(PdfPTable table)
+ {
+ this.table = table;
+ }
+
+ public void setWidthPercentage(Float widthPercentage)
+ {
+ this.widthPercentage = widthPercentage;
+ }
+
+ @Override
+ public Object getITextObject()
+ {
+ return table;
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ table = null;
+ }
+
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ columns = (Integer) valueBinding(context, "columns", columns);
+ table = new PdfPTable(columns);
+
+ widths = (String) valueBinding(context, "widths", widths);
+ if (widths != null)
+ {
+ try
+ {
+ table.setWidths(ITextUtils.stringToFloatArray(widths));
+ }
+ catch (DocumentException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ headerRows = (Integer) valueBinding(context, "headerRows", headerRows);
+ if (headerRows != null)
+ {
+ table.setHeaderRows(headerRows);
+ }
+
+ footerRows = (Integer) valueBinding(context, "footerRows", footerRows);
+ if (footerRows != null)
+ {
+ table.setFooterRows(footerRows);
+ }
+
+ widthPercentage = (Float) valueBinding(context, "widthPercentage",
widthPercentage);
+ if (widthPercentage != null)
+ {
+ table.setWidthPercentage(widthPercentage);
+ }
+
+ horizontalAlignment = (Integer) valueBinding(context,
"horizontalAlignment", horizontalAlignment);
+ if (horizontalAlignment != null)
+ {
+ table.setHorizontalAlignment(horizontalAlignment);
+ }
+
+ runDirection = (Integer) valueBinding(context, "runDirection",
runDirection);
+ if (runDirection != null)
+ {
+ table.setRunDirection(runDirection);
+ }
+
+ lockedWidth = (Boolean) valueBinding(context, "lockedWidth",
lockedWidth);
+ if (lockedWidth != null)
+ {
+ table.setLockedWidth(lockedWidth);
+ }
+
+ splitRows = (Boolean) valueBinding(context, "splitRows", splitRows);
+ if (splitRows != null)
+ {
+ table.setSplitRows(splitRows);
+ }
+
+ spacingBefore = (Float) valueBinding(context, "spacingBefore",
spacingBefore);
+ if (spacingBefore != null)
+ {
+ table.setSpacingBefore(spacingBefore);
+ }
+
+ spacingAfter = (Float) valueBinding(context, "spacingAfter",
spacingAfter);
+ if (spacingAfter != null)
+ {
+ table.setSpacingAfter(spacingAfter);
+ }
+
+ extendLastRow = (Boolean) valueBinding(context, "extendLastRow",
extendLastRow);
+ if (extendLastRow != null)
+ {
+ table.setExtendLastRow(extendLastRow);
+ }
+
+ headersInEvent = (Boolean) valueBinding(context, "headersInEvent",
headersInEvent);
+ if (headersInEvent != null)
+ {
+ table.setHeadersInEvent(headersInEvent);
+ }
+
+ splitLate = (Boolean) valueBinding(context, "splitLate", splitLate);
+ if (splitLate != null)
+ {
+ table.setSplitLate(splitLate);
+ }
+
+ keepTogether = (Boolean) valueBinding(context, "keepTogether",
keepTogether);
+ if (keepTogether != null)
+ {
+ table.setKeepTogether(keepTogether);
+ }
+ }
+
+ @Override
+ public void handleAdd(Object o)
+ {
+ if (o instanceof PdfPCell)
+ {
+ table.addCell((PdfPCell) o);
+ }
+ else if (o instanceof PdfPTable)
+ {
+ table.addCell((PdfPTable) o);
+ }
+ else if (o instanceof Phrase)
+ {
+ table.addCell((Phrase) o);
+ }
+ else if (o instanceof Image)
+ {
+ table.addCell((Image) o);
+ }
+ else
+ {
+ throw new RuntimeException("Can't add " + o.getClass().getName() +
" to table");
+ }
+ }
+
+ public PdfPCell getDefaultCellFacet()
+ {
+ Object facet = processFacet("defaultCell");
+
+ if (facet != null)
+ {
+ if (!(facet instanceof PdfPCell))
+ {
+ throw new RuntimeException("UITable defaultCell facet must be a PdfPCell
- found " + facet.getClass());
+ }
+ return (PdfPCell) facet;
+ }
+ return null;
+ }
}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UITitle.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UITitle.java 2008-08-30 11:55:40 UTC (rev 8855)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UITitle.java 2008-08-30 12:01:23 UTC (rev 8856)
@@ -4,40 +4,48 @@
import com.lowagie.text.Paragraph;
-public class UITitle extends ITextComponent {
- @Override
- public void createITextObject(FacesContext context) {
- //
- }
+public class UITitle extends ITextComponent
+{
+ @Override
+ public void createITextObject(FacesContext context)
+ {
+ //
+ }
- @Override
- public Object getITextObject() {
- return null;
- }
+ @Override
+ public Object getITextObject()
+ {
+ return null;
+ }
- @Override
- public void handleAdd(Object other) {
- Paragraph paragraph = null;
-
- if (other instanceof Paragraph) {
- paragraph = (Paragraph) other;
- }
-
- if (paragraph == null) {
- throw new RuntimeException("title must be a paragraph");
- }
-
- UISection section = (UISection) findITextParent(this,UISection.class);
- if (section == null) {
- throw new RuntimeException("cannot find parent chapter/section for
title");
- }
-
- section.getSection().setTitle(paragraph);
- }
+ @Override
+ public void handleAdd(Object other)
+ {
+ Paragraph paragraph = null;
- @Override
- public void removeITextObject() {
- //
- }
+ if (other instanceof Paragraph)
+ {
+ paragraph = (Paragraph) other;
+ }
+ if (paragraph == null)
+ {
+ throw new RuntimeException("title must be a paragraph");
+ }
+
+ UISection section = (UISection) findITextParent(this, UISection.class);
+ if (section == null)
+ {
+ throw new RuntimeException("cannot find parent chapter/section for
title");
+ }
+
+ section.getSection().setTitle(paragraph);
+ }
+
+ @Override
+ public void removeITextObject()
+ {
+ //
+ }
+
}