diff options
author | Adrian Cumiskey <acumiskey@apache.org> | 2008-04-25 15:13:28 +0000 |
---|---|---|
committer | Adrian Cumiskey <acumiskey@apache.org> | 2008-04-25 15:13:28 +0000 |
commit | 637c844c8a6130f1c804afa7f3e2b3bd884e1bee (patch) | |
tree | 559bec4ed6c8bb378775aeeb139bc9f97f891684 /src/java/org/apache/fop/area/Trait.java | |
parent | 7a70e99012aece4d8c53121d11b454b43e432994 (diff) | |
download | xmlgraphics-fop-637c844c8a6130f1c804afa7f3e2b3bd884e1bee.tar.gz xmlgraphics-fop-637c844c8a6130f1c804afa7f3e2b3bd884e1bee.zip |
Merged revisions 651577,651591,651613,651622-651623 via svnmerge from
https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk
........
r651577 | adelmelle | 2008-04-25 12:37:11 +0100 (Fri, 25 Apr 2008) | 1 line
Correction: remove unfinished sentence...
........
r651591 | jeremias | 2008-04-25 13:31:44 +0100 (Fri, 25 Apr 2008) | 1 line
Update for advanced keeps.
........
r651613 | adelmelle | 2008-04-25 15:13:08 +0100 (Fri, 25 Apr 2008) | 1 line
Added missing file from r651575
........
r651622 | acumiskey | 2008-04-25 15:59:49 +0100 (Fri, 25 Apr 2008) | 1 line
Renamed method.
........
r651623 | jeremias | 2008-04-25 16:03:17 +0100 (Fri, 25 Apr 2008) | 3 lines
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.
........
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AFPGOCAResources@651625 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop/area/Trait.java')
-rw-r--r-- | src/java/org/apache/fop/area/Trait.java | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/java/org/apache/fop/area/Trait.java b/src/java/org/apache/fop/area/Trait.java index 9599d8833..e7b39ad2b 100644 --- a/src/java/org/apache/fop/area/Trait.java +++ b/src/java/org/apache/fop/area/Trait.java @@ -461,21 +461,20 @@ public class Trait implements Serializable { * @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); - } - int startIndex = traitValue.indexOf("dest=") + 5; - int endIndex = traitValue.indexOf(',', startIndex); - if (endIndex == -1) { - endIndex = traitValue.indexOf(']'); + 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); + } } - 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 class Trait implements Serializable { */ 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(); } } |