You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2006/04/10 09:41:19 UTC
svn commit: r392902 - in /xmlgraphics/fop/trunk: ./
src/java/org/apache/fop/datatypes/ src/java/org/apache/fop/image/
src/java/org/apache/fop/layoutmgr/inline/
test/layoutengine/standard-testcases/
Author: jeremias
Date: Mon Apr 10 00:41:16 2006
New Revision: 392902
URL: http://svn.apache.org/viewcvs?rev=392902&view=rev
Log:
Bugfix: Allow URLs in basic-link's external-destination to be wrapped in "url()".
Added:
xmlgraphics/fop/trunk/src/java/org/apache/fop/datatypes/URISpecification.java (with props)
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml (with props)
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/image/ImageFactory.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java
xmlgraphics/fop/trunk/status.xml
Added: xmlgraphics/fop/trunk/src/java/org/apache/fop/datatypes/URISpecification.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/datatypes/URISpecification.java?rev=392902&view=auto
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/datatypes/URISpecification.java (added)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/datatypes/URISpecification.java Mon Apr 10 00:41:16 2006
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+
+package org.apache.fop.datatypes;
+
+/**
+ * This class contains method to deal with the <uri-specification> datatype from XSL-FO.
+ */
+public class URISpecification {
+
+ /**
+ * Get the URL string from a wrapped URL.
+ *
+ * @param href the input wrapped URL
+ * @return the raw URL
+ */
+ public static String getURL(String href) {
+ /*
+ * According to section 5.11 a <uri-specification> is:
+ * "url(" + URI + ")"
+ * according to 7.28.7 a <uri-specification> is:
+ * URI
+ * So handle both.
+ */
+ href = href.trim();
+ if (href.startsWith("url(") && (href.indexOf(")") != -1)) {
+ href = href.substring(4, href.indexOf(")")).trim();
+ if (href.startsWith("'") && href.endsWith("'")) {
+ href = href.substring(1, href.length() - 1);
+ } else if (href.startsWith("\"") && href.endsWith("\"")) {
+ href = href.substring(1, href.length() - 1);
+ }
+ } else {
+ // warn
+ }
+ return href;
+ }
+
+
+}
Propchange: xmlgraphics/fop/trunk/src/java/org/apache/fop/datatypes/URISpecification.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/image/ImageFactory.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/image/ImageFactory.java?rev=392902&r1=392901&r2=392902&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/image/ImageFactory.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/image/ImageFactory.java Mon Apr 10 00:41:16 2006
@@ -37,6 +37,7 @@
// FOP
import org.apache.fop.image.analyser.ImageReaderFactory;
import org.apache.fop.apps.FOUserAgent;
+import org.apache.fop.datatypes.URISpecification;
/**
@@ -131,25 +132,7 @@
* @return the raw url
*/
public static String getURL(String href) {
- /*
- * According to section 5.11 a <uri-specification> is:
- * "url(" + URI + ")"
- * according to 7.28.7 a <uri-specification> is:
- * URI
- * So handle both.
- */
- href = href.trim();
- if (href.startsWith("url(") && (href.indexOf(")") != -1)) {
- href = href.substring(4, href.indexOf(")")).trim();
- if (href.startsWith("'") && href.endsWith("'")) {
- href = href.substring(1, href.length() - 1);
- } else if (href.startsWith("\"") && href.endsWith("\"")) {
- href = href.substring(1, href.length() - 1);
- }
- } else {
- // warn
- }
- return href;
+ return URISpecification.getURL(href);
}
/**
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java?rev=392902&r1=392901&r2=392902&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/BasicLinkLayoutManager.java Mon Apr 10 00:41:16 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2004,2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@
package org.apache.fop.layoutmgr.inline;
+import org.apache.fop.datatypes.URISpecification;
import org.apache.fop.fo.flow.BasicLink;
import org.apache.fop.layoutmgr.LayoutManager;
import org.apache.fop.area.inline.InlineArea;
@@ -41,6 +42,7 @@
fobj = node;
}
+ /** @see org.apache.fop.layoutmgr.inline.InlineLayoutManager#createArea(boolean) */
protected InlineArea createArea(boolean bInlineParent) {
InlineArea area = super.createArea(bInlineParent);
setupBasicLinkArea(parentLM, area);
@@ -50,7 +52,8 @@
private void setupBasicLinkArea(LayoutManager parentLM,
InlineArea area) {
if (fobj.getExternalDestination() != null) {
- area.addTrait(Trait.EXTERNAL_LINK, fobj.getExternalDestination());
+ area.addTrait(Trait.EXTERNAL_LINK,
+ URISpecification.getURL(fobj.getExternalDestination()));
} else {
String idref = fobj.getInternalDestination();
PageViewport page = getPSLM().getFirstPVWithID(idref);
Modified: xmlgraphics/fop/trunk/status.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/status.xml?rev=392902&r1=392901&r2=392902&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Mon Apr 10 00:41:16 2006
@@ -27,6 +27,9 @@
<changes>
<release version="FOP Trunk">
+ <action context="Code" dev="JM" type="fix">
+ Bugfix: Allow URLs in basic-link's external-destination to be wrapped in "url()".
+ </action>
<action context="Code" dev="MM" type="fix">
Bugfix: Corrected enumerated property value for white-space property
from "no-wrap" to "nowrap".
Added: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
URL: http://svn.apache.org/viewcvs/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml?rev=392902&view=auto
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml (added)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml Mon Apr 10 00:41:16 2006
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2006 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!-- $Id$ -->
+<testcase>
+ <info>
+ <p>
+ This test checks external-destination on a fo:basic-link.
+ </p>
+ </info>
+ <fo>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="normal">
+ <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:flow>
+ </fo:page-sequence>
+ </fo:root>
+ </fo>
+ <checks>
+ <eval expected="http://xmlgraphics.apache.org/fop/" xpath="//flow/block[1]/lineArea/inlineparent/@external-link"/>
+ <eval expected="http://xmlgraphics.apache.org/fop/" xpath="//flow/block[2]/lineArea/inlineparent/@external-link"/>
+ </checks>
+</testcase>
Propchange: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/basic-link_external-destination.xml
------------------------------------------------------------------------------
svn:keywords = Id
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org