1   package ch.ige.edossier.transfer.client;
2   
3   import ch.ige.edossier.web.server.dao.*;
4   import ch.ige.edossier.web.vo.*;
5   
6   /**
7    * B32.03 - eDossier-Interceptions - Diplomarbeit an der Software-Schule Schweiz<br>
8    * Data Access Objekt für die Inserts auf der edossier-Datenbank.
9    * <p>
10   * Copyright (c) 2004, Eidgenössisches Institut für Geistiges Eigentum
11   * @author    Anita Rueegsegger, Marc Bouquet
12   * @version   $Id: DataInserter.java,v 1.1 2004/11/01 13:55:41 ruegsegger Exp $
13   */
14  public class DataInserter
15  {
16    private DossierDAO dossierDAO = new DossierDAO();
17    private InterceptionDAO interceptionDAO = new InterceptionDAO();
18    private AddressDAO addressDAO = new AddressDAO();
19    private RoleAdrDossierDAO roleAdrDossierDAO = new RoleAdrDossierDAO();
20    private PriorityDAO priortiyDAO = new PriorityDAO();
21    private TMKindDossierDAO tmKindDossierDAO = new TMKindDossierDAO();
22  
23    public DataInserter()
24    {}
25  
26    /**
27     * Speichert Informationen aus DossierVO in die entsprechenden Tabellen
28     * @param dossierVO DossierVO
29     */
30    public void insert( DossierVO dossierVO )
31    {
32      try
33      {
34        insertDossier(dossierVO);
35        insertInterception(dossierVO);
36        insertAddress(dossierVO);
37        insertRoleAdrDossier(dossierVO);
38        insertPriority(dossierVO);
39        insertTMKindDossier(dossierVO);
40      }
41      catch( Exception ex )
42      {
43        System.out.println( "Fehler im SAVEDOSSIER:" + ex );
44      }
45    }
46  
47    /**
48     * Fügt einen Datensatz in die Tabelle DOSSIER ein
49     * @param dossierVO DossierVO
50     */
51    private void insertDossier( DossierVO dossierVO )
52    {
53      try
54      {
55        dossierDAO.insert( dossierVO );
56        System.out.println( "INSERT INTO DOSSIER" );
57      }
58      catch( Exception ex1 )
59      {
60        /** @todo Update für DossierDAO implementieren */
61        System.out.println( "INSERT INTO DOSSIER:" + ex1 );
62      }
63    }
64  
65    /**
66     * Fügt einen Datensatz in die Tabelle INTERCEPTION ein
67     * @param dossierVO DossierVO
68     */
69    private void insertInterception( DossierVO dossierVO )
70    {
71      try
72      {
73        interceptionDAO.insert( dossierVO.getInterceptionVO() );
74        System.out.println( "INSERT INTO INTERCEPTION" );
75      }
76      catch( Exception ex2 )
77      {
78        /** @todo Update für InterceptionDAO implementieren */
79        System.out.println( "INSERT INTO INTERCEPTION:" + ex2 );
80      }
81    }
82  
83    /**
84     * Fügt einen Datensatz in die Tabelle TMKind_Dossier ein
85     * @param dossierVO DossierVO
86     */
87    private void insertTMKindDossier( DossierVO dossierVO )
88    {
89      TMKindDossierVO tmKindDossierVO;
90      for( int i = 0; i < dossierVO.getListTMKindVO().size(); i++ )
91      {
92        try
93        {
94          tmKindDossierVO = ( TMKindDossierVO )dossierVO.getListTMKindVO().get( i );
95          tmKindDossierDAO.insert( tmKindDossierVO );
96          System.out.println( "INSERT INTO TMKINDDOSSIER" );
97        }
98        catch( Exception ex6 )
99        {
100         /** @todo Update für tmKindDossierDAO implementieren */
101         System.out.println( "INSERT INTO TMKINDDOSSIER:" + ex6 );
102       }
103     }
104   }
105 
106   /**
107    * Fügt einen Datensatz in die Tabelle PRIORITY ein
108    * @param dossierVO DossierVO
109    */
110   private void insertPriority( DossierVO dossierVO ) throws Exception
111   {
112     PriorityVO priorityVO;
113     for( int i = 0; i < dossierVO.getListPriorityVO().size(); i++ )
114     {
115       try
116       {
117         priorityVO = ( PriorityVO )dossierVO.getListPriorityVO().get( i );
118         priortiyDAO.insert( priorityVO );
119         System.out.println( "INSERT INTO PRIORITY" );
120       }
121       catch( Exception ex5 )
122       {
123         System.out.println( "INSERT INTO PRIORITY:" + ex5 );
124         priorityVO = ( PriorityVO )dossierVO.getListPriorityVO().get( i );
125         priortiyDAO.update( priorityVO );
126         System.out.println( "UPDATE PRIORITY" );
127       }
128     }
129   }
130 
131   /**
132    * Fügt einen Datensatz in die Tabelle ROLE_ADR_DOSSIER ein
133    * @param dossierVO DossierVO
134    */
135   private void insertRoleAdrDossier( DossierVO dossierVO )
136   {
137     RoleAdrDossierVO roleAdrDossierVO;
138     for( int i = 0; i < dossierVO.getListRoleAdrDossierVO().size(); i++ )
139     {
140       try
141       {
142         roleAdrDossierVO = ( RoleAdrDossierVO )dossierVO.getListRoleAdrDossierVO().get( i );
143         roleAdrDossierDAO.insert( roleAdrDossierVO );
144         System.out.println( "INSERT INTO ROLEADRDOSSIER" );
145       }
146       catch( Exception ex )
147       {
148         System.out.println( "INSERT INTO ROLEADRDOSSIER:" + ex );
149       }
150     }
151   }
152 
153   /**
154    * Fügt eine Adresse in die Tabelle ADDRESS ein
155    * @param dossierVO DossierVO
156    * @throws Exception
157    */
158   private void insertAddress( DossierVO dossierVO ) throws Exception
159   {
160     AddressVO addressVO;
161     for( int i = 0; i < dossierVO.getListAddressVO().size(); i++ )
162     {
163       addressVO = ( AddressVO )dossierVO.getListAddressVO().get( i );
164       try
165       {
166         addressDAO.insert( addressVO );
167         System.out.println( "INSERT INTO ADDRESS" );
168       }
169       catch( Exception ex )
170       {
171         System.out.println( "INSERT INTO ADDRESS:" + ex );
172         addressDAO.update( addressVO );
173         System.out.println( "UPDATE ADDRESS" );
174       }
175     }
176   }
177 }
178