package com.christophdietze.jack.shared.pgn;
import java.util.Map;
import com.christophdietze.jack.shared.board.Game;
import com.christophdietze.jack.shared.board.Move;
public class PgnUtils {
public static String gameToPgn(Game game) throws PgnWritingException {
PgnWriter writer = new PgnWriter();
return writer.write(game);
}
public static void importPgnString(Game game, String pgnString) throws PgnParsingException {
PgnParser parser = new PgnParser();
parser.parse(pgnString);
game.clear();
game.setInitialPosition(parser.getInitialPosition());
for (Move move : parser.getMoves()) {
game.addMove(move);
}
game.gotoFirstPosition();
game.getMetaInfo().setWhitePlayerName(parser.getWhitePlayerName());
game.getMetaInfo().setBlackPlayerName(parser.getBlackPlayerName());
if (parser.getGameResult() != null) {
game.setGameResult(parser.getGameResult());
}
for (Map.Entry<String, String> entry : parser.getAdditionalTags().entrySet()) {
game.getMetaInfo().addTag(entry.getKey(), entry.getValue());
}
}
}