[LIB-9] Move builder and parser interfaces from core to format module
authorgotty <gotty@hedgecode.org>
Sat, 25 Jan 2020 03:32:12 +0000 (06:32 +0300)
committergotty <gotty@hedgecode.org>
Sat, 25 Jan 2020 03:32:12 +0000 (06:32 +0300)
32 files changed:
chesshog-format/src/main/java/org/hedgecode/chess/Builder.java [moved from chesshog-core/src/main/java/org/hedgecode/chess/position/Builder.java with 84% similarity]
chesshog-format/src/main/java/org/hedgecode/chess/Builders.java
chesshog-format/src/main/java/org/hedgecode/chess/FormatConstants.java [new file with mode: 0644]
chesshog-format/src/main/java/org/hedgecode/chess/ParseException.java [moved from chesshog-core/src/main/java/org/hedgecode/chess/position/ParseException.java with 87% similarity]
chesshog-format/src/main/java/org/hedgecode/chess/Parser.java [moved from chesshog-core/src/main/java/org/hedgecode/chess/position/Parser.java with 84% similarity]
chesshog-format/src/main/java/org/hedgecode/chess/Parsers.java
chesshog-format/src/main/java/org/hedgecode/chess/ascii/ASCIIBuilder.java
chesshog-format/src/main/java/org/hedgecode/chess/ascii/ASCIIParser.java
chesshog-format/src/main/java/org/hedgecode/chess/fen/FENBuilder.java
chesshog-format/src/main/java/org/hedgecode/chess/fen/FENParser.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/PGNParser.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/CommentToken.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/EmptyToken.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/MoveToken.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/MovesToken.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/TagToken.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/Token.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/Tokenizer.java
chesshog-format/src/main/java/org/hedgecode/chess/pgn/token/VariationToken.java
chesshog-format/src/main/java/org/hedgecode/chess/tcd/TCDBuilder.java
chesshog-format/src/main/java/org/hedgecode/chess/tcd/TCDParser.java
chesshog-format/src/main/java/org/hedgecode/chess/wiki/WikiBuilder.java
chesshog-format/src/main/java/org/hedgecode/chess/wiki/WikiParser.java
chesshog-format/src/test/java/org/hedgecode/chess/ascii/ASCIIBuilderTest.java
chesshog-format/src/test/java/org/hedgecode/chess/ascii/ASCIIParserTest.java
chesshog-format/src/test/java/org/hedgecode/chess/fen/FENBuilderTest.java
chesshog-format/src/test/java/org/hedgecode/chess/fen/FENParserTest.java
chesshog-format/src/test/java/org/hedgecode/chess/tcd/TCDBuilderTest.java
chesshog-format/src/test/java/org/hedgecode/chess/tcd/TCDParserTest.java
chesshog-format/src/test/java/org/hedgecode/chess/wiki/WikiBuilderTest.java
chesshog-format/src/test/java/org/hedgecode/chess/wiki/WikiParserTest.java
chesshog-qrcode/src/main/java/org/hedgecode/chess/qrcode/ChessQRResult.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,9 @@
  * limitations under the License.
  */
 
-package org.hedgecode.chess.position;
+package org.hedgecode.chess;
+
+import org.hedgecode.chess.position.Position;
 
 /**
  *
index 94e2a91..48b3232 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@ package org.hedgecode.chess;
 
 import org.hedgecode.chess.ascii.ASCIIBuilder;
 import org.hedgecode.chess.fen.FENBuilder;
-import org.hedgecode.chess.position.Builder;
 import org.hedgecode.chess.tcd.TCDBuilder;
 import org.hedgecode.chess.wiki.WikiBuilder;
 
diff --git a/chesshog-format/src/main/java/org/hedgecode/chess/FormatConstants.java b/chesshog-format/src/main/java/org/hedgecode/chess/FormatConstants.java
new file mode 100644 (file)
index 0000000..513dc87
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
+ *
+ * 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.
+ */
+
+package org.hedgecode.chess;
+
+/**
+ * FormatConstants
+ *
+ * @author Dmitry Samoshin aka gotty
+ */
+public final class FormatConstants {
+
+    public static final String LOCALE_BUNDLE_FILE = "org.hedgecode.chess.LocalStrings";
+
+    private FormatConstants() {
+        throw new AssertionError(
+                String.format("No %s instances!", getClass().getName())
+        );
+    }
+
+}
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * limitations under the License.
  */
 
