You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/11/19 00:43:05 UTC

[21/24] incubator-brooklyn git commit: Added static Swagger UI due to js dependency issue

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/63c575d1/usage/jsgui/src/main/webapp/assets/js/libs/swagger.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/libs/swagger.js b/usage/jsgui/src/main/webapp/assets/js/libs/swagger.js
deleted file mode 100644
index fd4df59..0000000
--- a/usage/jsgui/src/main/webapp/assets/js/libs/swagger.js
+++ /dev/null
@@ -1,708 +0,0 @@
-// brooklyn note: from https://github.com/wordnik/swagger-js, apache 2.0 license
-
-// Generated by CoffeeScript 1.3.3
-(function() {
-  var SwaggerApi, SwaggerModel, SwaggerModelProperty, SwaggerOperation, SwaggerRequest, SwaggerResource,
-    __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
-
-  SwaggerApi = (function() {
-
-    SwaggerApi.prototype.discoveryUrl = "http://api.wordnik.com/v4/resources.json";
-
-    SwaggerApi.prototype.debug = false;
-
-    SwaggerApi.prototype.api_key = null;
-
-    SwaggerApi.prototype.basePath = null;
-
-    function SwaggerApi(options) {
-      if (options == null) {
-        options = {};
-      }
-      if (options.discoveryUrl != null) {
-        this.discoveryUrl = options.discoveryUrl;
-      }
-      if (options.debug != null) {
-        this.debug = options.debug;
-      }
-      this.apiKeyName = options.apiKeyName != null ? options.apiKeyName : 'api_key';
-      if (options.apiKey != null) {
-        this.api_key = options.apiKey;
-      }
-      if (options.api_key != null) {
-        this.api_key = options.api_key;
-      }
-      if (options.basePath != null) {
-        this.basePath = options.basePath;
-      }
-      if (options.verbose != null) {
-        this.verbose = options.verbose;
-      }
-      this.supportHeaderParams = options.supportHeaderParams != null ? options.supportHeaderParams : false;
-      this.supportedSubmitMethods = options.supportedSubmitMethods != null ? options.supportedSubmitMethods : ['get'];
-      if (options.success != null) {
-        this.success = options.success;
-      }
-      this.failure = options.failure != null ? options.failure : function() {};
-      this.progress = options.progress != null ? options.progress : function() {};
-      this.headers = options.headers != null ? options.headers : {};
-      this.booleanValues = options.booleanValues != null ? options.booleanValues : new Array('true', 'false');
-      this.discoveryUrl = this.suffixApiKey(this.discoveryUrl);
-      if (options.success != null) {
-        this.build();
-      }
-    }
-
-    SwaggerApi.prototype.build = function() {
-      var _this = this;
-      this.progress('fetching resource list: ' + this.discoveryUrl);
-      return jQuery.getJSON(this.discoveryUrl, function(response) {
-        var res, resource, _i, _j, _len, _len1, _ref, _ref1;
-        if (_this.basePath != null) {
-            // leave it alone
-        } else if ((response.basePath != null) && jQuery.trim(response.basePath).length > 0) {
-          _this.basePath = response.basePath;
-          if (_this.basePath.match(/^HTTP/i) == null) {
-            _this.fail("discoveryUrl basePath must be a URL.");
-          }
-          _this.basePath = _this.basePath.replace(/\/$/, '');
-        } else {
-          _this.basePath = _this.discoveryUrl.substring(0, _this.discoveryUrl.lastIndexOf('/'));
-          log('derived basepath from discoveryUrl as ' + _this.basePath);
-        }
-        _this.resources = {};
-        _this.resourcesArray = [];
-        if (response.resourcePath != null) {
-          _this.resourcePath = response.resourcePath;
-          res = null;
-          _ref = response.apis;
-          for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-            resource = _ref[_i];
-            if (res === null) {
-              res = new SwaggerResource(resource, _this);
-            } else {
-              res.addOperations(resource.path, resource.operations);
-            }
-          }
-          if (res != null) {
-            _this.resources[res.name] = res;
-            _this.resourcesArray.push(res);
-            res.ready = true;
-            _this.selfReflect();
-          }
-        } else {
-          _ref1 = response.apis;
-          for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
-            resource = _ref1[_j];
-            res = new SwaggerResource(resource, _this);
-            _this.resources[res.name] = res;
-            _this.resourcesArray.push(res);
-          }
-        }
-        return _this;
-      }).error(function(error) {
-        return _this.fail(error.status + ' : ' + error.statusText + ' ' + _this.discoveryUrl);
-      });
-    };
-
-    SwaggerApi.prototype.selfReflect = function() {
-      var resource, resource_name, _ref;
-      if (this.resources == null) {
-        return false;
-      }
-      _ref = this.resources;
-      for (resource_name in _ref) {
-        resource = _ref[resource_name];
-        if (resource.ready == null) {
-          return false;
-        }
-      }
-      this.setConsolidatedModels();
-      this.ready = true;
-      if (this.success != null) {
-        return this.success();
-      }
-    };
-
-    SwaggerApi.prototype.fail = function(message) {
-      this.failure(message);
-      throw message;
-    };
-
-    SwaggerApi.prototype.setConsolidatedModels = function() {
-      var model, modelName, resource, resource_name, _i, _len, _ref, _ref1, _results;
-      this.modelsArray = [];
-      this.models = {};
-      _ref = this.resources;
-      for (resource_name in _ref) {
-        resource = _ref[resource_name];
-        for (modelName in resource.models) {
-          if (!(this.models[modelName] != null)) {
-            this.models[modelName] = resource.models[modelName];
-            this.modelsArray.push(resource.models[modelName]);
-          }
-        }
-      }
-      _ref1 = this.modelsArray;
-      _results = [];
-      for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
-        model = _ref1[_i];
-        _results.push(model.setReferencedModels(this.models));
-      }
-      return _results;
-    };
-
-    SwaggerApi.prototype.suffixApiKey = function(url) {
-      var sep;
-      if ((this.api_key != null) && jQuery.trim(this.api_key).length > 0 && (url != null)) {
-        sep = url.indexOf('?') > 0 ? '&' : '?';
-        return url + sep + this.apiKeyName + '=' + this.api_key;
-      } else {
-        return url;
-      }
-    };
-
-    SwaggerApi.prototype.help = function() {
-      var operation, operation_name, parameter, resource, resource_name, _i, _len, _ref, _ref1, _ref2;
-      _ref = this.resources;
-      for (resource_name in _ref) {
-        resource = _ref[resource_name];
-        console.log(resource_name);
-        _ref1 = resource.operations;
-        for (operation_name in _ref1) {
-          operation = _ref1[operation_name];
-          console.log("  " + operation.nickname);
-          _ref2 = operation.parameters;
-          for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
-            parameter = _ref2[_i];
-            console.log("    " + parameter.name + (parameter.required ? ' (required)' : '') + " - " + parameter.description);
-          }
-        }
-      }
-      return this;
-    };
-
-    return SwaggerApi;
-
-  })();
-
-  SwaggerResource = (function() {
-
-    function SwaggerResource(resourceObj, api) {
-      var parts,
-        _this = this;
-      this.api = api;
-      this.link = this.api.resourcePath != null ? this.api.resourcePath : 
-          resourceObj.link != null ? resourceObj.link : resourceObj.path;
-      this.path = this.api.resourcePath != null ? this.api.resourcePath : resourceObj.path;
-      this.description = resourceObj.description;
-      parts = this.path.split("/");
-      this.name = resourceObj.name != null ? resourceObj.name : parts[parts.length - 1].replace('.{format}', '');
-      this.basePath = this.api.basePath;
-      this.operations = {};
-      this.operationsArray = [];
-      this.modelsArray = [];
-      this.models = {};
-      if ((resourceObj.operations != null) && (this.api.resourcePath != null)) {
-        this.api.progress('reading resource ' + this.name + ' models and operations');
-        this.addModels(resourceObj.models);
-        this.addOperations(resourceObj.path, resourceObj.operations);
-        this.api[this.name] = this;
-      } else {
-        var path = this.link
-        if (path == null) path = this.path
-        if (path == null) {
-          this.api.fail("SwaggerResources must have a link or a path.");
-        }
-        this.url = this.api.suffixApiKey(this.api.basePath + path.replace('{format}', 'json'));
-        this.api.progress('fetching resource ' + this.name + ': ' + this.url);
-        jQuery.getJSON(this.url, function(response) {
-          var endpoint, _i, _len, _ref;
-          if ((response.basePath != null) && jQuery.trim(response.basePath).length > 0) {
-            _this.basePath = response.basePath;
-            _this.basePath = _this.basePath.replace(/\/$/, '');
-          }
-          _this.addModels(response.models);
-          if (response.apis) {
-            _ref = response.apis;
-            for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-              endpoint = _ref[_i];
-              _this.addOperations(endpoint.path, endpoint.operations);
-            }
-          }
-          _this.api[_this.name] = _this;
-          _this.ready = true;
-          return _this.api.selfReflect();
-        }).error(function(error) {
-          return _this.api.fail(error.status + ' : ' + error.statusText + ' ' + _this.url);
-        });
-      }
-    }
-
-    SwaggerResource.prototype.addModels = function(models) {
-      var model, modelName, swaggerModel, _i, _len, _ref, _results;
-      if (models != null) {
-        for (modelName in models) {
-          swaggerModel = new SwaggerModel(modelName, models[modelName]);
-          this.modelsArray.push(swaggerModel);
-          this.models[modelName] = swaggerModel;
-        }
-        _ref = this.modelsArray;
-        _results = [];
-        for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-          model = _ref[_i];
-          _results.push(model.setReferencedModels(this.models));
-        }
-        return _results;
-      }
-    };
-
-    SwaggerResource.prototype.addOperations = function(resource_path, ops) {
-      var o, op, _i, _len, _results;
-      if (ops) {
-        _results = [];
-        for (_i = 0, _len = ops.length; _i < _len; _i++) {
-          o = ops[_i];
-          op = new SwaggerOperation(o.nickname, resource_path, o.httpMethod, o.parameters, o.summary, o.notes, o.responseClass, this);
-          this.operations[op.nickname] = op;
-          _results.push(this.operationsArray.push(op));
-        }
-        return _results;
-      }
-    };
-
-    SwaggerResource.prototype.help = function() {
-      var operation, operation_name, parameter, _i, _len, _ref, _ref1;
-      _ref = this.operations;
-      for (operation_name in _ref) {
-        operation = _ref[operation_name];
-        console.log("  " + operation.nickname);
-        _ref1 = operation.parameters;
-        for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
-          parameter = _ref1[_i];
-          console.log("    " + parameter.name + (parameter.required ? ' (required)' : '') + " - " + parameter.description);
-        }
-      }
-      return this;
-    };
-
-    return SwaggerResource;
-
-  })();
-
-  SwaggerModel = (function() {
-
-    function SwaggerModel(modelName, obj) {
-      var propertyName;
-      this.name = obj.id != null ? obj.id : modelName;
-      this.properties = [];
-      for (propertyName in obj.properties) {
-        this.properties.push(new SwaggerModelProperty(propertyName, obj.properties[propertyName]));
-      }
-    }
-
-    SwaggerModel.prototype.setReferencedModels = function(allModels) {
-      var prop, _i, _len, _ref, _results;
-      _ref = this.properties;
-      _results = [];
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        prop = _ref[_i];
-        if (allModels[prop.dataType] != null) {
-          _results.push(prop.refModel = allModels[prop.dataType]);
-        } else if ((prop.refDataType != null) && (allModels[prop.refDataType] != null)) {
-          _results.push(prop.refModel = allModels[prop.refDataType]);
-        } else {
-          _results.push(void 0);
-        }
-      }
-      return _results;
-    };
-
-    SwaggerModel.prototype.getMockSignature = function(prefix, modelToIgnore) {
-      var classClose, classOpen, prop, propertiesStr, returnVal, strong, strongClose, stronger, _i, _j, _len, _len1, _ref, _ref1;
-      propertiesStr = [];
-      _ref = this.properties;
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        prop = _ref[_i];
-        propertiesStr.push(prop.toString());
-      }
-      strong = '<span style="font-weight: bold; color: #000; font-size: 1.0em">';
-      stronger = '<span style="font-weight: bold; color: #000; font-size: 1.1em">';
-      strongClose = '</span>';
-      classOpen = strong + 'class ' + this.name + '(' + strongClose;
-      classClose = strong + ')' + strongClose;
-      returnVal = classOpen + '<span>' + propertiesStr.join('</span>, <span>') + '</span>' + classClose;
-      if (prefix != null) {
-        returnVal = stronger + prefix + strongClose + '<br/>' + returnVal;
-      }
-      _ref1 = this.properties;
-      for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
-        prop = _ref1[_j];
-        if ((prop.refModel != null) && (!(prop.refModel === modelToIgnore))) {
-          returnVal = returnVal + ('<br>' + prop.refModel.getMockSignature(void 0, this));
-        }
-      }
-      return returnVal;
-    };
-
-    return SwaggerModel;
-
-  })();
-
-  SwaggerModelProperty = (function() {
-
-    function SwaggerModelProperty(name, obj) {
-      this.name = name;
-      this.dataType = obj.type;
-      this.isArray = this.dataType.toLowerCase() === 'array';
-      this.descr = obj.description;
-      if (obj.items != null) {
-        if (obj.items.type != null) {
-          this.refDataType = obj.items.type;
-        }
-        if (obj.items.$ref != null) {
-          this.refDataType = obj.items.$ref;
-        }
-      }
-      this.dataTypeWithRef = this.refDataType != null ? this.dataType + '[' + this.refDataType + ']' : this.dataType;
-      if (obj.allowableValues != null) {
-        this.valueType = obj.allowableValues.valueType;
-        this.values = obj.allowableValues.values;
-        if (this.values != null) {
-          this.valuesString = "'" + this.values.join("' or '") + "'";
-        }
-      }
-    }
-
-    SwaggerModelProperty.prototype.toString = function() {
-      var str;
-      str = this.name + ': ' + this.dataTypeWithRef;
-      if (this.values != null) {
-        str += " = ['" + this.values.join("' or '") + "']";
-      }
-      if (this.descr != null) {
-        str += ' {' + this.descr + '}';
-      }
-      return str;
-    };
-
-    return SwaggerModelProperty;
-
-  })();
-
-  SwaggerOperation = (function() {
-
-    function SwaggerOperation(nickname, path, httpMethod, parameters, summary, notes, responseClass, resource) {
-      var parameter, v, _i, _j, _len, _len1, _ref, _ref1,
-        _this = this;
-      this.nickname = nickname;
-      this.path = path;
-      this.httpMethod = httpMethod;
-      this.parameters = parameters != null ? parameters : [];
-      this.summary = summary;
-      this.notes = notes;
-      this.responseClass = responseClass;
-      this.resource = resource;
-      this["do"] = __bind(this["do"], this);
-
-      if (this.nickname == null) {
-        this.resource.api.fail("SwaggerOperations must have a nickname.");
-      }
-      if (this.path == null) {
-        this.resource.api.fail("SwaggerOperation " + nickname + " is missing path.");
-      }
-      if (this.httpMethod == null) {
-        this.resource.api.fail("SwaggerOperation " + nickname + " is missing httpMethod.");
-      }
-      this.path = this.path.replace('{format}', 'json');
-      this.httpMethod = this.httpMethod.toLowerCase();
-      this.isGetMethod = this.httpMethod === "get";
-      this.resourceName = this.resource.name;
-      if (this.responseClass.toLowerCase() === 'void') {
-        this.responseClass = void 0;
-      }
-      if (this.responseClass != null) {
-        this.responseClassSignature = this.getSignature(this.responseClass, this.resource.models);
-      }
-      _ref = this.parameters;
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        parameter = _ref[_i];
-        parameter.name = parameter.name || parameter.dataType;
-        if (parameter.dataType.toLowerCase() === 'boolean') {
-          parameter.allowableValues = {};
-          parameter.allowableValues.values = this.resource.api.booleanValues;
-        }
-        parameter.signature = this.getSignature(parameter.dataType, this.resource.models);
-        if (parameter.allowableValues != null) {
-          if (parameter.allowableValues.valueType === "RANGE") {
-            parameter.isRange = true;
-          } else {
-            parameter.isList = true;
-          }
-          if (parameter.allowableValues.values != null) {
-            parameter.allowableValues.descriptiveValues = [];
-            _ref1 = parameter.allowableValues.values;
-            for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
-              v = _ref1[_j];
-              if ((parameter.defaultValue != null) && parameter.defaultValue === v) {
-                parameter.allowableValues.descriptiveValues.push({
-                  value: v,
-                  isDefault: true
-                });
-              } else {
-                parameter.allowableValues.descriptiveValues.push({
-                  value: v,
-                  isDefault: false
-                });
-              }
-            }
-          }
-        }
-      }
-      this.resource[this.nickname] = function(args, callback, error) {
-        return _this["do"](args, callback, error);
-      };
-    }
-
-    SwaggerOperation.prototype.isListType = function(dataType) {
-      if (dataType.indexOf('[') >= 0) {
-        return dataType.substring(dataType.indexOf('[') + 1, dataType.indexOf(']'));
-      } else {
-        return void 0;
-      }
-    };
-
-    SwaggerOperation.prototype.getSignature = function(dataType, models) {
-      var isPrimitive, listType;
-      listType = this.isListType(dataType);
-      isPrimitive = ((listType != null) && models[listType]) || (models[dataType] != null) ? false : true;
-      if (isPrimitive) {
-        return dataType;
-      } else {
-        if (listType != null) {
-          return models[listType].getMockSignature(dataType);
-        } else {
-          return models[dataType].getMockSignature(dataType);
-        }
-      }
-    };
-
-    SwaggerOperation.prototype["do"] = function(args, callback, error) {
-      var body, headers;
-      if (args == null) {
-        args = {};
-      }
-      if ((typeof args) === "function") {
-        error = callback;
-        callback = args;
-        args = {};
-      }
-      if (error == null) {
-        error = function(xhr, textStatus, error) {
-          return console.log(xhr, textStatus, error);
-        };
-      }
-      if (callback == null) {
-        callback = function(data) {
-          return console.log(data);
-        };
-      }
-      if (args.headers != null) {
-        headers = args.headers;
-        delete args.headers;
-      }
-      if (args.body != null) {
-        body = args.body;
-        delete args.body;
-      }
-      return new SwaggerRequest(this.httpMethod, this.urlify(args), headers, body, callback, error, this);
-    };
-
-    SwaggerOperation.prototype.pathJson = function() {
-      return this.path.replace("{format}", "json");
-    };
-
-    SwaggerOperation.prototype.pathXml = function() {
-      return this.path.replace("{format}", "xml");
-    };
-
-    SwaggerOperation.prototype.urlify = function(args, includeApiKey) {
-      var param, queryParams, url, _i, _len, _ref;
-      if (includeApiKey == null) {
-        includeApiKey = true;
-      }
-      url = this.resource.basePath + this.pathJson();
-      _ref = this.parameters;
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        param = _ref[_i];
-        if (param.paramType === 'path') {
-          if (args[param.name]) {
-            url = url.replace("{" + param.name + "}", encodeURIComponent(args[param.name]));
-            delete args[param.name];
-          } else {
-            throw "" + param.name + " is a required path param.";
-          }
-        }
-      }
-      if (includeApiKey && (this.resource.api.api_key != null) && this.resource.api.api_key.length > 0) {
-        args[this.apiKeyName] = this.resource.api.api_key;
-      }
-      if (this.supportHeaderParams()) {
-        queryParams = jQuery.param(this.getQueryParams(args, includeApiKey));
-      } else {
-        queryParams = jQuery.param(this.getQueryAndHeaderParams(args, includeApiKey));
-      }
-      if ((queryParams != null) && queryParams.length > 0) {
-        url += "?" + queryParams;
-      }
-      return url;
-    };
-
-    SwaggerOperation.prototype.supportHeaderParams = function() {
-      return this.resource.api.supportHeaderParams;
-    };
-
-    SwaggerOperation.prototype.supportedSubmitMethods = function() {
-      return this.resource.api.supportedSubmitMethods;
-    };
-
-    SwaggerOperation.prototype.getQueryAndHeaderParams = function(args, includeApiKey) {
-      if (includeApiKey == null) {
-        includeApiKey = true;
-      }
-      return this.getMatchingParams(['query', 'header'], args, includeApiKey);
-    };
-
-    SwaggerOperation.prototype.getQueryParams = function(args, includeApiKey) {
-      if (includeApiKey == null) {
-        includeApiKey = true;
-      }
-      return this.getMatchingParams(['query'], args, includeApiKey);
-    };
-
-    SwaggerOperation.prototype.getHeaderParams = function(args, includeApiKey) {
-      if (includeApiKey == null) {
-        includeApiKey = true;
-      }
-      return this.getMatchingParams(['header'], args, includeApiKey);
-    };
-
-    SwaggerOperation.prototype.getMatchingParams = function(paramTypes, args, includeApiKey) {
-      var matchingParams, name, param, value, _i, _len, _ref, _ref1;
-      matchingParams = {};
-      _ref = this.parameters;
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        param = _ref[_i];
-        if ((jQuery.inArray(param.paramType, paramTypes) >= 0) && args[param.name]) {
-          matchingParams[param.name] = args[param.name];
-        }
-      }
-      if (includeApiKey && (this.resource.api.api_key != null) && this.resource.api.api_key.length > 0) {
-        matchingParams[this.resource.api.apiKeyName] = this.resource.api.api_key;
-      }
-      if (jQuery.inArray('header', paramTypes) >= 0) {
-        _ref1 = this.resource.api.headers;
-        for (name in _ref1) {
-          value = _ref1[name];
-          matchingParams[name] = value;
-        }
-      }
-      return matchingParams;
-    };
-
-    SwaggerOperation.prototype.help = function() {
-      var parameter, _i, _len, _ref;
-      _ref = this.parameters;
-      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
-        parameter = _ref[_i];
-        console.log("    " + parameter.name + (parameter.required ? ' (required)' : '') + " - " + parameter.description);
-      }
-      return this;
-    };
-
-    return SwaggerOperation;
-
-  })();
-
-  SwaggerRequest = (function() {
-
-    function SwaggerRequest(type, url, headers, body, successCallback, errorCallback, operation) {
-      var obj,
-        _this = this;
-      this.type = type;
-      this.url = url;
-      this.headers = headers;
-      this.body = body;
-      this.successCallback = successCallback;
-      this.errorCallback = errorCallback;
-      this.operation = operation;
-      if (this.type == null) {
-        throw "SwaggerRequest type is required (get/post/put/delete).";
-      }
-      if (this.url == null) {
-        throw "SwaggerRequest url is required.";
-      }
-      if (this.successCallback == null) {
-        throw "SwaggerRequest successCallback is required.";
-      }
-      if (this.errorCallback == null) {
-        throw "SwaggerRequest error callback is required.";
-      }
-      if (this.operation == null) {
-        throw "SwaggerRequest operation is required.";
-      }
-      if (this.operation.resource.api.verbose) {
-        console.log(this.asCurl());
-      }
-      this.headers || (this.headers = {});
-      if (this.operation.resource.api.api_key != null) {
-        this.headers[this.apiKeyName] = this.operation.resource.api.api_key;
-      }
-      if (this.headers.mock == null) {
-        obj = {
-          type: this.type,
-          url: this.url,
-          data: JSON.stringify(this.body),
-          dataType: 'json',
-          error: function(xhr, textStatus, error) {
-            return _this.errorCallback(xhr, textStatus, error);
-          },
-          success: function(data) {
-            return _this.successCallback(data);
-          }
-        };
-        if (obj.type.toLowerCase() === "post" || obj.type.toLowerCase() === "put") {
-          obj.contentType = "application/json";
-        }
-        jQuery.ajax(obj);
-      }
-    }
-
-    SwaggerRequest.prototype.asCurl = function() {
-      var header_args, k, v;
-      header_args = (function() {
-        var _ref, _results;
-        _ref = this.headers;
-        _results = [];
-        for (k in _ref) {
-          v = _ref[k];
-          _results.push("--header \"" + k + ": " + v + "\"");
-        }
-        return _results;
-      }).call(this);
-      return "curl " + (header_args.join(" ")) + " " + this.url;
-    };
-
-    return SwaggerRequest;
-
-  })();
-
-  window.SwaggerApi = SwaggerApi;
-
-  window.SwaggerResource = SwaggerResource;
-
-  window.SwaggerOperation = SwaggerOperation;
-
-  window.SwaggerRequest = SwaggerRequest;
-
-}).call(this);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/63c575d1/usage/jsgui/src/main/webapp/assets/js/router.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/router.js b/usage/jsgui/src/main/webapp/assets/js/router.js
index 8eb9c34..d80d35c 100644
--- a/usage/jsgui/src/main/webapp/assets/js/router.js
+++ b/usage/jsgui/src/main/webapp/assets/js/router.js
@@ -7,7 +7,7 @@
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
- *  http://www.apache.org/licenses/LICENSE-2.0
+ *   http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
@@ -15,17 +15,17 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
-*/
+ */
 define([
     "brooklyn", "underscore", "jquery", "backbone",
     "model/application", "model/app-tree", "model/location", 
     "model/server-extended-status",
-    "view/home", "view/application-explorer", "view/catalog", "view/apidoc", "view/script-groovy",
+    "view/home", "view/application-explorer", "view/catalog", "view/script-groovy",
     "text!tpl/help/page.html","text!tpl/labs/page.html", "text!tpl/home/server-caution.html"
 ], function (Brooklyn, _, $, Backbone,
         Application, AppTree, Location, 
         serverStatus,
-        HomeView, ExplorerView, CatalogView, ApidocView, ScriptGroovyView, 
+        HomeView, ExplorerView, CatalogView, ScriptGroovyView,
         HelpHtml, LabsHtml, ServerCautionHtml) {
 
     var ServerCautionOverlay = Backbone.View.extend({
@@ -128,7 +128,6 @@ define([
             'v1/locations':'catalogPage',
             'v1/catalog/:kind(/:id)':'catalogPage',
             'v1/catalog':'catalogPage',
-            'v1/apidoc':'apidocPage',
             'v1/script/groovy':'scriptGroovyPage',
             'v1/help':'helpPage',
             'labs':'labsPage',
@@ -199,13 +198,6 @@ define([
             });
             this.showView("#application-content", catalogResource);
         },
-        apidocPage:function () {
-            var apidocResource = new ApidocView({})
-            this.showView("#application-content", apidocResource)
-            $(".nav1").removeClass("active")
-            $(".nav1_script").addClass("active")
-            $(".nav1_apidoc").addClass("active")
-        },
         scriptGroovyPage:function () {
             if (this.scriptGroovyResource === undefined)
                 this.scriptGroovyResource = new ScriptGroovyView({})

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/63c575d1/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js b/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js
deleted file mode 100644
index e055ba5..0000000
--- a/usage/jsgui/src/main/webapp/assets/js/view/apidoc.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
-*/
-define([
-    "underscore", "jquery", "backbone",
-    "text!tpl/script/swagger.html",
-    
-    "jquery-slideto",
-    "jquery-wiggle",
-    "jquery-ba-bbq",
-    "handlebars",
-    "bootstrap"
-], function (_, $, Backbone, SwaggerHtml) {
-
-    var ApidocView = Backbone.View.extend({
-        tagName:"div",
-        className:"container container-fluid",
-        swaggerTemplate:_.template(SwaggerHtml),
-
-        initialize:function () {
-        },
-        render:function (eventName) {
-            this.$el.html(_.template(SwaggerHtml, {}))
-            this.loadSwagger()
-            return this
-        },
-        
-        loadSwagger: function() {
-            var that = this;
-            
-            require([
-               "/assets/js/libs/swagger.js",
-                "/assets/js/libs/swagger-ui.js"
-            ], function() {
-                $('.throbber', that.$el).hide().delay(100).fadeTo(250, 0.9);
-                $('div#message-bar.swagger-ui-wrap', that.$el).hide().delay(100).fadeTo(250, 1);
-                var swaggerUi = new SwaggerUi({
-                    basePath:"",
-                    discoveryUrl:"/v1/apidoc",
-                    dom_id:"swagger-ui-container",
-                    supportHeaderParams: false,
-                    supportedSubmitMethods: ['get', 'post', 'put', 'delete'],
-                    onComplete: function(swaggerApi, swaggerUi){
-                        that.$el.fadeTo(200, 1);
-                        $('.throbber', that.$el).hide();
-                        $('div#message-bar.swagger-ui-wrap', that.$el).hide();
-                        console.info("Loaded SwaggerUI");
-                    },
-                    onFailure: function(data) {
-                        that.$el.fadeTo(200, 0.2);
-                        $('.throbber', that.$el).hide();
-                        $('div#message-bar.swagger-ui-wrap', that.$el).hide();
-                        console.error("Unable to Load SwaggerUI");
-                        console.debug(data);
-                    },
-                    docExpansion: "none"
-                });
-
-                swaggerUi.load();
-            })
-            
-        }
-
-    })
-    
-    return ApidocView
-})

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/63c575d1/usage/jsgui/src/main/webapp/assets/swagger-ui/css/print.css
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/swagger-ui/css/print.css b/usage/jsgui/src/main/webapp/assets/swagger-ui/css/print.css
new file mode 100644
index 0000000..7e22c7e
--- /dev/null
+++ b/usage/jsgui/src/main/webapp/assets/swagger-ui/css/print.css
@@ -0,0 +1,1195 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+/* Original style from softwaremaniacs.org (c) Ivan Sagalaev <Ma...@SoftwareManiacs.Org> */
+.swagger-section pre code {
+  display: block;
+  padding: 0.5em;
+  background: #F0F0F0;
+}
+.swagger-section pre code,
+.swagger-section pre .subst,
+.swagger-section pre .tag .title,
+.swagger-section pre .lisp .title,
+.swagger-section pre .clojure .built_in,
+.swagger-section pre .nginx .title {
+  color: black;
+}
+.swagger-section pre .string,
+.swagger-section pre .title,
+.swagger-section pre .constant,
+.swagger-section pre .parent,
+.swagger-section pre .tag .value,
+.swagger-section pre .rules .value,
+.swagger-section pre .rules .value .number,
+.swagger-section pre .preprocessor,
+.swagger-section pre .ruby .symbol,
+.swagger-section pre .ruby .symbol .string,
+.swagger-section pre .aggregate,
+.swagger-section pre .template_tag,
+.swagger-section pre .django .variable,
+.swagger-section pre .smalltalk .class,
+.swagger-section pre .addition,
+.swagger-section pre .flow,
+.swagger-section pre .stream,
+.swagger-section pre .bash .variable,
+.swagger-section pre .apache .tag,
+.swagger-section pre .apache .cbracket,
+.swagger-section pre .tex .command,
+.swagger-section pre .tex .special,
+.swagger-section pre .erlang_repl .function_or_atom,
+.swagger-section pre .markdown .header {
+  color: #800;
+}
+.swagger-section pre .comment,
+.swagger-section pre .annotation,
+.swagger-section pre .template_comment,
+.swagger-section pre .diff .header,
+.swagger-section pre .chunk,
+.swagger-section pre .markdown .blockquote {
+  color: #888;
+}
+.swagger-section pre .number,
+.swagger-section pre .date,
+.swagger-section pre .regexp,
+.swagger-section pre .literal,
+.swagger-section pre .smalltalk .symbol,
+.swagger-section pre .smalltalk .char,
+.swagger-section pre .go .constant,
+.swagger-section pre .change,
+.swagger-section pre .markdown .bullet,
+.swagger-section pre .markdown .link_url {
+  color: #080;
+}
+.swagger-section pre .label,
+.swagger-section pre .javadoc,
+.swagger-section pre .ruby .string,
+.swagger-section pre .decorator,
+.swagger-section pre .filter .argument,
+.swagger-section pre .localvars,
+.swagger-section pre .array,
+.swagger-section pre .attr_selector,
+.swagger-section pre .important,
+.swagger-section pre .pseudo,
+.swagger-section pre .pi,
+.swagger-section pre .doctype,
+.swagger-section pre .deletion,
+.swagger-section pre .envvar,
+.swagger-section pre .shebang,
+.swagger-section pre .apache .sqbracket,
+.swagger-section pre .nginx .built_in,
+.swagger-section pre .tex .formula,
+.swagger-section pre .erlang_repl .reserved,
+.swagger-section pre .prompt,
+.swagger-section pre .markdown .link_label,
+.swagger-section pre .vhdl .attribute,
+.swagger-section pre .clojure .attribute,
+.swagger-section pre .coffeescript .property {
+  color: #88F;
+}
+.swagger-section pre .keyword,
+.swagger-section pre .id,
+.swagger-section pre .phpdoc,
+.swagger-section pre .title,
+.swagger-section pre .built_in,
+.swagger-section pre .aggregate,
+.swagger-section pre .css .tag,
+.swagger-section pre .javadoctag,
+.swagger-section pre .phpdoc,
+.swagger-section pre .yardoctag,
+.swagger-section pre .smalltalk .class,
+.swagger-section pre .winutils,
+.swagger-section pre .bash .variable,
+.swagger-section pre .apache .tag,
+.swagger-section pre .go .typename,
+.swagger-section pre .tex .command,
+.swagger-section pre .markdown .strong,
+.swagger-section pre .request,
+.swagger-section pre .status {
+  font-weight: bold;
+}
+.swagger-section pre .markdown .emphasis {
+  font-style: italic;
+}
+.swagger-section pre .nginx .built_in {
+  font-weight: normal;
+}
+.swagger-section pre .coffeescript .javascript,
+.swagger-section pre .javascript .xml,
+.swagger-section pre .tex .formula,
+.swagger-section pre .xml .javascript,
+.swagger-section pre .xml .vbscript,
+.swagger-section pre .xml .css,
+.swagger-section pre .xml .cdata {
+  opacity: 0.5;
+}
+.swagger-section .swagger-ui-wrap {
+  line-height: 1;
+  font-family: "Droid Sans", sans-serif;
+  max-width: 960px;
+  margin-left: auto;
+  margin-right: auto;
+}
+.swagger-section .swagger-ui-wrap b,
+.swagger-section .swagger-ui-wrap strong {
+  font-family: "Droid Sans", sans-serif;
+  font-weight: bold;
+}
+.swagger-section .swagger-ui-wrap q,
+.swagger-section .swagger-ui-wrap blockquote {
+  quotes: none;
+}
+.swagger-section .swagger-ui-wrap p {
+  line-height: 1.4em;
+  padding: 0 0 10px;
+  color: #333333;
+}
+.swagger-section .swagger-ui-wrap q:before,
+.swagger-section .swagger-ui-wrap q:after,
+.swagger-section .swagger-ui-wrap blockquote:before,
+.swagger-section .swagger-ui-wrap blockquote:after {
+  content: none;
+}
+.swagger-section .swagger-ui-wrap .heading_with_menu h1,
+.swagger-section .swagger-ui-wrap .heading_with_menu h2,
+.swagger-section .swagger-ui-wrap .heading_with_menu h3,
+.swagger-section .swagger-ui-wrap .heading_with_menu h4,
+.swagger-section .swagger-ui-wrap .heading_with_menu h5,
+.swagger-section .swagger-ui-wrap .heading_with_menu h6 {
+  display: block;
+  clear: none;
+  float: left;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 60%;
+}
+.swagger-section .swagger-ui-wrap table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+.swagger-section .swagger-ui-wrap table thead tr th {
+  padding: 5px;
+  font-size: 0.9em;
+  color: #666666;
+  border-bottom: 1px solid #999999;
+}
+.swagger-section .swagger-ui-wrap table tbody tr:last-child td {
+  border-bottom: none;
+}
+.swagger-section .swagger-ui-wrap table tbody tr.offset {
+  background-color: #f0f0f0;
+}
+.swagger-section .swagger-ui-wrap table tbody tr td {
+  padding: 6px;
+  font-size: 0.9em;
+  border-bottom: 1px solid #cccccc;
+  vertical-align: top;
+  line-height: 1.3em;
+}
+.swagger-section .swagger-ui-wrap ol {
+  margin: 0px 0 10px;
+  padding: 0 0 0 18px;
+  list-style-type: decimal;
+}
+.swagger-section .swagger-ui-wrap ol li {
+  padding: 5px 0px;
+  font-size: 0.9em;
+  color: #333333;
+}
+.swagger-section .swagger-ui-wrap ol,
+.swagger-section .swagger-ui-wrap ul {
+  list-style: none;
+}
+.swagger-section .swagger-ui-wrap h1 a,
+.swagger-section .swagger-ui-wrap h2 a,
+.swagger-section .swagger-ui-wrap h3 a,
+.swagger-section .swagger-ui-wrap h4 a,
+.swagger-section .swagger-ui-wrap h5 a,
+.swagger-section .swagger-ui-wrap h6 a {
+  text-decoration: none;
+}
+.swagger-section .swagger-ui-wrap h1 a:hover,
+.swagger-section .swagger-ui-wrap h2 a:hover,
+.swagger-section .swagger-ui-wrap h3 a:hover,
+.swagger-section .swagger-ui-wrap h4 a:hover,
+.swagger-section .swagger-ui-wrap h5 a:hover,
+.swagger-section .swagger-ui-wrap h6 a:hover {
+  text-decoration: underline;
+}
+.swagger-section .swagger-ui-wrap h1 span.divider,
+.swagger-section .swagger-ui-wrap h2 span.divider,
+.swagger-section .swagger-ui-wrap h3 span.divider,
+.swagger-section .swagger-ui-wrap h4 span.divider,
+.swagger-section .swagger-ui-wrap h5 span.divider,
+.swagger-section .swagger-ui-wrap h6 span.divider {
+  color: #aaaaaa;
+}
+.swagger-section .swagger-ui-wrap a {
+  color: #547f00;
+}
+.swagger-section .swagger-ui-wrap a img {
+  border: none;
+}
+.swagger-section .swagger-ui-wrap article,
+.swagger-section .swagger-ui-wrap aside,
+.swagger-section .swagger-ui-wrap details,
+.swagger-section .swagger-ui-wrap figcaption,
+.swagger-section .swagger-ui-wrap figure,
+.swagger-section .swagger-ui-wrap footer,
+.swagger-section .swagger-ui-wrap header,
+.swagger-section .swagger-ui-wrap hgroup,
+.swagger-section .swagger-ui-wrap menu,
+.swagger-section .swagger-ui-wrap nav,
+.swagger-section .swagger-ui-wrap section,
+.swagger-section .swagger-ui-wrap summary {
+  display: block;
+}
+.swagger-section .swagger-ui-wrap pre {
+  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
+  background-color: #fcf6db;
+  border: 1px solid #e5e0c6;
+  padding: 10px;
+}
+.swagger-section .swagger-ui-wrap pre code {
+  line-height: 1.6em;
+  background: none;
+}
+.swagger-section .swagger-ui-wrap .content > .content-type > div > label {
+  clear: both;
+  display: block;
+  color: #0F6AB4;
+  font-size: 1.1em;
+  margin: 0;
+  padding: 15px 0 5px;
+}
+.swagger-section .swagger-ui-wrap .content pre {
+  font-size: 12px;
+  margin-top: 5px;
+  padding: 5px;
+}
+.swagger-section .swagger-ui-wrap .icon-btn {
+  cursor: pointer;
+}
+.swagger-section .swagger-ui-wrap .info_title {
+  padding-bottom: 10px;
+  font-weight: bold;
+  font-size: 25px;
+}
+.swagger-section .swagger-ui-wrap .footer {
+  margin-top: 20px;
+}
+.swagger-section .swagger-ui-wrap p.big,
+.swagger-section .swagger-ui-wrap div.big p {
+  font-size: 1em;
+  margin-bottom: 10px;
+}
+.swagger-section .swagger-ui-wrap form.fullwidth ol li.string input,
+.swagger-section .swagger-ui-wrap form.fullwidth ol li.url input,
+.swagger-section .swagger-ui-wrap form.fullwidth ol li.text textarea,
+.swagger-section .swagger-ui-wrap form.fullwidth ol li.numeric input {
+  width: 500px !important;
+}
+.swagger-section .swagger-ui-wrap .info_license {
+  padding-bottom: 5px;
+}
+.swagger-section .swagger-ui-wrap .info_tos {
+  padding-bottom: 5px;
+}
+.swagger-section .swagger-ui-wrap .message-fail {
+  color: #cc0000;
+}
+.swagger-section .swagger-ui-wrap .info_url {
+  padding-bottom: 5px;
+}
+.swagger-section .swagger-ui-wrap .info_email {
+  padding-bottom: 5px;
+}
+.swagger-section .swagger-ui-wrap .info_name {
+  padding-bottom: 5px;
+}
+.swagger-section .swagger-ui-wrap .info_description {
+  padding-bottom: 10px;
+  font-size: 15px;
+}
+.swagger-section .swagger-ui-wrap .markdown ol li,
+.swagger-section .swagger-ui-wrap .markdown ul li {
+  padding: 3px 0px;
+  line-height: 1.4em;
+  color: #333333;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input,
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input,
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input {
+  display: block;
+  padding: 4px;
+  width: auto;
+  clear: both;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.string input.title,
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.url input.title,
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.numeric input.title {
+  font-size: 1.3em;
+}
+.swagger-section .swagger-ui-wrap table.fullwidth {
+  width: 100%;
+}
+.swagger-section .swagger-ui-wrap .model-signature {
+  font-family: "Droid Sans", sans-serif;
+  font-size: 1em;
+  line-height: 1.5em;
+}
+.swagger-section .swagger-ui-wrap .model-signature .signature-nav a {
+  text-decoration: none;
+  color: #AAA;
+}
+.swagger-section .swagger-ui-wrap .model-signature .signature-nav a:hover {
+  text-decoration: underline;
+  color: black;
+}
+.swagger-section .swagger-ui-wrap .model-signature .signature-nav .selected {
+  color: black;
+  text-decoration: none;
+}
+.swagger-section .swagger-ui-wrap .model-signature .propType {
+  color: #5555aa;
+}
+.swagger-section .swagger-ui-wrap .model-signature pre:hover {
+  background-color: #ffffdd;
+}
+.swagger-section .swagger-ui-wrap .model-signature pre {
+  font-size: .85em;
+  line-height: 1.2em;
+  overflow: auto;
+  max-height: 200px;
+  cursor: pointer;
+}
+.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav {
+  display: block;
+  margin: 0;
+  padding: 0;
+}
+.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li:last-child {
+  padding-right: 0;
+  border-right: none;
+}
+.swagger-section .swagger-ui-wrap .model-signature ul.signature-nav li {
+  float: left;
+  margin: 0 5px 5px 0;
+  padding: 2px 5px 2px 0;
+  border-right: 1px solid #ddd;
+}
+.swagger-section .swagger-ui-wrap .model-signature .propOpt {
+  color: #555;
+}
+.swagger-section .swagger-ui-wrap .model-signature .snippet small {
+  font-size: 0.75em;
+}
+.swagger-section .swagger-ui-wrap .model-signature .propOptKey {
+  font-style: italic;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .strong {
+  font-weight: bold;
+  color: #000;
+  font-size: .9em;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description div {
+  font-size: 0.9em;
+  line-height: 1.5em;
+  margin-left: 1em;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .stronger {
+  font-weight: bold;
+  color: #000;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper {
+  border-spacing: 0;
+  position: absolute;
+  background-color: #ffffff;
+  border: 1px solid #bbbbbb;
+  display: none;
+  font-size: 11px;
+  max-width: 400px;
+  line-height: 30px;
+  color: black;
+  padding: 5px;
+  margin-left: 10px;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper th {
+  text-align: center;
+  background-color: #eeeeee;
+  border: 1px solid #bbbbbb;
+  font-size: 11px;
+  color: #666666;
+  font-weight: bold;
+  padding: 5px;
+  line-height: 15px;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .propWrap .optionsWrapper .optionName {
+  font-weight: bold;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:first-child,
+.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:last-child {
+  display: inline;
+}
+.swagger-section .swagger-ui-wrap .model-signature .description .propDesc.markdown > p:not(:first-child):before {
+  display: block;
+  content: '';
+}
+.swagger-section .swagger-ui-wrap .model-signature .description span:last-of-type.propDesc.markdown > p:only-child {
+  margin-right: -3px;
+}
+.swagger-section .swagger-ui-wrap .model-signature .propName {
+  font-weight: bold;
+}
+.swagger-section .swagger-ui-wrap .model-signature .signature-container {
+  clear: both;
+}
+.swagger-section .swagger-ui-wrap .body-textarea {
+  width: 300px;
+  height: 100px;
+  border: 1px solid #aaa;
+}
+.swagger-section .swagger-ui-wrap .markdown p code,
+.swagger-section .swagger-ui-wrap .markdown li code {
+  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
+  background-color: #f0f0f0;
+  color: black;
+  padding: 1px 3px;
+}
+.swagger-section .swagger-ui-wrap .required {
+  font-weight: bold;
+}
+.swagger-section .swagger-ui-wrap input.parameter {
+  width: 300px;
+  border: 1px solid #aaa;
+}
+.swagger-section .swagger-ui-wrap h1 {
+  color: black;
+  font-size: 1.5em;
+  line-height: 1.3em;
+  padding: 10px 0 10px 0;
+  font-family: "Droid Sans", sans-serif;
+  font-weight: bold;
+}
+.swagger-section .swagger-ui-wrap .heading_with_menu {
+  float: none;
+  clear: both;
+  overflow: hidden;
+  display: block;
+}
+.swagger-section .swagger-ui-wrap .heading_with_menu ul {
+  display: block;
+  clear: none;
+  float: right;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-top: 10px;
+}
+.swagger-section .swagger-ui-wrap h2 {
+  color: black;
+  font-size: 1.3em;
+  padding: 10px 0 10px 0;
+}
+.swagger-section .swagger-ui-wrap h2 a {
+  color: black;
+}
+.swagger-section .swagger-ui-wrap h2 span.sub {
+  font-size: 0.7em;
+  color: #999999;
+  font-style: italic;
+}
+.swagger-section .swagger-ui-wrap h2 span.sub a {
+  color: #777777;
+}
+.swagger-section .swagger-ui-wrap span.weak {
+  color: #666666;
+}
+.swagger-section .swagger-ui-wrap .message-success {
+  color: #89BF04;
+}
+.swagger-section .swagger-ui-wrap caption,
+.swagger-section .swagger-ui-wrap th,
+.swagger-section .swagger-ui-wrap td {
+  text-align: left;
+  font-weight: normal;
+  vertical-align: middle;
+}
+.swagger-section .swagger-ui-wrap .code {
+  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.text textarea {
+  font-family: "Droid Sans", sans-serif;
+  height: 250px;
+  padding: 4px;
+  display: block;
+  clear: both;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.select select {
+  display: block;
+  clear: both;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean {
+  float: none;
+  clear: both;
+  overflow: hidden;
+  display: block;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean label {
+  display: block;
+  float: left;
+  clear: none;
+  margin: 0;
+  padding: 0;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.boolean input {
+  display: block;
+  float: left;
+  clear: none;
+  margin: 0 5px 0 0;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li.required label {
+  color: black;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label {
+  display: block;
+  clear: both;
+  width: auto;
+  padding: 0 0 3px;
+  color: #666666;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li label abbr {
+  padding-left: 3px;
+  color: #888888;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.inputs ol li p.inline-hints {
+  margin-left: 0;
+  font-style: italic;
+  font-size: 0.9em;
+  margin: 0;
+}
+.swagger-section .swagger-ui-wrap form.formtastic fieldset.buttons {
+  margin: 0;
+  padding: 0;
+}
+.swagger-section .swagger-ui-wrap span.blank,
+.swagger-section .swagger-ui-wrap span.empty {
+  color: #888888;
+  font-style: italic;
+}
+.swagger-section .swagger-ui-wrap .markdown h3 {
+  color: #547f00;
+}
+.swagger-section .swagger-ui-wrap .markdown h4 {
+  color: #666666;
+}
+.swagger-section .swagger-ui-wrap .markdown pre {
+  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
+  background-color: #fcf6db;
+  border: 1px solid #e5e0c6;
+  padding: 10px;
+  margin: 0 0 10px 0;
+}
+.swagger-section .swagger-ui-wrap .markdown pre code {
+  line-height: 1.6em;
+}
+.swagger-section .swagger-ui-wrap div.gist {
+  margin: 20px 0 25px 0 !important;
+}
+.swagger-section .swagger-ui-wrap ul#resources {
+  font-family: "Droid Sans", sans-serif;
+  font-size: 0.9em;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource {
+  border-bottom: 1px solid #dddddd;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading h2 a,
+.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading h2 a {
+  color: black;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource:hover div.heading ul.options li a,
+.swagger-section .swagger-ui-wrap ul#resources li.resource.active div.heading ul.options li a {
+  color: #555555;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource:last-child {
+  border-bottom: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading {
+  border: 1px solid transparent;
+  float: none;
+  clear: both;
+  overflow: hidden;
+  display: block;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options {
+  overflow: hidden;
+  padding: 0;
+  display: block;
+  clear: none;
+  float: right;
+  margin: 14px 10px 0 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li {
+  float: left;
+  clear: none;
+  margin: 0;
+  padding: 2px 10px;
+  border-right: 1px solid #dddddd;
+  color: #666666;
+  font-size: 0.9em;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a {
+  color: #aaaaaa;
+  text-decoration: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover {
+  text-decoration: underline;
+  color: black;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:hover,
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a:active,
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li a.active {
+  text-decoration: underline;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:first-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.first {
+  padding-left: 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options li.last {
+  padding-right: 0;
+  border-right: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options:first-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options.first {
+  padding-left: 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 {
+  color: #999999;
+  padding-left: 0;
+  display: block;
+  clear: none;
+  float: left;
+  font-family: "Droid Sans", sans-serif;
+  font-weight: bold;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a {
+  color: #999999;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading h2 a:hover {
+  color: black;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation {
+  float: none;
+  clear: both;
+  overflow: hidden;
+  display: block;
+  margin: 0 0 10px;
+  padding: 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading {
+  float: none;
+  clear: both;
+  overflow: hidden;
+  display: block;
+  margin: 0;
+  padding: 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 {
+  display: block;
+  clear: none;
+  float: left;
+  width: auto;
+  margin: 0;
+  padding: 0;
+  line-height: 1.1em;
+  color: black;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path {
+  padding-left: 10px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a {
+  color: black;
+  text-decoration: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.path a:hover {
+  text-decoration: underline;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span.http_method a {
+  text-transform: uppercase;
+  text-decoration: none;
+  color: white;
+  display: inline-block;
+  width: 50px;
+  font-size: 0.7em;
+  text-align: center;
+  padding: 7px 0 4px;
+  -moz-border-radius: 2px;
+  -webkit-border-radius: 2px;
+  -o-border-radius: 2px;
+  -ms-border-radius: 2px;
+  -khtml-border-radius: 2px;
+  border-radius: 2px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading h3 span {
+  margin: 0;
+  padding: 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options {
+  overflow: hidden;
+  padding: 0;
+  display: block;
+  clear: none;
+  float: right;
+  margin: 6px 10px 0 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li {
+  float: left;
+  clear: none;
+  margin: 0;
+  padding: 2px 10px;
+  font-size: 0.9em;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li a {
+  text-decoration: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.heading ul.options li.access {
+  color: black;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content {
+  border-top: none;
+  padding: 10px;
+  -moz-border-radius-bottomleft: 6px;
+  -webkit-border-bottom-left-radius: 6px;
+  -o-border-bottom-left-radius: 6px;
+  -ms-border-bottom-left-radius: 6px;
+  -khtml-border-bottom-left-radius: 6px;
+  border-bottom-left-radius: 6px;
+  -moz-border-radius-bottomright: 6px;
+  -webkit-border-bottom-right-radius: 6px;
+  -o-border-bottom-right-radius: 6px;
+  -ms-border-bottom-right-radius: 6px;
+  -khtml-border-bottom-right-radius: 6px;
+  border-bottom-right-radius: 6px;
+  margin: 0 0 20px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content h4 {
+  font-size: 1.1em;
+  margin: 0;
+  padding: 15px 0 5px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header {
+  float: none;
+  clear: both;
+  overflow: hidden;
+  display: block;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header a {
+  padding: 4px 0 0 10px;
+  display: inline-block;
+  font-size: 0.9em;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header input.submit {
+  display: block;
+  clear: none;
+  float: left;
+  padding: 6px 8px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.sandbox_header span.response_throbber {
+  background-image: url('../images/throbber.gif');
+  width: 128px;
+  height: 16px;
+  display: block;
+  clear: none;
+  float: right;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form input[type='text'].error {
+  outline: 2px solid black;
+  outline-color: #cc0000;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content form select[name='parameterContentType'] {
+  max-width: 300px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content div.response div.block pre {
+  font-family: "Anonymous Pro", "Menlo", "Consolas", "Bitstream Vera Sans Mono", "Courier New", monospace;
+  padding: 10px;
+  font-size: 0.9em;
+  max-height: 400px;
+  overflow-y: auto;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading {
+  background-color: #f9f2e9;
+  border: 1px solid #f0e0ca;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading h3 span.http_method a {
+  background-color: #c5862b;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #f0e0ca;
+  color: #c5862b;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li a {
+  color: #c5862b;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content {
+  background-color: #faf5ee;
+  border: 1px solid #f0e0ca;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content h4 {
+  color: #c5862b;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content div.sandbox_header a {
+  color: #dcb67f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading {
+  background-color: #fcffcd;
+  border: 1px solid black;
+  border-color: #ffd20f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading h3 span.http_method a {
+  text-transform: uppercase;
+  background-color: #ffd20f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #ffd20f;
+  color: #ffd20f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li a {
+  color: #ffd20f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content {
+  background-color: #fcffcd;
+  border: 1px solid black;
+  border-color: #ffd20f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content h4 {
+  color: #ffd20f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content div.sandbox_header a {
+  color: #6fc992;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading {
+  background-color: #f5e8e8;
+  border: 1px solid #e8c6c7;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading h3 span.http_method a {
+  text-transform: uppercase;
+  background-color: #a41e22;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #e8c6c7;
+  color: #a41e22;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li a {
+  color: #a41e22;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content {
+  background-color: #f7eded;
+  border: 1px solid #e8c6c7;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content h4 {
+  color: #a41e22;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content div.sandbox_header a {
+  color: #c8787a;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading {
+  background-color: #e7f6ec;
+  border: 1px solid #c3e8d1;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading h3 span.http_method a {
+  background-color: #10a54a;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #c3e8d1;
+  color: #10a54a;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li a {
+  color: #10a54a;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content {
+  background-color: #ebf7f0;
+  border: 1px solid #c3e8d1;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content h4 {
+  color: #10a54a;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content div.sandbox_header a {
+  color: #6fc992;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading {
+  background-color: #FCE9E3;
+  border: 1px solid #F5D5C3;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading h3 span.http_method a {
+  background-color: #D38042;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #f0cecb;
+  color: #D38042;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li a {
+  color: #D38042;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content {
+  background-color: #faf0ef;
+  border: 1px solid #f0cecb;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content h4 {
+  color: #D38042;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content div.sandbox_header a {
+  color: #dcb67f;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading {
+  background-color: #e7f0f7;
+  border: 1px solid #c3d9ec;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading h3 span.http_method a {
+  background-color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #c3d9ec;
+  color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li a {
+  color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content {
+  background-color: #ebf3f9;
+  border: 1px solid #c3d9ec;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content h4 {
+  color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content div.sandbox_header a {
+  color: #6fa5d2;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading {
+  background-color: #e7f0f7;
+  border: 1px solid #c3d9ec;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading h3 span.http_method a {
+  background-color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li {
+  border-right: 1px solid #dddddd;
+  border-right-color: #c3d9ec;
+  color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.heading ul.options li a {
+  color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content {
+  background-color: #ebf3f9;
+  border: 1px solid #c3d9ec;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content h4 {
+  color: #0f6ab4;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.options div.content div.sandbox_header a {
+  color: #6fa5d2;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.content,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.content,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.content,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.content,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.content,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.content {
+  border-top: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li:last-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.get div.heading ul.options li.last,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.post div.heading ul.options li.last,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.head div.heading ul.options li.last,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.put div.heading ul.options li.last,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.patch div.heading ul.options li.last,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation.delete div.heading ul.options li.last {
+  padding-right: 0;
+  border-right: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:hover,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a:active,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li a.active {
+  text-decoration: underline;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li:first-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations ul.options li.first {
+  padding-left: 0;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations:first-child,
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations.first {
+  padding-left: 0;
+}
+.swagger-section .swagger-ui-wrap p#colophon {
+  margin: 0 15px 40px 15px;
+  padding: 10px 0;
+  font-size: 0.8em;
+  border-top: 1px solid #dddddd;
+  font-family: "Droid Sans", sans-serif;
+  color: #999999;
+  font-style: italic;
+}
+.swagger-section .swagger-ui-wrap p#colophon a {
+  text-decoration: none;
+  color: #547f00;
+}
+.swagger-section .swagger-ui-wrap h3 {
+  color: black;
+  font-size: 1.1em;
+  padding: 10px 0 10px 0;
+}
+.swagger-section .swagger-ui-wrap .markdown ol,
+.swagger-section .swagger-ui-wrap .markdown ul {
+  font-family: "Droid Sans", sans-serif;
+  margin: 5px 0 10px;
+  padding: 0 0 0 18px;
+  list-style-type: disc;
+}
+.swagger-section .swagger-ui-wrap form.form_box {
+  background-color: #ebf3f9;
+  border: 1px solid #c3d9ec;
+  padding: 10px;
+}
+.swagger-section .swagger-ui-wrap form.form_box label {
+  color: #0f6ab4 !important;
+}
+.swagger-section .swagger-ui-wrap form.form_box input[type=submit] {
+  display: block;
+  padding: 10px;
+}
+.swagger-section .swagger-ui-wrap form.form_box p.weak {
+  font-size: 0.8em;
+}
+.swagger-section .swagger-ui-wrap form.form_box p {
+  font-size: 0.9em;
+  padding: 0 0 15px;
+  color: #7e7b6d;
+}
+.swagger-section .swagger-ui-wrap form.form_box p a {
+  color: #646257;
+}
+.swagger-section .swagger-ui-wrap form.form_box p strong {
+  color: black;
+}
+.swagger-section .swagger-ui-wrap .operation-status td.markdown > p:last-child {
+  padding-bottom: 0;
+}
+.swagger-section .title {
+  font-style: bold;
+}
+.swagger-section .secondary_form {
+  display: none;
+}
+.swagger-section .main_image {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+.swagger-section .oauth_body {
+  margin-left: 100px;
+  margin-right: 100px;
+}
+.swagger-section .oauth_submit {
+  text-align: center;
+}
+.swagger-section .api-popup-dialog {
+  z-index: 10000;
+  position: absolute;
+  width: 500px;
+  background: #FFF;
+  padding: 20px;
+  border: 1px solid #ccc;
+  border-radius: 5px;
+  display: none;
+  font-size: 13px;
+  color: #777;
+}
+.swagger-section .api-popup-dialog .api-popup-title {
+  font-size: 24px;
+  padding: 10px 0;
+}
+.swagger-section .api-popup-dialog .api-popup-title {
+  font-size: 24px;
+  padding: 10px 0;
+}
+.swagger-section .api-popup-dialog p.error-msg {
+  padding-left: 5px;
+  padding-bottom: 5px;
+}
+.swagger-section .api-popup-dialog button.api-popup-authbtn {
+  height: 30px;
+}
+.swagger-section .api-popup-dialog button.api-popup-cancel {
+  height: 30px;
+}
+.swagger-section .api-popup-scopes {
+  padding: 10px 20px;
+}
+.swagger-section .api-popup-scopes li {
+  padding: 5px 0;
+  line-height: 20px;
+}
+.swagger-section .api-popup-scopes .api-scope-desc {
+  padding-left: 20px;
+  font-style: italic;
+}
+.swagger-section .api-popup-scopes li input {
+  position: relative;
+  top: 2px;
+}
+.swagger-section .api-popup-actions {
+  padding-top: 10px;
+}
+#header {
+  display: none;
+}
+.swagger-section .swagger-ui-wrap .model-signature pre {
+  max-height: none;
+}
+.swagger-section .swagger-ui-wrap .body-textarea {
+  width: 100px;
+}
+.swagger-section .swagger-ui-wrap input.parameter {
+  width: 100px;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource div.heading ul.options {
+  display: none;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints {
+  display: block !important;
+}
+.swagger-section .swagger-ui-wrap ul#resources li.resource ul.endpoints li.endpoint ul.operations li.operation div.content {
+  display: block !important;
+}

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/63c575d1/usage/jsgui/src/main/webapp/assets/swagger-ui/css/reset.css
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/swagger-ui/css/reset.css b/usage/jsgui/src/main/webapp/assets/swagger-ui/css/reset.css
new file mode 100644
index 0000000..10188c3
--- /dev/null
+++ b/usage/jsgui/src/main/webapp/assets/swagger-ui/css/reset.css
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */
+html,
+body,
+div,
+span,
+applet,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+a,
+abbr,
+acronym,
+address,
+big,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+s,
+samp,
+small,
+strike,
+strong,
+sub,
+sup,
+tt,
+var,
+b,
+u,
+i,
+center,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+embed,
+figure,
+figcaption,
+footer,
+header,
+hgroup,
+menu,
+nav,
+output,
+ruby,
+section,
+summary,
+time,
+mark,
+audio,
+video {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-size: 100%;
+  font: inherit;
+  vertical-align: baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+  display: block;
+}
+body {
+  line-height: 1;
+}
+ol,
+ul {
+  list-style: none;
+}
+blockquote,
+q {
+  quotes: none;
+}
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+  content: '';
+  content: none;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}