From 3b4291c783c4b8fb07f111a240049069277f3c49 Mon Sep 17 00:00:00 2001 From: Jose Antonio Marquez Date: Mon, 30 Jan 2012 18:19:00 -0800 Subject: Core API initialization routine Setting up the core API routine to check for cloud API availability. Also cleaned up template files for IO and set up initial string contents. --- js/io/system/coreioapi.js | 58 ++++++++++++++++++++++++-------- js/io/system/fileio.js | 8 ++++- js/io/templates/files/_bin/template.css | 0 js/io/templates/files/_bin/template.html | 0 js/io/templates/files/_bin/template.js | 0 js/io/templates/files/_bin/template.json | 0 js/io/templates/files/_bin/template.php | 0 js/io/templates/files/_bin/template.pl | 0 js/io/templates/files/_bin/template.py | 0 js/io/templates/files/_bin/template.rb | 0 js/io/templates/files/_bin/template.xml | 0 js/io/templates/files/_bin/xml.txt | 0 js/io/templates/files/css.txt | 2 ++ js/io/templates/files/html.txt | 19 +++++++++++ js/io/templates/files/js.txt | 1 + js/io/templates/files/php.txt | 3 ++ js/io/templates/files/pl.txt | 1 + js/io/templates/files/py.txt | 1 + js/io/templates/files/rb.txt | 1 + js/io/templates/files/template.css | 0 js/io/templates/files/template.html | 0 js/io/templates/files/template.js | 0 js/io/templates/files/template.json | 0 js/io/templates/files/template.php | 0 js/io/templates/files/template.pl | 0 js/io/templates/files/template.py | 0 js/io/templates/files/template.rb | 0 js/io/templates/files/template.xml | 0 js/io/templates/files/xml.txt | 0 29 files changed, 79 insertions(+), 15 deletions(-) create mode 100755 js/io/templates/files/_bin/template.css create mode 100755 js/io/templates/files/_bin/template.html create mode 100755 js/io/templates/files/_bin/template.js create mode 100755 js/io/templates/files/_bin/template.json create mode 100755 js/io/templates/files/_bin/template.php create mode 100755 js/io/templates/files/_bin/template.pl create mode 100755 js/io/templates/files/_bin/template.py create mode 100755 js/io/templates/files/_bin/template.rb create mode 100755 js/io/templates/files/_bin/template.xml create mode 100755 js/io/templates/files/_bin/xml.txt delete mode 100755 js/io/templates/files/template.css delete mode 100755 js/io/templates/files/template.html delete mode 100755 js/io/templates/files/template.js delete mode 100755 js/io/templates/files/template.json delete mode 100755 js/io/templates/files/template.php delete mode 100755 js/io/templates/files/template.pl delete mode 100755 js/io/templates/files/template.py delete mode 100755 js/io/templates/files/template.rb delete mode 100755 js/io/templates/files/template.xml delete mode 100755 js/io/templates/files/xml.txt diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js index a10063f5..33c7bc28 100755 --- a/js/io/system/coreioapi.js +++ b/js/io/system/coreioapi.js @@ -24,7 +24,7 @@ exports.CoreIoApi = Montage.create(Component, { //Getting URL from local storage this.rootUrl = window.localStorage['ioRootUrl']; //Checks for IO API to be active - this.ioServiceDetected = this.isIoServiceActive(); + this.ioServiceDetected = this.cloudAvailable(); // console.log('FileIO: localStorage URL detected | IO Service Detected: '+ this.ioServiceDetected); // @@ -32,7 +32,7 @@ exports.CoreIoApi = Montage.create(Component, { //TODO: Remove, automatically prompt user on welcome this.rootUrl = 'http://localhost:16380'; //TODO: Changed to false, welcome screen prompts user - this.ioServiceDetected = this.isIoServiceActive(); + this.ioServiceDetected = this.cloudAvailable(); // console.log('FileIO: localStorage URL NOT detected | IO Service Detected: '+ this.ioServiceDetected); // @@ -41,13 +41,16 @@ exports.CoreIoApi = Montage.create(Component, { }, //////////////////////////////////////////////////////////////////// //Method to check status of I/O API, will return false if not active - isIoServiceActive: { + cloudAvailable: { enumerable: false, value: function () { - //Doing a directory root check, a 200 status means running - if (this.getDirectoryContents({uri:'/'}).status === 200) { + // + if (this.getCloudStatus().status === 200) { + //Active return true; } else { + //Inactive + //TODO: Logic to prompt the user for cloud, otherwise return false return false; } } @@ -83,22 +86,21 @@ exports.CoreIoApi = Montage.create(Component, { return this._rootUrl; }, set: function(value) { - this._rootUrl = value; - window.localStorage["ioRootUrl"] = value; + this._rootUrl = window.localStorage["ioRootUrl"] = value; } }, //////////////////////////////////////////////////////////////////// //API service URL _apiServiceURL: { enumerable: false, - value: '/' + value: '/cloudstatus' }, //////////////////////////////////////////////////////////////////// // apiServiceURL: { enumerable: false, get: function() { - return this.rootUrl+this._apiServiceURL; + return String(this.rootUrl+this._apiServiceURL); }, set: function(value) { this._apiServiceURL = value; @@ -115,7 +117,7 @@ exports.CoreIoApi = Montage.create(Component, { fileServiceURL: { enumerable: false, get: function() { - return this.rootUrl+this._fileServiceURL; + return String(this.rootUrl+this._fileServiceURL); }, set: function(value) { this._fileServiceURL = value; @@ -132,7 +134,7 @@ exports.CoreIoApi = Montage.create(Component, { directoryServiceURL: { enumerable: false, get: function() { - return this.rootUrl+this._directoryServiceURL; + return String(this.rootUrl+this._directoryServiceURL); }, set: function(value) { this._directoryServiceURL = value; @@ -921,10 +923,38 @@ exports.CoreIoApi = Montage.create(Component, { } return retValue; } + }, + //////////////////////////////////////////////////////////////////// + // + getCloudStatus: { + enumerable: false, + writable:false, + value: function() { + // + var retValue = {success:null, status:null}; + // + try { + var serviceURL = this._prepareServiceURL(this.apiServiceURL, '/'), + xhr = new XMLHttpRequest(); + // + xhr.open("GET", serviceURL, false); + xhr.send(); + // + if (xhr.readyState === 4) { + retValue.status = xhr.status; + retValue.success = true; + } + } + catch(error) { + xhr = null; + retValue.success = false; + } + // + return retValue; + } } - - - + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// }); //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/js/io/system/fileio.js b/js/io/system/fileio.js index b3158a68..38ab05e8 100755 --- a/js/io/system/fileio.js +++ b/js/io/system/fileio.js @@ -28,7 +28,7 @@ exports.FileIo = Montage.create(Object.prototype, { enumerable: true, value: function(file) { //Checking for API to be available - if (!CoreIoApi.isIoServiceActive()) { + if (!CoreIoApi.cloudAvailable()) { //API not available, no IO action taken return null; } @@ -78,6 +78,12 @@ exports.FileIo = Montage.create(Object.prototype, { value: function() { // } + }, + infoFile: { + enumerable: true, + value: function() { + // + } } diff --git a/js/io/templates/files/_bin/template.css b/js/io/templates/files/_bin/template.css new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.html b/js/io/templates/files/_bin/template.html new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.js b/js/io/templates/files/_bin/template.js new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.json b/js/io/templates/files/_bin/template.json new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.php b/js/io/templates/files/_bin/template.php new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.pl b/js/io/templates/files/_bin/template.pl new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.py b/js/io/templates/files/_bin/template.py new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.rb b/js/io/templates/files/_bin/template.rb new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/template.xml b/js/io/templates/files/_bin/template.xml new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/_bin/xml.txt b/js/io/templates/files/_bin/xml.txt new file mode 100755 index 00000000..e69de29b diff --git a/js/io/templates/files/css.txt b/js/io/templates/files/css.txt index e69de29b..07da1f8a 100755 --- a/js/io/templates/files/css.txt +++ b/js/io/templates/files/css.txt @@ -0,0 +1,2 @@ +@charset "UTF-8"; +/* Created with Motorola Mobility Ninja */ diff --git a/js/io/templates/files/html.txt b/js/io/templates/files/html.txt index e69de29b..15641348 100755 --- a/js/io/templates/files/html.txt +++ b/js/io/templates/files/html.txt @@ -0,0 +1,19 @@ + + +
+ +