1 package ch.ige.edossier.web.struts;
2
3 import java.util.List;
4 import javax.servlet.http.HttpServletRequest;
5 import javax.servlet.http.HttpServletResponse;
6 import javax.servlet.http.HttpSession;
7 import org.apache.log4j.Logger;
8 import org.apache.struts.action.*;
9 import ch.ige.edossier.util.RefreshState;
10 import ch.ige.edossier.web.server.EDossierControl;
11 import ch.ige.edossier.web.vo.AccountVO;
12 import ch.ige.edossier.web.vo.DossierOverviewVO;
13 import ch.ige.edossier.web.vo.DossierVO;
14
15
27 public class InterceptionAction extends Action
28 {
29 private static final Logger LOG = Logger.getLogger( InterceptionAction.class );
30
31
41 public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse )
42 {
43 ActionErrors errors = new ActionErrors();
44 HttpSession session = httpServletRequest.getSession( false );
45 EDossierFacade eFacade = new EDossierControl();
46
47 try
48 {
49 if( session == null || ( ( Boolean )session.getAttribute( "token" ) ).booleanValue() == false )
51 {
52 return( actionMapping.findForward( "index" ) );
53 }
54
55 String idDossier = httpServletRequest.getParameter( "idDossier" );
56 int dossierId = Integer.parseInt( idDossier );
57
58 List listInterceptionVO = eFacade.getInterceptions( dossierId );
59 this.setSessionAttributes( session, dossierId );
60 session.setAttribute( "alInterceptionVO", listInterceptionVO );
61
62 AccountVO accountVO = ( AccountVO )session.getAttribute( "accountVO" );
63 reloadSessionObjects( session, accountVO.getAccountId() );
64 }
65 catch( Exception ex )
66 {
67 LOG.error( "Error: " + ex.getMessage() );
68 errors.add( "dossierVO", new ActionError( "errors.dossier", ex.getMessage() ) );
69 saveErrors( httpServletRequest, errors );
70 return( new ActionForward( actionMapping.getInput() ) );
71 }
72 return( actionMapping.findForward( "forward" ) );
73 }
74
75
80 private void reloadSessionObjects( HttpSession session, int accountId )
81 {
82 RefreshState refrehState = new RefreshState();
83 DossierOverviewVO dossierOverVO = refrehState.updateDossiers( accountId );
85
86 if( dossierOverVO != null )
87 {
88 session.setAttribute( "dossierOverviewVO", dossierOverVO );
89 }
90 }
91
92
97 private void setSessionAttributes( HttpSession session, int selectedDossierId )
98 {
99 DossierOverviewVO dossierOverviewVO = ( DossierOverviewVO )session.getAttribute( "dossierOverviewVO" );
100 List[] list = dossierOverviewVO.getListDossier();
101 List dossierList;
102 DossierVO dossierVO;
103
104 for( int i = 0; i < list.length; i++ )
105 {
106 dossierList = list[ i ];
107
108 for( int j = 0; j < dossierList.size(); j++ )
109 {
110 dossierVO = ( DossierVO )dossierList.get( j );
111 int dossierId = dossierVO.getDossierId();
112
113 if( selectedDossierId == dossierId )
114 {
115 session.setAttribute( "guardNr", dossierVO.getGuardNr() );
116 session.setAttribute( "reference", dossierVO.getReference() );
117 break;
118 }
119 }
120 }
121 }
122 }
123