diff --git a/src/main/html/index.html b/src/main/html/index.html
index e35e0125..673c2439 100644
--- a/src/main/html/index.html
+++ b/src/main/html/index.html
@@ -12,7 +12,8 @@
-
+
+
diff --git a/src/main/html/javascript/model.js b/src/main/html/javascript/model.js
deleted file mode 100644
index 06ed6068..00000000
--- a/src/main/html/javascript/model.js
+++ /dev/null
@@ -1,281 +0,0 @@
-
-function SwaggerService(hostUrl) {
- // constants
- var apiHost = hostUrl || "http://swagr.api.wordnik.com/v4";
-
- // utility functions
- function log(m) {
- if (window.console) console.log(m);
- }
-
- function error(m) {
- if (window.console) console.log("ERROR: " + m);
- }
-
- // make some models public
- this.Api = function() {return Api;}
- this.ApiModel = function() {return ApiModel;}
-
- // Model: ApiEndpoint
- var ApiEndpoint = Spine.Model.setup("ApiEndpoint", ["path", "description"]);
- ApiEndpoint.include({
- path_json: null,
- path_xml: null,
-
- init: function(atts) {
- if (atts) this.load(atts);
- this.path_json = this.path + ".json";
- this.path_xml = this.path + ".xml";
- },
-
- toString: function() {
- return this.path_json + ": " + this.description;
- }
- });
-
- // Model: Api
- var Api = Spine.Model.setup("Api", ["path", "description", "operations", "path_json", "path_xml"]);;
- Api.include({
- init: function(atts) {
- if (atts) this.load(atts);
-
- if(this.path.indexOf("/", 1) > 0) {
- var prefix = this.path.substr(0, this.path.indexOf("/", 1));
- var suffix = this.path.substr(this.path.indexOf("/", 1), this.path.length);
- // log(this.path + ":: " + prefix + "..." + suffix);
-
- this.path_json = prefix + ".json" + suffix;
- this.path_xml = prefix + ".xml" + suffix;;
- } else {
- this.path_json = this.path + ".json";
- this.path_xml = this.path + ".xml";
- }
-
- var value = this.operations;
- this.operations = ApiOperation.sub();
- if (value) this.operations.refresh(value);
- },
-
- toString: function() {
- var opsString = "";
- for(var i = 0; i < this.operations.all().length; i++) {
- var e = this.operations.all()[i];
-
- if(opsString.length > 0)
- opsString += ", ";
-
- opsString += e.toString();
- }
- return this.path_json + "- " + this.operations.all().length + " operations: " + opsString;
- }
-
- });
-
- // Model: ApiOperation
- var ApiOperation = Spine.Model.setup("ApiOperation", ["summary", "deprecated", "open", "httpMethod", "nickname", "responseClass", "parameters"]);
- ApiOperation.include({
- init: function(atts) {
- if (atts) this.load(atts);
-
- var value = this.parameters;
- this.parameters = ApiParameter.sub();
- if (value) this.parameters.refresh(value);
- },
-
- toString: function() {
- var paramsString = "(";
- for(var i = 0; i < this.parameters.all().length; i++) {
- var e = this.parameters.all()[i];
-
- if(paramsString.length > 1)
- paramsString += ", ";
-
- paramsString += e.toString();
- }
- paramsString += ")";
-
- return "{" + this.nickname + paramsString + ": " + this.summary + "}";
- }
-
- });
-
- // Model: ApiParameter
- var ApiParameter = Spine.Model.setup("ApiParameter", ["name", "description", "required", "dataType", "allowableValues", "paramType", "allowMultiple"]);
- ApiParameter.include({
- init: function(atts) {
- if (atts) this.load(atts);
- },
-
- toString: function() {
- if(this.allowableValues && this.allowableValues.length > 0)
- return this.name + ": " + this.dataType + " [" + this.allowableValues + "]";
- else
- return this.name + ": " + this.dataType;
- }
-
- });
-
- // Model: ApiModel
- var ApiModel = Spine.Model.setup("ApiModel", ["id", "fields"]);;
- ApiModel.include({
- init: function(atts) {
- if (atts) this.load(atts);
-
- if(!this.fields) {
- var propertiesListObject = this.properties;
- this.fields = ApiModelProperty.sub();
-
- for(var propName in propertiesListObject) {
- if(propName != "parent") {
- var p = propertiesListObject[propName];
- p.name = propName;
- p.id = Spine.guid();
- // log(p);
-
- this.fields.create(p);
- }
- }
- //log("got " + this.fields.count() + " fields for " + this.id);
- }
- },
-
- toString: function() {
- var propsString = "";
-
- propsString += "(";
- for(var i = 0; i < this.fields.all().length; i++) {
- var e = this.fields.all()[i];
-
- if(propsString.length > 1)
- propsString += ", ";
-
- propsString += e.toString();
- }
- propsString += ")";
-
- if(this.required)
- return this.id + " (required): " + propsString;
- else
- return this.id + ": " + propsString;
- }
-
- });
-
-
- // Model: ApiModelProperty
- var ApiModelProperty = Spine.Model.setup("ApiModelProperty", ["name", "required", "dataType"]);
- ApiModelProperty.include({
- init: function(atts) {
- if (atts) this.load(atts);
-
- if(!this.dataType) {
- if(atts.type == "any")
- this.dataType = "object";
- else if(atts.type == "array") {
- if(atts.items) {
- if(atts.items.$ref) {
- this.dataType = "array[" + atts.items.$ref + "]";
- } else {
- this.dataType = "array[" + atts.items.type + "]"
- }
- } else {
- this.dataType = "array";
- }
- } else
- this.dataType = atts.type;
- }
- },
-
- toString: function() {
- if(this.required)
- return this.name + ": " + this.dataType + " (required)";
- else
- return this.name + ": " + this.dataType;
- }
-
- });
-
- // Controller
- var ModelController = Spine.Controller.create({
- countLoaded: 0,
- proxied: ["fetchResources", "loadResources", "apisLoaded", "modelsLoaded"],
-
- init: function() {
- log("ModelController.init");
-
- ApiEndpoint.bind("refresh", this.fetchResources);
-
- this.fetchEndpoints();
- },
-
- fetchEndpoints: function() {
- $.getJSON(apiHost + "/list.json", function(response) {
- //log(response);
- ApiEndpoint.refresh(response.apis);
- });
- },
-
- fetchResources: function() {
- //log("fetchResources");
- ApiEndpoint.logAll();
-
- for(var i = 0; i < ApiEndpoint.all().length; i++) {
- var e = ApiEndpoint.all()[i];
- $.getJSON(apiHost + e.path_json, this.loadResources);
- }
- },
-
- loadResources: function(response) {
- try {
- this.countLoaded++;
- //log(response);
-
- Api.createAll(response.apis);
-
- //log(response.models);
- if(response.models) {
- // log("response.models.length = " + response.models.length);
-
- for(var modeName in response.models) {
- var m = response.models[modeName];
- // log("creating " + m.id);
-
- ApiModel.create(m);
- }
- }
- } finally {
- if(this.countLoaded == ApiEndpoint.count()) {
- log("all models/api loaded");
- Api.trigger("refresh");
- ApiModel.trigger("refresh");
- }
- }
- }
-
- });
-
- this.init = function() {
- this.modelController = ModelController.init();
- }
-};
-
-jQuery(function($) {
- // create and initialize SwaggerService
- var swaggerService = new SwaggerService();
- swaggerService.init();
-
- // Create convenience references to Spine models
- var ApiModel = swaggerService.ApiModel();
- var Api = swaggerService.Api();
-
- // Register a callback for when apis are loaded
- Api.bind("refresh", apisLoaded);
-
- function apisLoaded() {
- Api.logAll();
- ApiModel.logAll();
- if (window.console) console.log("apis loaded");
- }
-
-});
-