home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / com / facebook / utils / FacebookUserXMLParser.as < prev    next >
Encoding:
Text File  |  2010-06-23  |  6.2 KB  |  167 lines

  1. package com.facebook.utils
  2. {
  3.    import com.facebook.data.FacebookEducationInfo;
  4.    import com.facebook.data.FacebookNetwork;
  5.    import com.facebook.data.FacebookWorkInfo;
  6.    import com.facebook.data.users.FacebookUser;
  7.    import com.facebook.data.users.StatusData;
  8.    
  9.    public class FacebookUserXMLParser
  10.    {
  11.       public function FacebookUserXMLParser()
  12.       {
  13.          super();
  14.       }
  15.       
  16.       protected static function parseWorkHistory(param1:XML, param2:Namespace) : Array
  17.       {
  18.          var _loc5_:Object = null;
  19.          var _loc6_:FacebookWorkInfo = null;
  20.          var _loc3_:Array = [];
  21.          var _loc4_:XMLList = param1.children();
  22.          for each(_loc5_ in _loc4_)
  23.          {
  24.             _loc6_ = new FacebookWorkInfo();
  25.             _loc6_.location = FacebookXMLParserUtils.createLocation(_loc5_.param2::location[0],param2);
  26.             _loc6_.company_name = String(_loc5_.param2::company_name);
  27.             _loc6_.description = String(_loc5_.param2::description);
  28.             _loc6_.position = String(_loc5_.param2::position);
  29.             _loc6_.start_date = FacebookDataUtils.formatDate(_loc5_.param2::start_date);
  30.             _loc6_.end_date = FacebookDataUtils.formatDate(_loc5_.param2::end_date);
  31.             _loc3_.push(_loc6_);
  32.          }
  33.          return _loc3_;
  34.       }
  35.       
  36.       protected static function createStatus(param1:XML, param2:Namespace) : StatusData
  37.       {
  38.          var _loc3_:StatusData = new StatusData();
  39.          _loc3_.message = String(param1.param2::message);
  40.          _loc3_.time = FacebookDataUtils.formatDate(String(param1.param2::time));
  41.          return _loc3_;
  42.       }
  43.       
  44.       protected static function parseEducationHistory(param1:XML, param2:Namespace) : Array
  45.       {
  46.          var _loc5_:Object = null;
  47.          var _loc6_:FacebookEducationInfo = null;
  48.          var _loc7_:XML = null;
  49.          var _loc3_:Array = [];
  50.          var _loc4_:XMLList = param1.children();
  51.          for each(_loc5_ in _loc4_)
  52.          {
  53.             _loc6_ = new FacebookEducationInfo();
  54.             _loc6_.name = String(_loc5_.param2::name);
  55.             _loc6_.year = String(_loc5_.param2::year);
  56.             _loc6_.degree = String(_loc5_.param2::degree);
  57.             _loc6_.concentrations = [];
  58.             for each(_loc7_ in _loc5_.concentration)
  59.             {
  60.                _loc6_.concentrations.push(_loc7_);
  61.             }
  62.             _loc3_.push(_loc6_);
  63.          }
  64.          return _loc3_;
  65.       }
  66.       
  67.       public static function createFacebookUser(param1:XML, param2:Namespace) : FacebookUser
  68.       {
  69.          var _loc6_:XML = null;
  70.          var _loc7_:String = null;
  71.          var _loc3_:FacebookUser = new FacebookUser();
  72.          var _loc4_:XMLList = param1.children();
  73.          var _loc5_:uint = uint(_loc4_.length());
  74.          var _loc8_:uint = 0;
  75.          while(_loc8_ < _loc5_)
  76.          {
  77.             _loc6_ = _loc4_[_loc8_];
  78.             _loc7_ = _loc6_.localName().toString();
  79.             switch(_loc7_)
  80.             {
  81.                case "status":
  82.                   _loc3_[_loc7_] = createStatus(_loc6_,param2);
  83.                   break;
  84.                case "affiliations":
  85.                   _loc3_[_loc7_] = createAffiliations(_loc6_.children(),param2);
  86.                   break;
  87.                case "hometown_location":
  88.                case "current_location":
  89.                   _loc3_[_loc7_] = FacebookXMLParserUtils.createLocation(_loc6_,param2);
  90.                   break;
  91.                case "profile_update_time":
  92.                   _loc3_[_loc7_] = FacebookDataUtils.formatDate(_loc6_.toString());
  93.                   break;
  94.                case "hs_info":
  95.                   _loc3_.hs1_id = parseInt(_loc6_.param2::hs1_id);
  96.                   _loc3_.hs1_name = String(_loc6_.param2::hs1_name);
  97.                   _loc3_.hs2_id = parseInt(_loc6_.param2::hs2_id);
  98.                   _loc3_.hs2_name = String(_loc6_.param2::hs2_name);
  99.                   _loc3_.grad_year = String(_loc6_.param2::grad_year);
  100.                   break;
  101.                case "education_history":
  102.                   _loc3_[_loc7_] = parseEducationHistory(_loc6_,param2);
  103.                   break;
  104.                case "work_history":
  105.                   _loc3_[_loc7_] = parseWorkHistory(_loc6_,param2);
  106.                   break;
  107.                case "timezone":
  108.                case "notes_count":
  109.                case "wall_count":
  110.                   _loc3_[_loc7_] = Number(_loc6_.toString());
  111.                   break;
  112.                case "has_added_app":
  113.                case "is_app_user":
  114.                   _loc3_[_loc7_] = FacebookXMLParserUtils.toBoolean(_loc6_);
  115.                   break;
  116.                case "meeting_sex":
  117.                case "meeting_for":
  118.                case "email_hashes":
  119.                   _loc3_[_loc7_] = toArray(_loc6_,param2);
  120.                   break;
  121.                default:
  122.                   if(_loc7_ in _loc3_)
  123.                   {
  124.                      _loc3_[_loc7_] = String(_loc6_);
  125.                   }
  126.                   break;
  127.             }
  128.             _loc8_++;
  129.          }
  130.          return _loc3_;
  131.       }
  132.       
  133.       protected static function toArray(param1:XML, param2:Namespace) : Array
  134.       {
  135.          var _loc3_:Array = [];
  136.          var _loc4_:XMLList = param1.children();
  137.          var _loc5_:uint = uint(_loc4_.length());
  138.          var _loc6_:uint = 0;
  139.          while(_loc6_ < _loc5_)
  140.          {
  141.             _loc3_.push(_loc4_[_loc6_].toString());
  142.             _loc6_++;
  143.          }
  144.          return _loc3_;
  145.       }
  146.       
  147.       protected static function createAffiliations(param1:XMLList, param2:Namespace) : Array
  148.       {
  149.          var _loc4_:* = undefined;
  150.          var _loc5_:FacebookNetwork = null;
  151.          var _loc3_:Array = [];
  152.          for each(_loc4_ in param1)
  153.          {
  154.             _loc5_ = new FacebookNetwork();
  155.             _loc5_.nid = parseInt(_loc4_.param2::nid);
  156.             _loc5_.name = String(_loc4_.param2::name);
  157.             _loc5_.type = String(_loc4_.param2::type);
  158.             _loc5_.status = String(_loc4_.param2::status);
  159.             _loc5_.year = String(_loc4_.param2::year);
  160.             _loc3_.push(_loc5_);
  161.          }
  162.          return _loc3_;
  163.       }
  164.    }
  165. }
  166.  
  167.