<%@ page import="java.io.*" %>
<%

// process page

String action = request.getParameter("action");

String yearString = request.getParameter("year");

int year = -1;

        boolean hasError = false;
        String message = null;

if (action == null || action.equals("Clear"))

        {
                yearString = null;
        }
        else if (yearString == null || yearString.equals(""))
        {
                hasError = true;
                message = "Enter an integer between 1 and 9999 for <i>Year</i>!";
        }
        else
        {
                try
                {
                        year = Integer.valueOf(yearString).intValue();
                }
                catch (NumberFormatException nfe)
                {
                        hasError = true;
                    message = "Enter an integer between 1 and 9999 for <i>Year</i>!";
                }
        }

        // print page

%>
<html>
<head><title>UNIX cal Utility</title></head> <body bgcolor="white">
<font size=3>
Enter <i>Year</i> below to see the calendar of that year using the UNIX <i>cal</i> command. <form method=POST action=Cal.jsp>
<%

        if (yearString == null || yearString.equals(""))
        {

%>
<i>Year</i> <input type=text name=year size=8 maxlength=8> <%

        }
        else
        {

%>
<i>Year</i> <input type=text name=year value=<%= yearString %> size=8 maxlength=8> <%

}
%>
<p>
<i>
<input type=submit name=action value="Display"> <input type=submit name=action value="Clear"> </i>
</form>
<%

if (action == null || action.equals("Clear"))

        {
        }
        else if (action.equals("Display"))
        {
        Runtime rt = Runtime.getRuntime();
        Process p = rt.exec("cal "+year);
        int exitValue = p.waitFor();
        if (exitValue != 0)
        {
            hasError = true;
                    message = "Enter an integer between 1 and 9999 for <i>Year</i>!";
        }

        if (!hasError)
        {
            InputStreamReader isr = new InputStreamReader(p.getInputStream());
            BufferedReader br = new BufferedReader(isr);
            String line = null;

%>
<pre>
<%

            try
            {
                while ((line = br.readLine()) != null)
                {

%>
<%= line %>
<%

                }
            }
            catch (IOException ioe) {}
        }

%>
</pre>
<%

}

        if (hasError)
        {

%>
<%= message %>
<%

}
%>
</font>
<hr>
<a href="http://www.computing-wisdom.com"><i>Computing Wisdom Inc. Home Page</i></a> </body>
</html>