]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Adjust to changes in XML Graphics Commons:
authorJeremias Maerki <jeremias@apache.org>
Mon, 13 Dec 2010 14:49:56 +0000 (14:49 +0000)
committerJeremias Maerki <jeremias@apache.org>
Mon, 13 Dec 2010 14:49:56 +0000 (14:49 +0000)
- equals() to ColorUtil.isSameColor()
- ICCColorSpaceExt to ICCColorSpaceWithIntent
- int to RenderingIntent enum

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_Color@1045155 13f79535-47bb-0310-9956-ffa450edef68

13 files changed:
src/java/org/apache/fop/afp/modca/GraphicsObject.java
src/java/org/apache/fop/afp/ptoca/PtocaBuilder.java
src/java/org/apache/fop/apps/FopFactory.java
src/java/org/apache/fop/fo/properties/ColorProperty.java
src/java/org/apache/fop/pdf/PDFPaintingState.java
src/java/org/apache/fop/render/intermediate/IFSerializer.java
src/java/org/apache/fop/render/intermediate/IFState.java
src/java/org/apache/fop/render/java2d/Java2DGraphicsState.java
src/java/org/apache/fop/traits/BorderProps.java
src/java/org/apache/fop/util/AbstractPaintingState.java
src/java/org/apache/fop/util/ColorSpaceCache.java
src/java/org/apache/fop/util/ColorUtil.java
test/java/org/apache/fop/util/ColorUtilTestCase.java

index b677a0f7cd1f75a28ec16c353fff7964c228f60c..350a602bf01ac4490fb20f184879228e15c572e3 100644 (file)
@@ -26,6 +26,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.xmlgraphics.java2d.color.ColorConverter;
+import org.apache.xmlgraphics.java2d.color.ColorUtil;
 
 import org.apache.fop.afp.AFPDataObjectInfo;
 import org.apache.fop.afp.AFPObjectAreaInfo;
