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++) {