Revision: 3331
Author: silva.josemanuel1
Date: Tue Feb 23 15:23:29 2010
Log: Implemented simple descriptions of revisions.
Reverted to the old way of handling JSON responses from server containing stack traces.
http://code.google.com/p/power-architect/source/detail?r=3331

Modified:
 /trunk/src/ca/sqlpower/architect/enterprise/ArchitectClientSideSession.java
 /trunk/src/ca/sqlpower/architect/swingui/enterprise/RevisionsTable.java

=======================================
--- /trunk/src/ca/sqlpower/architect/enterprise/ArchitectClientSideSession.java Tue Feb 23 08:00:12 2010 +++ /trunk/src/ca/sqlpower/architect/enterprise/ArchitectClientSideSession.java Tue Feb 23 15:23:29 2010
@@ -356,7 +356,8 @@
                         json.getLong("number"),
TransactionInformation.DATE_FORMAT.parse(json.getString("time")),
                         json.getString("author"),
-                        json.getString("description"));
+                        json.getString("description"),
+                        json.getString("simpleDescription"));
                 transactions.add(transaction);

             }
@@ -881,42 +882,48 @@
             */

            public JSONMessage handleResponse(HttpResponse response) {
-               try {
-
-                   if (response.getStatusLine().getStatusCode() / 100 == 2) {
-
-                       BufferedReader reader = new BufferedReader(
- new InputStreamReader(response.getEntity().getContent()));
-                       StringBuffer buffer = new StringBuffer();
-
-                       String line;
-                       while ((line = reader.readLine()) != null) {
-                           buffer.append(line).append("\n");
-                       }
-
-                       logger.debug(buffer);
-                       return new JSONMessage(buffer.toString(), true);
-
- } else if (response.getFirstHeader("unsuccessfulResponse") != null) {
-
- String message = response.getFirstHeader("unsuccessfulResponse").getValue();
-                       return new JSONMessage(message, false);
-
- } else if (response.getFirstHeader("exceptionStackTrace") != null) {
-
- String message = response.getFirstHeader("exceptionStackTrace").getValue();
-                       JSONArray stackTraceStrings = new JSONArray(message);
-                       StringBuffer stackTraceMessage = new StringBuffer();
-                       for (int i = 0; i < stackTraceStrings.length(); i++) {
- stackTraceMessage.append("\n").append(stackTraceStrings.get(i));
-                       }
-                       throw new Exception(stackTraceMessage.toString());
-
-                   } else {
- throw new RuntimeException("Unable to parse unsuccessful/exception response");
-                   }
-               } catch (Exception ex) {
-                   throw new RuntimeException(ex);
+            try {
+
+                BufferedReader reader = new BufferedReader(
+ new InputStreamReader(response.getEntity().getContent()));
+                StringBuffer buffer = new StringBuffer();
+
+                String line;
+                while ((line = reader.readLine()) != null) {
+                    buffer.append(line).append("\n");
+                }
+
+                JSONObject message = new JSONObject(buffer.toString());
+
+ // Does the response contain data? If so, return it. Communication
+                // with the resource has been successful.
+                if (message.getString("responseKind").equals("data")) {
+ return new JSONMessage(message.getString("data"), true);
+                } else {
+                    // Has the request been unsuccessful?
+ if (message.getString("responseKind").equals("unsuccessful")) { + return new JSONMessage(message.getString("data"), false);
+                    } else {
+ // Does the response contain an exception? If so, reconstruct, and then + // re-throw it. There has been an exception on the server. + if (message.getString("responseKind").equals("exceptionStackTrace")) {
+
+ JSONArray stackTraceStrings = new JSONArray(message.getString("data")); + StringBuffer stackTraceMessage = new StringBuffer(); + for (int i = 0; i < stackTraceStrings.length(); i++) { + stackTraceMessage.append("\n").append(stackTraceStrings.get(i));
+                            }
+
+ throw new Exception(stackTraceMessage.toString());
+
+                        } else {
+ // This exception represents a(n epic) client-server miscommunication + throw new Exception("Unable to parse response");
+                        }
+                    }
+                }
+            } catch (Exception ex) {
+                throw new RuntimeException(ex);
             }
            }
        }
=======================================
--- /trunk/src/ca/sqlpower/architect/swingui/enterprise/RevisionsTable.java Mon Feb 22 13:39:16 2010 +++ /trunk/src/ca/sqlpower/architect/swingui/enterprise/RevisionsTable.java Tue Feb 23 15:23:29 2010
@@ -92,7 +92,7 @@
             infoArea.append("\n\nAuthor: " + info.getVersionAuthor());
infoArea.append("\nTime created: " + info.getTimeCreated().toString());
             String description = "";
-            for (String line : info.getVersionDescription().split(", ")) {
+            for (String line : info.getSimpleDescription().split(", ")) {
                 description += "\n" + line;
             }
             infoArea.append("\n\nDescription:" + description);
@@ -167,7 +167,7 @@
data[i][0] = String.valueOf(transaction.getVersionNumber());
                 data[i][1] = transaction.getTimeString() + " ";
                 data[i][2] = transaction.getVersionAuthor();
-                data[i][3] = transaction.getVersionDescription();
+                data[i][3] = transaction.getSimpleDescription();

// Determine the length of each column by determining the longest piece of data within each.
                 for (int j = 0; j < HEADERS.length; j++) {

Reply via email to