acc38ba567
This reverts commit 0c6b84dd5f.
3018 lines
137 KiB
Java
3018 lines
137 KiB
Java
// uniCenta oPOS - Touch Friendly Point Of Sale
|
|
// Copyright (c) 2009-2016 uniCenta
|
|
// https://unicenta.com
|
|
//
|
|
// This file is part of uniCenta oPOS
|
|
//
|
|
// uniCenta oPOS 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.
|
|
//
|
|
// uniCenta oPOS 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 uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
package com.unicenta.pos.transfer;
|
|
|
|
|
|
import com.unicenta.basic.BasicException;
|
|
import com.unicenta.data.gui.JMessageDialog;
|
|
import com.unicenta.data.gui.MessageInf;
|
|
import com.unicenta.data.loader.BatchSentence;
|
|
import com.unicenta.data.loader.BatchSentenceResource;
|
|
import com.unicenta.data.loader.Session;
|
|
import com.unicenta.data.user.DirtyManager;
|
|
import com.unicenta.pos.config.PanelConfig;
|
|
import com.unicenta.pos.forms.*;
|
|
import com.unicenta.pos.util.AltEncrypter;
|
|
import com.unicenta.pos.util.DirectoryEvent;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.io.File;
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.net.URLClassLoader;
|
|
import java.sql.*;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Properties;
|
|
import java.util.regex.Matcher;
|
|
|
|
/**
|
|
* @author JG uniCenta
|
|
*/
|
|
@Slf4j
|
|
public final class Transfer extends JPanel implements JPanelView {
|
|
|
|
private DirtyManager dirty = new DirtyManager();
|
|
private AppConfig config;
|
|
private AppProperties m_props;
|
|
private Properties m_propsdb = null;
|
|
|
|
private List<PanelConfig> m_panelconfig;
|
|
|
|
private Connection con_source;
|
|
private Connection con_target;
|
|
|
|
private String sDB_source;
|
|
private String sDB_target;
|
|
|
|
private Session session_source;
|
|
private Session session_target;
|
|
|
|
private ResultSet rs;
|
|
|
|
private Statement stmt_source;
|
|
private Statement stmt_target;
|
|
private PreparedStatement pstmt;
|
|
private String SQL;
|
|
|
|
private String source_version;
|
|
|
|
private String ticketsnum;
|
|
private String ticketsnumRefund;
|
|
private String ticketsnumPayment;
|
|
|
|
private String targetCreate = "";
|
|
private String targetFKadd = "";
|
|
private String targetFKdrop = "";
|
|
|
|
ArrayList<String> stringList = new ArrayList<>();
|
|
|
|
public String strOut = "";
|
|
|
|
// the db connection session
|
|
private Session s;
|
|
private Connection con;
|
|
private Session session;
|
|
private boolean m_bInTransaction;
|
|
|
|
String db_url = null;
|
|
String db_schema = null;
|
|
String db_options = null;
|
|
String db_user = null;
|
|
String db_password = null;
|
|
|
|
/**
|
|
* Creates new form JPaneldbTransfer
|
|
*
|
|
* @param oApp
|
|
*/
|
|
public Transfer(AppView oApp) {
|
|
this(oApp.getProperties());
|
|
}
|
|
|
|
/**
|
|
* @param props
|
|
*/
|
|
public Transfer(AppProperties props) {
|
|
|
|
initComponents();
|
|
|
|
config = new AppConfig(props.getConfigFile());
|
|
m_props = props;
|
|
m_panelconfig = new ArrayList<>();
|
|
config.load();
|
|
|
|
m_panelconfig.stream().forEach((c) -> {
|
|
c.loadProperties(config);
|
|
});
|
|
|
|
jtxtDbDriverLib.getDocument().addDocumentListener(dirty);
|
|
jtxtDbDriver.getDocument().addDocumentListener(dirty);
|
|
jtxtDbType.getDocument().addDocumentListener(dirty);
|
|
txtDbPass.getDocument().addDocumentListener(dirty);
|
|
txtDbUser.getDocument().addDocumentListener(dirty);
|
|
txtOut.getDocument().addDocumentListener(dirty);
|
|
|
|
jbtnDbDriverLib.addActionListener(new DirectoryEvent(jtxtDbDriverLib));
|
|
|
|
cbSource.addActionListener(dirty);
|
|
|
|
cbSource.addItem("MySQL");
|
|
cbSource.addItem("PostgreSQL");
|
|
cbSource.addItem("Derby");
|
|
|
|
stringList.add("Transfer Ready..." + "\n");
|
|
txtOut.setText(stringList.get(0));
|
|
|
|
webPBar.setIndeterminate(true);
|
|
webPBar.setStringPainted(true);
|
|
webPBar.setString("Waiting...");
|
|
webPBar.setVisible(false);
|
|
|
|
jTransferPanel.setVisible(false);
|
|
jbtnTransfer.setEnabled(false);
|
|
jbtnReset.setEnabled(true);
|
|
|
|
}
|
|
|
|
/**
|
|
* @return
|
|
*/
|
|
@Override
|
|
public JComponent getComponent() {
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* @return
|
|
*/
|
|
@Override
|
|
public String getTitle() {
|
|
return AppLocal.getIntString("Menu.Transfer");
|
|
}
|
|
|
|
/**
|
|
* @return
|
|
*/
|
|
public Boolean getSource() {
|
|
|
|
String db_url2 = jtxtDbType.getText()
|
|
+ jtxtDbServerPort.getText()
|
|
+ jtxtDbName.getText()
|
|
+ jtxtDbParams.getText();
|
|
String db_user2 = txtDbUser.getText();
|
|
char[] pass = txtDbPass.getPassword();
|
|
String db_password2 = new String(pass);
|
|
|
|
Properties connectionProps = new Properties();
|
|
connectionProps.put("user", db_user2);
|
|
connectionProps.put("password", db_password2);
|
|
|
|
try {
|
|
Class.forName(jtxtDbDriver.getText());
|
|
|
|
ClassLoader cloader = new URLClassLoader(
|
|
new URL[]{
|
|
new File(jtxtDbDriverLib.getText()).toURI().toURL()
|
|
});
|
|
DriverManager.registerDriver(
|
|
new DriverWrapper((Driver) Class.forName(jtxtDbDriver.getText(),
|
|
true, cloader).newInstance()));
|
|
con_source = (Connection) DriverManager.getConnection(
|
|
db_url2, db_user2, db_password2);
|
|
|
|
session_source = new Session(db_url2, db_user2, db_password2);
|
|
sDB_source = con_source.getMetaData().getDatabaseProductName();
|
|
|
|
txtOut.append("Connected to Source OK" + "\n");
|
|
jbtnTransfer.setEnabled(true);
|
|
|
|
return (true);
|
|
|
|
} catch (ClassNotFoundException
|
|
| MalformedURLException
|
|
| InstantiationException
|
|
| IllegalAccessException
|
|
| SQLException e) {
|
|
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_DANGER,
|
|
AppLocal.getIntString("database.UnableToConnect"),
|
|
e));
|
|
return (false);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @return
|
|
*/
|
|
@SuppressWarnings("empty-statement")
|
|
public Boolean createTargetDB() {
|
|
// Transfer is into current MySQL database in unicentaopos.properties
|
|
|
|
targetCreate = "/com/unicenta/pos/scripts/" + sDB_target + "-create-transfer.sql";
|
|
targetFKadd = "/com/unicenta/pos/scripts/MySQL-FKeys.sql";
|
|
targetFKdrop = "/com/unicenta/pos/scripts/MySQL-dropFKeys.sql";
|
|
|
|
if ("".equals(targetCreate)) {
|
|
return (false);
|
|
}
|
|
|
|
try {
|
|
BatchSentence bsentence = new BatchSentenceResource(session_target, targetCreate);
|
|
bsentence = new BatchSentenceResource(session_target, targetFKdrop);
|
|
|
|
bsentence.putParameter("APP_ID", Matcher.quoteReplacement(AppLocal.APP_ID));
|
|
bsentence.putParameter("APP_NAME", Matcher.quoteReplacement(AppLocal.APP_NAME));
|
|
bsentence.putParameter("APP_VERSION", Matcher.quoteReplacement(AppLocal.APP_VERSION));
|
|
|
|
java.util.List l = bsentence.list();
|
|
|
|
if (l.size() > 0) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING,
|
|
AppLocal.getIntString("transfer.warning"),
|
|
l.toArray(new Throwable[l.size()])));
|
|
} else {
|
|
|
|
txtOut.append("Connected to Target OK" + "\n");
|
|
txtOut.revalidate();
|
|
txtOut.repaint();
|
|
}
|
|
|
|
} catch (BasicException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_DANGER,
|
|
AppLocal.getIntString("transfer.warningnodefault"),
|
|
e));
|
|
session_source.close();
|
|
} finally {
|
|
}
|
|
|
|
return (true);
|
|
}
|
|
|
|
/**
|
|
* @return
|
|
*/
|
|
public Boolean FKeys() {
|
|
if ("".equals(targetFKadd)) {
|
|
return (false);
|
|
}
|
|
try {
|
|
txtOut.append("Adding Foreign Keys" + "\n");
|
|
webPBar.setString("Adding Keys...");
|
|
webPBar.setBgBottom(Color.MAGENTA);
|
|
BatchSentence bsentence = new BatchSentenceResource(session_target, targetFKadd);
|
|
|
|
java.util.List l = bsentence.list();
|
|
if (l.size() > 0) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING,
|
|
AppLocal.getIntString("transfer.warning"),
|
|
l.toArray(new Throwable[l.size()])));
|
|
txtOut.append("Foreign Key error" + "\n");
|
|
} else {
|
|
txtOut.append("Foreign Keys completed" + "\n");
|
|
}
|
|
|
|
} catch (BasicException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_DANGER,
|
|
AppLocal.getIntString("database.ScriptNotFound"),
|
|
e));
|
|
session_source.close();
|
|
} finally {
|
|
}
|
|
txtOut.revalidate();
|
|
txtOut.repaint();
|
|
return (true);
|
|
|
|
}
|
|
|
|
/**
|
|
* @throws BasicException
|
|
*/
|
|
@Override
|
|
public void activate() throws BasicException {
|
|
/*
|
|
* Repeating this block as Transfer can be run externally
|
|
*/
|
|
|
|
if ("true".equals(m_props.getProperty("db.multi"))) {
|
|
ImageIcon icon = new ImageIcon("/com/unicenta/images/unicentaopos.png");
|
|
Object[] dbs = {
|
|
"0 - " + m_props.getProperty("db.name"),
|
|
"1 - " + m_props.getProperty("db1.name")};
|
|
|
|
Object s = (Object) JOptionPane.showInputDialog(
|
|
null, AppLocal.getIntString("message.databasechoose"),
|
|
"Selection", JOptionPane.OK_OPTION,
|
|
icon, dbs, m_props.getProperty("db.name"));
|
|
|
|
if (s.toString().startsWith("1")) {
|
|
db_url = (m_props.getProperty("db1.URL"));
|
|
db_schema = (m_props.getProperty("db1.schema"));
|
|
db_options = (m_props.getProperty("db1.options"));
|
|
db_user = (m_props.getProperty("db1.user"));
|
|
db_password = (m_props.getProperty("db1.password"));
|
|
if (db_user != null && db_password != null && db_password.startsWith("crypt:")) {
|
|
AltEncrypter cypher = new AltEncrypter("cypherkey" + db_user);
|
|
db_password = cypher.decrypt(db_password.substring(6));
|
|
}
|
|
String url = db_url + db_schema + db_options;
|
|
try {
|
|
session_target = new Session(url, db_user, db_password);
|
|
con_target = DriverManager.getConnection(url, db_user, db_password);
|
|
sDB_target = con_target.getMetaData().getDatabaseProductName();
|
|
jlblSource.setText(con_target.getCatalog());
|
|
} catch (SQLException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_DANGER,
|
|
AppLocal.getIntString("database.UnableToConnect"),
|
|
e));
|
|
}
|
|
|
|
} else {
|
|
db_url = (m_props.getProperty("db.URL"));
|
|
db_schema = (m_props.getProperty("db.schema"));
|
|
db_options = (m_props.getProperty("db.options"));
|
|
db_user = (m_props.getProperty("db.user"));
|
|
db_password = (m_props.getProperty("db.password"));
|
|
if (db_user != null && db_password != null && db_password.startsWith("crypt:")) {
|
|
AltEncrypter cypher = new AltEncrypter("cypherkey" + db_user);
|
|
db_password = cypher.decrypt(db_password.substring(6));
|
|
}
|
|
String url = db_url + db_schema + db_options;
|
|
try {
|
|
session_target = new Session(url, db_user, db_password);
|
|
con_target = DriverManager.getConnection(url, db_user, db_password);
|
|
sDB_target = con_target.getMetaData().getDatabaseProductName();
|
|
jlblSource.setText(con_target.getCatalog());
|
|
} catch (SQLException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_DANGER,
|
|
AppLocal.getIntString("database.UnableToConnect"),
|
|
e));
|
|
}
|
|
}
|
|
} else {
|
|
db_url = (m_props.getProperty("db.URL"));
|
|
db_schema = (m_props.getProperty("db.schema"));
|
|
db_options = (m_props.getProperty("db.options"));
|
|
db_user = (m_props.getProperty("db.user"));
|
|
db_password = (m_props.getProperty("db.password"));
|
|
if (db_user != null && db_password != null && db_password.startsWith("crypt:")) {
|
|
AltEncrypter cypher = new AltEncrypter("cypherkey" + db_user);
|
|
db_password = cypher.decrypt(db_password.substring(6));
|
|
}
|
|
String url = db_url + db_schema + db_options;
|
|
try {
|
|
session_target = new Session(url, db_user, db_password);
|
|
con_target = DriverManager.getConnection(url, db_user, db_password);
|
|
sDB_target = con_target.getMetaData().getDatabaseProductName();
|
|
jlblSource.setText(con_target.getCatalog());
|
|
} catch (SQLException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_DANGER,
|
|
AppLocal.getIntString("database.UnableToConnect"),
|
|
e));
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return
|
|
*/
|
|
@Override
|
|
public boolean deactivate() {
|
|
return (true);
|
|
}
|
|
|
|
/**
|
|
* @throws java.sql.SQLException
|
|
*/
|
|
public void clearData() throws SQLException {
|
|
Statement stmt = null;
|
|
try {
|
|
this.con_target.setAutoCommit(false);
|
|
stmt = this.con_target.createStatement();
|
|
|
|
stmt.addBatch("DELETE FROM attributesetinstance;");
|
|
stmt.addBatch("DELETE FROM attributeinstance;");
|
|
stmt.addBatch("DELETE FROM attributevalue");
|
|
stmt.addBatch("DELETE FROM attributeuse");
|
|
stmt.addBatch("DELETE FROM attributeset");
|
|
stmt.addBatch("DELETE FROM attribute");
|
|
stmt.addBatch("DELETE FROM people;");
|
|
stmt.addBatch("DELETE FROM categories;");
|
|
stmt.addBatch("DELETE FROM taxcategories;");
|
|
stmt.addBatch("DELETE FROM taxcustcategories;");
|
|
stmt.addBatch("DELETE FROM taxes;");
|
|
stmt.addBatch("DELETE FROM locations;");
|
|
stmt.addBatch("DELETE FROM floors;");
|
|
stmt.addBatch("DELETE FROM places;");
|
|
stmt.addBatch("DELETE FROM shifts;");
|
|
stmt.addBatch("DELETE FROM breaks;");
|
|
stmt.addBatch("DELETE FROM shift_breaks;");
|
|
stmt.addBatch("DELETE FROM closedcash;");
|
|
stmt.addBatch("DELETE FROM csvimport;");
|
|
stmt.addBatch("DELETE FROM customers;");
|
|
stmt.addBatch("DELETE FROM draweropened;");
|
|
stmt.addBatch("DELETE FROM leaves;");
|
|
stmt.addBatch("DELETE FROM lineremoved;");
|
|
stmt.addBatch("DELETE FROM payments;");
|
|
stmt.addBatch("DELETE FROM products_cat;");
|
|
stmt.addBatch("DELETE FROM products_com;");
|
|
stmt.addBatch("DELETE FROM products;");
|
|
stmt.addBatch("DELETE FROM receipts;");
|
|
stmt.addBatch("DELETE FROM roles WHERE NOT ID = '0';");
|
|
stmt.addBatch("DELETE FROM stockcurrent;");
|
|
stmt.addBatch("DELETE FROM stockdiary;");
|
|
stmt.addBatch("DELETE FROM stocklevel;");
|
|
stmt.addBatch("DELETE FROM suppliers;");
|
|
stmt.addBatch("DELETE FROM uom;");
|
|
stmt.addBatch("DELETE FROM vouchers;");
|
|
|
|
stmt.addBatch("SET autocommit=0;");
|
|
stmt.addBatch("SET unique_checks=0;");
|
|
stmt.addBatch("SET foreign_key_checks=0;");
|
|
|
|
int[] updateCounts = stmt.executeBatch();
|
|
this.con_target.commit();
|
|
|
|
} catch (BatchUpdateException b) {
|
|
|
|
} catch (SQLException ex) {
|
|
|
|
} finally {
|
|
if (stmt != null) {
|
|
stmt.close();
|
|
}
|
|
this.con_target.setAutoCommit(true);
|
|
}
|
|
}
|
|
|
|
public void doTransfer() throws SQLException {
|
|
|
|
webPBar.setString("Starting...");
|
|
webPBar.setVisible(true);
|
|
|
|
String Dbtname = "";
|
|
|
|
Double Dbtversion = Double.parseDouble(jlblVersion.getText().substring(0, 3));
|
|
|
|
if (getSource()) {
|
|
txtOut.setVisible(true);
|
|
txtOut.append("Transfer Started..." + "\n");
|
|
|
|
if (createTargetDB()) {
|
|
jbtnTransfer.setEnabled(false);
|
|
|
|
try {
|
|
stmt_source = (Statement) con_source.createStatement();
|
|
stmt_target = (Statement) con_target.createStatement();
|
|
|
|
clearData();
|
|
|
|
this.con_target.setAutoCommit(false);
|
|
|
|
webPBar.setString("Running...");
|
|
|
|
Dbtname = "attribute";
|
|
ResultSet rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Attribute" + "\n");
|
|
SQL = "SELECT ID, NAME FROM attribute";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO attribute ("
|
|
+ "ID, NAME) "
|
|
+ "VALUES (?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "attributevalue";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Attributevalue" + "\n");
|
|
SQL = "SELECT ID, ATTRIBUTE_ID, VALUE FROM attributevalue";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO attributevalue ("
|
|
+ "ID, ATTRIBUTE_ID, VALUE) "
|
|
+ "VALUES (?, ?, ?)";
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("ATTRIBUTE_ID"));
|
|
pstmt.setString(3, rs.getString("VALUE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "attributeinstance";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Attributeinstance" + "\n");
|
|
SQL = "SELECT ID, ATTRIBUTESETINSTANCE_ID, ATTRIBUTE_ID, VALUE FROM attributeinstance";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO attributeinstance ("
|
|
+ "ID, ATTRIBUTESETINSTANCE_ID, ATTRIBUTE_ID, VALUE) "
|
|
+ "VALUES (?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("ATTRIBUTESETINSTANCE_ID"));
|
|
pstmt.setString(3, rs.getString("ATTRIBUTE_ID"));
|
|
pstmt.setString(4, rs.getString("VALUE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "attributesetinstance";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Attributesetinstance" + "\n");
|
|
SQL = "SELECT ID, ATTRIBUTESET_ID, DESCRIPTION FROM attributesetinstance";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO attributesetinstance ("
|
|
+ "ID, ATTRIBUTESET_ID, DESCRIPTION) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("ATTRIBUTESET_ID"));
|
|
pstmt.setString(3, rs.getString("DESCRIPTION"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "attributeuse";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Attributeuse" + "\n");
|
|
SQL = "SELECT ID, ATTRIBUTESET_ID, ATTRIBUTE_ID FROM attributeuse";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
// removed LINENO as weird bug in MySQL causes Lock Timeout
|
|
// only happens to this table, no other affected
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO attributeuse("
|
|
+ "ID, ATTRIBUTESET_ID, ATTRIBUTE_ID) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("ATTRIBUTESET_ID"));
|
|
pstmt.setString(3, rs.getString("ATTRIBUTE_ID"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "attributeset";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Attributeset" + "\n");
|
|
SQL = "SELECT ID, NAME FROM attributeset";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO attributeset ("
|
|
+ "ID, NAME) "
|
|
+ "VALUES (?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
// introduced in 3.00
|
|
if (Dbtversion >= 3.00) {
|
|
Dbtname = "breaks";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Breaks" + "\n");
|
|
SQL = "SELECT * FROM breaks";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO breaks("
|
|
+ "ID, NAME, NOTES, VISIBLE) "
|
|
+ "VALUES (?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("NOTES"));
|
|
pstmt.setBoolean(4, rs.getBoolean("VISIBLE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Breaks... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "categories";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Categories" + "\n");
|
|
SQL = "SELECT * FROM categories";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
if (rs.getMetaData().getColumnCount() == 6) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO categories("
|
|
+ "ID, NAME, PARENTID, IMAGE, "
|
|
+ "TEXTTIP, CATSHOWNAME) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("PARENTID"));
|
|
pstmt.setBytes(4, rs.getBytes("IMAGE"));
|
|
pstmt.setString(5, rs.getString("TEXTTIP"));
|
|
pstmt.setBoolean(6, rs.getBoolean("CATSHOWNAME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO categories("
|
|
+ "ID, NAME, PARENTID, IMAGE) "
|
|
+ "VALUES (?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("PARENTID"));
|
|
pstmt.setBytes(4, rs.getBytes("IMAGE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "closedcash";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("ClosedCash" + "\n");
|
|
SQL = "DELETE FROM closedcash";
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.executeUpdate();
|
|
|
|
SQL = "SELECT * FROM closedcash";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
if (rs.getMetaData().getColumnCount() == 6) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO closedcash("
|
|
+ "MONEY, HOST, HOSTSEQUENCE, "
|
|
+ "DATESTART, DATEEND, NOSALES) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("MONEY"));
|
|
pstmt.setString(2, rs.getString("HOST"));
|
|
pstmt.setInt(3, rs.getInt("HOSTSEQUENCE"));
|
|
pstmt.setTimestamp(4, rs.getTimestamp("DATESTART"));
|
|
pstmt.setTimestamp(5, rs.getTimestamp("DATEEND"));
|
|
pstmt.setInt(6, rs.getInt("NOSALES"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO closedcash("
|
|
+ "MONEY, HOST, HOSTSEQUENCE, "
|
|
+ "DATESTART, DATEEND) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("MONEY"));
|
|
pstmt.setString(2, rs.getString("HOST"));
|
|
pstmt.setInt(3, rs.getInt("HOSTSEQUENCE"));
|
|
pstmt.setTimestamp(4, rs.getTimestamp("DATESTART"));
|
|
pstmt.setTimestamp(5, rs.getTimestamp("DATEEND"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "customers";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Customers" + "\n");
|
|
SQL = "SELECT * FROM customers";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
if (rs.getMetaData().getColumnCount() == 27) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO customers("
|
|
+ "ID, SEARCHKEY, TAXID, NAME, TAXCATEGORY, "
|
|
+ "CARD, MAXDEBT,ADDRESS, ADDRESS2, POSTAL, "
|
|
+ "CITY, REGION, COUNTRY, FIRSTNAME, LASTNAME,"
|
|
+ "EMAIL, PHONE, PHONE2, FAX, NOTES, "
|
|
+ "VISIBLE, CURDATE, CURDEBT, IMAGE, ISVIP, "
|
|
+ "DISCOUNT, MEMODATE)"
|
|
+ " VALUES ("
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("SEARCHKEY"));
|
|
pstmt.setString(3, rs.getString("TAXID"));
|
|
pstmt.setString(4, rs.getString("NAME"));
|
|
pstmt.setString(5, rs.getString("TAXCATEGORY"));
|
|
pstmt.setString(6, rs.getString("CARD"));
|
|
pstmt.setDouble(7, rs.getDouble("MAXDEBT"));
|
|
pstmt.setString(8, rs.getString("ADDRESS"));
|
|
pstmt.setString(9, rs.getString("ADDRESS2"));
|
|
pstmt.setString(10, rs.getString("POSTAL"));
|
|
pstmt.setString(11, rs.getString("CITY"));
|
|
pstmt.setString(12, rs.getString("REGION"));
|
|
pstmt.setString(13, rs.getString("COUNTRY"));
|
|
pstmt.setString(14, rs.getString("FIRSTNAME"));
|
|
pstmt.setString(15, rs.getString("LASTNAME"));
|
|
pstmt.setString(16, rs.getString("EMAIL"));
|
|
pstmt.setString(17, rs.getString("PHONE"));
|
|
pstmt.setString(18, rs.getString("PHONE2"));
|
|
pstmt.setString(19, rs.getString("FAX"));
|
|
pstmt.setString(20, rs.getString("NOTES"));
|
|
pstmt.setBoolean(21, rs.getBoolean("VISIBLE"));
|
|
pstmt.setTimestamp(22, rs.getTimestamp("CURDATE"));
|
|
pstmt.setDouble(23, rs.getDouble("CURDEBT"));
|
|
pstmt.setBytes(24, rs.getBytes("IMAGE"));
|
|
pstmt.setBoolean(25, rs.getBoolean("ISVIP"));
|
|
pstmt.setDouble(26, rs.getDouble("DISCOUNT"));
|
|
pstmt.setTimestamp(27, rs.getTimestamp("MEMODATE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO customers("
|
|
+ "ID, SEARCHKEY, TAXID, NAME, "
|
|
+ "TAXCATEGORY, CARD, MAXDEBT,"
|
|
+ "ADDRESS, ADDRESS2, POSTAL, CITY, "
|
|
+ "REGION, COUNTRY, FIRSTNAME, LASTNAME, "
|
|
+ "EMAIL, PHONE, PHONE2, FAX, "
|
|
+ "NOTES, VISIBLE, CURDATE, CURDEBT)"
|
|
+ " VALUES ("
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("SEARCHKEY"));
|
|
pstmt.setString(3, rs.getString("TAXID"));
|
|
pstmt.setString(4, rs.getString("NAME"));
|
|
pstmt.setString(5, rs.getString("TAXCATEGORY"));
|
|
pstmt.setString(6, rs.getString("CARD"));
|
|
pstmt.setDouble(7, rs.getDouble("MAXDEBT"));
|
|
pstmt.setString(8, rs.getString("ADDRESS"));
|
|
pstmt.setString(9, rs.getString("ADDRESS2"));
|
|
pstmt.setString(10, rs.getString("POSTAL"));
|
|
pstmt.setString(11, rs.getString("CITY"));
|
|
pstmt.setString(12, rs.getString("REGION"));
|
|
pstmt.setString(13, rs.getString("COUNTRY"));
|
|
pstmt.setString(14, rs.getString("FIRSTNAME"));
|
|
pstmt.setString(15, rs.getString("LASTNAME"));
|
|
pstmt.setString(16, rs.getString("EMAIL"));
|
|
pstmt.setString(17, rs.getString("PHONE"));
|
|
pstmt.setString(18, rs.getString("PHONE2"));
|
|
pstmt.setString(19, rs.getString("FAX"));
|
|
pstmt.setString(20, rs.getString("NOTES"));
|
|
pstmt.setBoolean(21, rs.getBoolean("VISIBLE"));
|
|
pstmt.setTimestamp(22, rs.getTimestamp("CURDATE"));
|
|
pstmt.setDouble(23, rs.getDouble("CURDEBT"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
rs.close();
|
|
|
|
// introduced 3.50
|
|
if (Dbtversion >= 3.50) {
|
|
Dbtname = "draweropened";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("DrawerOpened" + "\n");
|
|
SQL = "SELECT * FROM draweropened";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO draweropened("
|
|
+ "OPENDATE, NAME, TICKETID) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("OPENDATE"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("TICKETID"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
|
|
Dbtname = "floors";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Floors" + "\n");
|
|
SQL = "SELECT * FROM floors";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO floors ("
|
|
+ "ID, NAME, IMAGE) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setBytes(3, rs.getBytes("IMAGE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
// introduced in 3.00
|
|
if (Dbtversion >= 3.00) {
|
|
Dbtname = "leaves";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Leaves" + "\n");
|
|
SQL = "SELECT * FROM leaves";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO leaves ("
|
|
+ "ID, PPLID, NAME, STARTDATE, "
|
|
+ "ENDDATE, NOTES) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("PPLID"));
|
|
pstmt.setString(3, rs.getString("NAME"));
|
|
pstmt.setTimestamp(4, rs.getTimestamp("STARTDATE"));
|
|
pstmt.setTimestamp(5, rs.getTimestamp("ENDDATE"));
|
|
pstmt.setString(6, rs.getString("NOTES"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Leaves... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
// introduced in 3.70
|
|
if (Dbtversion >= 3.70) {
|
|
Dbtname = "lineremoved";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("LineRemoved" + "\n");
|
|
SQL = "SELECT * FROM lineremoved";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO lineremoved ("
|
|
+ "REMOVEDDATE, NAME, TICKETID, "
|
|
+ "PRODUCTID, PRODUCTNAME, UNITS) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setTimestamp(1, rs.getTimestamp("REMOVEDDATE"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("TICKETID"));
|
|
pstmt.setString(4, rs.getString("PRODUCTID"));
|
|
pstmt.setString(5, rs.getString("PRODUCTNAME"));
|
|
pstmt.setDouble(6, rs.getDouble("UNITS"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Line Removed... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "locations";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Locations" + "\n");
|
|
SQL = "SELECT * FROM locations";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO locations("
|
|
+ "ID, NAME, ADDRESS) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("ADDRESS"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
// moorers introduced in 3.50
|
|
if (Dbtversion >= 3.50) {
|
|
Dbtname = "moorers";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Moorers" + "\n");
|
|
SQL = "SELECT * FROM moorers";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO moorers("
|
|
+ "VESSELNAME, SIZE, DAYS, POWER) "
|
|
+ "VALUES (?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("VESSELNAME"));
|
|
pstmt.setInt(2, rs.getInt("SIZE"));
|
|
pstmt.setInt(3, rs.getInt("DAYS"));
|
|
pstmt.setBoolean(4, rs.getBoolean("POWER"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Moorers... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "payments";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Payments" + "\n");
|
|
SQL = "SELECT * FROM payments";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
if (Dbtversion >= 3.02) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO payments("
|
|
+ "ID, RECEIPT, PAYMENT, TOTAL, "
|
|
+ "TRANSID, RETURNMSG, NOTES, TENDERED) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("RECEIPT"));
|
|
pstmt.setString(3, rs.getString("PAYMENT"));
|
|
pstmt.setDouble(4, rs.getDouble("TOTAL"));
|
|
pstmt.setString(5, rs.getString("TRANSID"));
|
|
pstmt.setBytes(6, rs.getBytes("RETURNMSG"));
|
|
pstmt.setString(7, rs.getString("NOTES"));
|
|
pstmt.setDouble(8, rs.getDouble("TENDERED"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO payments("
|
|
+ "ID, RECEIPT, PAYMENT, TOTAL, "
|
|
+ "TRANSID, RETURNMSG) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("RECEIPT"));
|
|
pstmt.setString(3, rs.getString("PAYMENT"));
|
|
pstmt.setDouble(4, rs.getDouble("TOTAL"));
|
|
pstmt.setString(5, rs.getString("TRANSID"));
|
|
pstmt.setBytes(6, rs.getBytes("RETURNMSG"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
SQL = "UPDATE payments SET payment='ccard' WHERE payment='magcard'";
|
|
pstmt.execute(SQL);
|
|
SQL = "UPDATE payments SET payment='ccardrefund' WHERE payment='magcardrefund'";
|
|
pstmt.execute(SQL);
|
|
SQL = "UPDATE payments SET tendered = ROUND(total,2) WHERE tendered is null";
|
|
pstmt.execute(SQL);
|
|
|
|
rs.close();
|
|
|
|
Dbtname = "people";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("People" + "\n");
|
|
SQL = "SELECT * FROM people";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO people("
|
|
+ "ID, NAME, APPPASSWORD, CARD, "
|
|
+ "ROLE, VISIBLE, IMAGE) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("APPPASSWORD"));
|
|
pstmt.setString(4, rs.getString("CARD"));
|
|
pstmt.setString(5, rs.getString("ROLE"));
|
|
pstmt.setBoolean(6, rs.getBoolean("VISIBLE"));
|
|
pstmt.setBytes(7, rs.getBytes("IMAGE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
// pickup_number introduced in 3.50
|
|
if (Dbtversion >= 3.50 && !jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "pickup_number";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Pickup Number" + "\n");
|
|
SQL = "SELECT * FROM pickup_number";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO pickup_number(ID) "
|
|
+ "VALUES (?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Pickup Number... skipped" + "\n");
|
|
}
|
|
// deliberately verbose chunk so can see diff's between PostgreSQL v9 & v10 sequence
|
|
if (Dbtversion >= 3.50 && jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "pickup_number";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Pickup Number" + "\n");
|
|
SQL = "SELECT * FROM pickup_number";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
String pickupNumber = null;
|
|
|
|
while (rs.next()) {
|
|
pickupNumber = rs.getString("last_value");
|
|
}
|
|
|
|
if (pickupNumber != null) {
|
|
SQL = "UPDATE pickup_number SET ID=" + pickupNumber;
|
|
} else {
|
|
SQL = "UPDATE pickup_number SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Pickup Number... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "places";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Places" + "\n");
|
|
SQL = "SELECT * FROM places";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
if (rs.getMetaData().getColumnCount() == 9) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO places ("
|
|
+ "ID, NAME, X, Y, FLOOR, "
|
|
+ "CUSTOMER, WAITER, TICKETID, TABLEMOVED,"
|
|
+ "WIDTH, HEIGHT, GUESTS, OCCUPIED) "
|
|
+ "VALUES (?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ? )";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setInt(3, rs.getInt("X"));
|
|
pstmt.setInt(4, rs.getInt("Y"));
|
|
pstmt.setString(5, rs.getString("FLOOR"));
|
|
pstmt.setString(6, rs.getString("CUSTOMER"));
|
|
pstmt.setString(7, rs.getString("WAITER"));
|
|
pstmt.setString(8, rs.getString("TICKETID"));
|
|
pstmt.setBoolean(9, rs.getBoolean("TABLEMOVED"));
|
|
|
|
pstmt.setInt(10, 90); // Width
|
|
pstmt.setInt(11, 45); // Height
|
|
pstmt.setInt(12, 1); // Guests
|
|
pstmt.setTimestamp(13, null); // Occupied
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO places ("
|
|
+ "ID, NAME, X, Y, FLOOR) "
|
|
+ "VALUES (?, ?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setInt(3, rs.getInt("X"));
|
|
pstmt.setInt(4, rs.getInt("Y"));
|
|
pstmt.setString(5, rs.getString("FLOOR"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "products";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Products" + "\n");
|
|
SQL = "SELECT * FROM products";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
switch (rs.getMetaData().getColumnCount()) {
|
|
case 30:
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO products("
|
|
+ "ID, REFERENCE, CODE, CODETYPE, NAME, "
|
|
+ "PRICEBUY, PRICESELL, CATEGORY, TAXCAT, ATTRIBUTESET_ID, "
|
|
+ "STOCKCOST, STOCKVOLUME, IMAGE, ISCOM, ISSCALE, "
|
|
+ "ISCONSTANT, PRINTKB, SENDSTATUS, ISSERVICE, ATTRIBUTES, "
|
|
+ "DISPLAY, ISVPRICE, ISVERPATRIB, TEXTTIP, WARRANTY, "
|
|
+ "STOCKUNITS, PRINTTO, SUPPLIER, UOM, MEMODATE) "
|
|
+ "VALUES (?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?,"
|
|
+ "?, ?, ?, ?, ?,"
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ? ,?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("REFERENCE"));
|
|
pstmt.setString(3, rs.getString("CODE"));
|
|
pstmt.setString(4, rs.getString("CODETYPE"));
|
|
pstmt.setString(5, rs.getString("NAME"));
|
|
pstmt.setDouble(6, rs.getDouble("PRICEBUY"));
|
|
pstmt.setDouble(7, rs.getDouble("PRICESELL"));
|
|
pstmt.setString(8, rs.getString("CATEGORY"));
|
|
pstmt.setString(9, rs.getString("TAXCAT"));
|
|
pstmt.setString(10, rs.getString("ATTRIBUTESET_ID"));
|
|
pstmt.setDouble(11, rs.getDouble("STOCKCOST"));
|
|
pstmt.setDouble(12, rs.getDouble("STOCKVOLUME"));
|
|
pstmt.setBytes(13, rs.getBytes("IMAGE"));
|
|
pstmt.setBoolean(14, rs.getBoolean("ISCOM"));
|
|
pstmt.setBoolean(15, rs.getBoolean("ISSCALE"));
|
|
pstmt.setBoolean(16, rs.getBoolean("ISCONSTANT"));
|
|
pstmt.setBoolean(17, rs.getBoolean("PRINTKB"));
|
|
pstmt.setBoolean(18, rs.getBoolean("SENDSTATUS"));
|
|
pstmt.setBoolean(19, rs.getBoolean("ISSERVICE"));
|
|
pstmt.setBytes(20, rs.getBytes("ATTRIBUTES"));
|
|
pstmt.setString(21, rs.getString("DISPLAY"));
|
|
pstmt.setBoolean(22, rs.getBoolean("ISVPRICE"));
|
|
pstmt.setBoolean(23, rs.getBoolean("ISVERPATRIB"));
|
|
pstmt.setString(24, rs.getString("TEXTTIP"));
|
|
pstmt.setBoolean(25, rs.getBoolean("WARRANTY"));
|
|
pstmt.setDouble(26, rs.getDouble("STOCKUNITS"));
|
|
pstmt.setString(27, rs.getString("PRINTTO"));
|
|
pstmt.setString(28, rs.getString("SUPPLIER"));
|
|
pstmt.setString(29, rs.getString("UOM"));
|
|
pstmt.setTimestamp(30, rs.getTimestamp("MEMODATE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
break;
|
|
case 29:
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO products("
|
|
+ "ID, REFERENCE, CODE, CODETYPE, NAME, "
|
|
+ "PRICEBUY, PRICESELL, CATEGORY, TAXCAT, ATTRIBUTESET_ID, "
|
|
+ "STOCKCOST, STOCKVOLUME, IMAGE, ISCOM, ISSCALE, "
|
|
+ "ISCONSTANT, PRINTKB, SENDSTATUS, ISSERVICE, ATTRIBUTES, "
|
|
+ "DISPLAY, ISVPRICE, ISVERPATRIB, TEXTTIP, WARRANTY, "
|
|
+ "STOCKUNITS, PRINTTO, SUPPLIER, UOM) "
|
|
+ "VALUES (?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?,"
|
|
+ "?, ?, ?, ?, ?,"
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("REFERENCE"));
|
|
pstmt.setString(3, rs.getString("CODE"));
|
|
pstmt.setString(4, rs.getString("CODETYPE"));
|
|
pstmt.setString(5, rs.getString("NAME"));
|
|
pstmt.setDouble(6, rs.getDouble("PRICEBUY"));
|
|
pstmt.setDouble(7, rs.getDouble("PRICESELL"));
|
|
pstmt.setString(8, rs.getString("CATEGORY"));
|
|
pstmt.setString(9, rs.getString("TAXCAT"));
|
|
pstmt.setString(10, rs.getString("ATTRIBUTESET_ID"));
|
|
pstmt.setDouble(11, rs.getDouble("STOCKCOST"));
|
|
pstmt.setDouble(12, rs.getDouble("STOCKVOLUME"));
|
|
pstmt.setBytes(13, rs.getBytes("IMAGE"));
|
|
pstmt.setBoolean(14, rs.getBoolean("ISCOM"));
|
|
pstmt.setBoolean(15, rs.getBoolean("ISSCALE"));
|
|
pstmt.setBoolean(16, rs.getBoolean("ISCONSTANT"));
|
|
pstmt.setBoolean(17, rs.getBoolean("PRINTKB"));
|
|
pstmt.setBoolean(18, rs.getBoolean("SENDSTATUS"));
|
|
pstmt.setBoolean(19, rs.getBoolean("ISSERVICE"));
|
|
pstmt.setBytes(20, rs.getBytes("ATTRIBUTES"));
|
|
pstmt.setString(21, rs.getString("DISPLAY"));
|
|
pstmt.setBoolean(22, rs.getBoolean("ISVPRICE"));
|
|
pstmt.setBoolean(23, rs.getBoolean("ISVERPATRIB"));
|
|
pstmt.setString(24, rs.getString("TEXTTIP"));
|
|
pstmt.setBoolean(25, rs.getBoolean("WARRANTY"));
|
|
pstmt.setDouble(26, rs.getDouble("STOCKUNITS"));
|
|
pstmt.setString(27, rs.getString("PRINTTO"));
|
|
pstmt.setString(28, rs.getString("SUPPLIER"));
|
|
pstmt.setString(29, rs.getString("UOM"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
break;
|
|
default:
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO products("
|
|
+ "ID, REFERENCE, CODE, CODETYPE, NAME, "
|
|
+ "PRICEBUY, PRICESELL, CATEGORY, TAXCAT, "
|
|
+ "ATTRIBUTESET_ID, STOCKCOST, STOCKVOLUME, IMAGE, "
|
|
+ "ISCOM, ISSCALE, ATTRIBUTES, DISPLAY) "
|
|
+ "VALUES (?, ?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("REFERENCE"));
|
|
pstmt.setString(3, rs.getString("CODE"));
|
|
pstmt.setString(4, rs.getString("CODETYPE"));
|
|
pstmt.setString(5, rs.getString("NAME"));
|
|
pstmt.setDouble(6, rs.getDouble("PRICEBUY"));
|
|
pstmt.setDouble(7, rs.getDouble("PRICESELL"));
|
|
pstmt.setString(8, rs.getString("CATEGORY"));
|
|
pstmt.setString(9, rs.getString("TAXCAT"));
|
|
pstmt.setString(10, rs.getString("ATTRIBUTESET_ID"));
|
|
pstmt.setDouble(11, rs.getDouble("STOCKCOST"));
|
|
pstmt.setDouble(12, rs.getDouble("STOCKVOLUME"));
|
|
pstmt.setBytes(13, rs.getBytes("IMAGE"));
|
|
pstmt.setBoolean(14, rs.getBoolean("ISCOM"));
|
|
pstmt.setBoolean(15, rs.getBoolean("ISSCALE"));
|
|
pstmt.setBytes(16, rs.getBytes("ATTRIBUTES"));
|
|
pstmt.setString(17, "<html><center>" + rs.getString("NAME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
break;
|
|
}
|
|
SQL = "UPDATE products set supplier = '0' WHERE supplier is null";
|
|
pstmt.execute(SQL);
|
|
rs.close();
|
|
|
|
Dbtname = "products_cat";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Products_Cat" + "\n");
|
|
SQL = "SELECT * FROM products_cat";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO products_cat("
|
|
+ "PRODUCT, CATORDER) "
|
|
+ "VALUES (?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("PRODUCT"));
|
|
pstmt.setInt(2, rs.getInt("CATORDER"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "products_com";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Products_Com" + "\n");
|
|
SQL = "SELECT * FROM products_com";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO products_com("
|
|
+ "ID, PRODUCT, PRODUCT2) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("PRODUCT"));
|
|
pstmt.setString(3, rs.getString("PRODUCT2"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "receipts";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Receipts" + "\n");
|
|
SQL = "SELECT * FROM receipts";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
if (rs.getMetaData().getColumnCount() == 5) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO receipts("
|
|
+ "ID, MONEY, DATENEW, "
|
|
+ "ATTRIBUTES, PERSON) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("MONEY"));
|
|
pstmt.setTimestamp(3, rs.getTimestamp("DATENEW"));
|
|
pstmt.setBytes(4, rs.getBytes("ATTRIBUTES"));
|
|
pstmt.setString(5, rs.getString("PERSON"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO receipts("
|
|
+ "ID, MONEY, DATENEW, ATTRIBUTES) "
|
|
+ "VALUES (?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("MONEY"));
|
|
pstmt.setTimestamp(3, rs.getTimestamp("DATENEW"));
|
|
pstmt.setBytes(4, rs.getBytes("ATTRIBUTES"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "reservation_customers";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Reservation_Customers" + "\n");
|
|
SQL = "SELECT * FROM reservation_customers";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO reservation_customers("
|
|
+ "ID, CUSTOMER) "
|
|
+ "VALUES (?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("CUSTOMER"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "reservations";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Reservations" + "\n");
|
|
SQL = "SELECT * FROM reservations";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO reservations("
|
|
+ "ID, CREATED, DATENEW, TITLE, "
|
|
+ "CHAIRS, ISDONE, DESCRIPTION) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setTimestamp(2, rs.getTimestamp("CREATED"));
|
|
pstmt.setTimestamp(3, rs.getTimestamp("DATENEW"));
|
|
pstmt.setString(4, rs.getString("TITLE"));
|
|
pstmt.setInt(5, rs.getInt("CHAIRS"));
|
|
pstmt.setBoolean(6, rs.getBoolean("ISDONE"));
|
|
pstmt.setString(7, rs.getString("DESCRIPTION"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "roles";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Roles" + "\n");
|
|
SQL = "SELECT * FROM roles WHERE NOT ID='0' ";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO roles("
|
|
+ "ID, NAME, PERMISSIONS) "
|
|
+ "VALUES (?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setBytes(3, rs.getBytes("PERMISSIONS"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
// introduced in 3.00
|
|
if (Dbtversion >= 3.00) {
|
|
Dbtname = "shift_breaks";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Shift_breaks" + "\n");
|
|
SQL = "SELECT * FROM shift_breaks";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO shift_breaks("
|
|
+ "ID, SHIFTID, BREAKID, "
|
|
+ "STARTTIME, ENDTIME) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("SHIFTID"));
|
|
pstmt.setString(3, rs.getString("BREAKID"));
|
|
pstmt.setTimestamp(4, rs.getTimestamp("STARTTIME"));
|
|
pstmt.setTimestamp(5, rs.getTimestamp("ENDTIME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Shift Breaks... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
// introduced in 3.00
|
|
if (Dbtversion >= 3.00) {
|
|
Dbtname = "shifts";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Shifts" + "\n");
|
|
SQL = "SELECT * FROM shifts";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO shifts("
|
|
+ "ID, STARTSHIFT, ENDSHIFT, PPLID) "
|
|
+ "VALUES (?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setTimestamp(2, rs.getTimestamp("STARTSHIFT"));
|
|
pstmt.setTimestamp(3, rs.getTimestamp("ENDSHIFT"));
|
|
pstmt.setString(4, rs.getString("PPLID"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Shifts... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "stockcurrent";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Stockcurrent" + "\n");
|
|
SQL = "SELECT * FROM stockcurrent";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO stockcurrent("
|
|
+ "LOCATION, PRODUCT, "
|
|
+ "ATTRIBUTESETINSTANCE_ID, UNITS) "
|
|
+ "VALUES (?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("LOCATION"));
|
|
pstmt.setString(2, rs.getString("PRODUCT"));
|
|
pstmt.setString(3, rs.getString("ATTRIBUTESETINSTANCE_ID"));
|
|
pstmt.setDouble(4, rs.getDouble("UNITS"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "stockdiary";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Stockdiary" + "\n");
|
|
SQL = "SELECT * FROM stockdiary";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
if (rs.getMetaData().getColumnCount() == 9) {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO stockdiary("
|
|
+ "ID, DATENEW, REASON, LOCATION, "
|
|
+ "PRODUCT, ATTRIBUTESETINSTANCE_ID, UNITS, "
|
|
+ "PRICE, APPUSER) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setTimestamp(2, rs.getTimestamp("DATENEW"));
|
|
pstmt.setInt(3, rs.getInt("REASON"));
|
|
pstmt.setString(4, rs.getString("LOCATION"));
|
|
pstmt.setString(5, rs.getString("PRODUCT"));
|
|
pstmt.setString(6, rs.getString("ATTRIBUTESETINSTANCE_ID"));
|
|
pstmt.setDouble(7, rs.getDouble("UNITS"));
|
|
pstmt.setDouble(8, rs.getDouble("PRICE"));
|
|
pstmt.setString(9, rs.getString("APPUSER"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO stockdiary("
|
|
+ "ID, DATENEW, REASON, LOCATION, "
|
|
+ "PRODUCT, ATTRIBUTESETINSTANCE_ID, UNITS, "
|
|
+ "PRICE) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?, "
|
|
+ "?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setTimestamp(2, rs.getTimestamp("DATENEW"));
|
|
pstmt.setInt(3, rs.getInt("REASON"));
|
|
pstmt.setString(4, rs.getString("LOCATION"));
|
|
pstmt.setString(5, rs.getString("PRODUCT"));
|
|
pstmt.setString(6, rs.getString("ATTRIBUTESETINSTANCE_ID"));
|
|
pstmt.setDouble(7, rs.getDouble("UNITS"));
|
|
pstmt.setDouble(8, rs.getDouble("PRICE"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "stocklevel";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Stocklevel" + "\n");
|
|
SQL = "SELECT * FROM stocklevel";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO stocklevel("
|
|
+ "ID, LOCATION, PRODUCT, "
|
|
+ "STOCKSECURITY, STOCKMAXIMUM) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?)";
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("LOCATION"));
|
|
pstmt.setString(3, rs.getString("PRODUCT"));
|
|
pstmt.setDouble(4, rs.getDouble("STOCKSECURITY"));
|
|
pstmt.setDouble(5, rs.getDouble("STOCKMAXIMUM"));
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
// introduced in 4
|
|
if (Dbtversion >= 4.00) {
|
|
Dbtname = "suppliers";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Suppliers" + "\n");
|
|
SQL = "SELECT * FROM suppliers";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO suppliers("
|
|
+ "ID, SEARCHKEY, TAXID, NAME, MAXDEBT,"
|
|
+ "ADDRESS, ADDRESS2, POSTAL, CITY, "
|
|
+ "REGION, COUNTRY, FIRSTNAME, LASTNAME, "
|
|
+ "EMAIL, PHONE, PHONE2, FAX, "
|
|
+ "NOTES, VISIBLE, CURDATE, CURDEBT, VATID)"
|
|
+ " VALUES ("
|
|
+ "?, ?, ?, ?, ?,"
|
|
+ "?, ?, ?, ?,"
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("SEARCHKEY"));
|
|
pstmt.setString(3, rs.getString("TAXID"));
|
|
pstmt.setString(4, rs.getString("NAME"));
|
|
pstmt.setDouble(5, rs.getDouble("MAXDEBT"));
|
|
pstmt.setString(6, rs.getString("ADDRESS"));
|
|
pstmt.setString(7, rs.getString("ADDRESS2"));
|
|
pstmt.setString(8, rs.getString("POSTAL"));
|
|
pstmt.setString(9, rs.getString("CITY"));
|
|
pstmt.setString(10, rs.getString("REGION"));
|
|
pstmt.setString(11, rs.getString("COUNTRY"));
|
|
pstmt.setString(12, rs.getString("FIRSTNAME"));
|
|
pstmt.setString(13, rs.getString("LASTNAME"));
|
|
pstmt.setString(14, rs.getString("EMAIL"));
|
|
pstmt.setString(15, rs.getString("PHONE"));
|
|
pstmt.setString(16, rs.getString("PHONE2"));
|
|
pstmt.setString(17, rs.getString("FAX"));
|
|
pstmt.setString(18, rs.getString("NOTES"));
|
|
pstmt.setBoolean(19, rs.getBoolean("VISIBLE"));
|
|
pstmt.setTimestamp(20, rs.getTimestamp("CURDATE"));
|
|
pstmt.setDouble(21, rs.getDouble("CURDEBT"));
|
|
pstmt.setString(22, rs.getString("VATID"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
SQL = "INSERT INTO suppliers("
|
|
+ "ID, NAME, SEARCHKEY)"
|
|
+ " VALUES ('0', 'uniCenta', 'unicenta')";
|
|
pstmt.executeUpdate(SQL);
|
|
txtOut.append("Added Supplier... uniCenta" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "taxcategories";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("TaxCategories" + "\n");
|
|
SQL = "SELECT * FROM taxcategories";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO taxcategories("
|
|
+ "ID, NAME) "
|
|
+ "VALUES (?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "taxcustcategories";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tax Customer Categories" + "\n");
|
|
SQL = "SELECT * FROM taxcustcategories";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO taxcustcategories("
|
|
+ "ID, NAME) "
|
|
+ "VALUES (?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "taxes";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Taxes" + "\n");
|
|
SQL = "SELECT * FROM taxes";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO taxes("
|
|
+ "ID, NAME, CATEGORY, CUSTCATEGORY, "
|
|
+ "PARENTID, RATE, RATECASCADE, RATEORDER) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("NAME"));
|
|
pstmt.setString(3, rs.getString("CATEGORY"));
|
|
pstmt.setString(4, rs.getString("CUSTCATEGORY"));
|
|
pstmt.setString(5, rs.getString("PARENTID"));
|
|
pstmt.setDouble(6, rs.getDouble("RATE"));
|
|
pstmt.setBoolean(7, rs.getBoolean("RATECASCADE"));
|
|
pstmt.setInt(8, rs.getInt("RATEORDER"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "taxlines";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("TaxLines" + "\n");
|
|
SQL = "SELECT * FROM taxlines";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO taxlines("
|
|
+ "ID, RECEIPT, TAXID, BASE, AMOUNT) "
|
|
+ "VALUES (?, ?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("RECEIPT"));
|
|
pstmt.setString(3, rs.getString("TAXID"));
|
|
pstmt.setDouble(4, rs.getDouble("BASE"));
|
|
pstmt.setDouble(5, rs.getDouble("AMOUNT"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "thirdparties";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("ThirdParties" + "\n");
|
|
SQL = "SELECT * FROM thirdparties";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO thirdparties("
|
|
+ "ID, CIF, NAME, ADDRESS, "
|
|
+ "CONTACTCOMM, CONTACTFACT, PAYRULE, FAXNUMBER, "
|
|
+ "PHONENUMBER, MOBILENUMBER, EMAIL, "
|
|
+ "WEBPAGE, NOTES) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?, "
|
|
+ "?, ?, ?, "
|
|
+ "?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setString(2, rs.getString("CIF"));
|
|
pstmt.setString(3, rs.getString("NAME"));
|
|
pstmt.setString(4, rs.getString("ADDRESS"));
|
|
pstmt.setString(5, rs.getString("CONTACTCOMM"));
|
|
pstmt.setString(6, rs.getString("CONTACTFACT"));
|
|
pstmt.setString(7, rs.getString("PAYRULE"));
|
|
pstmt.setString(8, rs.getString("FAXNUMBER"));
|
|
pstmt.setString(9, rs.getString("PHONENUMBER"));
|
|
pstmt.setString(10, rs.getString("MOBILENUMBER"));
|
|
pstmt.setString(11, rs.getString("EMAIL"));
|
|
pstmt.setString(12, rs.getString("WEBPAGE"));
|
|
pstmt.setString(13, rs.getString("NOTES"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "ticketlines";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("TicketLines" + "\n");
|
|
SQL = "SELECT * FROM ticketlines";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO ticketlines("
|
|
+ "TICKET, LINE, PRODUCT, ATTRIBUTESETINSTANCE_ID, "
|
|
+ "UNITS, PRICE, TAXID, ATTRIBUTES) "
|
|
+ "VALUES (?, ?, ?, ?, "
|
|
+ "?, ?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("TICKET"));
|
|
pstmt.setInt(2, rs.getInt("LINE"));
|
|
pstmt.setString(3, rs.getString("PRODUCT"));
|
|
pstmt.setString(4, rs.getString("ATTRIBUTESETINSTANCE_ID"));
|
|
pstmt.setDouble(5, rs.getDouble("UNITS"));
|
|
pstmt.setDouble(6, rs.getDouble("PRICE"));
|
|
pstmt.setString(7, rs.getString("TAXID"));
|
|
pstmt.setBytes(8, rs.getBytes("ATTRIBUTES"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
Dbtname = "tickets";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets" + "\n");
|
|
SQL = "SELECT * FROM tickets";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO tickets("
|
|
+ "ID, TICKETTYPE, TICKETID, "
|
|
+ "PERSON, CUSTOMER, STATUS) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?, ?)";
|
|
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("ID"));
|
|
pstmt.setInt(2, rs.getInt("TICKETTYPE"));
|
|
pstmt.setInt(3, rs.getInt("TICKETID"));
|
|
pstmt.setString(4, rs.getString("PERSON"));
|
|
pstmt.setString(5, rs.getString("CUSTOMER"));
|
|
pstmt.setInt(6, rs.getInt("STATUS"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
rs.close();
|
|
|
|
if (Dbtversion >= 3.50 && !jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "ticketsnum";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets Number" + "\n");
|
|
SQL = "SELECT * FROM ticketsnum";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
ticketsnum = rs.getString("ID");
|
|
}
|
|
if (ticketsnum != null) {
|
|
SQL = "UPDATE ticketsnum SET ID= " + ticketsnum;
|
|
} else {
|
|
SQL = "UPDATE ticketsnum SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Ticket Number... skipped" + "\n");
|
|
}
|
|
// deliberately verbose chunk so can see diff's between PostgreSQL v9 & v10
|
|
if (Dbtversion >= 3.50 && jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "ticketsnum";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets Number" + "\n");
|
|
SQL = "SELECT * FROM ticketsnum";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
ticketsnum = rs.getString("last_value");
|
|
}
|
|
if (ticketsnum != null) {
|
|
SQL = "UPDATE ticketsnum SET ID= " + ticketsnum;
|
|
} else {
|
|
SQL = "UPDATE ticketsnum SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Ticket Number... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
if (Dbtversion >= 3.50 && !jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "ticketsnum_payment";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets Number Payments" + "\n");
|
|
SQL = "SELECT * FROM ticketsnum_payment";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
ticketsnumPayment = rs.getString("ID");
|
|
}
|
|
if (ticketsnumPayment != null) {
|
|
SQL = "UPDATE ticketsnum_payment SET ID= " + ticketsnumPayment;
|
|
} else {
|
|
SQL = "UPDATE ticketsnum_payment SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Ticket Payment... skipped" + "\n");
|
|
}
|
|
// deliberately verbose chunk so can see diff's between PostgreSQL v9 & v10 sequence
|
|
if (Dbtversion >= 3.50 && jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "ticketsnum_payment";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets Number Payments" + "\n");
|
|
SQL = "SELECT * FROM ticketsnum_payment";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
ticketsnumPayment = rs.getString("last_value");
|
|
}
|
|
if (ticketsnumPayment != null) {
|
|
SQL = "UPDATE ticketsnum_payment SET ID= " + ticketsnumPayment;
|
|
} else {
|
|
SQL = "UPDATE ticketsnum_payment SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Ticket Number Payments... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
if (Dbtversion >= 3.50 && !jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "ticketsnum_refund";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets Number Refunds" + "\n");
|
|
SQL = "SELECT * FROM ticketsnum_refund";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
ticketsnumRefund = rs.getString("ID");
|
|
}
|
|
if (ticketsnumRefund != null) {
|
|
SQL = "UPDATE ticketsnum_refund SET ID= " + ticketsnumRefund;
|
|
} else {
|
|
SQL = "UPDATE ticketsnum_refund SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Ticket Refund... skipped" + "\n");
|
|
}
|
|
// deliberately verbose chunk so can see diff's between PostgreSQL v9 & v10 sequence
|
|
if (Dbtversion >= 3.50 && jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Dbtname = "ticketsnum_payment";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("Tickets Number Refunds" + "\n");
|
|
SQL = "SELECT * FROM ticketsnum_refund";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
ticketsnumRefund = rs.getString("last_value");
|
|
}
|
|
if (ticketsnumRefund != null) {
|
|
SQL = "UPDATE ticketsnum_refund SET ID= " + ticketsnumRefund;
|
|
} else {
|
|
SQL = "UPDATE ticketsnum_refund SET ID='1'";
|
|
}
|
|
stmt_target.executeUpdate(SQL);
|
|
} else {
|
|
txtOut.append("Ticket Refund... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
// introduced in 4
|
|
if (Dbtversion >= 4.00) {
|
|
Dbtname = "uom";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
txtOut.append("UOM" + "\n");
|
|
SQL = "SELECT * FROM uom";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO uom("
|
|
+ "id, name) "
|
|
+ "VALUES (?, ?)";
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("id"));
|
|
pstmt.setString(2, rs.getString("name"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
SQL = "INSERT INTO uom("
|
|
+ "ID, NAME)"
|
|
+ " VALUES ('0', 'Each')";
|
|
|
|
pstmt.executeUpdate(SQL);
|
|
txtOut.append("Added UOM... Each" + "\n");
|
|
}
|
|
|
|
if (Dbtversion >= 4.00) {
|
|
Dbtname = "vouchers";
|
|
rs = con_source.getMetaData().getTables(null, null, Dbtname, null);
|
|
|
|
txtOut.append("Vouchers" + "\n");
|
|
SQL = "SELECT * FROM vouchers";
|
|
rs = stmt_source.executeQuery(SQL);
|
|
|
|
while (rs.next()) {
|
|
SQL = "INSERT INTO vouchers("
|
|
+ "id, voucher_number, customer, "
|
|
+ "amount, status) "
|
|
+ "VALUES (?, ?, ?, "
|
|
+ "?, ?)";
|
|
pstmt = con_target.prepareStatement(SQL);
|
|
pstmt.setString(1, rs.getString("id"));
|
|
pstmt.setString(2, rs.getString("voucher_number"));
|
|
pstmt.setString(3, rs.getString("customer"));
|
|
pstmt.setDouble(4, rs.getDouble("amount"));
|
|
pstmt.setString(5, rs.getString("status"));
|
|
|
|
pstmt.executeUpdate();
|
|
}
|
|
} else {
|
|
txtOut.append("Vouchers... skipped" + "\n");
|
|
}
|
|
rs.close();
|
|
|
|
try {
|
|
this.con_target.setAutoCommit(true);
|
|
} catch (SQLException ex) {
|
|
log.error(ex.getMessage());
|
|
}
|
|
|
|
// Add ForeignKeys
|
|
JOptionPane.showMessageDialog(this
|
|
, AppLocal.getIntString("message.transfercomplete")
|
|
, AppLocal.getIntString("message.transfermessage")
|
|
, JOptionPane.WARNING_MESSAGE);
|
|
|
|
FKeys();
|
|
txtOut.append("Data Transfer Complete" + "\n");
|
|
|
|
webPBar.setString("Finished!");
|
|
webPBar.setBgBottom(Color.GREEN);
|
|
jbtnTransfer.setEnabled(true);
|
|
|
|
JOptionPane.showMessageDialog(this
|
|
, AppLocal.getIntString("message.indexcomplete")
|
|
, AppLocal.getIntString("message.transfermessage")
|
|
, JOptionPane.WARNING_MESSAGE);
|
|
|
|
} catch (SQLException | HeadlessException e) {
|
|
session_source.close();
|
|
|
|
JMessageDialog.showMessage(this, new MessageInf(MessageInf.SGN_WARNING, SQL, e));
|
|
}
|
|
} else {
|
|
JFrame frame = new JFrame();
|
|
JOptionPane.showMessageDialog(frame
|
|
, AppLocal.getIntString("message.transfernotsupported")
|
|
, AppLocal.getIntString("message.transfermessage")
|
|
, JOptionPane.WARNING_MESSAGE);
|
|
}
|
|
|
|
SQL = "COMMIT;\n" +
|
|
"SET autocommit=1;\n" +
|
|
"SET unique_checks=1;\n" +
|
|
"SET foreign_key_checks=1;";
|
|
pstmt.executeUpdate(SQL);
|
|
|
|
session_source.close();
|
|
}
|
|
}
|
|
|
|
public void fillSchema() {
|
|
/* Use existing session credentials but declare new session and connection
|
|
* to keep separated from current session instance as database could
|
|
* be a different server
|
|
*/
|
|
|
|
if (jCBSchema.getItemCount() >= 1) {
|
|
jCBSchema.removeAllItems();
|
|
}
|
|
|
|
try {
|
|
String driverlib = jtxtDbDriverLib.getText();
|
|
String driver = jtxtDbDriver.getText();
|
|
String url = jtxtDbType.getText() +
|
|
jtxtDbServerPort.getText() +
|
|
jtxtDbName.getText() +
|
|
jtxtDbParams.getText();
|
|
String user = txtDbUser.getText();
|
|
String password = new String(txtDbPass.getPassword());
|
|
|
|
ClassLoader cloader = new URLClassLoader(new URL[]{
|
|
new File(driverlib).toURI().toURL()
|
|
});
|
|
|
|
DriverManager.registerDriver(
|
|
new DriverWrapper((Driver)
|
|
Class.forName(driver, true, cloader).newInstance()));
|
|
|
|
Session session1 = new Session(url, user, password);
|
|
|
|
if (jtxtDbType.getText().equals("jdbc:postgresql://")) {
|
|
Connection connection1 = DriverManager.getConnection(url, user, password);
|
|
Statement st = connection1.createStatement();
|
|
ResultSet rs = st.executeQuery("SELECT datname FROM pg_database WHERE datistemplate = false;");
|
|
while (rs.next()) {
|
|
jCBSchema.addItem(rs.getString("datname"));
|
|
}
|
|
} else {
|
|
Connection connection1 = session1.getConnection();
|
|
ResultSet rs = connection1.getMetaData().getCatalogs();
|
|
while (rs.next()) {
|
|
jCBSchema.addItem(rs.getString("TABLE_CAT"));
|
|
}
|
|
}
|
|
|
|
jCBSchema.setEnabled(true);
|
|
jCBSchema.setSelectedIndex(0);
|
|
} catch (MalformedURLException | ClassNotFoundException | SQLException
|
|
| InstantiationException | IllegalAccessException ex) {
|
|
log.error(ex.getMessage());
|
|
}
|
|
}
|
|
|
|
public void reset() {
|
|
// Main Panel
|
|
jtxtDbDriver.setText("com.mysql.jdbc.Driver");
|
|
jtxtDbType.setText("jdbc:mysql://");
|
|
jtxtDbServerPort.setText("localhost:3306/");
|
|
txtDbUser.setText(null);
|
|
txtDbPass.setText(null);
|
|
jbtnConnect.setEnabled(true);
|
|
|
|
// TransferPanel
|
|
jCBSchema.removeAllItems();
|
|
jtxtDbName.setText(null);
|
|
jtxtDbParams.setText("?zeroDateTimeBehavior=convertToNull");
|
|
jlblVersion.setText(null);
|
|
jlblDBSize.setText(null);
|
|
|
|
jTransferPanel.setVisible(false);
|
|
}
|
|
|
|
/**
|
|
* This method is called from within the constructor to initialize the form.
|
|
* WARNING: Do NOT modify this code. The content of this method is always
|
|
* regenerated by the Form Editor.
|
|
*/
|
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
|
private void initComponents() {
|
|
|
|
jLabel5 = new javax.swing.JLabel();
|
|
jLabel18 = new javax.swing.JLabel();
|
|
jLabel1 = new javax.swing.JLabel();
|
|
jLabel2 = new javax.swing.JLabel();
|
|
jLabel3 = new javax.swing.JLabel();
|
|
jLabel4 = new javax.swing.JLabel();
|
|
jLabel6 = new javax.swing.JLabel();
|
|
cbSource = new com.alee.laf.combobox.WebComboBox();
|
|
jtxtDbDriverLib = new com.alee.laf.text.WebTextField();
|
|
jbtnDbDriverLib = new javax.swing.JButton();
|
|
jtxtDbDriver = new com.alee.laf.text.WebTextField();
|
|
jtxtDbType = new com.alee.laf.text.WebTextField();
|
|
txtDbUser = new com.alee.laf.text.WebTextField();
|
|
txtDbPass = new com.alee.laf.text.WebPasswordField();
|
|
jScrollPane1 = new javax.swing.JScrollPane();
|
|
txtOut = new javax.swing.JTextArea();
|
|
jLabel8 = new javax.swing.JLabel();
|
|
jlblSource = new javax.swing.JLabel();
|
|
jLabel9 = new javax.swing.JLabel();
|
|
jbtnConnect = new javax.swing.JButton();
|
|
webPBar = new com.alee.laf.progressbar.WebProgressBar();
|
|
jtxtDbServerPort = new com.alee.laf.text.WebTextField();
|
|
jLabel12 = new javax.swing.JLabel();
|
|
jTransferPanel = new javax.swing.JPanel();
|
|
jLabel13 = new javax.swing.JLabel();
|
|
jCBSchema = new javax.swing.JComboBox<>();
|
|
jLabel14 = new javax.swing.JLabel();
|
|
jtxtDbParams = new com.alee.laf.text.WebTextField();
|
|
jLabel7 = new javax.swing.JLabel();
|
|
jlblVersion = new javax.swing.JLabel();
|
|
jLabel11 = new javax.swing.JLabel();
|
|
jlblDBSize = new javax.swing.JLabel();
|
|
jtxtDbName = new com.alee.laf.text.WebTextField();
|
|
jbtnTransfer = new javax.swing.JButton();
|
|
webMemoryBar = new com.alee.extended.statusbar.WebMemoryBar();
|
|
jLabel10 = new javax.swing.JLabel();
|
|
jLabel15 = new javax.swing.JLabel();
|
|
jbtnSet = new javax.swing.JButton();
|
|
jbtnReset1 = new javax.swing.JButton();
|
|
jbtnReset = new javax.swing.JButton();
|
|
jLabel16 = new javax.swing.JLabel();
|
|
|
|
setBackground(new java.awt.Color(255, 255, 255));
|
|
setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
setPreferredSize(new java.awt.Dimension(900, 425));
|
|
|
|
jLabel5.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel5.setForeground(new java.awt.Color(102, 102, 102));
|
|
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("pos_messages"); // NOI18N
|
|
jLabel5.setText(bundle.getString("label.DbType")); // NOI18N
|
|
jLabel5.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel5.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel5.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel18.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel18.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel18.setText(AppLocal.getIntString("label.dbdriverlib")); // NOI18N
|
|
jLabel18.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel18.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel18.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel1.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel1.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel1.setText(AppLocal.getIntString("label.DbDriver")); // NOI18N
|
|
jLabel1.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel1.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel1.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel2.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel2.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel2.setText("Type");
|
|
jLabel2.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel2.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel2.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel3.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel3.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel3.setText(AppLocal.getIntString("label.DbUser")); // NOI18N
|
|
jLabel3.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel3.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel3.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel4.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel4.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel4.setText(AppLocal.getIntString("label.DbPassword")); // NOI18N
|
|
jLabel4.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel4.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel4.setPreferredSize(new java.awt.Dimension(100, 30));
|
|
|
|
jLabel6.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
|
|
jLabel6.setForeground(new java.awt.Color(51, 51, 51));
|
|
jLabel6.setText("Currently connected to :");
|
|
jLabel6.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
|
|
cbSource.setForeground(new java.awt.Color(51, 51, 51));
|
|
cbSource.setToolTipText(bundle.getString("tooltip.transferfromdb")); // NOI18N
|
|
cbSource.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
cbSource.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
cbSource.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
cbSourceActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jtxtDbDriverLib.setForeground(new java.awt.Color(51, 51, 51));
|
|
jtxtDbDriverLib.setToolTipText(bundle.getString("tootltip.transferlib")); // NOI18N
|
|
jtxtDbDriverLib.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jtxtDbDriverLib.setPreferredSize(new java.awt.Dimension(360, 30));
|
|
|
|
jbtnDbDriverLib.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/unicenta/images/fileopen.png"))); // NOI18N
|
|
jbtnDbDriverLib.setToolTipText(bundle.getString("tooltip.openfile")); // NOI18N
|
|
jbtnDbDriverLib.setMaximumSize(new java.awt.Dimension(64, 32));
|
|
jbtnDbDriverLib.setMinimumSize(new java.awt.Dimension(64, 32));
|
|
jbtnDbDriverLib.setPreferredSize(new java.awt.Dimension(60, 30));
|
|
|
|
jtxtDbDriver.setForeground(new java.awt.Color(51, 51, 51));
|
|
jtxtDbDriver.setToolTipText(bundle.getString("tootltip.transferclass")); // NOI18N
|
|
jtxtDbDriver.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jtxtDbDriver.setPreferredSize(new java.awt.Dimension(360, 30));
|
|
|
|
jtxtDbType.setForeground(new java.awt.Color(51, 51, 51));
|
|
jtxtDbType.setToolTipText(bundle.getString("tootltip.transferdbtype")); // NOI18N
|
|
jtxtDbType.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jtxtDbType.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
|
|
txtDbUser.setForeground(new java.awt.Color(51, 51, 51));
|
|
txtDbUser.setToolTipText(bundle.getString("tooltip.dbuser")); // NOI18N
|
|
txtDbUser.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
txtDbUser.setPreferredSize(new java.awt.Dimension(125, 30));
|
|
|
|
txtDbPass.setForeground(new java.awt.Color(51, 51, 51));
|
|
txtDbPass.setToolTipText(bundle.getString("tooltip.dbpassword")); // NOI18N
|
|
txtDbPass.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
txtDbPass.setPreferredSize(new java.awt.Dimension(125, 30));
|
|
|
|
jScrollPane1.setBorder(null);
|
|
jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
|
jScrollPane1.setViewportBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
|
|
jScrollPane1.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
|
|
jScrollPane1.setHorizontalScrollBar(null);
|
|
jScrollPane1.setPreferredSize(new java.awt.Dimension(200, 350));
|
|
|
|
txtOut.setColumns(20);
|
|
txtOut.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
txtOut.setForeground(new java.awt.Color(0, 153, 255));
|
|
txtOut.setRows(5);
|
|
txtOut.setToolTipText(bundle.getString("tooltip.transfertxtout")); // NOI18N
|
|
txtOut.setBorder(null);
|
|
jScrollPane1.setViewportView(txtOut);
|
|
|
|
jLabel8.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
|
|
jLabel8.setForeground(new java.awt.Color(0, 153, 255));
|
|
jLabel8.setText("PROGRESS");
|
|
jLabel8.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
|
|
jlblSource.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
|
|
jlblSource.setForeground(new java.awt.Color(0, 153, 255));
|
|
jlblSource.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
|
|
jlblSource.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
|
|
jLabel9.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel9.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel9.setText(AppLocal.getIntString("label.DbUser")); // NOI18N
|
|
jLabel9.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel9.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel9.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jbtnConnect.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
jbtnConnect.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/unicenta/images/btn1.png"))); // NOI18N
|
|
jbtnConnect.setText(bundle.getString("Button.Test")); // NOI18N
|
|
jbtnConnect.setToolTipText(bundle.getString("tooltip.dbtest")); // NOI18N
|
|
jbtnConnect.setActionCommand(bundle.getString("Button.Test")); // NOI18N
|
|
jbtnConnect.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
|
|
jbtnConnect.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
|
|
jbtnConnect.setPreferredSize(new java.awt.Dimension(160, 45));
|
|
jbtnConnect.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jbtnConnectjButtonTestConnectionActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
webPBar.setFont(new java.awt.Font("Arial", 0, 13)); // NOI18N
|
|
webPBar.setHighlightDarkWhite(new java.awt.Color(204, 0, 0));
|
|
webPBar.setPreferredSize(new java.awt.Dimension(240, 30));
|
|
webPBar.setProgressBottomColor(new java.awt.Color(0, 153, 255));
|
|
|
|
jtxtDbServerPort.setForeground(new java.awt.Color(51, 51, 51));
|
|
jtxtDbServerPort.setToolTipText(bundle.getString("tootltip.servernameport")); // NOI18N
|
|
jtxtDbServerPort.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jtxtDbServerPort.setPreferredSize(new java.awt.Dimension(360, 30));
|
|
|
|
jLabel12.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel12.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel12.setText(bundle.getString("labelServerPort")); // NOI18N
|
|
jLabel12.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel12.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel12.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel13.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel13.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel13.setText(bundle.getString("label.DbSource")); // NOI18N
|
|
jLabel13.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel13.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel13.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jCBSchema.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jCBSchema.setToolTipText(bundle.getString("tootltip.transferdbname")); // NOI18N
|
|
jCBSchema.setEnabled(false);
|
|
jCBSchema.setPreferredSize(new java.awt.Dimension(360, 30));
|
|
|
|
jLabel14.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel14.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel14.setText(bundle.getString("label.DBParameters")); // NOI18N
|
|
jLabel14.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel14.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel14.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jtxtDbParams.setForeground(new java.awt.Color(51, 51, 51));
|
|
jtxtDbParams.setToolTipText(bundle.getString("tootltip.transferdbparams")); // NOI18N
|
|
jtxtDbParams.setEnabled(false);
|
|
jtxtDbParams.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jtxtDbParams.setPreferredSize(new java.awt.Dimension(360, 30));
|
|
|
|
jLabel7.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel7.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel7.setText("DB Version");
|
|
jLabel7.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel7.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel7.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jlblVersion.setFont(new java.awt.Font("Arial", 0, 16)); // NOI18N
|
|
jlblVersion.setForeground(new java.awt.Color(0, 204, 255));
|
|
jlblVersion.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
|
jlblVersion.setToolTipText(bundle.getString("tooltip.transferdbversion")); // NOI18N
|
|
jlblVersion.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 204, 255)));
|
|
jlblVersion.setEnabled(false);
|
|
jlblVersion.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jlblVersion.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jlblVersion.setPreferredSize(new java.awt.Dimension(125, 30));
|
|
|
|
jLabel11.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel11.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel11.setText("DB Size");
|
|
jLabel11.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel11.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel11.setPreferredSize(new java.awt.Dimension(100, 30));
|
|
|
|
jlblDBSize.setFont(new java.awt.Font("Arial", 0, 16)); // NOI18N
|
|
jlblDBSize.setForeground(new java.awt.Color(0, 204, 255));
|
|
jlblDBSize.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
|
jlblDBSize.setToolTipText(bundle.getString("tooltip.transferdbsize")); // NOI18N
|
|
jlblDBSize.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 204, 255)));
|
|
jlblDBSize.setEnabled(false);
|
|
jlblDBSize.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jlblDBSize.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jlblDBSize.setPreferredSize(new java.awt.Dimension(120, 30));
|
|
|
|
jtxtDbName.setForeground(new java.awt.Color(51, 51, 51));
|
|
jtxtDbName.setToolTipText(bundle.getString("tootltip.transferdbname")); // NOI18N
|
|
jtxtDbName.setEnabled(false);
|
|
jtxtDbName.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jtxtDbName.setOpaque(true);
|
|
jtxtDbName.setPreferredSize(new java.awt.Dimension(0, 0));
|
|
|
|
jbtnTransfer.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
jbtnTransfer.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/unicenta/images/btn3.png"))); // NOI18N
|
|
jbtnTransfer.setText(AppLocal.getIntString("button.transfer")); // NOI18N
|
|
jbtnTransfer.setToolTipText(bundle.getString("tooltip.transferdb")); // NOI18N
|
|
jbtnTransfer.setEnabled(false);
|
|
jbtnTransfer.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
|
|
jbtnTransfer.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
|
|
jbtnTransfer.setMaximumSize(new java.awt.Dimension(70, 33));
|
|
jbtnTransfer.setMinimumSize(new java.awt.Dimension(70, 33));
|
|
jbtnTransfer.setPreferredSize(new java.awt.Dimension(160, 45));
|
|
jbtnTransfer.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jbtnTransferActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
webMemoryBar.setBackground(new java.awt.Color(153, 153, 153));
|
|
webMemoryBar.setText("Text");
|
|
webMemoryBar.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
webMemoryBar.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
webMemoryBar.setUsedBorderColor(new java.awt.Color(0, 204, 204));
|
|
webMemoryBar.setUsedFillColor(new java.awt.Color(0, 204, 255));
|
|
|
|
jLabel10.setFont(new java.awt.Font("Arial", 0, 14)); // NOI18N
|
|
jLabel10.setForeground(new java.awt.Color(102, 102, 102));
|
|
jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
|
|
jLabel10.setText("Memory State");
|
|
jLabel10.setMaximumSize(new java.awt.Dimension(150, 30));
|
|
jLabel10.setMinimumSize(new java.awt.Dimension(150, 30));
|
|
jLabel10.setPreferredSize(new java.awt.Dimension(160, 30));
|
|
|
|
jLabel15.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
|
|
jLabel15.setForeground(new java.awt.Color(0, 153, 255));
|
|
jLabel15.setText("CHOOSE DATABASE TO TRANSFER FROM");
|
|
jLabel15.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
|
|
jbtnSet.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
jbtnSet.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/unicenta/images/btn2.png"))); // NOI18N
|
|
jbtnSet.setText(AppLocal.getIntString("button.setTransfer")); // NOI18N
|
|
jbtnSet.setToolTipText(bundle.getString("tooltip.checkTransfer")); // NOI18N
|
|
jbtnSet.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
|
|
jbtnSet.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
|
|
jbtnSet.setMaximumSize(new java.awt.Dimension(70, 33));
|
|
jbtnSet.setMinimumSize(new java.awt.Dimension(70, 33));
|
|
jbtnSet.setPreferredSize(new java.awt.Dimension(160, 45));
|
|
jbtnSet.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jbtnSetActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jbtnReset1.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
jbtnReset1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/unicenta/images/reload.png"))); // NOI18N
|
|
jbtnReset1.setToolTipText(bundle.getString("tooltip.transferReset")); // NOI18N
|
|
jbtnReset1.setMaximumSize(new java.awt.Dimension(70, 33));
|
|
jbtnReset1.setMinimumSize(new java.awt.Dimension(70, 33));
|
|
jbtnReset1.setPreferredSize(new java.awt.Dimension(80, 45));
|
|
jbtnReset1.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jbtnReset1ActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
javax.swing.GroupLayout jTransferPanelLayout = new javax.swing.GroupLayout(jTransferPanel);
|
|
jTransferPanel.setLayout(jTransferPanelLayout);
|
|
jTransferPanelLayout.setHorizontalGroup(
|
|
jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jtxtDbName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addGap(7, 7, 7)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addComponent(jlblVersion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jlblDBSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addComponent(jbtnSet, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.addComponent(jbtnTransfer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jbtnReset1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jCBSchema, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addComponent(jLabel15, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
.addComponent(webMemoryBar, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)))
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addComponent(jLabel14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jtxtDbParams, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
.addContainerGap())
|
|
);
|
|
jTransferPanelLayout.setVerticalGroup(
|
|
jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(jTransferPanelLayout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jLabel15, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jLabel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jCBSchema, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(webMemoryBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jtxtDbParams, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jlblVersion, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel11, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel7, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jlblDBSize, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(jTransferPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jbtnTransfer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jbtnSet, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jtxtDbName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addComponent(jbtnReset1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addContainerGap())
|
|
);
|
|
|
|
jbtnReset.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N
|
|
jbtnReset.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/unicenta/images/reload.png"))); // NOI18N
|
|
jbtnReset.setToolTipText(bundle.getString("tooltip.transferReset")); // NOI18N
|
|
jbtnReset.setMaximumSize(new java.awt.Dimension(70, 33));
|
|
jbtnReset.setMinimumSize(new java.awt.Dimension(70, 33));
|
|
jbtnReset.setPreferredSize(new java.awt.Dimension(80, 45));
|
|
jbtnReset.addActionListener(new java.awt.event.ActionListener() {
|
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
jbtnResetActionPerformed(evt);
|
|
}
|
|
});
|
|
|
|
jLabel16.setFont(new java.awt.Font("Arial", 0, 18)); // NOI18N
|
|
jLabel16.setForeground(new java.awt.Color(153, 153, 153));
|
|
jLabel16.setText("SET SERVER TO CONNECT TO");
|
|
jLabel16.setPreferredSize(new java.awt.Dimension(150, 30));
|
|
|
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
|
this.setLayout(layout);
|
|
layout.setHorizontalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jLabel9, 0, 0, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(cbSource, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jtxtDbType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jtxtDbServerPort, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jLabel18, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jtxtDbDriver, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jtxtDbDriverLib, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jbtnDbDriverLib, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGap(366, 366, 366)
|
|
.addComponent(jbtnReset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
.addComponent(jbtnConnect, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(txtDbUser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(txtDbPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addComponent(jTransferPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 202, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jlblSource, javax.swing.GroupLayout.PREFERRED_SIZE, 316, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 278, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(webPBar, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGap(18, 18, 18)
|
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.addContainerGap())))
|
|
);
|
|
layout.setVerticalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
|
.addContainerGap()
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(webPBar, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addComponent(jlblSource, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(cbSource, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
|
.addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jtxtDbDriverLib, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addComponent(jbtnDbDriverLib, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jtxtDbDriver, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jtxtDbType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jLabel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jtxtDbServerPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(txtDbUser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(txtDbPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(jbtnConnect, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addComponent(jbtnReset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
|
.addComponent(jLabel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(jTransferPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addGap(0, 0, Short.MAX_VALUE))
|
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
.addContainerGap())
|
|
);
|
|
|
|
jLabel1.getAccessibleContext().setAccessibleName("DBDriver");
|
|
}// </editor-fold>//GEN-END:initComponents
|
|
|
|
private void jbtnTransferActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnTransferActionPerformed
|
|
|
|
if (JOptionPane.showConfirmDialog(this,
|
|
AppLocal.getIntString("message.transfer"),
|
|
AppLocal.getIntString("message.transfertitle"),
|
|
JOptionPane.YES_NO_OPTION,
|
|
JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
|
|
|
|
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
|
|
|
|
@Override
|
|
protected Void doInBackground() throws Exception {
|
|
webPBar.setString("Starting...");
|
|
doTransfer();
|
|
return null;
|
|
}
|
|
};
|
|
|
|
worker.execute();
|
|
|
|
}
|
|
System.gc();
|
|
|
|
}//GEN-LAST:event_jbtnTransferActionPerformed
|
|
|
|
private void jbtnResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnResetActionPerformed
|
|
|
|
reset();
|
|
deactivate();
|
|
|
|
}//GEN-LAST:event_jbtnResetActionPerformed
|
|
|
|
private void jbtnConnectjButtonTestConnectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnConnectjButtonTestConnectionActionPerformed
|
|
|
|
if (!jtxtDbName.getText().equalsIgnoreCase(jlblSource.getText())) {
|
|
try {
|
|
String driverlib = jtxtDbDriverLib.getText();
|
|
String driver = jtxtDbDriver.getText();
|
|
|
|
if ("Derby".equals(cbSource.getSelectedItem())) {
|
|
jtxtDbName.setText("/unicentaopos-database");
|
|
}
|
|
|
|
String url = jtxtDbType.getText() +
|
|
jtxtDbServerPort.getText() +
|
|
jtxtDbName.getText() +
|
|
jtxtDbParams.getText();
|
|
String user = txtDbUser.getText();
|
|
String password = new String(txtDbPass.getPassword());
|
|
|
|
ClassLoader cloader = new URLClassLoader(new URL[]{
|
|
new File(driverlib).toURI().toURL()
|
|
});
|
|
|
|
DriverManager.registerDriver(
|
|
new DriverWrapper((Driver)
|
|
Class.forName(driver, true, cloader).newInstance()));
|
|
|
|
Session session_source = new Session(url, user, password);
|
|
Connection connection = session_source.getConnection();
|
|
boolean isValid = (connection == null)
|
|
? false : connection.isValid(1000);
|
|
|
|
if (isValid) {
|
|
if (!"Derby".equals(cbSource.getSelectedItem())) {
|
|
jCBSchema.setEnabled(true);
|
|
fillSchema();
|
|
}
|
|
|
|
jtxtDbParams.setEnabled(true);
|
|
jlblVersion.setEnabled(true);
|
|
jlblDBSize.setEnabled(true);
|
|
jtxtDbName.setEnabled(true);
|
|
jbtnTransfer.setEnabled(true);
|
|
jbtnConnect.setEnabled(false);
|
|
|
|
jTransferPanel.setVisible(true);
|
|
|
|
JOptionPane.showMessageDialog(this,
|
|
AppLocal.getIntString("message.databaseconnectsuccess"),
|
|
"Connection Test"
|
|
, JOptionPane.INFORMATION_MESSAGE);
|
|
} else {
|
|
reset();
|
|
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING, "Connection Error"));
|
|
}
|
|
} catch (InstantiationException
|
|
| IllegalAccessException
|
|
| MalformedURLException
|
|
| ClassNotFoundException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING,
|
|
AppLocal.getIntString("message.databasedrivererror"), e));
|
|
|
|
} catch (SQLException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING,
|
|
AppLocal.getIntString("message.databaseconnectionerror"), e));
|
|
|
|
} catch (Exception e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING, "Unknown exception", e));
|
|
}
|
|
} else {
|
|
JOptionPane.showMessageDialog(this
|
|
, AppLocal.getIntString("message.transfercheck")
|
|
, AppLocal.getIntString("message.transfertitle")
|
|
, JOptionPane.WARNING_MESSAGE);
|
|
|
|
jtxtDbName.setText("");
|
|
}
|
|
|
|
}//GEN-LAST:event_jbtnConnectjButtonTestConnectionActionPerformed
|
|
|
|
private void cbSourceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cbSourceActionPerformed
|
|
|
|
reset();
|
|
|
|
String dirname = System.getProperty("dirname.path");
|
|
dirname = dirname == null ? "./" : dirname;
|
|
|
|
if ("Derby".equals(cbSource.getSelectedItem())) {
|
|
jtxtDbDriverLib.setText(new File(new File(dirname)
|
|
, "/lib/derby-10.10.2.0.jar").getAbsolutePath());
|
|
jtxtDbDriver.setText("org.apache.derby.jdbc.EmbeddedDriver");
|
|
jtxtDbType.setText("jdbc:derby:");
|
|
jtxtDbServerPort.setText("" + new File(new File(System.getProperty("user.home"))
|
|
, ""));
|
|
jtxtDbParams.setText("");
|
|
} else if ("PostgreSQL".equals(cbSource.getSelectedItem())) {
|
|
jtxtDbDriverLib.setText(new File(new File(dirname)
|
|
, "/lib/postgresql-9.4-1208.jdbc4.jar").getAbsolutePath());
|
|
jtxtDbDriver.setText("org.postgresql.Driver");
|
|
jtxtDbType.setText("jdbc:postgresql://");
|
|
jtxtDbServerPort.setText("localhost:5432/");
|
|
jtxtDbParams.setText("");
|
|
} else {
|
|
jtxtDbDriverLib.setText(new File(new File(dirname)
|
|
, "/lib/mysql-connector-java-5.1.39.jar").getAbsolutePath());
|
|
jtxtDbDriver.setText("com.mysql.jdbc.Driver");
|
|
jtxtDbType.setText("jdbc:mysql://");
|
|
jtxtDbServerPort.setText("localhost:3306/");
|
|
jtxtDbParams.setText("?zeroDateTimeBehavior=convertToNull");
|
|
}
|
|
|
|
txtDbUser.setText("");
|
|
txtDbPass.setText("");
|
|
jlblVersion.setText("");
|
|
jlblDBSize.setText("");
|
|
}//GEN-LAST:event_cbSourceActionPerformed
|
|
|
|
private void jbtnSetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnSetActionPerformed
|
|
String driverlib;
|
|
String driver;
|
|
String url;
|
|
String user;
|
|
String password;
|
|
String selected = null;
|
|
|
|
driverlib = jtxtDbDriverLib.getText();
|
|
driver = jtxtDbDriver.getText();
|
|
|
|
if ("Derby".equals(cbSource.getSelectedItem())) {
|
|
url = jtxtDbType.getText() +
|
|
jtxtDbServerPort.getText() +
|
|
jtxtDbParams.getText() +
|
|
jtxtDbName.getText();
|
|
} else {
|
|
url = jtxtDbType.getText() +
|
|
jtxtDbServerPort.getText() +
|
|
jCBSchema.getSelectedItem().toString() +
|
|
jtxtDbParams.getText();
|
|
}
|
|
|
|
user = txtDbUser.getText();
|
|
password = new String(txtDbPass.getPassword());
|
|
|
|
try {
|
|
ClassLoader cloader = new URLClassLoader(new URL[]{
|
|
new File(driverlib).toURI().toURL()
|
|
});
|
|
|
|
DriverManager.registerDriver(
|
|
new DriverWrapper((Driver)
|
|
Class.forName(driver, true, cloader).newInstance()));
|
|
|
|
Session session_source1 = new Session(url, user, password);
|
|
Connection connection = session_source1.getConnection();
|
|
|
|
if (!"Derby".equals(cbSource.getSelectedItem())) {
|
|
selected = jCBSchema.getSelectedItem().toString();
|
|
if (selected != null) {
|
|
jtxtDbName.setText(selected);
|
|
}
|
|
}
|
|
|
|
SQL = "SELECT * FROM applications";
|
|
Statement stmt = (Statement) connection.createStatement();
|
|
rs = stmt.executeQuery(SQL);
|
|
rs.next();
|
|
|
|
jlblVersion.setText(rs.getString(3));
|
|
|
|
if (null != jtxtDbType.getText() && jtxtDbName.getText() != null) {
|
|
switch (jtxtDbType.getText()) {
|
|
case "jdbc:mysql://":
|
|
SQL = "SELECT sum(round(((data_length + index_length) " +
|
|
"/ 1024 / 1024), 2)), LEFT(VERSION(),3) " +
|
|
"FROM information_schema.TABLES " +
|
|
"WHERE table_schema = " + "'" + selected + "'";
|
|
rs = stmt.executeQuery(SQL);
|
|
rs.next();
|
|
jlblDBSize.setText(rs.getString(1) + "MB");
|
|
break;
|
|
case "jdbc:derby:":
|
|
SQL = "SELECT SUM((numallocatedpages * pagesize) /1024) /1024 " +
|
|
"FROM SYS.SYSTABLES systabs, SYS.SYSSCHEMAS sysschemas, " +
|
|
"TABLE (SYSCS_DIAG.SPACE_TABLE()) AS T2 " +
|
|
"WHERE systabs.tabletype = 'T' " +
|
|
"AND sysschemas.schemaid = systabs.schemaid " +
|
|
"AND systabs.tableid = T2.tableid";
|
|
rs = stmt.executeQuery(SQL);
|
|
rs.next();
|
|
jlblDBSize.setText(rs.getString(1) + "MB");
|
|
break;
|
|
case "jdbc:postgresql://":
|
|
SQL = "SELECT pg_size_pretty(pg_database_size(" + "'" + selected + "'" + "))";
|
|
rs = stmt.executeQuery(SQL);
|
|
rs.next();
|
|
jlblDBSize.setText(rs.getString(1));
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
} catch (InstantiationException | IllegalAccessException | MalformedURLException | ClassNotFoundException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING,
|
|
AppLocal.getIntString("message.databasedrivererror"), e));
|
|
} catch (SQLException e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING,
|
|
AppLocal.getIntString("message.databaseconnectionerror"), e));
|
|
} catch (Exception e) {
|
|
JMessageDialog.showMessage(this,
|
|
new MessageInf(MessageInf.SGN_WARNING, "Unknown exception", e));
|
|
}
|
|
}//GEN-LAST:event_jbtnSetActionPerformed
|
|
|
|
private void jbtnReset1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnReset1ActionPerformed
|
|
|
|
reset();
|
|
deactivate();
|
|
}//GEN-LAST:event_jbtnReset1ActionPerformed
|
|
|
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|
private com.alee.laf.combobox.WebComboBox cbSource;
|
|
private javax.swing.JComboBox<String> jCBSchema;
|
|
private javax.swing.JLabel jLabel1;
|
|
private javax.swing.JLabel jLabel10;
|
|
private javax.swing.JLabel jLabel11;
|
|
private javax.swing.JLabel jLabel12;
|
|
private javax.swing.JLabel jLabel13;
|
|
private javax.swing.JLabel jLabel14;
|
|
private javax.swing.JLabel jLabel15;
|
|
private javax.swing.JLabel jLabel16;
|
|
private javax.swing.JLabel jLabel18;
|
|
private javax.swing.JLabel jLabel2;
|
|
private javax.swing.JLabel jLabel3;
|
|
private javax.swing.JLabel jLabel4;
|
|
private javax.swing.JLabel jLabel5;
|
|
private javax.swing.JLabel jLabel6;
|
|
private javax.swing.JLabel jLabel7;
|
|
private javax.swing.JLabel jLabel8;
|
|
private javax.swing.JLabel jLabel9;
|
|
private javax.swing.JScrollPane jScrollPane1;
|
|
private javax.swing.JPanel jTransferPanel;
|
|
private javax.swing.JButton jbtnConnect;
|
|
private javax.swing.JButton jbtnDbDriverLib;
|
|
private javax.swing.JButton jbtnReset;
|
|
private javax.swing.JButton jbtnReset1;
|
|
private javax.swing.JButton jbtnSet;
|
|
private javax.swing.JButton jbtnTransfer;
|
|
private javax.swing.JLabel jlblDBSize;
|
|
private javax.swing.JLabel jlblSource;
|
|
private javax.swing.JLabel jlblVersion;
|
|
private com.alee.laf.text.WebTextField jtxtDbDriver;
|
|
private com.alee.laf.text.WebTextField jtxtDbDriverLib;
|
|
private com.alee.laf.text.WebTextField jtxtDbName;
|
|
private com.alee.laf.text.WebTextField jtxtDbParams;
|
|
private com.alee.laf.text.WebTextField jtxtDbServerPort;
|
|
private com.alee.laf.text.WebTextField jtxtDbType;
|
|
private com.alee.laf.text.WebPasswordField txtDbPass;
|
|
private com.alee.laf.text.WebTextField txtDbUser;
|
|
private javax.swing.JTextArea txtOut;
|
|
private com.alee.extended.statusbar.WebMemoryBar webMemoryBar;
|
|
private com.alee.laf.progressbar.WebProgressBar webPBar;
|
|
// End of variables declaration//GEN-END:variables
|
|
|
|
} |