Advertisement
Guest User

Untitled

a guest
Jul 29th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 8.21 KB | None | 0 0
  1. impl ProcessJsonToPointers for FedexShipInput {
  2.     fn collect(&self, json: Value) -> Result<Option<ns1__ValidateShipmentRequest>, Vec<String>> {
  3.         let schema_val = from_str(JSON_SCHEMA_FOR_FedexShipInput).expect("40");
  4.         let mut scope = json_schema::Scope::new();
  5.         let r_schema = scope
  6.             .compile_and_return(schema_val, false)
  7.             .expect("The json schema is invalid. Please connact support");
  8.         let validation_state = r_schema.validate(&json);
  9.         if validation_state.errors.len() > 0 {
  10.             let str_errors = validation_state
  11.                 .errors
  12.                 .into_iter()
  13.                 .map(|n_err| {
  14.                     let err = n_err;
  15.                     format!("{}: {}", err.get_path(), err.get_detail().unwrap_or(""))
  16.                 })
  17.                 .collect::<Vec<_>>();
  18.             return Err(str_errors);
  19.         }
  20.         let mut root = {
  21.             let mut ClientDetail = {
  22.                 let mut AccountNumber =
  23.                     get_mut_prt_string(json["ClientDetail"]["AccountNumber"].clone(), true);
  24.                 let mut IntegratorId =
  25.                     get_mut_prt_string(json["ClientDetail"]["IntegratorId"].clone(), false);
  26.                 let mut Localization = {
  27.                     let mut LanguageCode = get_mut_prt_string(
  28.                         json["ClientDetail"]["Localization"]["LanguageCode"].clone(),
  29.                         true,
  30.                     );
  31.                     let mut LocaleCode =
  32.                         get_mut_prt_string(json["ClientDetail"]["Localization"]["LocaleCode"].clone(), false);
  33.                     let mut ret = if !real {
  34.                         None
  35.                     } else {
  36.                         Some(ns1__Localization {
  37.                             LanguageCode: LanguageCode,
  38.                             LocaleCode: LocaleCode,
  39.                         })
  40.                     };
  41.                     ret
  42.                 };
  43.                 let mut MeterNumber = get_mut_prt_string(json["ClientDetail"]["MeterNumber"].clone(), true);
  44.                 let mut ClientDetail_Localization_ov = if Localization.is_some() {
  45.                     &mut Localization.expect("26") as *mut ns1__Localization
  46.                 } else {
  47.                     std::ptr::null_mut() as *mut ns1__Localization
  48.                 };
  49.                 if json["ClientDetail"].is_null() {
  50.                     return Err(vec![format!("Required obj '{}' not set", "ClientDetail")]);
  51.                 }
  52.                 let mut ret = if !real {
  53.                     None
  54.                 } else {
  55.                     Some(ns1__ClientDetail {
  56.                         AccountNumber: AccountNumber,
  57.                         IntegratorId: IntegratorId,
  58.                         Localization: ClientDetail_Localization_ov,
  59.                         MeterNumber: MeterNumber,
  60.                     })
  61.                 };
  62.                 ret
  63.             };
  64.             let mut RequestedShipment = {
  65.                 let mut BlockInsightVisibility =
  66.                     get_number(json["RequestedShipment"]["BlockInsightVisibility"].clone(), false);
  67.                 let mut ConfigurationData = {
  68.                     let mut DangerousGoodsPackageConfigurations_tmp = vec![];
  69.                     for (array_index, array_obj) in json["RequestedShipment"]["ConfigurationData"]
  70.                         ["DangerousGoodsPackageConfigurations"]
  71.                         .clone()
  72.                         .as_array()
  73.                         .expect("36")
  74.                         .iter()
  75.                         .enumerate()
  76.                     {
  77.                         let mut DangerousGoodsPackageConfigurations_arr_item = {
  78.                             let mut Accessibility = get_number(array_obj["Accessibility"].clone(), false);
  79.                             let mut AdditionalHandling =
  80.                                 get_mut_prt_string(array_obj["AdditionalHandling"].clone(), false);
  81.                             let mut CargoAircraftOnly =
  82.                                 get_number(array_obj["CargoAircraftOnly"].clone(), false);
  83.                             let mut Containers_tmp = vec![];
  84.                             for (array_index, array_obj) in array_obj["Containers"]
  85.                                 .clone()
  86.                                 .as_array()
  87.                                 .expect("36")
  88.                                 .iter()
  89.                                 .enumerate()
  90.                             {
  91.                                 let mut Containers_arr_item = {
  92.                                     let mut ContainerType =
  93.                                         get_mut_prt_string(array_obj["ContainerType"].clone(), false);
  94.                                     let mut HazardousCommodities_tmp = vec![];
  95.                                     for (array_index, array_obj) in array_obj["HazardousCommodities"]
  96.                                         .clone()
  97.                                         .as_array()
  98.                                         .expect("36")
  99.                                         .iter()
  100.                                         .enumerate()
  101.                                     {
  102.                                         let mut HazardousCommodities_arr_item = {
  103.                                             let mut Description = {
  104.                                                 let mut Authorization = get_mut_prt_string(
  105.                                                     array_obj["Description"]["Authorization"].clone(),
  106.                                                     false,
  107.                                                 );
  108.                                                 let mut HazardClass = get_mut_prt_string(
  109.                                                     array_obj["Description"]["HazardClass"].clone(),
  110.                                                     false,
  111.                                                 );
  112.                                                 let mut Id = get_mut_prt_string(
  113.                                                     array_obj["Description"]["Id"].clone(),
  114.                                                     false,
  115.                                                 );
  116.                                                 let mut LabelText = get_mut_prt_string(
  117.                                                     array_obj["Description"]["LabelText"].clone(),
  118.                                                     false,
  119.                                                 );
  120.                                                 let mut PackingDetails = {
  121.                                                     let mut CargoAircraftOnly = get_number(
  122.                                                         array_obj["Description"]["PackingDetails"]
  123.                                                             ["CargoAircraftOnly"]
  124.                                                             .clone(),
  125.                                                         false,
  126.                                                     );
  127.                                                     let mut PackingInstructions = get_mut_prt_string(
  128.                                                         array_obj["Description"]["PackingDetails"]
  129.                                                             ["PackingInstructions"]
  130.                                                             .clone(),
  131.                                                         false,
  132.                                                     );
  133.                                                     let mut ret = if !real {
  134.                                                         None
  135.                                                     } else {
  136.                                                         Some(ns1__HazardousCommodityPackingDetail {
  137.                                                             CargoAircraftOnly: CargoAircraftOnly,
  138.                                                             PackingInstructions: PackingInstructions,
  139.                                                         })
  140.                                                     };
  141.                                                     ret
  142.                                                 };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement