Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/articles/java-tutorials/)
-   -   Generate reports based on calendar and empid using text file as database (http://www.go4expert.com/articles/generate-reports-based-calendar-empid-t20107/)

sameer_havakajoka 16Nov2009 09:23

Generate reports based on calendar and empid using text file as database
 

Introduction



The solution is mainly used in Error website wherein you have to generate reports which gives the number of solutions uploaded in a specific period(Reports by calendar) or the number of solutions posted by particular employee (reports by employee id).

Background



My solution of generating reports follows MVC architecture. I'm getting input , for insatnce from date and to date or the employee id from the user. Inputs here will hit the single servlet which calls the corresponding AO class and this AO class uses Utility class to do the process and the result will go to AO class in turn hits the servlet and the reports will be got at th front end

The code



Code: Java

package org.worldbank.induction.AccessObject;
import org.worldbank.induction.Bean.IssueBean;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.io.BufferedReader;
import java.io.EOFException;
import java.io.ObjectInputStream;
import java.util.Calendar;
import java.util.Collection;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;


public class ReportsUtilClass
{
    private Hashtable Exception = new Hashtable();

    private Hashtable resFormData = new Hashtable();





    public Hashtable reportsName(Hashtable reqFormData) throws IOException,ClassNotFoundException
    {
        System.out.println("Entering ReportsNAme method");
        String empid=(String) reqFormData.get("employee_id");
        String filename = "project.txt";
        File inFile = new File(filename);
        FileInputStream fis = new FileInputStream(inFile);
        BufferedReader in = new BufferedReader(new InputStreamReader(fis));
        TreeMap<String, Integer> modulecount = new TreeMap<String, Integer>();
        Hashtable resFormData = new Hashtable();
        String thisLine = null;

        try
        {
            System.out.println("Checking Project.txt");

            if(inFile.exists())
            {
                System.out.println("Project.txt checked");
                while ((thisLine = in.readLine()) != null)
                {
                    String projectfilename = thisLine+".txt";
                    System.out.println(projectfilename);

                    File inProjectFile = new File(projectfilename);
                    FileInputStream fisproject = new FileInputStream(inProjectFile);
                    BufferedReader inproject = new BufferedReader(new InputStreamReader(fisproject));
                    String thisProjectLine=null;

                    System.out.println("Checking project filename");
                    modulecount= new TreeMap();
                    if(inProjectFile.exists())
                    {
                        while ((thisProjectLine = inproject.readLine()) !=null)
                        {
                            int count = 0;
                            String modulefilename =thisLine+"_"+thisProjectLine+".txt";
                            File inModuleFile = new File(modulefilename);
                            FileInputStream fismodule = new FileInputStream(inModuleFile);
                            BufferedReader inmodule = new BufferedReader(new InputStreamReader(fismodule));
                            String thisModuleLine=null;

                            System.out.println("checking module filename");
                            if(inModuleFile.exists())
                            {
                                while ((thisModuleLine = inmodule.readLine()) !=null)
                                {
                                    String issuetypefilename = thisLine+"_"+thisProjectLine+"_"+thisModuleLine+".txt";

                                    System.out.println(issuetypefilename);
                                    File inIssueTypeFile = new File(issuetypefilename);
                                    FileInputStream inissuetype = new FileInputStream(inIssueTypeFile);
                                    System.out.println("creating obj i/p stream");
                                    ObjectInputStream ois = new ObjectInputStream(inissuetype);
                                    System.out.println("created obj i/p stream");
                                    IssueBean issuebean = new IssueBean();
                                    Object obj = null;

                                    System.out.println("checking issuetype name");

                                    if(inIssueTypeFile.exists())
                                    {
                                        try{
                                            while ((obj = ois.readObject()) != null)

                                            {
                                                if (obj instanceof IssueBean)
                                                {
                                                    System.out.println(((IssueBean) obj).toString());
                                                    IssueBean issue = (IssueBean) obj;
                                                    System.out.println(issue.getEmp_id());
                                                    System.out.println("Checking employee id");
                                                    if (issue.getEmp_id().equals(empid))
                                                    {
                                                        count++;
                                                        System.out.println("Count" + count);

                                                    }
                                                }
                                            }
                                        }catch(EOFException eof) {
                                            System.out.println("End----------");
                                        }
                                        ois.close();
                                    }
                                    else
                                    {

                                        System.out.println("Exception Added");
                                    }
                                }
                            }
                            else
                            {
                                resFormData.put("Exception","No module File");
                                System.out.println("Exception Added");
                            }
                            try{
                                if(thisProjectLine!=null)
                                    System.out.println(thisProjectLine);
                                modulecount.put(thisProjectLine,new Integer(count));
                            }catch (NullPointerException e){
                                System.out.println("NullPointerException");
                            }
                        }
                    }
                    else
                    {
                        resFormData.put("Exception","No Project File");
                        System.out.println("Exception Added");
                    }

                    resFormData.put(thisLine, modulecount);
                }
            }
            else
            {
                resFormData.put("Exception","No Project.txt File");
                System.out.println("Exception Added");
            }
        }

        catch(FileNotFoundException fnf)
        {
            Exception.put("FileNotFoundException","No Project File Found");
            resFormData.put("Exception",Exception);
        }

        finally
        {
            if(in!=null)
                in.close();

        }
        System.out.println("Returning resFormData in the end");
        Set set1=resFormData.keySet();
        Iterator it1=set1.iterator();
        Collection col1=resFormData.values();
        Iterator it2=col1.iterator();
        while(it1.hasNext())
        {
            System.out.println(it1.next());

            while(it2.hasNext()){
                System.out.println(it2.next());
            }
        }
        return resFormData;
    }

    public Hashtable reportsCalendar(Hashtable reqFormData) throws IOException,ClassNotFoundException
    {
        System.out.println("Entering ReportsNAme method");
        String fromDate=(String) reqFormData.get("fromdate");
        String toDate=(String) reqFormData.get("todate");
        System.out.println("From Date:" + fromDate);
        System.out.println("To Date:" + toDate);

        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        Calendar cal3 = Calendar.getInstance();
        String[] tempfrom_date=fromDate.split("-");
        int year1 = Integer.parseInt(tempfrom_date[2]);
        int month1 = Integer.parseInt(tempfrom_date[1]);
        int day1 = Integer.parseInt(tempfrom_date[0]);

        String[] tempto_date=toDate.split("-");
        int year2 = Integer.parseInt(tempto_date[2]);
        int month2 = Integer.parseInt(tempto_date[1]);
        int day2 = Integer.parseInt(tempto_date[0]);

        cal1.set(year1,month1,day1);
        cal2.set(year2,month2,day2);

        String filename = "project.txt";
        File inFile = new File(filename);
        FileInputStream fis = new FileInputStream(inFile);
        BufferedReader in = new BufferedReader(new InputStreamReader(fis));
        TreeMap<String, Integer> modulecount = new TreeMap<String, Integer>();
        Hashtable resFormData = new Hashtable();
        String thisLine = null;

        try
        {
            System.out.println("Checking Project.txt");

            if(inFile.exists())
            {
                System.out.println("Project.txt checked");
                while ((thisLine = in.readLine()) != null)
                {
                    String projectfilename = thisLine+".txt";
                    System.out.println(projectfilename);

                    File inProjectFile = new File(projectfilename);
                    FileInputStream fisproject = new FileInputStream(inProjectFile);
                    BufferedReader inproject = new BufferedReader(new InputStreamReader(fisproject));
                    String thisProjectLine=null;

                    System.out.println("Checking project filename");
                    modulecount= new TreeMap();
                    if(inProjectFile.exists())
                    {
                        while ((thisProjectLine = inproject.readLine()) !=null)
                        {
                            int count = 0;
                            String modulefilename =thisLine+"_"+thisProjectLine+".txt";
                            File inModuleFile = new File(modulefilename);
                            FileInputStream fismodule = new FileInputStream(inModuleFile);
                            BufferedReader inmodule = new BufferedReader(new InputStreamReader(fismodule));
                            String thisModuleLine=null;

                            System.out.println("checking module filename");
                            if(inModuleFile.exists())
                            {
                                while ((thisModuleLine = inmodule.readLine()) !=null)
                                {
                                    String issuetypefilename = thisLine+"_"+thisProjectLine+"_"+thisModuleLine+".txt";

                                    System.out.println(issuetypefilename);
                                    File inIssueTypeFile = new File(issuetypefilename);
                                    FileInputStream inissuetype = new FileInputStream(inIssueTypeFile);
                                    System.out.println("creating obj i/p stream");
                                    ObjectInputStream ois = new ObjectInputStream(inissuetype);
                                    System.out.println("created obj i/p stream");
                                    IssueBean issuebean = new IssueBean();
                                    Object obj = null;

                                    System.out.println("checking issuetype name");

                                    if(inIssueTypeFile.exists())
                                    {
                                        try{
                                            while ((obj = ois.readObject()) != null)

                                            {
                                                if (obj instanceof IssueBean)
                                                {

                                                    System.out.println(((IssueBean) obj).toString());
                                                    IssueBean issue = (IssueBean) obj;
                                                    System.out.println(issue.getIssuedate());

                                                    String issuedate=(String) issue.getIssuedate();
                                                    String[] tempissue_date=issuedate.split("/");
                                                    int year3 = Integer.parseInt(tempissue_date[2]);
                                                    int day3 = Integer.parseInt(tempissue_date[1]);
                                                    int month3 = Integer.parseInt(tempissue_date[0]);

                                                    cal3.set(year3,month3,day3);
                                                    System.out.println("Checking date");

                                                    if (cal3.equals(cal1)) {
                                                        count++;
                                                    }
                                                    else if(cal3.equals(cal2)){
                                                        count++;
                                                    }
                                                    else if( cal3.after(cal1) && cal3.before(cal2)) {
                                                        count++;
                                                    }

                                                }
                                            }
                                        }catch(EOFException eof) {
                                            System.out.println("End----------");
                                        }
                                        ois.close();
                                    }
                                    else
                                    {

                                        System.out.println("Exception Added");
                                    }
                                }
                            }
                            else
                            {
                                resFormData.put("Exception","No module File");
                                System.out.println("Exception Added");
                            }
                            try{
                                if(thisProjectLine!=null)
                                    System.out.println(thisProjectLine);
                                modulecount.put(thisProjectLine,new Integer(count));
                            }catch (NullPointerException e){
                                System.out.println("NullPointerException");
                            }
                        }
                    }
                    else
                    {
                        resFormData.put("Exception","No Project File");
                        System.out.println("Exception Added");
                    }

                    resFormData.put(thisLine, modulecount);
                }
            }
            else
            {
                resFormData.put("Exception","No Project.txt File");
                System.out.println("Exception Added");
            }
        }

        catch(FileNotFoundException fnf)
        {
            Exception.put("FileNotFoundException","No Project File Found");
            resFormData.put("Exception",Exception);
        }

        finally
        {
            if(in!=null)
                in.close();

        }
        System.out.println("Returning resFormData in the end");
        Set set1=resFormData.keySet();
        Iterator it1=set1.iterator();
        Collection col1=resFormData.values();
        Iterator it2=col1.iterator();
        while(it1.hasNext())
        {
            System.out.println(it1.next());

            while(it2.hasNext()){
                System.out.println(it2.next());
            }
        }
        return resFormData;
    }
}


sameer_havakajoka 17Nov2009 17:36

Re: Generate reports based on calendar and empid using text file as database
 
yeyeye...my first article got published...yeyeye...thank you dear admin

sameer_havakajoka 2Dec2009 11:51

Re: Generate reports based on calendar and empid using text file as database
 
nyone seen dis?

shabbir 2Dec2009 12:48

Re: Generate reports based on calendar and empid using text file as database
 
Stats shows that

sameer_havakajoka 2Dec2009 12:56

Re: Generate reports based on calendar and empid using text file as database
 
144 views...thanks dear admin

rasd123 5Dec2009 06:02

Re: Generate reports based on calendar and empid using text file as database
 
Valuable information.

shabbir 7Dec2009 09:26

Re: Generate reports based on calendar and empid using text file as database
 
Nominate this article for Article of the month - Nov 2009

technica 7Dec2009 10:30

Re: Generate reports based on calendar and empid using text file as database
 
The article is good but little more elaborated information on the given code would help people more.

rasd123 9Dec2009 06:10

Re: Generate reports based on calendar and empid using text file as database
 
HaHA! I have already seen the great thing!!!

sameer_havakajoka 9Dec2009 10:28

Re: Generate reports based on calendar and empid using text file as database
 
thanks to both of you buddies

rasd123 15Dec2009 05:35

Re: Generate reports based on calendar and empid using text file as database
 
Thanks for this site very helpful.


All times are GMT +5.5. The time now is 00:53.