From e618dbdff8af2bfe4cd9a272456f618d86809b9b Mon Sep 17 00:00:00 2001 From: dubnemo Date: Thu, 1 May 2025 22:48:40 -0500 Subject: [PATCH] limes 313=315 allow missing shipUnitReference property --- .../output/0/TASKDATA/TASKDATA.XML | 2 +- .../output/1/TASKDATA/TASKDATA.XML | 2 +- ShippedItemInstancePlugin/Document.cs | 32 ------------------- ShippedItemInstancePlugin/Mapper.cs | 8 ++--- ShippedItemInstancePlugin/Plugin.cs | 3 ++ 5 files changed, 9 insertions(+), 38 deletions(-) delete mode 100644 ShippedItemInstancePlugin/Document.cs diff --git a/ISO_ADM_Exporter/output/0/TASKDATA/TASKDATA.XML b/ISO_ADM_Exporter/output/0/TASKDATA/TASKDATA.XML index 5c38215..aada52f 100644 --- a/ISO_ADM_Exporter/output/0/TASKDATA/TASKDATA.XML +++ b/ISO_ADM_Exporter/output/0/TASKDATA/TASKDATA.XML @@ -1,6 +1,6 @@ - + diff --git a/ISO_ADM_Exporter/output/1/TASKDATA/TASKDATA.XML b/ISO_ADM_Exporter/output/1/TASKDATA/TASKDATA.XML index 5b44ecf..de7d73e 100644 --- a/ISO_ADM_Exporter/output/1/TASKDATA/TASKDATA.XML +++ b/ISO_ADM_Exporter/output/1/TASKDATA/TASKDATA.XML @@ -1,6 +1,6 @@ - + diff --git a/ShippedItemInstancePlugin/Document.cs b/ShippedItemInstancePlugin/Document.cs deleted file mode 100644 index 8e48990..0000000 --- a/ShippedItemInstancePlugin/Document.cs +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2025 AgGateway and ADAPT Contributors - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - *******************************************************************************/ - -using System; -using System.Collections.Generic; -using System.Text; -using Newtonsoft.Json; -using IO.Swagger.Models; - -// add CodeGen namespace -// rename this file to Document.cs, and fix reference in the Mapper.cs - -namespace AgGateway.ADAPT.ShippedItemInstancePlugin.Document -{ - // The class Document would remain and reference the CodeGen model folder - // - public class Document - { - // the JsonProperty no longer exists in V4 as the root is now suppressed - // - // [JsonProperty("ShippedItemInstance")] - public ShippedItemInstanceList ShippedItemInstances { get; set; } - } - - -} diff --git a/ShippedItemInstancePlugin/Mapper.cs b/ShippedItemInstancePlugin/Mapper.cs index b4bb2c1..96c84f7 100644 --- a/ShippedItemInstancePlugin/Mapper.cs +++ b/ShippedItemInstancePlugin/Mapper.cs @@ -310,9 +310,9 @@ private List CreateProductInstanceSpecificContextItems(ShippedItemI contextItem.NestedItems.Add(CreateContextItem("ShipmentId", shippedItemInstance.ShipmentReference?.Id)); // semi-trailer Id - if (shippedItemInstance.ShipmentReference.ShipUnitReference.Id.Content != null && - shippedItemInstance.ShipmentReference.ShipUnitReference.Id.TypeCode != null && - shippedItemInstance.ShipmentReference.ShipUnitReference.TypeCode != null) + if (shippedItemInstance.ShipmentReference?.ShipUnitReference?.Id?.Content != null && + shippedItemInstance.ShipmentReference?.ShipUnitReference?.Id?.TypeCode != null && + shippedItemInstance.ShipmentReference?.ShipUnitReference?.TypeCode != null) { contextItem.NestedItems.Add(CreateContextItem("ShippingContainer.Type", shippedItemInstance.ShipmentReference.ShipUnitReference.TypeCode)); @@ -338,7 +338,7 @@ private List CreateProductInstanceSpecificContextItems(ShippedItemI items.Add(contextItem); // Item.Retailed is the link to AGIIS - if (shippedItemInstance.Item.RelatedId?.Count > 0) + if (shippedItemInstance.Item?.RelatedId?.Count > 0) { contextItem = CreateRelatedIdsContextItem(shippedItemInstance); if (contextItem.NestedItems.Count > 0) diff --git a/ShippedItemInstancePlugin/Plugin.cs b/ShippedItemInstancePlugin/Plugin.cs index 6b51939..173c7e6 100644 --- a/ShippedItemInstancePlugin/Plugin.cs +++ b/ShippedItemInstancePlugin/Plugin.cs @@ -69,6 +69,7 @@ public Properties GetProperties(string dataPath) // Console.WriteLine(jsonText); List ShippedItems = JsonConvert.DeserializeObject>(jsonText); + if (ShippedItems != null) { //Each document will import as individual ApplicationDataModel @@ -80,11 +81,13 @@ public Properties GetProperties(string dataPath) } else { + errors.Add(new Error(null, $"Importing {fileName}", "Couldn't parse ShippedItemInstances", null)); } } catch (Exception ex) { + _logger.LogError("Parse Error" + ex); errors.Add(new Error(null, $"Exception Importing {fileName}", ex.Message, ex.StackTrace)); }