+ }
+
+ static boolean createDatabase(String db_path) {
+ saveConnectionURL(db_path);
+ String tblClients = "CREATE TABLE IF NOT EXISTS \"clients\" (\n" +
+" \"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\n" +
+" \"ClientName\" VARCHAR(255) NOT NULL UNIQUE,\n" +
+" \"ClientAddress\" TEXT,\n" +
+" \"ContactPerson\" TEXT,\n" +
+" \"MailID\" VARCHAR(255),\n" +
+" \"ContactNumber\" VARCHAR(30)\n" +
+" );";
+ String tblNotices = "CREATE TABLE IF NOT EXISTS \"legalnotices\" (\n" +
+ " \"id\" INTEGER PRIMARY KEY AUTOINCREMENT,\n" +
+ " \"ReferenceNumber\" TEXT NOT NULL UNIQUE,\n" +
+ " \"Description\" TEXT NOT NULL,\n" +
+ " \"EntrustmentDate\" INTEGER NOT NULL,\n" +
+ " \"ClientId\" INTEGER,\n" +
+ " \"DraftCreated\" INTEGER DEFAULT 0,\n" +
+ " \"DraftApproved\" INTEGER DEFAULT 0 CHECK(DraftApproved<=DraftCreated),\n" +
+ " \"NoticeSent\" INTEGER DEFAULT 0 CHECK(NoticeSent<=DraftApproved),\n" +
+ " \"SentDate\" INTEGER CHECK(SentDate>=EntrustmentDate),\n" +
+ " \"RPADReference\" TEXT,\n" +
+ " \"NoticeDelivered\" INTEGER DEFAULT 0 CHECK(NoticeDelivered<=NoticeSent),\n" +
+ " \"DeliveryDate\" INTEGER CHECK(DeliveryDate>=SentDate),\n" +
+ " \"BillStatus\" TEXT DEFAULT 'PENDING',\n" +
+ " \"BillAmount\" INTEGER DEFAULT 1000 CHECK(BillAmount>0),\n" +
+ " \"BillDate\" INTEGER CHECK(BillDate>=DeliveryDate),\n" +
+ " \"ClarificationPending\" INTEGER DEFAULT 0,\n" +
+ " \"ClarificationRemarks\" TEXT\n" +
+ ");";
+ String tblSettings = "CREATE TABLE IF NOT EXISTS \"settings\" (\n" +
+" \"key\" TEXT UNIQUE,\n" +
+" \"value\" TEXT,\n" +
+" PRIMARY KEY(\"key\")\n" +
+ ");";
+ try {
+ Connection conn = DriverManager.getConnection(JDBC + connectionURL);
+ Statement st1 = conn.createStatement();
+ st1.execute(tblSettings);
+ st1.execute(tblClients);
+ st1.execute(tblNotices);
+ conn.close();
+ return true;
+ } catch (SQLException ex) {
+ Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex);
+ return false;
+ }
+