package demo26;
import java.util.*;
import org.openswing.swing.internationalization.java.EnglishOnlyResourceFactory;
import org.openswing.swing.domains.java.*;
import java.sql.*;
import org.openswing.swing.util.client.*;
import org.openswing.swing.permissions.java.ButtonsAuthorizations;
import org.openswing.swing.internationalization.java.*;
import javax.swing.UIManager;
import javax.swing.*;
import org.openswing.swing.util.java.Consts;
/**
* <p>Title: OpenSwing Demo</p>
* <p>Description: Used to start application from main method:
* it creates a grid frame and a detail frame accessed by double click on the grid.
* This demo shows how to use a ComboBoxVOControl and a ListVOControl.</p>
* <p>Copyright: Copyright (C) 2006 Mauro Carniel</p>
* <p> </p>
* @author Mauro Carniel
* @version 1.0
*/
public class ClientApplication {
Connection conn = null;
public ClientApplication() {
Hashtable domains = new Hashtable();
Properties props = new Properties();
props.setProperty("customers","Customers");
props.setProperty("customer","Customer");
props.setProperty("customerCode","Customer Code");
props.setProperty("address","Address");
props.setProperty("customerCity","City");
props.setProperty("city","City");
props.setProperty("zipCode","Zip Code");
props.setProperty("name","Name");
props.setProperty("surname","Surname");
props.setProperty("state","State");
props.setProperty("pricelist","Pricelist");
props.setProperty("pricelistCode","Pricelist Code");
props.setProperty("description","Description");
props.setProperty("pricelist","Pricelist");
props.setProperty("startDate","Start Validity Date");
props.setProperty("endDate","End Validity Date");
props.setProperty("note","Pricelist Note");
ButtonsAuthorizations auth = new ButtonsAuthorizations();
auth.addButtonAuthorization("F1",true,false,true);
ClientSettings clientSettings = new ClientSettings(
new EnglishOnlyResourceFactory("�",props,false),
domains,
auth
);
ClientSettings.VIEW_MANDATORY_SYMBOL = true;
ClientSettings.FILTER_PANEL_ON_GRID = true;
ClientSettings.FILTER_PANEL_ON_GRID_POLICY = Consts.FILTER_PANEL_ON_GRID_USE_PADLOCK_PRESSED;
ClientSettings.VIEW_BACKGROUND_SEL_COLOR = true;
ClientSettings.SHOW_SORTING_ORDER = true;
// ClientSettings.LOOK_AND_FEEL_CLASS_NAME = "com.jgoodies.looks.plastic.PlasticXPLookAndFeel";
//com.jgoodies.looks.plastic.PlasticLookAndFeel
//com.jgoodies.looks.plastic.Plastic3DLookAndFeel
createConnection();
new GridFrameController(conn);
}
public static void main(String[] argv) {
new ClientApplication();
}
/**
* Create the database connection (using Hypersonic DB - in memory) and initialize tables...
*/
private void createConnection() {
try {
Class.forName("org.hsqldb.jdbcDriver");
conn = DriverManager.getConnection("jdbc:hsqldb:mem:"+"a"+Math.random(),"sa","");
PreparedStatement stmt = null;
try {
stmt = conn.prepareStatement("create table CUSTOMERS(CUSTOMER_CODE VARCHAR,NAME VARCHAR,SURNAME VARCHAR,CITY VARCHAR,ADDRESS VARCHAR,STATE VARCHAR,ZIP_CODE VARCHAR,PRICELIST_CODE VARCHAR,DESCRIPTION VARCHAR,START_DATE DATE,END_DATE DATE,NOTE VARCHAR,PRIMARY KEY(CUSTOMER_CODE))");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("create table CITIES(CITY VARCHAR,ZIP_CODE VARCHAR,STATE VARCHAR,PRIMARY KEY(CITY))");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("create table PRICELISTS(PRICELIST_CODE VARCHAR,DESCRIPTION VARCHAR,START_DATE DATE,END_DATE DATE,NOTE VARCHAR,PRIMARY KEY(PRICELIST_CODE))");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CITIES(CITY,ZIP_CODE,STATE) values('Pasiano','33087','Italy')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CITIES(CITY,ZIP_CODE,STATE) values('Pordenone','33170','Italy')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CITIES(CITY,ZIP_CODE,STATE) values('Keilalahdentie','02150','Finland')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CITIES(CITY,ZIP_CODE,STATE) values('Santa Clara','95054','California')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CITIES(CITY,ZIP_CODE,STATE) values('Phoenix','324','Arizona')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into PRICELISTS(PRICELIST_CODE,DESCRIPTION,START_DATE,END_DATE,NOTE) values(?,?,?,?,?)");
for(int i=0;i<20;i++) {
stmt.setString(1,"P"+(i+1));
stmt.setString(2,"Description about P"+(i+1));
stmt.setDate(3,new java.sql.Date(System.currentTimeMillis()+i*86400000));
stmt.setDate(4,new java.sql.Date(System.currentTimeMillis()+i*86400000+86400000*365));
stmt.setString(5,"Pricelist P"+(i+1)+" starts from "+new java.sql.Date(System.currentTimeMillis()+i*86400000));
stmt.execute();
}
stmt.close();
stmt = conn.prepareStatement("insert into CUSTOMERS(CUSTOMER_CODE,NAME,SURNAME,CITY,ADDRESS,STATE,ZIP_CODE) values('C1','Mauro','Carniel','Pasiano','xxx','Italy','33087')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CUSTOMERS(CUSTOMER_CODE,NAME,SURNAME,CITY,ADDRESS,STATE,ZIP_CODE) values('C2','John','Doe','Santa Clara','12 Bond St.','California','95054')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CUSTOMERS(CUSTOMER_CODE,NAME,SURNAME,CITY,ADDRESS,STATE,ZIP_CODE) values('C3','William','Smith','Santa Clara','15 Fifth Av.','California','95054')");
stmt.execute();
stmt.close();
stmt = conn.prepareStatement("insert into CUSTOMERS(CUSTOMER_CODE,NAME,SURNAME,CITY,ADDRESS,STATE,ZIP_CODE) values('C4',null,'O Really','Phoenix','22 B. Road','Arizona','324')");
stmt.execute();
stmt.close();
}
catch (SQLException ex1) {
ex1.printStackTrace();
}
finally {
try {
stmt.close();
}
catch (Exception ex2) {
}
}
conn.commit();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private String getCode(int len,int num) {
String code = String.valueOf(num);
for(int i=code.length();i<len;i++)
code = "0"+code;
return code;
}
}