This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-validator.git


The following commit(s) were added to refs/heads/master by this push:
     new fa58373  Checkstyle
fa58373 is described below

commit fa58373aee9cc58ed8e54350d35d93cd1e05138d
Author: Sebb <[email protected]>
AuthorDate: Mon Jun 22 20:21:36 2020 +0100

    Checkstyle
---
 .../commons/validator/routines/ISSNValidator.java      | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/validator/routines/ISSNValidator.java 
b/src/main/java/org/apache/commons/validator/routines/ISSNValidator.java
index d075718..1bbd391 100644
--- a/src/main/java/org/apache/commons/validator/routines/ISSNValidator.java
+++ b/src/main/java/org/apache/commons/validator/routines/ISSNValidator.java
@@ -66,13 +66,17 @@ public class ISSNValidator implements Serializable {
 
     private static final String ISSN_REGEX = "(?:ISSN 
)?(\\d{4})-(\\d{3}[0-9X])$"; // We don't include the '-' in the code, so it is 
8 chars
 
+    private static final int ISSN_LEN = 8;
+
+    private static final String ISSN_PREFIX = "977";
+
     private static final String EAN_ISSN_REGEX = "^(977)(?:(\\d{10}))$";
 
     private static final int EAN_ISSN_LEN = 13;
 
-    private static final CodeValidator VALIDATOR = new 
CodeValidator(ISSN_REGEX, 8, ISSNCheckDigit.ISSN_CHECK_DIGIT);
+    private static final CodeValidator VALIDATOR = new 
CodeValidator(ISSN_REGEX, ISSN_LEN, ISSNCheckDigit.ISSN_CHECK_DIGIT);
 
-    private static final CodeValidator EAN_VALIDATOR = new 
CodeValidator(EAN_ISSN_REGEX, 13, EAN13CheckDigit.EAN13_CHECK_DIGIT);
+    private static final CodeValidator EAN_VALIDATOR = new 
CodeValidator(EAN_ISSN_REGEX, EAN_ISSN_LEN, EAN13CheckDigit.EAN13_CHECK_DIGIT);
 
     /** ISSN Code Validator */
     private static final ISSNValidator ISSN_VALIDATOR = new ISSNValidator();
@@ -148,7 +152,7 @@ public class ISSNValidator implements Serializable {
 
         // Calculate the new EAN-13 code
         final String input = result.toString();
-        String ean13 = "977" + input.substring(0, input.length() -1) + suffix;
+        String ean13 = ISSN_PREFIX + input.substring(0, input.length() -1) + 
suffix;
         try {
             String checkDigit = 
EAN13CheckDigit.EAN13_CHECK_DIGIT.calculate(ean13);
             ean13 += checkDigit;
@@ -175,8 +179,8 @@ public class ISSNValidator implements Serializable {
         if (input.length() != EAN_ISSN_LEN ) {
             throw new IllegalArgumentException("Invalid length " + 
input.length() + " for '" + input + "'");
         }
-        if (!input.substring(0,3).equals("977")) {
-            throw new IllegalArgumentException("Prefix must be 977 digits to 
contain an ISSN: '" + ean13 + "'");
+        if (!input.startsWith(ISSN_PREFIX)) {
+            throw new IllegalArgumentException("Prefix must be " + ISSN_PREFIX 
+ " to contain an ISSN: '" + ean13 + "'");
         }
         Object result = validateEan(input);
         if (result == null) {
@@ -185,7 +189,9 @@ public class ISSNValidator implements Serializable {
         // Calculate the ISSN code
         input = result.toString();
         try {
-            String issnBase = input.substring(3,10);
+            //CHECKSTYLE:OFF: MagicNumber
+            String issnBase = input.substring(3,10); // TODO: how to derive 
these
+            //CHECKSTYLE:ON: MagicNumber
             String checkDigit = 
ISSNCheckDigit.ISSN_CHECK_DIGIT.calculate(issnBase);
             String issn = issnBase + checkDigit;
             return issn;

Reply via email to