From 701368a7fe472f2a5186faa74312dadfacc40922 Mon Sep 17 00:00:00 2001
From: Michael Jumper
Date: Sat, 10 Aug 2013 15:43:33 -0700
Subject: [PATCH] Initial stab at fixing the CRUD servlets and service JS.
---
.../net/basic/crud/connections/Create.java | 6 +++---
.../net/basic/crud/connections/List.java | 1 +
.../net/basic/crud/connections/Update.java | 6 ++++--
guacamole/src/main/webapp/admin.xhtml | 2 +-
guacamole/src/main/webapp/scripts/admin-ui.js | 17 +++++++++--------
guacamole/src/main/webapp/scripts/service.js | 16 ++++++++++------
6 files changed, 28 insertions(+), 20 deletions(-)
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Create.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Create.java
index 559b18293..d5557fb1c 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Create.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Create.java
@@ -47,8 +47,8 @@ public class Create extends AuthenticatingHttpServlet {
HttpServletRequest request, HttpServletResponse response)
throws GuacamoleException {
- // Get ID and protocol
- String identifier = request.getParameter("id");
+ // Get name and protocol
+ String name = request.getParameter("name");
String protocol = request.getParameter("protocol");
// Attempt to get connection directory
@@ -75,7 +75,7 @@ public class Create extends AuthenticatingHttpServlet {
// Create connection skeleton
Connection connection = new DummyConnection();
- connection.setIdentifier(identifier);
+ connection.setName(name);
connection.setConfiguration(config);
// Add connection
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java
index 4e9d643d4..0f66b9791 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java
@@ -126,6 +126,7 @@ public class List extends AuthenticatingHttpServlet {
// Write connection
xml.writeStartElement("connection");
xml.writeAttribute("id", identifier);
+ xml.writeAttribute("name", connection.getName());
xml.writeAttribute("protocol",
connection.getConfiguration().getProtocol());
diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Update.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Update.java
index 9169260c7..461a94492 100644
--- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Update.java
+++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/Update.java
@@ -47,9 +47,10 @@ public class Update extends AuthenticatingHttpServlet {
HttpServletRequest request, HttpServletResponse response)
throws GuacamoleException {
- // Get ID and protocol
+ // Get ID, name, and protocol
String identifier = request.getParameter("id");
- String protocol = request.getParameter("protocol");
+ String name = request.getParameter("name");
+ String protocol = request.getParameter("protocol");
// Attempt to get connection directory
Directory directory =
@@ -75,6 +76,7 @@ public class Update extends AuthenticatingHttpServlet {
// Create connection skeleton
Connection connection = directory.get(identifier);
+ connection.setName(name);
connection.setConfiguration(config);
// Update connection
diff --git a/guacamole/src/main/webapp/admin.xhtml b/guacamole/src/main/webapp/admin.xhtml
index 97d698a34..baebf8b0e 100644
--- a/guacamole/src/main/webapp/admin.xhtml
+++ b/guacamole/src/main/webapp/admin.xhtml
@@ -71,7 +71,7 @@
diff --git a/guacamole/src/main/webapp/scripts/admin-ui.js b/guacamole/src/main/webapp/scripts/admin-ui.js
index 017c6ac46..79df4a084 100644
--- a/guacamole/src/main/webapp/scripts/admin-ui.js
+++ b/guacamole/src/main/webapp/scripts/admin-ui.js
@@ -37,8 +37,8 @@ var GuacAdmin = {
},
"fields" : {
- "connection_id" : document.getElementById("connection-id"),
- "username" : document.getElementById("username")
+ "connection_name" : document.getElementById("connection-name"),
+ "username" : document.getElementById("username")
},
"cached_permissions" : null,
@@ -661,7 +661,7 @@ GuacAdmin.connectionPager = null;
*/
GuacAdmin.addConnection = function(connection, parameters) {
- var item = new GuacAdmin.ListItem("connection", connection.id);
+ var item = new GuacAdmin.ListItem("connection", connection.name);
var item_element = item.getElement();
GuacAdmin.connectionPager.addElement(item_element);
@@ -676,7 +676,7 @@ GuacAdmin.addConnection = function(connection, parameters) {
// Create form base elements
var form_element = GuacUI.createElement("div", "form");
var connection_header = GuacUI.createChildElement(form_element, "h2");
- connection_header.textContent = connection.id;
+ connection_header.textContent = connection.name;
var sections = GuacUI.createChildElement(
GuacUI.createChildElement(form_element, "div", "settings section"),
@@ -885,7 +885,8 @@ GuacAdmin.addConnection = function(connection, parameters) {
// Build connection
var updated_connection = new GuacamoleService.Connection(
protocol_field.value,
- connection.id
+ connection.id,
+ connection.name
);
// Populate parameters
@@ -930,7 +931,7 @@ GuacAdmin.addConnection = function(connection, parameters) {
// Delete connection upon confirmation
if (confirm("Are you sure you want to delete the connection \""
- + connection.id + "\"?")) {
+ + connection.name + "\"?")) {
// Attempt to delete connection
try {
@@ -1004,9 +1005,9 @@ GuacAdmin.reset = function() {
// Try to create connection
try {
var connection = new GuacamoleService.Connection(
- GuacAdmin.cached_protocols[0].name, GuacAdmin.fields.connection_id.value);
+ GuacAdmin.cached_protocols[0].name, null, GuacAdmin.fields.connection_name.value);
GuacamoleService.Connections.create(connection, parameters);
- GuacAdmin.fields.connection_id.value = "";
+ GuacAdmin.fields.connection_name.value = "";
GuacAdmin.reset();
}
diff --git a/guacamole/src/main/webapp/scripts/service.js b/guacamole/src/main/webapp/scripts/service.js
index 8dbcbe7da..ffcfcb4bc 100644
--- a/guacamole/src/main/webapp/scripts/service.js
+++ b/guacamole/src/main/webapp/scripts/service.js
@@ -28,8 +28,9 @@ var GuacamoleService = GuacamoleService || {};
* @constructor
* @param {String} protocol The protocol used by this connection.
* @param {String} id The ID associated with this connection.
+ * @param {String} name The human-readable name associated with this connection.
*/
-GuacamoleService.Connection = function(protocol, id) {
+GuacamoleService.Connection = function(protocol, id, name) {
/**
* Reference to this connection.
@@ -58,7 +59,7 @@ GuacamoleService.Connection = function(protocol, id) {
*
* @type String[]
*/
- this.path = id.split("/");
+ this.path = name.split("/");
/**
* The name of this connection. This name is arbitrary and local to the
@@ -251,7 +252,7 @@ GuacamoleService.Connections = {
* Comparator which compares two GuacamoleService.Connection objects.
*/
"comparator" : function(a, b) {
- return a.id.localeCompare(b.id);
+ return a.name.localeCompare(b.name);
},
/**
@@ -288,7 +289,8 @@ GuacamoleService.Connections = {
var connectionElement = connectionElements[i];
var connection = new GuacamoleService.Connection(
connectionElement.getAttribute("protocol"),
- connectionElement.getAttribute("id")
+ connectionElement.getAttribute("id"),
+ connectionElement.getAttribute("name")
)
var j;
@@ -352,7 +354,7 @@ GuacamoleService.Connections = {
"create" : function(connection, parameters) {
// Construct request URL
- var users_url = "connections/create?id=" + encodeURIComponent(connection.id);
+ var users_url = "connections/create?name=" + encodeURIComponent(connection.name);
if (parameters) users_url += "&" + parameters;
// Init POST data
@@ -389,7 +391,9 @@ GuacamoleService.Connections = {
if (parameters) users_url += "&" + parameters;
// Init POST data
- var data = "protocol=" + encodeURIComponent(connection.protocol);
+ var data =
+ "name=" + encodeURIComponent(connection.name)
+ + "&protocol=" + encodeURIComponent(connection.protocol);
// Add parameters
for (var name in connection.parameters)