package com.alcatel_lucent.nz.wnmsextract.database.wips.pcm; /* * This file is part of wnmsextract. * * wnmsextract is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * wnmsextract is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; import org.apache.log4j.Logger; import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException; import com.alcatel_lucent.nz.wnmsextract.database.ALUJDCConnector; import com.alcatel_lucent.nz.wnmsextract.xmlbeans.wips.pcm.BTSEquipmentType; import com.alcatel_lucent.nz.wnmsextract.xmlbeans.wips.pcm.NodeBPCMType; /* drop table snap_nodeb_pcm; create table snap_nodeb_pcm( beid varchar(8), pcm int, constraint snap_nodeb_pcm_pk primary key (beid) ); */ /** * WiPS snapshot NodeBPCM table inserter. * @author jnramsay */ public class SNAPNodeBPCMTable { private static Logger jlog = Logger.getLogger("com.alcatel-lucent.nz.wnmsextract.database.wips.pcm.SNAPNodeBPCMTable"); public static final String TABLE_NAME = "snap_nodeb_pcm"; public static void insertData(ALUJDCConnector ajc, XmlObject xmlobject){ NodeBPCMType nbpcm = (NodeBPCMType) xmlobject; //String nbid = nbpcm.getId(); StringBuffer sql1 = new StringBuffer("INSERT INTO "+TABLE_NAME+" ("); StringBuffer sql2 = new StringBuffer(") VALUES ("); for (String col : prepareHeader()){ sql1.append(col+","); sql2.append("?,"); } //System.out.println(); String sql = sql1.deleteCharAt(sql1.length()-1).toString() +sql2.deleteCharAt(sql2.length()-1).toString()+")"; for (BTSEquipmentType be : nbpcm.getBTSEquipmentArray()){ Connection con = null; PreparedStatement ps = null; try { con = ajc.getConnection(); ps = con.prepareStatement(sql); ps.setString(1,be.getId()); ps.setInt(2,be.getIntValue()); jlog.debug("PS::"+ps.toString()); ps.executeUpdate(); } catch(XmlValueOutOfRangeException xore){ System.err.println("Value in transformed XML does not subscribe to XSD defn for "+TABLE_NAME+" :: "+xore); } catch(SQLException sqle){ System.err.println("Problem mapping to DB "+TABLE_NAME+">"+ps+" :: "+sqle); } finally { try { ps.close(); con.close(); } catch (Exception e) { System.err.println("Undefined Exception :: "+e); } } } } public static ArrayList<String> prepareHeader() { ArrayList<String> row = new ArrayList<String>(); row.add("beid"); row.add("pcm"); return row; } }