diff options
| author | Alex Rudyy <orudyy@apache.org> | 2015-03-13 09:21:16 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2015-03-13 09:21:16 +0000 |
| commit | 1e7ac2945fbbc185d03e3a1411065b077da80d67 (patch) | |
| tree | 330227e9d4243307df07b1f19f80e23c3b895ce5 /qpid/java/broker-plugins | |
| parent | 7b2de58298ec526db3025f6e40d032b35ba926c1 (diff) | |
| download | qpid-python-1e7ac2945fbbc185d03e3a1411065b077da80d67.tar.gz | |
QPID-6438: [Java Broker] Extend REST interfaces to result in errors when object already exist on create and when object does not exist on update
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1666380 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
18 files changed, 85 insertions, 155 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java index bd144d3009..9387d703be 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java @@ -412,15 +412,16 @@ public class RestServlet extends AbstractServlet private void performCreateOrUpdate(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { - boolean createOrUpdate = "PUT".equalsIgnoreCase(request.getMethod()); - response.setContentType("application/json"); List<String> names = new ArrayList<String>(); String[] pathInfoElements = getPathInfoElements(request); + + boolean parentRequest = false; if (pathInfoElements != null) { - if (pathInfoElements.length != _hierarchy.length) + parentRequest = _hierarchy.length > 0 && pathInfoElements.length == _hierarchy.length - 1; + if (pathInfoElements.length != _hierarchy.length && !parentRequest) { throw new IllegalArgumentException("Path to object to create must be fully specified. " + "Found " @@ -432,6 +433,10 @@ public class RestServlet extends AbstractServlet } names.addAll(Arrays.asList(pathInfoElements)); } + else + { + parentRequest = _hierarchy.length == 1; + } Map<String, Object> providedObject; @@ -469,16 +474,9 @@ public class RestServlet extends AbstractServlet { if (_hierarchy.length == 0) { - if (!createOrUpdate) - { - sendErrorResponse(request, response, - "Only object creation is allowed with POST requests. Use PUT method to update broker attributes"); - return; - } - try { - doUpdate(getBroker(), providedObject); + getBroker().setAttributes(providedObject); response.setStatus(HttpServletResponse.SC_OK); } catch (RuntimeException e) @@ -487,19 +485,22 @@ public class RestServlet extends AbstractServlet } return; } - else + else if (!parentRequest) { throw new ServletException("Cannot identify request target object"); } } - providedObject.put("name", names.get(names.size() - 1)); + if (!parentRequest) + { + providedObject.put("name", names.get(names.size() - 1)); + } @SuppressWarnings("unchecked") Collection<ConfiguredObject>[] objects = new Collection[_hierarchy.length]; if (_hierarchy.length == 1) { - createOrUpdate(providedObject, _hierarchy[0], getBroker(), null, request, response, createOrUpdate); + createOrUpdate(providedObject, _hierarchy[0], getBroker(), null, request, response, parentRequest); } else { @@ -562,30 +563,38 @@ public class RestServlet extends AbstractServlet ConfiguredObject theParent = parents.remove(0); ConfiguredObject[] otherParents = parents.toArray(new ConfiguredObject[parents.size()]); - createOrUpdate(providedObject, objClass, theParent, otherParents, request, response, createOrUpdate); + createOrUpdate(providedObject, objClass, theParent, otherParents, request, response, parentRequest); } } private void createOrUpdate(Map<String, Object> providedObject, Class<? extends ConfiguredObject> objClass, ConfiguredObject theParent, ConfiguredObject[] otherParents, HttpServletRequest request, - HttpServletResponse response, boolean createOrUpdate) throws IOException + HttpServletResponse response, boolean parentRequest) throws IOException { try { Collection<? extends ConfiguredObject> existingChildren = theParent.getChildren(objClass); - if (createOrUpdate) + if (!parentRequest) { for (ConfiguredObject obj : existingChildren) { if ((providedObject.containsKey("id") && String.valueOf(providedObject.get("id")).equals(obj.getId().toString())) || (obj.getName().equals(providedObject.get("name")) && equalParents(obj, otherParents, objClass))) { - doUpdate(obj, providedObject); + obj.setAttributes(providedObject); response.setStatus(HttpServletResponse.SC_OK); return; } } + + if ("POST".equalsIgnoreCase(request.getMethod())) + { + sendErrorResponse(request, response, HttpServletResponse.SC_NOT_FOUND, "Object with " + + (providedObject.containsKey("id") ? " id '" + providedObject.get("id") : " name '" + providedObject.get("name")) + + "' does not exist!" ); + return; + } } theParent.createChild(objClass, providedObject, otherParents); @@ -597,11 +606,6 @@ public class RestServlet extends AbstractServlet } } - private void doUpdate(ConfiguredObject obj, Map<String, Object> providedObject) - { - obj.setAttributes(providedObject); - } - private boolean equalParents(ConfiguredObject obj, ConfiguredObject[] otherParents, Class<? extends ConfiguredObject> objClass) { if(otherParents == null || otherParents.length == 0) @@ -644,6 +648,7 @@ public class RestServlet extends AbstractServlet } else { + int responseCode = HttpServletResponse.SC_CONFLICT; String message = e.getMessage(); if (e instanceof IllegalConfigurationException || e instanceof IllegalArgumentException) { @@ -661,14 +666,15 @@ public class RestServlet extends AbstractServlet LOGGER.warn("Unexpected exception processing request ", e); } - sendErrorResponse(request, response, message); + + sendErrorResponse(request, response, responseCode, message); } } - private void sendErrorResponse(HttpServletRequest request, HttpServletResponse response, String message) throws IOException + private void sendErrorResponse(HttpServletRequest request, HttpServletResponse response, int responseCode, String message) throws IOException { - response.setStatus(HttpServletResponse.SC_CONFLICT); + response.setStatus(responseCode); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js index a8b2b60a75..d961a31e52 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js @@ -100,10 +100,8 @@ define(["dojo/_base/lang", if (this.accessControlProviderForm.validate()) { var accessControlProviderData = util.getFormWidgetValues(this.accessControlProviderForm, this.initialData); - var encodedAccessControlProviderName = encodeURIComponent(this.accessControlProviderName.value); var that = this; - util.post("api/latest/accesscontrolprovider/" + encodedAccessControlProviderName, - accessControlProviderData, function(x){that.dialog.hide();}); + util.post("api/latest/accesscontrolprovider", accessControlProviderData, function(x){that.dialog.hide();}); } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js index d367537731..3d85239789 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js @@ -150,15 +150,17 @@ define(["dojo/_base/xhr", { if(this.authenticationProviderForm.validate() && this.preferencesProviderForm.validate()) { - var success = false,failureReason=null; - var authenticationProviderData = util.getFormWidgetValues(this.authenticationProviderForm, this.initialData); - var encodedAuthenticationProviderName = encodeURIComponent(this.authenticationProviderName.value); var that = this; - - var methodName = this.initialData ? "put" : "post"; - util[methodName]("api/latest/authenticationprovider/" + encodedAuthenticationProviderName, authenticationProviderData, + var encodedAuthenticationProviderName = encodeURIComponent(this.authenticationProviderName.value); + var url = "api/latest/authenticationprovider"; + if (this.initialData && this.initialData.id) + { + // update request + url += "/" + encodedAuthenticationProviderName; + } + util.post(url, authenticationProviderData, function(x){ var preferencesProviderResult = that.preferencesProviderForm.submit(encodedAuthenticationProviderName); if (preferencesProviderResult.success == true) diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js index 8257b7e54c..253861b5c5 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js @@ -311,8 +311,7 @@ define(["dojo/_base/connect", var url = "api/latest/binding/"+encodeURIComponent(addBinding.vhostnode) + "/"+encodeURIComponent(addBinding.vhost) + "/"+encodeURIComponent(newBinding.exchange) - + "/"+encodeURIComponent(newBinding.queue) - + "/"+encodeURIComponent(newBinding.name); + + "/"+encodeURIComponent(newBinding.queue); util.post(url, newBinding, function(x){registry.byId("addBinding").hide();}); return false; }else{ diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addExchange.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addExchange.js index ca43eca5d3..0385768889 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addExchange.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addExchange.js @@ -111,8 +111,7 @@ define(["dojo/_base/xhr", var newExchange = convertToExchange(theForm.getValues()); var that = this; util.post("api/latest/exchange/" + encodeURIComponent(addExchange.vhostnode) - + "/" + encodeURIComponent(addExchange.vhost) - + "/" + encodeURIComponent(newExchange.name), + + "/" + encodeURIComponent(addExchange.vhost), newExchange, function(x){ registry.byId("addExchange").hide(); }); return false; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js index f658a8ec3b..b5491b4a6e 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addGroupProvider.js @@ -120,13 +120,17 @@ define([ { if (this.groupProviderForm.validate()) { - var success = false,failureReason=null; - var groupProviderData = util.getFormWidgetValues(this.groupProviderForm, this.initialData); - var encodedName = encodeURIComponent(this.groupProviderName.value); + var that = this; - var method = this.initialData ? "put" : "post"; - util[method]("api/latest/groupprovider/" + encodedName, groupProviderData, function(x){that.dialog.hide();}); + var url = "api/latest/groupprovider"; + if (this.initialData) + { + // update request + url += "/" + encodeURIComponent(this.groupProviderName.value) + } + + util.post( url,groupProviderData, function(x){that.dialog.hide();}); } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js index 1069e2300b..aa3e43d604 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js @@ -267,8 +267,13 @@ define(["dojo/_base/xhr", alert("A trust store must be selected when requesting client certificates."); return false; } - var method = registry.byId("formAddPort.name").get("disabled") ? "put" : "post"; - util[method]("api/latest/port/" + encodeURIComponent(newPort.name), newPort, function(x){registry.byId("addPort").hide()}); + var url = "api/latest/port"; + if (registry.byId("formAddPort.name").get("disabled")) + { + // update request + url += "/" + encodeURIComponent(newPort.name); + } + util.post(url, newPort, function(x){registry.byId("addPort").hide()}); return false; } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js index da7879d671..8b2c60933d 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js @@ -150,7 +150,7 @@ define(["dojo/_base/xhr", var newQueue = convertToQueue(theForm.getValues()); util.post("api/latest/queue/" + encodeURIComponent(addQueue.vhostnode) - + "/"+encodeURIComponent(addQueue.vhost) + "/" + encodeURIComponent(newQueue.name), + + "/"+encodeURIComponent(addQueue.vhost), newQueue, function(x){registry.byId("addQueue").hide();}); return false; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js index ff672e92be..f0bdb0cefa 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js @@ -129,11 +129,15 @@ define(["dojo/_base/lang", var success = false,failureReason=null; var storeData = util.getFormWidgetValues(this.storeForm, this.initialData); - var encodedStoreName = encodeURIComponent(this.storeName.value); - var encodedCategory = encodeURIComponent(this.category.toLowerCase()); var that = this; - var method = this.effectiveData ? "put" : "post"; - util[method]("api/latest/" + encodedCategory + "/" + encodedStoreName, storeData, function(x){that.dialog.hide();}); + var url = "api/latest/" + encodeURIComponent(this.category.toLowerCase()); + + if (this.effectiveData) + { + // update request + url += "/" + encodeURIComponent(this.storeName.value); + } + util.post(url, storeData, function(x){that.dialog.hide();}); } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js index 2cba022482..9131df0582 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js @@ -340,8 +340,7 @@ define([ } var that = this; - var encodedVirtualHostNodeName = encodeURIComponent(virtualHostNodeData.name); - util.post("api/latest/virtualhostnode/" + encodedVirtualHostNodeName, virtualHostNodeData, function(x){that.dialog.hide();}); + util.post("api/latest/virtualhostnode", virtualHostNodeData, function(x){that.dialog.hide();}); }, _getValues: function (form) { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager.js index 87025adfae..8eaaa0e463 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/PrincipalDatabaseAuthenticationManager.js @@ -200,8 +200,7 @@ define(["dojo/_base/xhr", var newUser = convertToUser(theForm.getValues()); - var url = "api/latest/user/"+encodeURIComponent(addUser.authProvider) + - "/"+encodeURIComponent(newUser.name); + var url = "api/latest/user/"+encodeURIComponent(addUser.authProvider); util.post(url, newUser, function(x){registry.byId("addUser").hide();}); return false; @@ -248,7 +247,7 @@ define(["dojo/_base/xhr", var url = "api/latest/user/"+encodeURIComponent(setPassword.authProvider) + "/"+encodeURIComponent(newUser.name); - util.put(url, newUser, function(x){registry.byId("setPassword").hide();}); + util.post(url, newUser, function(x){registry.byId("setPassword").hide();}); return false; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js index 08a4a84d47..66eb907c69 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editBroker.js @@ -128,25 +128,8 @@ define(["dojo/_base/xhr", data["context"] = context; } - var success = false,failureReason=null; - xhr.put({ - url: this.query, - sync: true, - handleAs: "json", - headers: { "Content-Type": "application/json"}, - putData: json.stringify(data), - load: function(x) {success = true; }, - error: function(error) {success = false; failureReason = error;} - }); - - if(success === true) - { - this.dialog.hide(); - } - else - { - util.xhrErrorHandler(failureReason); - } + var that = this; + util.post(this.query, data, function(x){that.dialog.hide()}) } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js index 91fc9891cf..cf3f171536 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js @@ -163,25 +163,8 @@ define(["dojo/_base/xhr", { data["context"] = context; } - var success = false,failureReason=null; - xhr.put({ - url: this.query, - sync: true, - handleAs: "json", - headers: { "Content-Type": "application/json"}, - putData: json.stringify(data), - load: function(x) {success = true; }, - error: function(error) {success = false; failureReason = error;} - }); - - if(success === true) - { - this.dialog.hide(); - } - else - { - util.xhrErrorHandler(failureReason); - } + var that = this; + util.post(this.query, data, function(x){that.dialog.hide()}); } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js index b47052b546..cf038826ae 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js @@ -128,25 +128,8 @@ define(["dojo/_base/xhr", { data["context"] = context; } - var success = false,failureReason=null; - xhr.put({ - url: this.query, - sync: true, - handleAs: "json", - headers: { "Content-Type": "application/json"}, - putData: json.stringify(data), - load: function(x) {success = true; }, - error: function(error) {success = false; failureReason = error;} - }); - - if(success === true) - { - this.dialog.hide(); - } - else - { - util.xhrErrorHandler(failureReason); - } + var that=this; + util.post(this.query, data, function(x){ that.dialog.hide();} ); } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js index b5a7edab2d..c9dc9d2029 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js @@ -120,25 +120,8 @@ define(["dojo/_base/xhr", { data["context"] = context; } - var success = false,failureReason=null; - xhr.put({ - url: this.query, - sync: true, - handleAs: "json", - headers: { "Content-Type": "application/json"}, - putData: json.stringify(data), - load: function(x) {success = true; }, - error: function(error) {success = false; failureReason = error;} - }); - - if(success === true) - { - this.dialog.hide(); - } - else - { - util.xhrErrorHandler(failureReason); - } + var that = this; + util.post(this.query, data, function(x){ that.dialog.hide();} ); } else { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js index baa08d2309..e653eb8ac1 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js @@ -73,8 +73,7 @@ define(["dojo/_base/xhr", var that = this; var url = "api/latest/groupmember/"+encodeURIComponent(addGroupMember.groupProvider) + - "/" + encodeURIComponent(addGroupMember.group) + - "/" + encodeURIComponent(newGroupMember.name); + "/" + encodeURIComponent(addGroupMember.group); util.post(url, newGroupMember, function(x){registry.byId("addGroupMember").hide();}); return false; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js index 4182b580b7..418e04d34c 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js @@ -173,10 +173,7 @@ define(["dojo/_base/xhr", var newGroup = convertToGroup(theForm.getValues()); - - var url = "api/latest/group/"+encodeURIComponent(addGroup.groupProvider) + - "/"+encodeURIComponent(newGroup.name); - + var url = "api/latest/group/"+encodeURIComponent(addGroup.groupProvider); util.post(url, newGroup, function(x){registry.byId("addGroup").hide();}); return false; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js index 099a75837b..994c748803 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js @@ -87,26 +87,13 @@ function (util, metadata, xhr, declare, array, domConstruct, win, query, json, _ { var preferencesProviderData = util.getFormWidgetValues(this.preferencesProviderForm, this.data) var encodedPreferencesProviderName = encodeURIComponent(this.preferencesProviderNameWidget.get("value")); - var url = "api/latest/preferencesprovider/" + encodedAuthenticationProviderName + "/" + encodedPreferencesProviderName; + var url = "api/latest/preferencesprovider/" + encodedAuthenticationProviderName; if (this.data) { - var success = false; - var failureReason = null; - xhr.put({ - url: url, - sync: true, - handleAs: "json", - headers: { "Content-Type": "application/json"}, - putData: json.stringify(preferencesProviderData), - load: function (x) { success = true; }, - error: function (error) { success = false; failureReason = error; } - }); - return { success: success, failureReason: failureReason }; - } - else - { - return util.post(url, preferencesProviderData); + // update request + url += "/" + encodedPreferencesProviderName; } + return util.post(url, preferencesProviderData); } return { success: true, failureReason: null }; }, |
