/* * Servlet.java * * Created on August 9, 2012, 5:38 PM */ import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.lang.*; import java.util.*; import java.util.regex.*; /** * * @author PETER STARR * @version */ public class StartServlet extends HttpServlet { /** Initializes the servlet. */ public void init(ServletConfig config) throws ServletException { super.init(config); } /** Destroys the servlet */ public void destroy() { } /** Processes requests for both HTTP GET and POST methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println(""); HttpSession LedSession = request.getSession(true); if (LedSession.getAttribute("LedSessionID")==null) { out.println(LedMethods.TimeOut()); out.close(); } Pattern ptrn = Pattern.compile(":"); int j,i, FormPtr, DBOK, ptr, isfy, JnlCtr; DBOK=1; String x,ledname,ledfy,lastfy,ledperd,ledtaxid,ledfystruct,HiCatByClass,FileName,PerdEndDate,FormFieldName,GotNewJnlData, Listln; String JnlCode, JnlDefFldName, JnlDef, WkServletName, ErrMsg, TableName, SQLStmt, NewJnlSetError, SelectPerds, DataPath; String PathDelim, FormFieldValue, RepeatDay; String origfy = (String)LedSession.getAttribute("ledfy"); String LedInfoFileName = (String)LedSession.getAttribute("LedInfoFileName"); //ledid=(String)LedSession.getAttribute("ledid"); //------SHOULD NOT BE PASSED ANY MORE IN "INDEX.HTML ANYMORE //-------------------------------------------------------LED ID WAS EMBEDDED IN LEDPARMS.JAVA ----- RepeatDay=""; ErrMsg=""; Listln=""; GotNewJnlData="N"; NewJnlSetError="`"; String FN[] = new String[1]; String FV[] = new String[1]; String[][] NewJnlData = new String[7][75]; for (i = 0; i < NewJnlData[0].length; i++) { //----Initialize NewJnlData array------ for (j = 0; j < NewJnlData.length; j++) { NewJnlData[j][i]=""; } } List jnldescList = new ArrayList(); List jnldefList = new ArrayList(); List wkList = new ArrayList(); List HTMLList = new ArrayList(); List JnlList = new ArrayList(); List EditMenuHTML=new ArrayList(); List BankList=new ArrayList(); LedSession.setAttribute("JnlList",JnlList); x=""; String LedInfoFieldNames[] = (String[])LedSession.getAttribute("LedInfoFieldNames"); String LedInfoFieldValues[] = new String[LedInfoFieldNames.length]; Enumeration paramNames = request.getParameterNames(); //Build Lists of form field names and values------ while(paramNames.hasMoreElements()) { FormFieldName=(String)paramNames.nextElement(); FormFieldValue = request.getParameterValues(FormFieldName)[0]; ptr=MethLib.locate(LedInfoFieldNames, FormFieldName); LedInfoFieldValues[ptr]=FormFieldValue; } DataPath = LedParms.getDataPath(); PathDelim=(String)LedSession.getAttribute("PathDelim"); ledfy=MethLib.GetFldValue("fy", LedInfoFieldNames, LedInfoFieldValues); //---get fy from Form //----Verify existance of Data Base Tramsaction Table-------- TableName=LedMethods.bldtrntblname("",ledfy); x=LedSQL.VerifyTable(TableName); if (!(x.equals("OK"))) { out.println("
Data Base Transaction Table for Fiscal Year " + ledfy + " does not exist
"); DBOK=0; } //----Verify existance of Data Base Ledger Table-------- TableName=LedMethods.bldledtblname("", ledfy); x=LedSQL.VerifyTable(TableName); if (!(x.equals("OK"))) { out.println("
Data Base Ledger Table for Fiscal Year " + ledfy + " does not exist.
"); DBOK=0; } if (DBOK==1) { //----Update Led Info Text File------------- try { PrintStream LedInfoData = MethLib.create(DataPath + LedInfoFileName); for (i = 0; i < LedInfoFieldNames.length; i++) { LedInfoData.println(LedInfoFieldNames[i] + "|" + LedInfoFieldValues[i]); } LedInfoData.close(); } catch (FileNotFoundException e) { out.println("Cannot create " + DataPath + LedInfoFileName); } } //------------------------------------------------------------- ledname=MethLib.GetFldValue("name", LedInfoFieldNames, LedInfoFieldValues); i = -1+Integer.parseInt(ledfy); lastfy=MethLib.convertInteger(i); ledtaxid=MethLib.GetFldValue("taxid", LedInfoFieldNames, LedInfoFieldValues); ledperd=MethLib.GetFldValue("perd", LedInfoFieldNames, LedInfoFieldValues); ledfystruct=MethLib.GetFldValue("fystruct", LedInfoFieldNames, LedInfoFieldValues); SelectPerds=MethLib.SelectOption(ledfystruct, ledperd); HiCatByClass=MethLib.GetFldValue("classes", LedInfoFieldNames, LedInfoFieldValues); JnlCtr=1; ptr=-1; //-----Build jnldescList AND jnldefs arrrays from LedInfo ArraYS--------------------------- while (ptr==-1){ JnlCode = MethLib.convertInteger(JnlCtr); JnlDefFldName=JnlCode+"jdesc"; JnlDef=JnlCode+":"; x=MethLib.GetFldValue(JnlDefFldName, LedInfoFieldNames, LedInfoFieldValues); if (x==null) { x=""; } ptr=x.indexOf("Invalid"); //----Invalid Field Name means the end------- if (ptr>-1) { break; } jnldescList.add(x); x=JnlCode+"sign"; x=MethLib.GetFldValue(x, LedInfoFieldNames, LedInfoFieldValues); JnlDef=JnlDef+x+":"; x=JnlCode+"post"; x=MethLib.GetFldValue(x, LedInfoFieldNames, LedInfoFieldValues); JnlDef=JnlDef+x; jnldefList.add(JnlDef); JnlCtr=JnlCtr+1; } String jnldefs[] = new String[jnldefList.size()]; jnldefList.toArray(jnldefs); String JnlDescs[] = new String[jnldescList.size()]; jnldescList.toArray(JnlDescs); /* jnldefs[0]="P:"+MethLib.GetFldValue("psign", LedInfoFieldNames, LedInfoFieldValues)+":"+MethLib.GetFldValue("ppost", LedInfoFieldNames, LedInfoFieldValues); jnldefs[1]="R:"+MethLib.GetFldValue("rsign", LedInfoFieldNames, LedInfoFieldValues)+":"+MethLib.GetFldValue("rpost", LedInfoFieldNames, LedInfoFieldValues); jnldefs[2]="D:"+MethLib.GetFldValue("dsign", LedInfoFieldNames, LedInfoFieldValues)+":"+MethLib.GetFldValue("dpost", LedInfoFieldNames, LedInfoFieldValues); jnldefs[3]="J:"+MethLib.GetFldValue("jsign", LedInfoFieldNames, LedInfoFieldValues)+":"+MethLib.GetFldValue("jpost", LedInfoFieldNames, LedInfoFieldValues); */ LedSession.setAttribute("JnlDescs", JnlDescs); LedSession.setAttribute("ledname", ledname); LedSession.setAttribute("ledfy", ledfy); LedSession.setAttribute("ledtaxid", ledtaxid); LedSession.setAttribute("ledperd", ledperd); LedSession.setAttribute("ledfystruct", ledfystruct); LedSession.setAttribute("HiCatByClass", HiCatByClass); LedSession.setAttribute("jnldefs", jnldefs); LedSession.setAttribute("NewJnlData", NewJnlData); LedSession.setAttribute("NewJnlSetError", NewJnlSetError); LedSession.setAttribute("GotNewJnlData", GotNewJnlData); LedSession.setAttribute("RepeatDay", RepeatDay); LedSession.setAttribute("BankList", BankList); x="AN:AM:DS:RF:DY"; String AddJnlFCodes[] = ptrn.split(x); //----Form Field Codes for Screen to add journal entries--------- LedSession.setAttribute("AddJnlFCodes", AddJnlFCodes); x="ACCTNO:AMOUNT:DESCRIPTION:SOURCE:DAY"; //----Translate New Jnl Form Field Codes to Jnl Field Names------ String[] FcodeToFnames= ptrn.split(x); LedSession.setAttribute("FcodeToFnames",FcodeToFnames ); x=LedMethods.PerdDate(ledfystruct, ledperd, ledfy, ""); isfy=LedMethods.isfy(ledfystruct); String PerdDateArray[] = ptrn.split(x); LedSession.setAttribute("PerdDateArray", PerdDateArray); //------Month Day, Year------------------------- PerdEndDate=PerdDateArray[0] + " " + PerdDateArray[1] + ", " + PerdDateArray[2]; PerdEndDate=PerdEndDate.toUpperCase(); //----------------Build Menu Web Page-------------------------------------------- x=LedMethods.BldListFromTextFile("menu.txt",wkList); if (!(x.equals("OK"))) { DBOK=0; ErrMsg=x; } if (DBOK==1) { out.println("
LEDGER SYSTEM MENU"); out.println("
" + ledname + " (" + ledtaxid + ")"); if (isfy==1) { //----FISCAL YEAR--- out.println("
FOR FISCAL YEAR " + lastfy + " - " + ledfy + ""); } else { //----CALENDAR YEAR--- out.println("
FOR CALENDAR YEAR " + ledfy + ""); } out.println("
PERIOD ENDING " + PerdEndDate); EditMenuHTML.add("
LEDGER SYSTEM MENU"); EditMenuHTML.add("
" + ledname + " (" + ledtaxid + ")"); if (isfy==1) { //----FISCAL YEAR--- EditMenuHTML.add("
FOR FISCAL YEAR " + lastfy + " - " + ledfy + ""); } else { //----CALENDAR YEAR--- EditMenuHTML.add("
FOR CALENDAR YEAR " + ledfy + ""); } //------------------------------------------------------------------------ EditMenuHTML.add("
PERIOD ENDING " + PerdEndDate); FN[0]="endday"; FV[0]=PerdDateArray[1]; //-----------Verify Existance of tables for previous fiscaL YEAR------------------------ TableName=LedMethods.bldtrntblname("", ledfy); x=LedSQL.VerifyTable(TableName); if (!(x.equals("OK"))) { out.println("
Transaction Table for " + lastfy + " does not exist
"); EditMenuHTML.add("
Transaction Table for " + lastfy + " does not exist
"); } TableName=LedMethods.bldledtblname("", ledfy); x=LedSQL.VerifyTable(TableName); if (!(x.equals("OK"))) { out.println("
Ledger Table for " + lastfy + " does not exist
"); EditMenuHTML.add("
Ledger Table for " + lastfy + " does not exist
"); } //---------------------------------------------------------------------------------------- for (j=0; j < wkList.size(); j++) { Listln=wkList.get(j).toString(); FormPtr=Listln.indexOf("CATEGORY ACTIVITY

Starting Period:
Ending Period:"; Listln=Listln + "
Category Lookup:" + LedMethods.GetLookupClass("LookupClass"); } else { WkServletName=WkServletName+"Servlet"; Listln=LedMethods.insertURL(WkServletName,""); } } FormPtr=Listln.indexOf(""); if (FormPtr != -1) { //--------Insert JournaL Types--------------------- Listln=""; for (i=0; i < jnldescList.size(); i++) { x=jnldescList.get(i).toString(); Listln=Listln+"