-package org.hedgecode.chess.position;
+package org.hedgecode.chess;
 
 import java.util.ResourceBundle;
 
-import org.hedgecode.chess.ChessHogConstants;
-
 /**
  * Incorrect parsing chess diagram/game Exception.
  *
@@ -28,7 +26,7 @@ import org.hedgecode.chess.ChessHogConstants;
 public class ParseException extends Exception {
 
     private static final ResourceBundle LOCALE_BUNDLE =
-            ResourceBundle.getBundle(ChessHogConstants.LOCALE_BUNDLE_FILE);
+            ResourceBundle.getBundle(FormatConstants.LOCALE_BUNDLE_FILE);
 
     private String localeKey;
     private String message;
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,7 +14,9 @@
  * limitations under the License.
  */
 
-package org.hedgecode.chess.position;
+package org.hedgecode.chess;
+
+import org.hedgecode.chess.position.Position;
 
 /**
  *
index ac5ed91..b5bc58a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,6 @@ package org.hedgecode.chess;
 
 import org.hedgecode.chess.ascii.ASCIIParser;
 import org.hedgecode.chess.fen.FENParser;
-import org.hedgecode.chess.position.Parser;
 import org.hedgecode.chess.tcd.TCDParser;
 import org.hedgecode.chess.wiki.WikiParser;
 
index 54599bb..a24f28b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,10 +18,10 @@ package org.hedgecode.chess.ascii;
 
 import java.util.Map;
 
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.Parsers;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.ColorPiece;
-import org.hedgecode.chess.position.ParseException;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Square;
 
index 65fa3e0..7888667 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,9 +22,9 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import org.hedgecode.chess.Builders;
+import org.hedgecode.chess.Parser;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.Color;
-import org.hedgecode.chess.position.ParseException;
-import org.hedgecode.chess.position.Parser;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Positions;
 import org.hedgecode.chess.position.Square;
index d63bb93..f96073e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,11 +18,11 @@ package org.hedgecode.chess.fen;
 
 import java.util.Map;
 
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.Parsers;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.Color;
 import org.hedgecode.chess.position.ColorPiece;
-import org.hedgecode.chess.position.ParseException;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Square;
 
index 4162a55..faa6ea6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,9 +18,9 @@ package org.hedgecode.chess.fen;
 
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.Parser;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.Color;
-import org.hedgecode.chess.position.ParseException;
-import org.hedgecode.chess.position.Parser;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Positions;
 import org.hedgecode.chess.position.Square;
index 4f67a2d..6bab39a 100644 (file)
 
 package org.hedgecode.chess.pgn;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.entity.Game;
 import org.hedgecode.chess.pgn.token.Tokenizer;
 import org.hedgecode.chess.pgn.entity.DetailGame;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * PGNParser
index 660475a..59feecb 100644 (file)
@@ -19,8 +19,8 @@ package org.hedgecode.chess.pgn.token;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.entity.Moves;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * CommentToken
index 838d020..2fcbc86 100644 (file)
@@ -19,9 +19,9 @@ package org.hedgecode.chess.pgn.token;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.PGNConstants;
 import org.hedgecode.chess.pgn.entity.Game;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * EmptyToken
index e87bf9b..de59a2c 100644 (file)
@@ -19,9 +19,9 @@ package org.hedgecode.chess.pgn.token;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.entity.DetailMove;
 import org.hedgecode.chess.pgn.entity.Moves;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * MoveToken
index 6667a27..e766190 100644 (file)
@@ -19,9 +19,9 @@ package org.hedgecode.chess.pgn.token;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.PGNUtils;
 import org.hedgecode.chess.pgn.entity.Moves;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * MovesToken
index 91aa8f8..e2550b9 100644 (file)
@@ -19,9 +19,9 @@ package org.hedgecode.chess.pgn.token;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.PGNConstants;
 import org.hedgecode.chess.pgn.entity.Game;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * TagToken
index a0aa9f3..b04fd80 100644 (file)
@@ -16,7 +16,7 @@
 
 package org.hedgecode.chess.pgn.token;
 
-import org.hedgecode.chess.position.ParseException;
+import org.hedgecode.chess.ParseException;
 
 /**
  * Token
index 3421259..9a843a0 100644 (file)
@@ -18,8 +18,8 @@ package org.hedgecode.chess.pgn.token;
 
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.entity.Game;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * Tokenizer
index 377df13..7ee717a 100644 (file)
@@ -18,9 +18,9 @@ package org.hedgecode.chess.pgn.token;
 
 import java.util.regex.Pattern;
 
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.pgn.entity.Moves;
 import org.hedgecode.chess.pgn.entity.Variation;
-import org.hedgecode.chess.position.ParseException;
 
 /**
  * VariationToken
index ea9355f..532957d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,13 +18,13 @@ package org.hedgecode.chess.tcd;
 
 import java.util.Map;
 
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.Builders;
 import org.hedgecode.chess.Parsers;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.Castle;
 import org.hedgecode.chess.position.Color;
 import org.hedgecode.chess.position.ColorPiece;
-import org.hedgecode.chess.position.ParseException;
 import org.hedgecode.chess.position.Piece;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Positions;
index bcf1989..aff404a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.hedgecode.chess.tcd;
 
+import org.hedgecode.chess.Parser;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.Castle;
 import org.hedgecode.chess.position.Color;
-import org.hedgecode.chess.position.ParseException;
-import org.hedgecode.chess.position.Parser;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Positions;
 import org.hedgecode.chess.position.Square;
index cf26552..81731c9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,8 +19,8 @@ package org.hedgecode.chess.wiki;
 import java.util.Map;
 import java.util.ResourceBundle;
 
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.ChessHogConstants;
-import org.hedgecode.chess.position.Builder;
 import org.hedgecode.chess.position.Color;
 import org.hedgecode.chess.position.ColorPiece;
 import org.hedgecode.chess.position.Position;
index 93d7ffa..69b646b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,8 +21,8 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.hedgecode.chess.position.ParseException;
-import org.hedgecode.chess.position.Parser;
+import org.hedgecode.chess.Parser;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.position.Position;
 import org.hedgecode.chess.position.Positions;
 import org.hedgecode.chess.position.Square;
index 9123b93..5593b3a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.position.Position;
 
 /**
index e88b664..611539a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Parser;
+import org.hedgecode.chess.Parser;
 import org.hedgecode.chess.position.Position;
 
 /**
index ccdaaf8..62c0128 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.position.Position;
 
 /**
index 910c662..653925b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Parser;
+import org.hedgecode.chess.Parser;
 import org.hedgecode.chess.position.Position;
 
 /**
index 9d6dde7..00e4884 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.position.Position;
 
 /**
index 8eaa61a..4b862c8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Parser;
+import org.hedgecode.chess.Parser;
 import org.hedgecode.chess.position.Position;
 
 /**
index 236a4ea..9cdc700 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Builder;
+import org.hedgecode.chess.Builder;
 import org.hedgecode.chess.position.Position;
 
 /**
index 2dbd4f3..e2ed892 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
 import org.hedgecode.chess.AbstractPositionTest;
-import org.hedgecode.chess.position.Parser;
+import org.hedgecode.chess.Parser;
 import org.hedgecode.chess.position.Position;
 
 /**
index 0e2f585..57b5fa4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2019. Developed by Hedgecode.
+ * Copyright (c) 2018-2020. Developed by Hedgecode.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 package org.hedgecode.chess.qrcode;
 
+import org.hedgecode.chess.Parser;
 import org.hedgecode.chess.Parsers;
+import org.hedgecode.chess.ParseException;
 import org.hedgecode.chess.game.Game;
-import org.hedgecode.chess.position.ParseException;
-import org.hedgecode.chess.position.Parser;
 import org.hedgecode.chess.position.Position;
 
 /**