Advertisement
Guest User

Untitled

a guest
Aug 11th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.65 KB | None | 0 0
  1. package com.fitbank.formuploader;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.InputStream;
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.Date;
  9. import java.sql.PreparedStatement;
  10. import java.sql.SQLException;
  11. import java.sql.Timestamp;
  12. import java.util.Collection;
  13. import javax.swing.JOptionPane;
  14. import java.io.ByteArrayInputStream;
  15. import java.util.Properties;
  16.  
  17. import org.apache.commons.io.IOUtils;
  18.  
  19. import com.FitBank.xml.Formas.Formulario;
  20. import com.FitBank.xml.Parser.ParserFormulario;
  21. import com.FitBank.xml.Parser.ParserGeneral;
  22. import com.fitbank.util.Debug;
  23. import com.fitbank.util.ListaArchivos;
  24. import com.fitbank.webpages.WebPage;
  25. import com.fitbank.webpages.WebPageXml;
  26.  
  27. public class Main {
  28.  
  29.     private final int cia;
  30.  
  31.     private final Connection conn;
  32.  
  33.     public Main(int cia) {
  34.         this.cia = cia;
  35.         this.conn = openDB();
  36.     }
  37.  
  38.     public void subirFormulario(InputStream is) throws Exception {
  39.         byte[] contenido = IOUtils.toByteArray(is);
  40.  
  41.         Formulario formulario = ParserFormulario.parse(ParserGeneral.
  42.                 parseStringDoc(new String(contenido, "ISO-8859-1")));
  43.         System.out.println("\t\tSubiendo el formulario " + formulario.getSubs() + formulario.
  44.                 getTran() + "...");
  45.         upload(new String(contenido, "ISO-8859-1"), formulario.getIdioma(),
  46.                 formulario.getSubs(), formulario.getTran(),
  47.                 formulario.getVersion(), Formulario.class.getName());
  48.         System.out.println("\t\tSe subio el formulario exitosamente.");
  49.     }
  50.  
  51.     public void subirWebPage(InputStream is) throws Exception {
  52.         byte[] contenido = IOUtils.toByteArray(is);
  53.  
  54.         WebPage webPage = WebPageXml.parse(new ByteArrayInputStream(contenido));
  55.         System.out.println("\t\tSubiendo el WebPage " + webPage.getSubsystem()
  56.                 + webPage.getTransaction() + "...");
  57.         upload(new String(contenido, "UTF-8"), webPage.getLanguage(),
  58.                 webPage.getSubsystem(), webPage.getTransaction(), "01",
  59.                 WebPage.class.getName());
  60.         System.out.println("\t\tSe subio el WebPage exitosamente.");
  61.     }
  62.  
  63.     /**
  64.      * Método que inserta o actualiza formularios sobre la tabla TFORMATOXML
  65.      *
  66.      * @throws java.io.IOException
  67.      * @throws java.sql.SQLException
  68.      */
  69.     public void upload(String contenido, String cidioma, String csubsistema,
  70.             String ctransaccion, String versiontransaccion, String tipoformato)
  71.             throws Exception {
  72.         Date expire = Date.valueOf("2999-12-31");
  73.         Timestamp now = new Timestamp(new java.util.Date().getTime());
  74.  
  75.         // Caduca el registro
  76.         PreparedStatement ps1 = conn.prepareStatement("UPDATE tformatoxml set fhasta=?"
  77.                 + " WHERE cidioma=? AND cpersona_compania=? AND csubsistema=?"
  78.                 + " AND ctransaccion=? AND versiontransaccion=? and fhasta=?");
  79.  
  80.         ps1.setTimestamp(1, now);
  81.         ps1.setString(2, cidioma);
  82.         ps1.setString(3, String.valueOf(cia));
  83.         ps1.setString(4, csubsistema);
  84.         ps1.setString(5, ctransaccion);
  85.         ps1.setString(6, versiontransaccion);
  86.         ps1.setDate(7, expire);
  87.  
  88.         ps1.executeUpdate();
  89.         ps1.close();
  90.  
  91.         // Inserta la info del nuevo webPage con el CLOB en nulo
  92.         PreparedStatement ps2 = conn.prepareStatement("INSERT INTO tformatoxml"
  93.                 + " (cidioma, cpersona_compania, csubsistema, ctransaccion, "
  94.                 + " versiontransaccion, formatoxml, tipoformato, fhasta, fdesde)"
  95.                 + " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)");
  96.  
  97.         System.out.println("Contenido: " + contenido.length());
  98.  
  99.         ps2.setString(1, cidioma);
  100.         ps2.setString(2, String.valueOf(cia));
  101.         ps2.setString(3, csubsistema);
  102.         ps2.setString(4, ctransaccion);
  103.         ps2.setString(5, versiontransaccion);
  104.         ps2.setString(6, contenido);
  105.         ps2.setString(7, tipoformato);
  106.         ps2.setDate(8, expire);
  107.         ps2.setTimestamp(9, now);
  108.  
  109.         ps2.execute();
  110.         ps2.close();
  111.     }
  112.  
  113.     private static Connection openDB() {
  114.         try {
  115.             Class.forName("oracle.jdbc.OracleDriver");
  116.  
  117.             Properties props = new Properties();
  118.             props.put("user", "fitaustro");
  119.             props.put("password", "fitaustro");
  120.             props.put("SetBigStringTryClob", "true");
  121.  
  122.             return DriverManager.getConnection("jdbc:oracle:thin:@10.1.1.227:1521:fitaustro", props);
  123.  
  124.         } catch (SQLException ex) {
  125.             Debug.error(ex);
  126.             System.exit(1);
  127.  
  128.         } catch (ClassNotFoundException ex) {
  129.             Debug.error(ex);
  130.             System.exit(1);
  131.         }
  132.  
  133.         return null;
  134.     }
  135.  
  136.     public static void main(String args[])
  137.             throws com.FitBank.xml.Parser.ExcepcionParser {
  138.         Collection<File> files = ListaArchivos.getLista(Main.class,
  139.                 "xml", "wpx");
  140.  
  141.         int cia = (Integer) JOptionPane.showInputDialog(null, "Compania",
  142.                 "Ingrese el codigo de compania",
  143.                 JOptionPane.QUESTION_MESSAGE, null, new Integer[] { 2, 3,
  144.                     4, 5, 6, 7, 8, 9, 10 }, 0);
  145.  
  146.         Main fu = new Main(cia);
  147.  
  148.         for (File file : files) {
  149.             try {
  150.                 if (file.getName().endsWith(".wpx")) {
  151.                     fu.subirWebPage(new FileInputStream(file));
  152.                 } else {
  153.                     fu.subirFormulario(new FileInputStream(file));
  154.                 }
  155.             } catch (Exception e) {
  156.                 Debug.error(e);
  157.             }
  158.         }
  159.  
  160.         System.exit(0);
  161.     }
  162.  
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement