import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.util.*;
import java.applet.*;
import java.net.URL;

public class KntToJnk {

    static int pageWidth = 340, pageHeight = 516;
    static double scaleFactor = 0.55;

    public static void convert(String kntName, String jnkName) {
        BufferedReader br = null;
        BufferedWriter bw = null, aw = null;
        Link theLink = null;
        try {
            br = new BufferedReader(new FileReader(kntName));
            LinkReader lr = new LinkReader(br);
            int n = lr.getNLinks();
            while (n-- > 0) {
                theLink = lr.loadLink();
            }
            br.close();
        }
        catch (Exception anyExc) {
            System.out.println(anyExc);
            System.out.println("load aborted: " + kntName);
            return;
        }
        try {
            bw = new BufferedWriter(new FileWriter(jnkName));
            LinkWriter lw = new LinkWriter(bw);
            lw.saveJenkins(theLink);
            bw.close();
        }
        catch (Exception anyExc) {
            System.out.println(anyExc);
            System.out.println("save aborted: " + jnkName);
            return;
        }
    }

    public static void main(String[] args) {
        // args: base int1 int2 e.g. h 3 7 to mean h3, h4, h5, h6, h7

        if (args.length != 3 && args.length != 2) {
            System.out.println("Usage: java kntToJnk base n1 [n2]");
            System.exit(0);
        }

        int n1 = Integer.parseInt(args[1]);
        int n2 = (args.length == 2) ? n1 : Integer.parseInt(args[2]);

        for (int k = n1; k <= n2; k++)
            convert(args[0] + ".knt", args[0] + ".jnk");
    }

} 