]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
FOP-2781: Use unique id for links in merged IF
authorSimon Steiner <ssteiner@apache.org>
Tue, 3 Apr 2018 10:20:45 +0000 (10:20 +0000)
committerSimon Steiner <ssteiner@apache.org>
Tue, 3 Apr 2018 10:20:45 +0000 (10:20 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1828214 13f79535-47bb-0310-9956-ffa450edef68

fop-core/src/main/java/org/apache/fop/render/intermediate/extensions/URIAction.java
fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java [new file with mode: 0644]

index 45e7563b22b933090319381b7e808a71f578a016..a9a9e7bbcb1201a5d16730098f78b3feb0cafbee 100644 (file)
@@ -45,6 +45,7 @@ public class URIAction extends AbstractAction implements DocumentNavigationExten
         }
         this.uri = uri;
         this.newWindow = newWindow;
+        setID(getIDPrefix() + (uri + newWindow).hashCode());
     }
 
     /**
diff --git a/fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java b/fop-core/src/test/java/org/apache/fop/render/intermediate/URIActionTestCase.java
new file mode 100644 (file)
index 0000000..d6c30d4
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.render.intermediate;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.fop.render.intermediate.extensions.URIAction;
+
+public class URIActionTestCase {
+    @Test
+    public void testID() {
+        URIAction action = new URIAction("uri", true);
+        URIAction action2 = new URIAction("uri", true);
+        URIAction action3 = new URIAction("uri2", true);
+        Assert.assertEquals(action.getID(), action2.getID());
+        Assert.assertFalse(action.getID().equals(action3.getID()));
+    }
+}