You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by gb...@apache.org on 2012/05/09 21:35:29 UTC
svn commit: r1336366 - in /pdfbox/trunk/preflight: pom.xml
src/main/java/org/apache/padaf/preflight/AbstractValidator.java
src/main/java/org/apache/padaf/preflight/PdfA1bValidator.java
src/main/javacc/pdf_full_grammar.jj
Author: gbailleul
Date: Wed May 9 19:35:29 2012
New Revision: 1336366
URL: http://svn.apache.org/viewvc?rev=1336366&view=rev
Log:
PDFBOX-1279 : Javacc parser is now independent of jvm file encoding.
Specific source encoding of preflight removed
Modified:
pdfbox/trunk/preflight/pom.xml
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/AbstractValidator.java
pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/PdfA1bValidator.java
pdfbox/trunk/preflight/src/main/javacc/pdf_full_grammar.jj
Modified: pdfbox/trunk/preflight/pom.xml
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/pom.xml?rev=1336366&r1=1336365&r2=1336366&view=diff
==============================================================================
--- pdfbox/trunk/preflight/pom.xml (original)
+++ pdfbox/trunk/preflight/pom.xml Wed May 9 19:35:29 2012
@@ -40,7 +40,6 @@
<properties>
<compileSource>1.5</compileSource>
- <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
</properties>
<build>
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/AbstractValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/AbstractValidator.java?rev=1336366&r1=1336365&r2=1336366&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/AbstractValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/AbstractValidator.java Wed May 9 19:35:29 2012
@@ -23,6 +23,7 @@ package org.apache.padaf.preflight;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -39,6 +40,8 @@ public abstract class AbstractValidator
public static final String version = "${project.version}";
+
+ public static final Charset encoding = Charset.forName("ISO-8859-1");
public static final String fullName = "PADAF - "+version;
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/PdfA1bValidator.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/PdfA1bValidator.java?rev=1336366&r1=1336365&r2=1336366&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/PdfA1bValidator.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/padaf/preflight/PdfA1bValidator.java Wed May 9 19:35:29 2012
@@ -22,6 +22,7 @@
package org.apache.padaf.preflight;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.util.ArrayList;
import javax.activation.DataSource;
@@ -56,7 +57,10 @@ public class PdfA1bValidator extends Abs
// syntax (javacc) validation
try {
- PDFParser parser = new PDFParser(source.getInputStream());
+ InputStreamReader reader = new InputStreamReader(
+ source.getInputStream(),encoding);
+
+ PDFParser parser = new PDFParser(reader);
handler.setParser(parser);
parser.PDF();
} catch (IOException e) {
Modified: pdfbox/trunk/preflight/src/main/javacc/pdf_full_grammar.jj
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/javacc/pdf_full_grammar.jj?rev=1336366&r1=1336365&r2=1336366&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/javacc/pdf_full_grammar.jj (original)
+++ pdfbox/trunk/preflight/src/main/javacc/pdf_full_grammar.jj Wed May 9 19:35:29 2012
@@ -37,6 +37,7 @@ import org.apache.padaf.preflight.BodyPa
import org.apache.padaf.preflight.CrossRefParseException;
import org.apache.padaf.preflight.TrailerParseException;
import org.apache.padaf.preflight.PdfParseException;
+import org.apache.padaf.preflight.AbstractValidator;
import static org.apache.padaf.preflight.ValidationConstants.*;
@@ -307,19 +308,19 @@ void literal() {
if (currentToken.kind == 0 ){
throw new ParseException("EOF reach before the end of the literal string.");
}
- literalLength += currentToken.image.getBytes().length;
+ literalLength += currentToken.image.getBytes(AbstractValidator.encoding).length;
if ( currentToken.kind == OBJ_STRING_LIT ) {
jj_consume_token(OBJ_STRING_LIT);
- if (previous != null && previous.image.getBytes()[previous.image.getBytes().length-1]!='\\') {
+ if (previous != null && previous.image.getBytes(AbstractValidator.encoding)[previous.image.getBytes(AbstractValidator.encoding).length-1]!='\\') {
++nesting;
}
} else if ( currentToken.kind == INNER_START_LIT ) {
jj_consume_token(INNER_START_LIT);
- if (previous != null && previous.image.getBytes()[previous.image.getBytes().length-1]!='\\') {
+ if (previous != null && previous.image.getBytes(AbstractValidator.encoding)[previous.image.getBytes(AbstractValidator.encoding).length-1]!='\\') {
++nesting;
}
} else if ( currentToken.kind == END_LITERAL ) {
- if (previous != null && previous.image.getBytes()[previous.image.getBytes().length-1]!='\\') {
+ if (previous != null && previous.image.getBytes(AbstractValidator.encoding)[previous.image.getBytes(AbstractValidator.encoding).length-1]!='\\') {
--nesting;
}
jj_consume_token(END_LITERAL);
@@ -338,8 +339,8 @@ void literal() {
JAVACODE
void checkNameLength() throws ParseException {
- if (token != null && token.image.getBytes().length > MAX_NAME_SIZE) {
- throw new PdfParseException("Object Name is toot long : " + token.image.getBytes().length, ERROR_SYNTAX_NAME_TOO_LONG);
+ if (token != null && token.image.getBytes(AbstractValidator.encoding).length > MAX_NAME_SIZE) {
+ throw new PdfParseException("Object Name is toot long : " + token.image.getBytes(AbstractValidator.encoding).length, ERROR_SYNTAX_NAME_TOO_LONG);
} else {
// Nothing to do
}
@@ -347,7 +348,7 @@ void checkNameLength() throws ParseExcep
JAVACODE
void checkMagicNumberLength() throws ParseException {
- if (token != null && token.image.getBytes().length < 4) {
+ if (token != null && token.image.getBytes(AbstractValidator.encoding).length < 4) {
throw new PdfParseException("Not enough bytes after the Header (at least 4 bytes should be present with a value bigger than 127) : " + token.image, ERROR_SYNTAX_HEADER);
} else {
// Nothing to do