Package com.centraview.file

Source Code of com.centraview.file.FileListHandler

/*
* $RCSfile: FileListHandler.java,v $    $Revision: 1.1.1.1 $  $Date: 2005/04/28 20:27:55 $ - $Author: mking_cv $
*
* The contents of this file are subject to the Open Software License
* Version 2.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.centraview.com/opensource/license.html
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is: CentraView Open Source.
*
* The developer of the Original Code is CentraView.  Portions of the
* Original Code created by CentraView are Copyright (c) 2004 CentraView,
* LLC; All Rights Reserved.  The terms "CentraView" and the CentraView
* logos are trademarks and service marks of CentraView, LLC.
*/

package com.centraview.file;


import java.util.Iterator;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.centraview.common.CVUtility;
import com.centraview.common.IntMember;
import com.centraview.common.ListElement;
import com.centraview.common.ListGenerator;
import com.centraview.common.ListPreference;
import com.centraview.common.StringMember;
import com.centraview.settings.Settings;




public class FileListHandler extends Action
{
   private static final String FORWARD_listfile = "listfile";
   String fileTypeRequest  =  FileConstantKeys.MY;


  /**
   * Fetches the details of the list and
   *  forwards the request to the jsp to display
   *
   * @param   mapping
   * @param   form
   * @param   request
   * @param   response
   * @return   ActionForward
   */


