You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/02/01 20:08:51 UTC
svn commit: r1656348 -
/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/annotation/LinkAnnotationValidator.java
Author: tilman
Date: Sun Feb 1 19:08:50 2015
New Revision: 1656348
URL: http://svn.apache.org/r1656348
Log:
PDFBOX-2652: validate Destination as separate process, except in GoToRemoteAction
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/annotation/LinkAnnotationValidator.java
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/annotation/LinkAnnotationValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/annotation/LinkAnnotationValidator.java?rev=1656348&r1=1656347&r2=1656348&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/annotation/LinkAnnotationValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/annotation/LinkAnnotationValidator.java Sun Feb 1 19:08:50 2015
@@ -25,12 +25,16 @@ import static org.apache.pdfbox.prefligh
import static org.apache.pdfbox.preflight.PreflightConstants.ERROR_ANNOT_INVALID_DEST;
import java.io.IOException;
+import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
+import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationLink;
+import static org.apache.pdfbox.preflight.PreflightConfiguration.DESTINATION_PROCESS;
import org.apache.pdfbox.preflight.PreflightContext;
import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
import org.apache.pdfbox.preflight.exception.ValidationException;
+import org.apache.pdfbox.preflight.utils.ContextHelper;
/**
* Validation class for the LinkAnnotation
@@ -50,7 +54,7 @@ public class LinkAnnotationValidator ext
}
/**
- * In addition of the AnnotationValidator.validate() method, this method executes the the checkDest method.
+ * In addition of the AnnotationValidator.validate() method, this method executes the checkDest method.
*
* @see AnnotationValidator#validate()
*/
@@ -77,10 +81,16 @@ public class LinkAnnotationValidator ext
"Dest can't be used due to A element"));
return false;
}
+ COSDictionary dict = pdLink.getDictionary();
+ COSBase dest = dict.getDictionaryObject(COSName.DEST);
+ if (dest != null)
+ {
+ ContextHelper.validateElement(ctx, dest, DESTINATION_PROCESS);
+ }
}
catch (IOException e)
{
- ctx.addValidationError(new ValidationError(ERROR_ANNOT_INVALID_DEST, "Dest can't be checked"));
+ ctx.addValidationError(new ValidationError(ERROR_ANNOT_INVALID_DEST, e.getMessage(), e));
return false;
}
return true;