@@ -82,6 +83,7 @@ public class GraphicsObject extends AbstractDataObject {
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setViewport(AFPDataObjectInfo dataObjectInfo) {
         super.setViewport(dataObjectInfo);
 
@@ -145,7 +147,7 @@ public class GraphicsObject extends AbstractDataObject {
      * @param color the active color to use
      */
     public void setColor(Color color) {
-        if (!color.equals(graphicsState.color)) {
+        if (!ColorUtil.isSameColor(color, graphicsState.color)) {
             addObject(new GraphicsSetProcessColor(colorConverter.convert(color)));
             graphicsState.color = color;
         }
@@ -341,6 +343,7 @@ public class GraphicsObject extends AbstractDataObject {
     }
 
     /** {@inheritDoc} */
+    @Override
     public String toString() {
         return "GraphicsObject: " + getName();
     }
@@ -354,6 +357,7 @@ public class GraphicsObject extends AbstractDataObject {
     }
 
     /** {@inheritDoc} */
+    @Override
     public void setComplete(boolean complete) {
         Iterator it = objects.iterator();
         while (it.hasNext()) {
@@ -364,6 +368,7 @@ public class GraphicsObject extends AbstractDataObject {
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void writeStart(OutputStream os) throws IOException {
         super.writeStart(os);
         byte[] data = new byte[17];
@@ -372,12 +377,14 @@ public class GraphicsObject extends AbstractDataObject {
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void writeContent(OutputStream os) throws IOException {
         super.writeContent(os);
         writeObjects(objects, os);
     }
 
     /** {@inheritDoc} */
+    @Override
     protected void writeEnd(OutputStream os) throws IOException {
         byte[] data = new byte[17];
         copySF(data, Type.END, Category.GRAPHICS);
index 054292cc1c203ac0ee81c813045c79e7a5b8d099..2962dc76c65cc81d95e584c2e63f1d1059888dbe 100644 (file)
@@ -27,6 +27,7 @@ import java.io.OutputStream;
 import org.apache.commons.io.output.ByteArrayOutputStream;
 
 import org.apache.xmlgraphics.java2d.color.CIELabColorSpace;
+import org.apache.xmlgraphics.java2d.color.ColorUtil;
 import org.apache.xmlgraphics.java2d.color.ColorWithAlternatives;
 
 /**
@@ -314,8 +315,7 @@ public abstract class PtocaBuilder implements PtocaConstants {
      * @throws IOException if an I/O error occurs
      */
     public void setExtendedTextColor(Color col) throws IOException {
-        //Check in both directions
-        if (col.equals(currentColor) && currentColor.equals(col)) {
+        if (ColorUtil.isSameColor(col, currentColor)) {
             return;
         }
         if (col instanceof ColorWithAlternatives) {
index 15279dc0137f2b0cb9e3bf3decc336b77c4f3d7f..7e97442e68fd837c432031f53b791d0d10c3c22f 100644 (file)
@@ -40,7 +40,7 @@ import org.apache.commons.logging.LogFactory;
 
 import org.apache.xmlgraphics.image.loader.ImageContext;
 import org.apache.xmlgraphics.image.loader.ImageManager;
-import org.apache.xmlgraphics.java2d.color.ICCColorSpaceExt;
+import org.apache.xmlgraphics.java2d.color.RenderingIntent;
 
 import org.apache.fop.fo.ElementMapping;
 import org.apache.fop.fo.ElementMappingRegistry;
@@ -157,6 +157,7 @@ public class FopFactory implements ImageContext {
         this.fontManager = new FontManager() {
 
             /** {@inheritDoc} */
+            @Override
             public void setFontBaseURL(String fontBase) throws MalformedURLException {
                 super.setFontBaseURL(getFOURIResolver().checkBaseURL(fontBase));
             }
@@ -373,6 +374,7 @@ public class FopFactory implements ImageContext {
      * @throws MalformedURLException if there's a problem with a file URL
      * @deprecated use getFontManager().setFontBaseURL(fontBase) instead
      */
+    @Deprecated
     public void setFontBaseURL(String fontBase) throws MalformedURLException {
         getFontManager().setFontBaseURL(fontBase);
     }
@@ -381,6 +383,7 @@ public class FopFactory implements ImageContext {
      * @return the font base URL
      * @deprecated use getFontManager().setFontBaseURL(fontBase) instead
      */
+    @Deprecated
     public String getFontBaseURL() {
         return getFontManager().getFontBaseURL();
     }
@@ -491,6 +494,7 @@ public class FopFactory implements ImageContext {
      * @return true if kerning on base 14 fonts is enabled
      * @deprecated use getFontManager().isBase14KerningEnabled() instead
      */
+    @Deprecated
     public boolean isBase14KerningEnabled() {
         return getFontManager().isBase14KerningEnabled();
     }
@@ -500,6 +504,7 @@ public class FopFactory implements ImageContext {
      * @param value true if kerning should be activated
      * @deprecated use getFontManager().setBase14KerningEnabled(boolean) instead
      */
+    @Deprecated
     public void setBase14KerningEnabled(boolean value) {
         getFontManager().setBase14KerningEnabled(value);
     }
@@ -708,6 +713,7 @@ public class FopFactory implements ImageContext {
      * @param useCache use cache or not
      * @deprecated use getFontManager().setUseCache(boolean) instead
      */
+    @Deprecated
     public void setUseCache(boolean useCache) {
         getFontManager().setUseCache(useCache);
     }
@@ -717,6 +723,7 @@ public class FopFactory implements ImageContext {
      * @return whether this factory is uses the cache
      * @deprecated use getFontManager().useCache() instead
      */
+    @Deprecated
     public boolean useCache() {
         return getFontManager().useCache();
     }
@@ -726,6 +733,7 @@ public class FopFactory implements ImageContext {
      * @return the font cache
      * @deprecated use getFontManager().getFontCache() instead
      */
+    @Deprecated
     public FontCache getFontCache() {
         return getFontManager().getFontCache();
     }
@@ -771,11 +779,11 @@ public class FopFactory implements ImageContext {
      * @param profileName the profile name
      * @param baseUri a base URI to resolve relative URIs
      * @param iccProfileSrc ICC Profile source to return a ColorSpace for
-     * @param renderingIntent overriding rendering intent (see {@link ICCColorSpaceExt}.*)
+     * @param renderingIntent overriding rendering intent
      * @return ICC ColorSpace object or null if ColorSpace could not be created
      */
     public ColorSpace getColorSpace(String profileName, String baseUri, String iccProfileSrc,
-            int renderingIntent) {
+            RenderingIntent renderingIntent) {
         return colorSpaceCache.get(profileName, baseUri, iccProfileSrc, renderingIntent);
     }
 
index 925d275af936caa064c84592009c7252c530a74e..4bbf94b74612f124afd79c8998f61fab03afb72e 100644 (file)
@@ -69,6 +69,7 @@ public final class ColorProperty extends Property  {
          * @throws PropertyException
          *             for invalid or inconsistent FO input
          */
+        @Override
         public Property convertProperty(Property p,
                                         PropertyList propertyList, FObj fo)
                     throws PropertyException {
@@ -118,11 +119,13 @@ public final class ColorProperty extends Property  {
      * @param foUserAgent FOP user agent
      * @return float the AWT color represented by this ColorType instance
      */
+    @Override
     public Color getColor(FOUserAgent foUserAgent) {
         return color;
     }
 
     /** {@inheritDoc} */
+    @Override
     public String toString() {
         return ColorUtil.colorToString(color);
     }
@@ -138,23 +141,27 @@ public final class ColorProperty extends Property  {
     /**
      * @return this.colorType cast as an Object
      */
+    @Override
     public Object getObject() {
         return this;
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean equals(Object o) {
         if (this == o) {
             return true;
         }
 
         if (o instanceof ColorProperty) {
-            return ((ColorProperty) o).color.equals(this.color);
+            return org.apache.xmlgraphics.java2d.color.ColorUtil.isSameColor(
+                    ((ColorProperty) o).color, this.color);
         }
         return false;
     }
 
     /** {@inheritDoc} */
+    @Override
     public int hashCode() {
         return this.color.hashCode();
     }
index ebe2b383bb75ebf6e4b48d0f7416404eb3cc4547..29d022f61f37e496498b6b8012cc24be7ca2794d 100644 (file)
 
 package org.apache.fop.pdf;
 
+import java.awt.Color;
 import java.awt.Paint;
 import java.awt.Shape;
 import java.awt.geom.Area;
 import java.awt.geom.GeneralPath;
 import java.util.Iterator;
 
+import org.apache.xmlgraphics.java2d.color.ColorUtil;
+
 import org.apache.fop.util.AbstractPaintingState;
 
 /**
@@ -63,13 +66,18 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
      */
     public boolean setPaint(Paint p) {
         PDFData data = getPDFData();
-        Paint paint = data.paint;
-        if (paint == null) {
+        Paint currentPaint = data.paint;
+        if (currentPaint == null) {
             if (p != null) {
                 data.paint = p;
                 return true;
             }
-        } else if (!paint.equals(p)) {
+        } else if (p instanceof Color && currentPaint instanceof Color) {
+            if (!ColorUtil.isSameColor((Color)p, (Color)currentPaint)) {
+                data.paint = p;
+                return true;
+            }
+        } else if (!currentPaint.equals(p)) {
             data.paint = p;
             return true;
         }
@@ -180,11 +188,13 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
     }
 
     /** {@inheritDoc} */
+    @Override
     protected AbstractData instantiateData() {
         return new PDFData();
     }
 
     /** {@inheritDoc} */
+    @Override
     protected AbstractPaintingState instantiate() {
         return new PDFPaintingState();
     }
@@ -194,6 +204,7 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
      * This call should be used when the q operator is used
      * so that the state is known when popped.
      */
+    @Override
     public void save() {
         AbstractData data = getData();
         AbstractData copy = (AbstractData)data.clone();
@@ -222,6 +233,7 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
         private float characterSpacing = 0f;
 
         /** {@inheritDoc} */
+        @Override
         public Object clone() {
             PDFData obj = (PDFData)super.clone();
             obj.paint = this.paint;
@@ -237,6 +249,7 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
         }
 
         /** {@inheritDoc} */
+        @Override
         public String toString() {
             return super.toString()
                 + ", paint=" + paint
@@ -249,6 +262,7 @@ public class PDFPaintingState extends org.apache.fop.util.AbstractPaintingState
         }
 
         /** {@inheritDoc} */
+        @Override
         protected AbstractData instantiate() {
             return new PDFData();
         }
index 37806cb8efb7a07b81d74a37c0da61ae3db5bd64..2c45bfcd6c4a1e3b58eacb0322c7d019af5b4f7f 100644 (file)
@@ -33,6 +33,7 @@ import java.util.Map;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
+
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.AttributesImpl;
 
@@ -75,6 +76,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     protected String getMainNamespace() {
         return NAMESPACE;
     }
@@ -101,6 +103,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public IFDocumentNavigationHandler getDocumentNavigationHandler() {
         return this;
     }
@@ -146,6 +149,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void startDocument() throws IFException {
         super.startDocument();
         try {
@@ -161,6 +165,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void startDocumentHeader() throws IFException {
         try {
             handler.startElement(EL_HEADER);
@@ -170,6 +175,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void endDocumentHeader() throws IFException {
         try {
             handler.endElement(EL_HEADER);
@@ -179,6 +185,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void startDocumentTrailer() throws IFException {
         try {
             handler.startElement(EL_TRAILER);
@@ -188,6 +195,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void endDocumentTrailer() throws IFException {
         try {
             handler.endElement(EL_TRAILER);
@@ -264,6 +272,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void startPageHeader() throws IFException {
         try {
             handler.startElement(EL_PAGE_HEADER);
@@ -273,6 +282,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void endPageHeader() throws IFException {
         try {
             handler.endElement(EL_PAGE_HEADER);
@@ -303,6 +313,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void startPageTrailer() throws IFException {
         try {
             handler.startElement(EL_PAGE_TRAILER);
@@ -312,6 +323,7 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
     }
 
     /** {@inheritDoc} */
+    @Override
     public void endPageTrailer() throws IFException {
         try {
             commitNavigation();
@@ -604,7 +616,8 @@ public class IFSerializer extends AbstractXMLWritingIFDocumentHandler
                 }
             }
             if (color != null) {
-                changed = !color.equals(state.getTextColor());
+                changed = !org.apache.xmlgraphics.java2d.color.ColorUtil.isSameColor(
+                        color, state.getTextColor());
                 if (changed) {
                     state.setTextColor(color);
                     addAttribute(atts, "color", toString(color));
index 5d669d3ef7881eb1d6937377943624e0fdf3818f..e5b031dd362b42b98d81dce920faca10936944c5 100644 (file)
@@ -21,6 +21,8 @@ package org.apache.fop.render.intermediate;
 
 import java.awt.Color;
 
+import org.apache.xmlgraphics.java2d.color.ColorUtil;
+
 public class IFState {
 
     private IFState parent;
@@ -178,8 +180,7 @@ public class IFState {
      * @param color the new text color
      */
     public void setTextColor(Color color) {
-        //Check in both directions due to limitations of java.awt.Color
-        if (!color.equals(this.textColor) || !this.textColor.equals(color)) {
+        if (!ColorUtil.isSameColor(color, this.textColor)) {
             this.fontChanged = true;
         }
         this.textColor = color;
index a40ee1d5c82abd11f854194720deb07c2e4aeaf7..b0c003b91b0dbed9dddd6ebcdd5de83700638cf5 100644 (file)
@@ -28,6 +28,8 @@ import java.awt.geom.AffineTransform;
 import java.awt.geom.Area;
 import java.awt.geom.GeneralPath;
 
+import org.apache.xmlgraphics.java2d.color.ColorUtil;
+
 import org.apache.fop.fo.Constants;
 import org.apache.fop.fonts.FontInfo;
 
@@ -103,7 +105,7 @@ public class Java2DGraphicsState {
      * @return true if the background color has changed
      */
     public boolean updateColor(Color col) {
-        if (!col.equals(getGraph().getColor())) {
+        if (!ColorUtil.isSameColor(col, getGraph().getColor())) {
             getGraph().setColor(col);
             return true;
         } else {
@@ -217,12 +219,18 @@ public class Java2DGraphicsState {
      * @return true if the new paint changes the current paint
      */
     public boolean updatePaint(Paint p) {
-        if (getGraph().getPaint() == null) {
+        Paint currentPaint = getGraph().getPaint();
+        if (currentPaint == null) {
             if (p != null) {
                 getGraph().setPaint(p);
                 return true;
             }
-        } else if (!p.equals(getGraph().getPaint())) {
+        } else if (p instanceof Color && currentPaint instanceof Color) {
+            if (!ColorUtil.isSameColor((Color)p, (Color)currentPaint)) {
+                getGraph().setPaint(p);
+                return true;
+            }
+        } else if (!p.equals(currentPaint)) {
             getGraph().setPaint(p);
             return true;
         }
@@ -271,6 +279,7 @@ public class Java2DGraphicsState {
     }
 
     /** {@inheritDoc} */
+    @Override
     public String toString() {
         String s = "Java2DGraphicsState " + currentGraphics.toString()
                 + ", Stroke (width: " + currentStrokeWidth + " style: "
index 5bd4feec56aa206bb8263c74969156c11da8e94b..d6265fb50978ae8c8853dad48d7a3dd9ee1b6e5f 100644 (file)
@@ -96,11 +96,13 @@ public class BorderProps implements Serializable {
     }
 
     /** {@inheritDoc} */
+    @Override
     public int hashCode() {
         return toString().hashCode();
     }
 
     /** {@inheritDoc} */
+    @Override
     public boolean equals(Object obj) {
         if (obj == null) {
             return false;
@@ -110,7 +112,8 @@ public class BorderProps implements Serializable {
             if (obj instanceof BorderProps) {
                 BorderProps other = (BorderProps)obj;
                 return (style == other.style)
-                        && color.equals(other.color)
+                        && org.apache.xmlgraphics.java2d.color.ColorUtil.isSameColor(
+                                color, other.color)
                         && width == other.width
                         && mode == other.mode;
             }
@@ -161,6 +164,7 @@ public class BorderProps implements Serializable {
     }
 
     /** {@inheritDoc} */
+    @Override
     public String toString() {
         StringBuffer sbuf = new StringBuffer();
         sbuf.append('(');
index a5280c3613f8b7deb330e5c1e79620b615d7680a..bd1bbb87be4ff6c87397d5947b92913bd69edb10 100644 (file)
@@ -76,8 +76,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
      */
     public boolean setColor(Color col) {
         Color other = getData().color;
-        //Check in both directions due to limitations of java.awt.Color
-        if (!col.equals(other) || !other.equals(col)) {
+        if (!org.apache.xmlgraphics.java2d.color.ColorUtil.isSameColor(col, other)) {
             getData().color = col;
             return true;
         }
@@ -117,8 +116,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
      */
     public boolean setBackColor(Color col) {
         Color other = getData().backColor;
-        //Check in both directions due to limitations of java.awt.Color
-        if (!col.equals(other) || !other.equals(col)) {
+        if (!org.apache.xmlgraphics.java2d.color.ColorUtil.isSameColor(col, other)) {
             getData().backColor = col;
             return true;
         }
@@ -368,6 +366,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
     }
 
     /** {@inheritDoc} */
+    @Override
     public Object clone() {
         AbstractPaintingState state = instantiate();
         state.stateStack = new StateStack(this.stateStack);
@@ -376,6 +375,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
     }
 
     /** {@inheritDoc} */
+    @Override
     public String toString() {
         return ", stateStack=" + stateStack
         + ", currentData=" + data;
@@ -509,6 +509,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
         }
 
         /** {@inheritDoc} */
+        @Override
         public Object clone() {
             AbstractData data = instantiate();
             data.color = this.color;
@@ -525,6 +526,7 @@ public abstract class AbstractPaintingState implements Cloneable, Serializable {
         }
 
         /** {@inheritDoc} */
+        @Override
         public String toString() {
             return "color=" + color
                 + ", backColor=" + backColor
index e124232f3f12c33cb1bd30f94802e308a6f87be8..64524500337b835c34a8c659290c625bf6058415 100644 (file)
@@ -31,7 +31,8 @@ import javax.xml.transform.stream.StreamSource;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import org.apache.xmlgraphics.java2d.color.ICCColorSpaceExt;
+import org.apache.xmlgraphics.java2d.color.ICCColorSpaceWithIntent;
+import org.apache.xmlgraphics.java2d.color.RenderingIntent;
 
 /**
  * Map with cached ICC based ColorSpace objects.
@@ -41,7 +42,8 @@ public class ColorSpaceCache {
     private static Log log = LogFactory.getLog(ColorSpaceCache.class);
 
     private URIResolver resolver;
-    private Map colorSpaceMap = Collections.synchronizedMap(new java.util.HashMap());
+    private Map<String, ColorSpace> colorSpaceMap
+            = Collections.synchronizedMap(new java.util.HashMap<String, ColorSpace>());
 
     /**
      * Default constructor
@@ -63,11 +65,11 @@ public class ColorSpaceCache {
      * @param profileName the profile name
      * @param base a base URI to resolve relative URIs
      * @param iccProfileSrc ICC Profile source to return a ColorSpace for
-     * @param renderingIntent overriding rendering intent (see {@link ICCColorSpaceExt}.*)
+     * @param renderingIntent overriding rendering intent
      * @return ICC ColorSpace object or null if ColorSpace could not be created
      */
     public ColorSpace get(String profileName, String base, String iccProfileSrc,
-            int renderingIntent) {
+            RenderingIntent renderingIntent) {
         String key = profileName + ":" + base + iccProfileSrc;
         ColorSpace colorSpace = null;
         if (!colorSpaceMap.containsKey(key)) {
@@ -91,7 +93,7 @@ public class ColorSpaceCache {
                     // iccProfile = ICC_Profile.getInstance(iccProfileSrc);
                 }
                 if (iccProfile != null) {
-                    colorSpace = new ICCColorSpaceExt(iccProfile, renderingIntent,
+                    colorSpace = new ICCColorSpaceWithIntent(iccProfile, renderingIntent,
                             profileName, iccProfileSrc);
                 }
             } catch (Exception e) {
@@ -108,7 +110,7 @@ public class ColorSpaceCache {
                 log.warn("Color profile '" + iccProfileSrc + "' not found.");
             }
         } else {
-            colorSpace = (ColorSpace)colorSpaceMap.get(key);
+            colorSpace = colorSpaceMap.get(key);
         }
         return colorSpace;
     }
index 608023b7639ac02d19a06db95d322026e12f6d3b..5a53a816c912f5411681fb2b04458c7c51d2f852 100644 (file)
@@ -34,8 +34,8 @@ import org.apache.xmlgraphics.java2d.color.ColorSpaceOrigin;
 import org.apache.xmlgraphics.java2d.color.ColorSpaces;
 import org.apache.xmlgraphics.java2d.color.ColorWithAlternatives;
 import org.apache.xmlgraphics.java2d.color.DeviceCMYKColorSpace;
-import org.apache.xmlgraphics.java2d.color.ICCColorSpaceExt;
 import org.apache.xmlgraphics.java2d.color.NamedColorSpace;
+import org.apache.xmlgraphics.java2d.color.RenderingIntent;
 import org.apache.xmlgraphics.java2d.color.profile.NamedColorProfile;
 import org.apache.xmlgraphics.java2d.color.profile.NamedColorProfileParser;
 
@@ -69,7 +69,7 @@ public final class ColorUtil {
      * This map is used to predefine given colors, as well as speeding up
      * parsing of already parsed colors.
      */
-    private static Map colorMap = null;
+    private static Map<String, Color> colorMap = null;
 
     /** Logger instance */
     protected static Log log = LogFactory.getLog(ColorUtil.class);
@@ -116,7 +116,7 @@ public final class ColorUtil {
             return null;
         }
 
-        Color parsedColor = (Color) colorMap.get(value.toLowerCase());
+        Color parsedColor = colorMap.get(value.toLowerCase());
 
         if (parsedColor == null) {
             if (value.startsWith("#")) {
@@ -172,7 +172,7 @@ public final class ColorUtil {
             throw new PropertyException("Unknown color format: " + value
                     + ". Must be system-color(x)");
         }
-        return (Color) colorMap.get(value);
+        return colorMap.get(value);
     }
 
     /**
@@ -408,7 +408,8 @@ public final class ColorUtil {
                 /* Ask FOP factory to get ColorSpace for the specified ICC profile source */
                 if (foUserAgent != null && iccProfileSrc != null) {
                     assert colorSpace == null;
-                    int renderingIntent = ICCColorSpaceExt.AUTO; //TODO connect to fo:color-profile
+                    RenderingIntent renderingIntent = RenderingIntent.AUTO;
+                    //TODO connect to fo:color-profile/@rendering-intent
                     colorSpace = foUserAgent.getFactory().getColorSpace(iccProfileName,
                             foUserAgent.getBaseURL(), iccProfileSrc,
                             renderingIntent);
@@ -496,7 +497,8 @@ public final class ColorUtil {
 
                 /* Ask FOP factory to get ColorSpace for the specified ICC profile source */
                 if (foUserAgent != null && iccProfileSrc != null) {
-                    int renderingIntent = ICCColorSpaceExt.AUTO; //TODO connect to fo:color-profile
+                    RenderingIntent renderingIntent = RenderingIntent.AUTO;
+                    //TODO connect to fo:color-profile/@rendering-intent
                     colorSpace = (ICC_ColorSpace)foUserAgent.getFactory().getColorSpace(
                             iccProfileName,
                             foUserAgent.getBaseURL(), iccProfileSrc,
@@ -804,7 +806,7 @@ public final class ColorUtil {
      * Initializes the colorMap with some predefined values.
      */
     private static void initializeColorMap() {
-        colorMap = Collections.synchronizedMap(new java.util.HashMap());
+        colorMap = Collections.synchronizedMap(new java.util.HashMap<String, Color>());
 
         colorMap.put("aliceblue", createColor(240, 248, 255));
         colorMap.put("antiquewhite", createColor(250, 235, 215));
index 7721ae320a5216b4dbdce0d6e4a4ced7156c223e..bc871794c915d87918f0cba1afa28fcaa5f04c76 100644 (file)
@@ -27,8 +27,8 @@ import junit.framework.TestCase;
 
 import org.apache.xmlgraphics.java2d.color.ColorSpaces;
 import org.apache.xmlgraphics.java2d.color.ColorWithAlternatives;
-import org.apache.xmlgraphics.java2d.color.ICCColorSpaceExt;
 import org.apache.xmlgraphics.java2d.color.NamedColorSpace;
+import org.apache.xmlgraphics.java2d.color.RenderingIntent;
 
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.FopFactory;
@@ -89,7 +89,8 @@ public class ColorUtilTestCase extends TestCase {
         */
 
         col2 = ColorUtil.parseColorString(null, "fop-rgb-icc(0.5,0.5,0.5,#CMYK,,0.5,0.5,0.5,0.0)");
-        assertFalse(col1.equals(col2));
+        assertTrue(col1.equals(col2));
+        assertFalse(org.apache.xmlgraphics.java2d.color.ColorUtil.isSameColor(col1, col2));
     }
 
     /**
@@ -118,7 +119,7 @@ public class ColorUtilTestCase extends TestCase {
         URI sRGBLoc = new URI(
                 "file:src/java/org/apache/fop/pdf/sRGB%20Color%20Space%20Profile.icm");
         ColorSpace cs = fopFactory.getColorSpace("sRGBAlt", null, sRGBLoc.toASCIIString(),
-                ICCColorSpaceExt.AUTO);
+                RenderingIntent.AUTO);
         assertNotNull("Color profile not found", cs);
 
         FOUserAgent ua = fopFactory.newFOUserAgent();
@@ -265,7 +266,7 @@ public class ColorUtilTestCase extends TestCase {
         FopFactory fopFactory = FopFactory.newInstance();
         URI ncpLoc = new URI("file:test/resources/color/ncp-example.icc");
         ColorSpace cs = fopFactory.getColorSpace("NCP", null, ncpLoc.toASCIIString(),
-                ICCColorSpaceExt.AUTO);
+                RenderingIntent.AUTO);
         assertNotNull("Color profile not found", cs);
 
         FOUserAgent ua = fopFactory.newFOUserAgent();