151 }, |
151 }, |
152 loadData : function(_url, _callback) { |
152 loadData : function(_url, _callback) { |
153 IriSP.jQuery.getJSON(_url, _callback) |
153 IriSP.jQuery.getJSON(_url, _callback) |
154 }, |
154 }, |
155 deSerialize : function(_data, _source) { |
155 deSerialize : function(_data, _source) { |
156 if (typeof _data !== "object" && _data === null) { |
156 if (typeof _data !== "object" || _data === null) { |
157 return; |
157 return; |
158 } |
158 } |
159 if (typeof _data.imports !== "undefined") { |
159 if (typeof _data.imports !== "undefined") { |
160 IriSP._(_data.imports).forEach(function(_import) { |
160 IriSP._(_data.imports).forEach(function(_import) { |
161 _source.directory.namespaces[_import.id] = _import.url; |
161 _source.directory.namespaces[_import.id] = _import.url; |
162 }) |
162 }) |
163 } |
163 } |
164 IriSP._(this.types).forEach(function(_type, _typename) { |
164 IriSP._(this.types).forEach(function(_type, _typename) { |
165 var _listdata = _data[_type.serialized_name]; |
165 var _listdata = _data[_type.serialized_name]; |
166 if (typeof _listdata !== "undefined") { |
166 if (typeof _listdata !== "undefined" && _listdata !== null) { |
167 var _list = new IriSP.Model.List(_source.directory); |
167 var _list = new IriSP.Model.List(_source.directory); |
168 if (_listdata.hasOwnProperty("length")) { |
168 if (_listdata.hasOwnProperty("length")) { |
169 var _l = _listdata.length; |
169 var _l = _listdata.length; |
170 for (var _i = 0; _i < _l; _i++) { |
170 for (var _i = 0; _i < _l; _i++) { |
171 _list.push(_type.deserializer(_listdata[_i], _source)); |
171 _list.push(_type.deserializer(_listdata[_i], _source)); |