This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] / Robust / src / Benchmarks / BankApp / BankApp.java
diff --git a/Robust/src/Benchmarks/BankApp/BankApp.java b/Robust/src/Benchmarks/BankApp/BankApp.java
deleted file mode 100644 (file)
index 7d9bb9a..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-//Banking Application Server\r
-\r
-/* Startup object is generated with the initialstate flag set by the\r
- *  system to start the computation up */\r
-\r
-task Startup(StartupObject s{initialstate})\r
-{\r
-    System.printString("Starting\n");\r
-    ServerSocket ss = new ServerSocket(8080);\r
-    System.printString("Creating ServerSocket\n");\r
-       BankDatabase Bank = new BankDatabase(){DatabaseInit};\r
-    taskexit(s{!initialstate}); /* Turns initial state flag off, so this task won't refire */\r
-}\r
-\r
-task AcceptConnection(ServerSocket ss{SocketPending})\r
-{\r
-    BankAppSocket bas = new BankAppSocket(){BASocketInit};\r
-       ss.accept(bas);\r
-    System.printString("Connected\n");\r
-}\r
-\r
-//i think this task could probably be broken up into smaller tasks\r
-task ProcessRequest(BankAppSocket bas{IOPending && BASocketInit}, BankDatabase Bank{DatabaseInit})\r
-{\r
-       String message = new String(bas.receive());\r
-       //System.printString(message);\r
-       \r
-       //login\r
-       if(message.startsWith("1"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               String pin = message.subString(10, 14);\r
-               \r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account) && Bank.database[i].PIN.equals(pin))\r
-                       {\r
-                               bas.send("Login OK");\r
-                               //System.printString("Login OK");\r
-                       }\r
-                       else\r
-                       {\r
-                               bas.send("Login Error");\r
-                               //System.printString("Login Error");\r
-                       }\r
-               }\r
-       }\r
-       //logout\r
-       else if(message.startsWith("2"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               \r
-               //find the account\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                       {\r
-                               bas.send("Logout OK");\r
-                               //System.printString("Logout OK");\r
-                       }\r
-                       else\r
-                       {\r
-                               bas.send("Logout Error");\r
-                               //System.printString("Logout Error");\r
-                       }\r
-               }\r
-       }\r
-       //create\r
-       else if(message.startsWith("3"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               String first = message.subString(10, 20);\r
-               String middle = message.subString(20, 30);\r
-               String last = message.subString(30, 40);\r
-               String type = message.subString(40, 41);\r
-               String balance = message.subString(41, 51);\r
-               String pin = message.subString(51, 55);\r
-               \r
-               //find first empty space\r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals("@@@@@@@@@"))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {\r
-                       //should check for input errors first but...\r
-                       Bank.database[id].AccountNumber = first;\r
-                       Bank.database[id].FirstName = middle;\r
-                       Bank.database[id].MiddleName = last;\r
-                       Bank.database[id].LastName = last;\r
-                       Bank.database[id].AccountType = type;\r
-                       Bank.database[id].Balance = balance;\r
-                       Bank.database[id].PIN = pin;\r
-               \r
-                       Bank.numOfAccounts++;\r
-               \r
-                       bas.send(Bank.database[id].AccountNumber);\r
-                       //System.printString(Bank.database[id].AccountNumber);\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Create Error");\r
-                       //System.printString("Create Error");\r
-               }\r
-       }\r
-       //delete\r
-       else if(message.startsWith("4"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               \r
-               //find the account\r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {\r
-                       Bank.database[id].AccountNumber = "@@@@@@@@@@";\r
-                       Bank.database[id].FirstName = "@@@@@@@@@@";\r
-                       Bank.database[id].MiddleName = "@@@@@@@@@@";\r
-                       Bank.database[id].LastName = "@@@@@@@@@@";\r
-                       Bank.database[id].AccountType = "@";\r
-                       Bank.database[id].Balance = "@@@@@@@@@@";\r
-                       Bank.database[id].PIN = "@@@@";\r
-                       Bank.numOfAccounts--;\r
-                       \r
-                       bas.send("Close Account OK");\r
-                       //System.printString("Close Account OK");\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Close Account Error");\r
-                       //System.printString("Close Account Error");\r
-               }\r
-       }\r
-       //modify\r
-       else if(message.startsWith("5"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               String field = message.subString(10, 11);\r
-               //two digits 00-99\r
-               String numBytes = message.subString(11, 13);\r
-               String data = message.subString(13, 13 + Integer.parseInt(numBytes));\r
-               \r
-               //find the account\r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {\r
-                       //maybe shouldn't allow changes to some of these fields\r
-                       if(field.equals("1"))\r
-                       {\r
-                               Bank.database[id].AccountNumber = data;\r
-                       }\r
-                       else if(field.equals("2"))\r
-                       {\r
-                               Bank.database[id].FirstName = data;\r
-                       }\r
-                       else if(field.equals("3"))\r
-                       {\r
-                               Bank.database[id].MiddleName = data;\r
-                       }\r
-                       else if(field.equals("4"))\r
-                       {\r
-                               Bank.database[id].LastName = data;\r
-                       }\r
-                       else if(field.equals("5"))\r
-                       {\r
-                               Bank.database[id].AccountType = data;\r
-                       }\r
-                       else if(field.equals("6"))\r
-                       {\r
-                               Bank.database[id].Balance = data;\r
-                       }\r
-                       else if(field.equals("7"))\r
-                       {\r
-                               Bank.database[id].PIN = data;\r
-                       }\r
-                       \r
-                       bas.send("Modify OK");\r
-                       //System.printString("Modify OK");\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Modify Error");\r
-                       //System.printString("Modify Error");\r
-               }\r
-       }\r
-       //check account info\r
-       else if(message.startsWith("6"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               \r
-               //find the account\r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {\r
-                       StringBuffer strBuffer = new StringBuffer(Bank.database[id].AccountNumber);\r
-                       strBuffer.append(Bank.database[id].FirstName);\r
-                       strBuffer.append(Bank.database[id].MiddleName);\r
-                       strBuffer.append(Bank.database[id].LastName);\r
-                       strBuffer.append(Bank.database[id].AccountType);\r
-                       strBuffer.append(Bank.database[id].Balance);\r
-                       strBuffer.append(Bank.database[id].PIN);\r
-               \r
-                       bas.send(strBuffer.toString());\r
-                       //System.printString(strBuffer.toString());\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Check Account Info Error");\r
-                       //System.printString("Check Account Info Error");\r
-               }\r
-       \r
-       }\r
-       //deposit\r
-       //more string operations or a Float Object could be useful here \r
-       else if(message.startsWith("7"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               //two digits 00-99\r
-               //dollar part only\r
-               String numBytes = message.subString(10, 12);\r
-               //get dollars\r
-               String data = message.subString(12, 12 + Integer.parseInt(numBytes));\r
-                       \r
-               \r
-               //find the account\r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {       \r
-                       Integer sum = new Integer(Integer.parseInt(Bank.database[id].Balance) + Integer.parseInt(data));\r
-                       \r
-                       StringBuffer sumBuffer = new StringBuffer(sum.toString());\r
-                       \r
-                       int padding = 10 - sumBuffer.length();\r
-                       \r
-                       for(int i = 0; i < padding; i++)\r
-                       {\r
-                               sumBuffer.append("@");\r
-                       }\r
-                       \r
-                       //assumes no overflow\r
-                       Bank.database[id].Balance = sumBuffer.toString();\r
-                       \r
-                       bas.send("Deposit OK");\r
-                       //System.printString("Deposit OK");\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Deposit Error");\r
-                       //System.printString("Deposit Error");\r
-               }\r
-       }\r
-       //withdraw\r
-       else if(message.startsWith("8"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-               //two digits 00-99\r
-               //dollar part only\r
-               String numBytes = message.subString(10, 12);\r
-               //get dollars\r
-               String data = message.subString(12, 12 + Integer.parseInt(numBytes));\r
-               \r
-               //find the account\r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {\r
-                       Integer difference = new Integer(Integer.parseInt(Bank.database[id].Balance) - Integer.parseInt(data));\r
-                       \r
-                       if(difference.intValue() >= 0)\r
-                       {\r
-                               StringBuffer difBuffer = new StringBuffer(difference.toString());\r
-                       \r
-                               int padding = 10 - difBuffer.length();\r
-                       \r
-                               for(int i = 0; i < padding; i++)\r
-                               {\r
-                                       difBuffer.append("@");\r
-                               }\r
-                       \r
-                               //assumes no overflow\r
-                               Bank.database[id].Balance = difBuffer.toString();\r
-                               \r
-                               bas.send("Withdraw OK");\r
-                               //System.printString("Withdraw OK");\r
-                       }\r
-                       else\r
-                       {\r
-                               bas.send("Overdraw Error");\r
-                               //System.printString("Overdraw Error");\r
-                       }\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Withdraw Error");\r
-                       //System.printString("Withdraw Error");\r
-               }\r
-       }\r
-       //check balance\r
-       else if(message.startsWith("9"))\r
-       {\r
-               String account = message.subString(1, 10);\r
-                                       \r
-               int id = -1;\r
-               for(int i = 0; i < Bank.numOfAccounts; i++)\r
-               {\r
-                       if(Bank.database[i].AccountNumber.equals(account))\r
-                               id = i;\r
-               }\r
-               \r
-               if(id != -1)\r
-               {\r
-                       bas.send(Bank.database[id].Balance);\r
-                       //System.printString(Bank.database[id].Balance);\r
-               }\r
-               else\r
-               {\r
-                       bas.send("Check Balance Error");\r
-                       //System.printString("Check Balance Error");\r
-               }\r
-       }\r
-       else\r
-       {\r
-               bas.send("Message Error");\r
-               //System.printString("Message Error");\r
-       }\r
-}\r