public static void main(String[] args) { // --- start action ----------------------------------- System.out.println("START class Table_ServiceLayer component test"); // --- cmd line parameter check ------------------------ if (args.length != 6) { System.err.println("Usage: Table_ServiceLayer msgFile url user password jdbc debugLevel"); return; } String msgFile = args[0]; String url = args[1]; String usr = args[2]; String pwd = args[3]; String jdbc = args[4]; System.out.println( "Parameters: msgFile=" + msgFile + ", url=" + url + ", user="******", password="******", jdbc=" + jdbc); try { // --- test preparation ------------------------------- CommanderConnection c = new CommanderConnection(url, usr, pwd, jdbc); // - set up service tuples Table_Service myService1 = new Table_Service(); int srv1 = myService1.insertTuple( c, UPDATESEQUENCE1, AVAILABILITY1, NAME1, TITLE1, ABSTRACT1, KEYWORDS1, FEES1, ACCESSCONSTRAINTS1, HOSTNAME1, PORT1, PATH1, FORMATS1, BASELAYERNAME1, VENDORCAPABILITIES1, CONTACTPERSON1, CONTACTORGANIZATION1, ADDRESSTYPE1, ADDRESS1, CITY1, STATE1, POSTCODE1, COUNTRY1, TEL1, FAX1, EMAIL1); System.out.println("insert service #1 -> " + srv1); Table_Service myService2 = new Table_Service(); int srv2 = myService2.insertTuple( c, UPDATESEQUENCE2, AVAILABILITY2, NAME2, TITLE2, ABSTRACT2, KEYWORDS2, FEES2, ACCESSCONSTRAINTS2, HOSTNAME2, PORT2, PATH2, FORMATS2, BASELAYERNAME2, VENDORCAPABILITIES2, CONTACTPERSON2, CONTACTORGANIZATION2, ADDRESSTYPE2, ADDRESS2, CITY2, STATE2, POSTCODE2, COUNTRY2, TEL2, FAX2, EMAIL2); System.out.println("insert service #2 -> " + srv2); // - set up layer tuples Table_Layer myLayer1 = new Table_Layer(); int lay1 = myLayer1.insertTuple( c, LNAME1, LTITLE1, SRS1, AUTHORITY1, LATLONXMIN1, LATLONXMAX1, LATLONYMIN1, LATLONYMAX1, BBOXXMIN1, BBOXXMAX1, BBOXYMIN1, BBOXYMAX1, ATTRIBUTIONURL1, ATTRIBUTIONTITLE1, LOGOWIDTH1, LOGOHEIGHT1, LOGOFORMAT1, LOGOURL1, FEATUREURL1, RESOLUTION1, MAPTYPE1); System.out.println("insert layer #1 -> " + lay1); Table_Layer myLayer2 = new Table_Layer(); int lay2 = myLayer2.insertTuple( c, LNAME2, LTITLE2, SRS2, AUTHORITY2, LATLONXMIN2, LATLONXMAX2, LATLONYMIN2, LATLONYMAX2, BBOXXMIN2, BBOXXMAX2, BBOXYMIN2, BBOXYMAX2, ATTRIBUTIONURL2, ATTRIBUTIONTITLE2, LOGOWIDTH2, LOGOHEIGHT2, LOGOFORMAT2, LOGOURL2, FEATUREURL2, RESOLUTION2, MAPTYPE2); System.out.println("insert layer #2 -> " + lay2); // --- test ------------------------------------------- // - create a reference instance Table_ServiceLayer myServiceLayer1 = new Table_ServiceLayer(); myServiceLayer1.insertTuple(c, srv1, lay1, SEQ1); System.out.println("insert Table_ServiceLayer tuple #1 with seq=" + SEQ1); // - update reference instance myServiceLayer1.updateTuple(c, srv1, lay1, SEQ2); // - fetch values via 2nd instance, check all values Table_ServiceLayer myServiceLayer2 = new Table_ServiceLayer(); myServiceLayer2.fetchTupleById(c, srv1, lay1); if (myServiceLayer2.getServiceId() != srv1) System.out.println( "Error: attribute updated != attributed fetched: " + Globals.TABLE_SERVICELAYER_SERVICEID); if (myServiceLayer2.getLayerId() != lay1) System.out.println( "Error: attribute updated != attributed fetched: " + Globals.TABLE_SERVICELAYER_LAYERID); if (myServiceLayer2.getLayerSeq() != SEQ2) System.out.println( "Error: attribute updated != attributed fetched: " + Globals.TABLE_SERVICELAYER_LAYERID); // - delete instance 1 and check it's gone myServiceLayer1.deleteTuple(c, srv1, lay1); try { myServiceLayer2.fetchTupleById(c, srv1, lay1); System.out.println("Error: deleted tuple still seems to exist."); } catch (Exception e) { System.out.println("fetching tuple deleted caused exception, that's ok."); } // - create second instance myServiceLayer2.insertTuple(c, srv1, lay2, SEQ1); System.out.println("insert Table_ServiceLayer tuple #1 with seq=" + SEQ1); // --- test cleanup ----------------------------------- c.abort(); c.close(); } catch (Exception e) { System.out.println("Error: caught exception: " + e.getMessage()); } System.out.println("END class Table_ServiceLayer component test"); }