Author: jeremias
Date: Fri Apr 25 08:03:17 2008
New Revision: 651623
URL: http://svn.apache.org/viewvc?rev=651623&view=rev
Log:
Restored Java 1.4 compatibility (Boolean.parseBoolean() is a Java 5 method).
Simplified the ExternalLink's string representation to follow the pattern used
by Trait.Background.
Added a check to test for the effect of the show-destination property.
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/area/Trait.java
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/area/Trait.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/area/Trait.java?rev=651623&r1=651622&r2=651623&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/area/Trait.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/area/Trait.java Fri Apr 25
08:03:17 2008
@@ -461,21 +461,20 @@
* @return an <code>ExternalLink</code> instance corresponding to the
given value
*/
protected static ExternalLink makeFromTraitValue(String traitValue) {
- if (traitValue.indexOf(ExternalLink.class.getName()) == -1
- || traitValue.indexOf("dest=") == -1) {
- throw new IllegalArgumentException(
- "Malformed trait value for Trait.ExternalLink: " +
traitValue);
+ String dest = null;
+ boolean newWindow = false;
+ String[] values = traitValue.split(",");
+ for (int i = 0, c = values.length; i < c; i++) {
+ String v = values[i];
+ if (v.startsWith("dest=")) {
+ dest = v.substring(5);
+ } else if (v.startsWith("newWindow=")) {
+ newWindow =
Boolean.valueOf(v.substring(10)).booleanValue();
+ } else {
+ throw new IllegalArgumentException(
+ "Malformed trait value for Trait.ExternalLink: " +
traitValue);
+ }
}
- int startIndex = traitValue.indexOf("dest=") + 5;
- int endIndex = traitValue.indexOf(',', startIndex);
- if (endIndex == -1) {
- endIndex = traitValue.indexOf(']');
- }
- String dest = traitValue.substring(startIndex, endIndex);
- startIndex = traitValue.indexOf("newWindow=", endIndex) + 10;
- endIndex = traitValue.indexOf(']', startIndex);
- boolean newWindow = Boolean.parseBoolean(
- traitValue.substring(startIndex, endIndex));
return new ExternalLink(dest, newWindow);
}
@@ -502,9 +501,8 @@
*/
public String toString() {
StringBuffer sb = new StringBuffer(64);
- sb.append(super.toString());
- sb.append("[dest=").append(this.destination);
- sb.append(",newWindow=").append(newWindow).append("]");
+ sb.append("newWindow=").append(newWindow);
+ sb.append(",dest=").append(this.destination);
return sb.toString();
}
}
Modified:
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml?rev=651623&r1=651622&r2=651623&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
(original)
+++
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
Fri Apr 25 08:03:17 2008
@@ -33,12 +33,16 @@
<fo:flow flow-name="xsl-region-body">
<fo:block><fo:basic-link
external-destination="http://xmlgraphics.apache.org/fop/">FOP</fo:basic-link></fo:block>
<fo:block><fo:basic-link
external-destination="url(http://xmlgraphics.apache.org/fop/)">FOP</fo:basic-link></fo:block>
+ <fo:block><fo:basic-link show-destination="replace"
external-destination="url(http://xmlgraphics.apache.org/fop/)">FOP</fo:basic-link></fo:block>
+ <fo:block><fo:basic-link show-destination="new"
external-destination="url(http://xmlgraphics.apache.org/fop/)">FOP</fo:basic-link></fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
- <eval expected="http://xmlgraphics.apache.org/fop/"
xpath="substring-before(substring-after(//flow/block[1]/lineArea/inlineparent/@external-link,'dest='),';')"/>
- <eval expected="http://xmlgraphics.apache.org/fop/"
xpath="substring-before(substring-after(//flow/block[2]/lineArea/inlineparent/@external-link,'dest='),';')"/>
+ <eval expected="http://xmlgraphics.apache.org/fop/"
xpath="substring-after(//flow/block[1]/lineArea/inlineparent/@external-link,'dest=')"/>
+ <eval expected="http://xmlgraphics.apache.org/fop/"
xpath="substring-after(//flow/block[2]/lineArea/inlineparent/@external-link,'dest=')"/>
+ <eval expected="false"
xpath="substring-before(substring-after(//flow/block[3]/lineArea/inlineparent/@external-link,'newWindow='),
',')"/>
+ <eval expected="true"
xpath="substring-before(substring-after(//flow/block[4]/lineArea/inlineparent/@external-link,'newWindow='),
',')"/>
</checks>
</testcase>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]