  public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response
{
  String dataSource = Settings.getInstance().getSiteInfo(CVUtility.getHostName(super.getServlet().getServletContext())).getDataSource();


    try
    {
      fileTypeRequest  =  FileConstantKeys.MY;

      //int requestfolderID=1;
       //int currfolderID=7;

      HttpSession session = request.getSession(true);


      com.centraview.common.UserObject  userobjectd = (com.centraview.common.UserObject)session.getAttribute( "userobject" );
      int individualID = userobjectd.getIndividualID();

      int requestfolderID=(userobjectd.getUserPref()).getDefaultFolderID();



      // After performing the logic in the DeleteHanlder, we are generat a new request for the list
      // So we will not be carrying the old error. So that we will try to collect the error from the Session variable
      // Then destory it after getting the Session value
      if (session.getAttribute("listErrorMessage") != null)
      {
        ActionErrors allErrors = (ActionErrors) session.getAttribute("listErrorMessage");
        saveErrors(request, allErrors);
        session.removeAttribute("listErrorMessage");
      }//end of if (session.getAttribute("listErrorMessage") != null)



      if (request.getParameter("folderId")!=null)
      {
        String ID=(String)request.getParameter("folderId");
        if (ID.indexOf("#")==-1)//Parsing required when request is from a form
          requestfolderID=(Integer.parseInt((String)request.getParameter("folderId")));
        else
        {
          requestfolderID=Integer.parseInt(ID.substring(0,ID.indexOf("#")))//This is the folderId which has been requested and now list needs to be generated using this folderID
        }
        request.setAttribute("folderId" , requestfolderID+"" );
      }

      /*if (session.getAttribute("filefolderid")!=null)
        currfolderID=(((Integer)session.getAttribute("filefolderid")).intValue());//This the current folderID whose listing is shown*/


       fileTypeRequest  = (String)request.getParameter(FileConstantKeys.TYPEOFFILELIST) ;//Check which is the requested listing all or my
       request.setAttribute("fileTypeRequest" , fileTypeRequest );

      if (session.getAttribute("highlightmodule") != null)
        session.setAttribute("highlightmodule", "file");



      /*
      Hardcoded for the time being will be decided who is the user(administrator or normal user)

      This parameter decides whether to include the system folders in the list or not
      */
      boolean systemIncludeFlag=false;



            ListPreference listpreference= userobjectd.getListPreference("File");


      FileList displaylistSession=null;

      try
      {
        displaylistSession = ( FileList )session.getAttribute( "displaylist") ;
      }
      catch(Exception e)
      {
        System.out.println("[Exception][FileListHandler.execute] Exception Thrown: "+e);
      }

      FileList displaylist=null;

      try
      {
         displaylist = ( FileList )request.getAttribute( "displaylist") ;
      }
      catch(Exception e)
      {
        System.out.println("[Exception][FileListHandler.execute] Exception Thrown: "+e);
      }

      if ( fileTypeRequest == null )
      {
        fileTypeRequest = FileConstantKeys.MY;
      }

      FileList DL = null ;

      if( displaylist == null )
           {

         com.centraview.common.ListGenerator lg = com.centraview.common.ListGenerator.getListGenerator(dataSource);
         int records = listpreference.getRecordsPerPage();
         String sortelement = listpreference.getSortElement();
         DL = (FileList )lg.getFileList( individualID , 1, records , "" ,sortelement, fileTypeRequest,requestfolderID ,systemIncludeFlag );

              request.setAttribute(FileConstantKeys.TYPEOFFILELIST,DL.getFileTypeRequest());

         DL = setLinksfunction( DL );
         session.setAttribute( "displaylist" , DL );
         request.setAttribute("displaylist" , DL );

         //session.setAttribute("filefolderid" , new Integer(requestfolderID ));//sets the requestFolderID to CurrentfolderID
         //currfolderID=requestfolderID;
         DL.setCurrentFolderID(requestfolderID);
      }
      else
      {

        String searchSession = displaylistSession.getSearchString();
        String searchrequest = displaylist.getSearchString();
        if(searchSession == null)
          searchSession = "";
        if(searchrequest == null)
          searchrequest = "";

        // if (( displaylistSession.getFileTypeRequest().equals(  displaylist.getFileTypeRequest() ) ) && (displaylistSession.getListID() == displaylist.getListID() ) && ( displaylist.getDirtyFlag() == false ) && ( displaylist.getStartAT() >= displaylistSession.getBeginIndex() ) && ( displaylist.getEndAT()<=displaylistSession.getEndIndex() ) && (displaylist.getSortMember().equals(displaylistSession.getSortMember() ) ) && (displaylist.getSortType()==(displaylistSession.getSortType()) ) )
         if ((( displaylistSession.getFileTypeRequest().equalsdisplaylist.getFileTypeRequest() ) ) && (displaylistSession.getListID() == displaylist.getListID() ) && ( displaylist.getDirtyFlag() == false ) && ( displaylist.getStartAT() >= displaylistSession.getBeginIndex() ) && ( displaylist.getEndAT()<=displaylistSession.getEndIndex() ) && (displaylist.getSortMember().equals(displaylistSession.getSortMember() ) ) && (displaylist.getSortType()==(displaylistSession.getSortType()) && (searchSession.equals(searchrequest))  ) ) || displaylist.getAdvanceSearchFlag() == true)
         {
          DL = ( FileList )displaylistSession;
          request.setAttribute(FileConstantKeys.TYPEOFFILELIST,displaylist.getFileTypeRequest());

         }else
         {
          ListGenerator lg = ListGenerator.getListGenerator(dataSource);
          DL = ( FileList )lg.getFileList( individualID ,displaylistSession.getCurrentFolderID(), displaylist );
          request.setAttribute(FileConstantKeys.TYPEOFFILELIST,DL.getFileTypeRequest());
          DL.setCurrentFolderID(DL.getCurrentFolderID());
         }
         DL = setLinksfunction( DL );
          session.setAttribute( "displaylist" , DL );
         request.setAttribute("displaylist" , DL );
      }
      request.setAttribute("showNewButton",new Boolean(false));
     }
     catch (Exception e)
    {
      e.printStackTrace();
      return (mapping.findForward("failure"));
    }
      return ( mapping.findForward(FORWARD_listfile));
  }



  /**
   * This function sets links on members
   *
   * @param   DL
   * @return  FileList object
   */
  public FileList setLinksfunction( FileList DL )
  {

    Set listkey = DL.keySet();
    Iterator it =  listkey.iterator();
    /*while( it.hasNext() )
    {
      String str = ( String )it.next();
      StringMember sm = null;
      ListElement ele  = ( ListElement )DL.get( str );
      sm = ( StringMember )ele.get("Name" );
      sm.setRequestURL("openPopup('ViewScheduleActivity.do?rowId="+ele.getElementID()+"&listId="+DL.getListID()+"')");
      sm = ( StringMember )ele.get("CreatedBY" );



      IntMember im = ( IntMember )ele.get("FolderID" );
      Integer value = (Integer)im.getMemberValue();
      int IndividualID = value.intValue();
      sm.setRequestURL( "openPopup('ViewScheduleActivity.do?rowId="+((Integer)im.getMemberValue()).intValue()+"&listId="+DL.getListID()+"')");

    }*/
    while( it.hasNext() )
    {
      String str = ( String )it.next();
      StringMember smFF = null;
      StringMember sm = null;
      ListElement ele  = ( ListElement )DL.get( str );
      int elementID=ele.getElementID();


      smFF=(StringMember)ele.get("FileFolder");

      sm = ( StringMember )ele.get("Name" );

      int fol=1;//delete afterwards

      IntMember im = ( IntMember )ele.get("FolderID" );

      if ((smFF.getDisplayString()).equals(FileConstantKeys.FILE))
      {
        sm.setRequestURL("ViewFile.do?rowId="+elementID+"&listId="+DL.getListID()+"&TYPEOFFILELIST="+fileTypeRequest);
        //smFF.setRequestURL("ListFile.do?rowId="+elementID+"&listId="+DL.getListID()+"&Type="+fol);
        smFF.setRequestURL("ListFile.do?rowId="+elementID+"&listId="+DL.getListID()+"&TYPEOFFILELIST="+fileTypeRequest);

      }
      else if ((smFF.getDisplayString()).equals(FileConstantKeys.FOLDER))
      {
        //sm.setRequestURL("ListFile.do?rowId="+elementID+"&listId="+DL.getListID()+"&Type="+fol);
        //smFF.setRequestURL("ListFile.do?rowId="+elementID+"&listId="+DL.getListID()+"&Type="+fol);

        sm.setRequestURL("ListFile.do?folderId="+elementID+"&listId="+DL.getListID()+"&TYPEOFFILELIST="+fileTypeRequest);
        smFF.setRequestURL("ListFile.do?folderId="+elementID+"&listId="+DL.getListID()+"&TYPEOFFILELIST="+fileTypeRequest);
      }

      sm = ( StringMember )ele.get("CreatedBy" );

      IntMember imIndvID = ( IntMember )ele.get("IndividualID" );

      sm.setRequestURL( "javascript:openPopup('ViewIndividualDetail.do?rowId="+((Integer)imIndvID.getMemberValue()).intValue()+"&listId="+DL.getListID()+"')");


      Integer value = (Integer)im.getMemberValue();
      int IndividualID = value.intValue();


    }

    return DL;

  }
}
TOP

Related Classes of com.centraview.file.FileListHandler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.