@@ -18,16 +18,11 @@ limitations under the License.
1818
1919"use strict" ;
2020
21- var fs = require ( 'fs' ) ;
22- var url = require ( 'url' ) ;
23- var http = require ( 'http' ) ;
2421var FileArchive = require ( 'rcvrcore/utils/FileArchive' ) ;
2522var SceneModuleManifest = require ( 'rcvrcore/SceneModuleManifest' ) ;
26- //var loadFile = require('rcvrcore/utils/FileUtils').loadFile;
2723var Logger = require ( 'rcvrcore/Logger' ) . Logger ;
2824var log = new Logger ( 'SceneModuleLoader' ) ;
2925
30-
3126function SceneModuleLoader ( ) {
3227 this . fileArchive = null ;
3328 this . manifest = null ;
@@ -90,43 +85,6 @@ function isFileInList(fileName, list) {
9085 return false ;
9186}
9287
93- SceneModuleLoader . prototype . loadScenePackage0 = function ( scene , fileSpec ) {
94- log . message ( 4 , "loadScenePackage - fileSpec.fileUri=" + fileSpec . fileUri ) ;
95- var _this = this ;
96- var filePath = fileSpec . fileUri ;
97-
98- return new Promise ( function ( resolve , reject ) {
99- if ( filePath . substring ( 0 , 4 ) === "http" || filePath . substring ( 0 , 5 ) == "https" ) {
100- _this . loadRemoteFile ( filePath ) . then ( function dataAvailable ( data ) {
101- _this . processFileData ( filePath , data ) ;
102- if ( _this . processFileArchive ( ) === 0 ) {
103- resolve ( ) ;
104- } else {
105- reject ( ) ;
106- }
107- } ) . catch ( function onError ( err ) {
108- console . error ( "SceneModuleLoader#loadScenePackage: error on http get of " + filePath + ": Error=" + err ) ;
109- reject ( err ) ;
110- } ) ;
111- } else {
112- if ( filePath . substring ( 0 , 5 ) === 'file:' ) {
113- filePath = filePath . substring ( 5 ) ;
114- }
115- _this . loadLocalFile ( filePath ) . then ( function dataAvailable ( data ) {
116- _this . processFileData ( filePath , data ) ;
117- if ( _this . processFileArchive ( ) === 0 ) {
118- resolve ( ) ;
119- } else {
120- reject ( ) ;
121- }
122- } ) . catch ( function onError ( err ) {
123- console . error ( "SceneModuleLoader#loadScenePackage: error on file get: " + err ) ;
124- reject ( err ) ;
125- } ) ;
126- }
127- } ) ;
128- } ;
129-
13088SceneModuleLoader . prototype . processFileData = function ( filePath , data ) {
13189 this . fileArchive = new FileArchive ( filePath ) ;
13290 if ( data [ 0 ] === 80 && data [ 1 ] === 75 && data [ 2 ] === 3 && data [ 3 ] === 4 ) {
@@ -138,76 +96,6 @@ SceneModuleLoader.prototype.processFileData = function(filePath, data) {
13896 }
13997} ;
14098
141-
142- SceneModuleLoader . prototype . loadRemoteFile = function ( filePath ) {
143- var _this = this ;
144- return new Promise ( function ( resolve , reject ) {
145- log . message ( 3 , "loadRemoteFile: " + filePath ) ;
146- var req = http . get ( url . parse ( filePath ) , function ( res ) {
147- if ( res . statusCode !== 200 ) {
148- console . error ( res . statusCode ) ;
149- reject ( "http get error. statusCode=" + res . statusCode ) ;
150- }
151- var data = [ ] , dataLen = 0 ;
152-
153- // don't set the encoding, it will break everything !
154- res . on ( "data" , function ( chunk ) {
155- data . push ( chunk ) ;
156- dataLen += chunk . length ;
157- } ) ;
158-
159- res . on ( "end" , function ( ) {
160- var buf = new Buffer ( dataLen ) ;
161- for ( var i = 0 , len = data . length , pos = 0 ; i < len ; i ++ ) {
162- data [ i ] . copy ( buf , pos ) ;
163- pos += data [ i ] . length ;
164- }
165-
166- resolve ( buf ) ;
167- } ) ;
168- } ) ;
169-
170- req . on ( "error" , function ( err ) {
171- reject ( err ) ;
172- } ) ;
173- req . setTimeout ( 10000 , function httpGetTimeout ( ) {
174- reject ( "Timeout on http.get(" + filePath + ")" ) ;
175- } ) ;
176- } ) ;
177- } ;
178-
179- SceneModuleLoader . prototype . loadLocalFile = function ( filePath ) {
180- var _this = this ;
181-
182- return new Promise ( function ( resolve , reject ) {
183- fs . readFile ( filePath , function ( err , data ) {
184- if ( err ) {
185- reject ( err ) ;
186- }
187- resolve ( data ) ;
188- } ) ;
189- } ) ;
190- } ;
191-
192-
193- SceneModuleLoader . prototype . processFileArchive = function ( ) {
194- if ( this . fileArchive . getFileCount ( ) >= 2 ) {
195- var packageFileContents = this . fileArchive . getFileContents ( "package.json" ) ;
196- if ( packageFileContents !== null ) {
197- this . manifest = new SceneModuleManifest ( ) ;
198- this . manifest . loadFromJSON ( packageFileContents ) ;
199- this . fileArchive . removeFile ( "package.json" ) ;
200- return 0 ;
201- } else {
202- console . error ( "No package manifest" ) ;
203- return - 1 ;
204- }
205- } else {
206- console . error ( "Expected archive to have at least two files." ) ;
207- return - 1 ;
208- }
209- } ;
210-
21199SceneModuleLoader . prototype . getFileArchive = function ( ) {
212100 return this . fileArchive ;
213101} ;
@@ -225,9 +113,3 @@ SceneModuleLoader.prototype.jarFileWasLoaded = function() {
225113} ;
226114
227115module . exports = SceneModuleLoader ;
228-
229- function hasExtension ( filePath , extension ) {
230- var idx = filePath . lastIndexOf ( extension ) ;
231- var rtnValue = ( idx !== - 1 ) && ( ( idx + extension . length ) === filePath . length ) ;
232- return rtnValue ;
233- }
0 commit comments