Skip to content

Commit 216e7f4

Browse files
committed
* new SMT PCN: Concepts
* new SMT semantic mappings * updated web browser!
1 parent c29a82d commit 216e7f4

8 files changed

Lines changed: 3487 additions & 2399 deletions

File tree

src/AasxPackageExplorer/options-debug.MIHO.json

Lines changed: 94 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
// "AasxToLoad": "http://localhost:8081/shells/aHR1cHM6Ly9hZG1pbi1zaGVsbC1pby9pZHRhL2Fhcy9Qcm9kdWN0Q2hhbmdlTm90aWZpY2F0aW9ucy8xLzA"
99
// "AasxToLoad": "C:\\Users\\Micha\\Desktop\\test-smt-on-basyx\\IDTA_02036-1-0_SMT_ProductChangeNotification_Draft_v35_manual_fixes.aasx"
1010
//"AasxToLoad": "C:\\HOMI\\Develop\\Aasx\\SMT\\IDTA 02036-1-0_Submodel_ProductChangeNotification\\IDTA_02036-1-0_SMT_ProductChangeNotification_Draft_v40_add_podman.aasx"
11-
"AasxToLoad": "http://localhost:8081/shells/aHR0cHM6Ly9hZG1pbi1zaGVsbC1pby9pZHRhL2Fhcy9Qcm9kdWN0Q2hhbmdlTm90aWZpY2F0aW9ucy8xLzA"
12-
/* This file shall be loaded as aux package at start of application | Arg: <path> */,
11+
// "AasxToLoad": "http://localhost:8081/shells/aHR0cHM6Ly9hZG1pbi1zaGVsbC1pby9pZHRhL2Fhcy9Qcm9kdWN0Q2hhbmdlTm90aWZpY2F0aW9ucy8xLzA"
12+
/* This file shall be loaded as aux package at start of application | Arg: <path> */
1313
"AuxToLoad": null
1414
/* List of pathes to a JSON, defining a set of AasxPackage-Files, which serve as repository. | Arg: <path> */,
1515
"AasxRepositoryFns": [
@@ -327,96 +327,96 @@
327327
"IntegratedConnectPresets": [
328328
]
329329
/* Contains a list of tuples (filenames, args) of plugins to be loaded. */,
330-
"PluginDll": [
331-
{
332-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginProductChangeNotifications\\bin\\Debug\\net8.0-windows\\AasxPluginProductChangeNotifications.dll",
333-
"Args": [],
334-
"Options": null,
335-
"DefaultOptions": null
336-
},
337-
{
338-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginAssetInterfaceDesc\\bin\\Debug\\net8.0-windows\\AasxPluginAssetInterfaceDesc.dll",
339-
"Args": [],
340-
"Options": null,
341-
"DefaultOptions": null
342-
},
343-
{
344-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginKnownSubmodels\\bin\\Debug\\net8.0-windows\\AasxPluginKnownSubmodels.dll",
345-
"Args": [],
346-
"Options": null,
347-
"DefaultOptions": null
348-
},
349-
{
350-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginDigitalNameplate\\bin\\Debug\\net8.0-windows\\AasxPluginDigitalNameplate.dll",
351-
"Args": [],
352-
"Options": null,
353-
"DefaultOptions": null
354-
},
355-
{
356-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginDocumentShelf\\bin\\Debug\\net8.0-windows\\AasxPluginDocumentShelf.dll",
357-
"Args": [],
358-
"Options": null,
359-
"DefaultOptions": null
360-
},
361-
{
362-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginContactInformation\\bin\\Debug\\net8.0-windows\\AasxPluginContactInformation.dll",
363-
"Args": [],
364-
"Options": null,
365-
"DefaultOptions": null
366-
},
367-
{
368-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginGenericForms\\bin\\Debug\\net8.0-windows\\AasxPluginGenericForms.dll",
369-
"Args": [],
370-
"Options": null,
371-
"DefaultOptions": null
372-
},
373-
{
374-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginAdvancedTextEditor\\bin\\Debug\\net8.0-windows\\AasxPluginAdvancedTextEditor.dll",
375-
"Args": [],
376-
"Options": null,
377-
"DefaultOptions": null
378-
},
379-
{
380-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginTechnicalData\\bin\\Debug\\net8.0-windows\\AasxPluginTechnicalData.dll",
381-
"Args": [],
382-
"Options": null,
383-
"DefaultOptions": null
384-
},
385-
{
386-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginBomStructure\\bin\\Debug\\net8.0-windows\\AasxPluginBomStructure.dll",
387-
"Args": [],
388-
"Options": null,
389-
"DefaultOptions": null
390-
},
391-
{
392-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginPlotting\\bin\\Debug\\net8.0-windows\\AasxPluginPlotting.dll",
393-
"Args": [],
394-
"Options": null,
395-
"DefaultOptions": null
396-
},
397-
{
398-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginImageMap\\bin\\Debug\\net8.0-windows\\AasxPluginImageMap.dll",
399-
"Args": [],
400-
"Options": null,
401-
"DefaultOptions": null
402-
},
403-
{
404-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginMtpViewer\\bin\\Debug\\net8.0-windows\\AasxPluginMtpViewer.dll",
405-
"Args": [],
406-
"Options": null,
407-
"DefaultOptions": null
408-
},
409-
{
410-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginExportTable\\bin\\Debug\\net8.0-windows\\AasxPluginExportTable.dll",
411-
"Args": [],
412-
"Options": null,
413-
"DefaultOptions": null
414-
},
415-
{
416-
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginWebBrowser\\bin\\x64\\Debug\\AasxPluginWebBrowser.dll",
417-
"Args": [],
418-
"Options": null,
419-
"DefaultOptions": null
420-
}
421-
]
330+
"PluginDll": [
331+
{
332+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginProductChangeNotifications\\bin\\Debug\\net8.0-windows\\AasxPluginProductChangeNotifications.dll",
333+
"Args": [],
334+
"Options": null,
335+
"DefaultOptions": null
336+
},
337+
{
338+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginAssetInterfaceDesc\\bin\\Debug\\net8.0-windows\\AasxPluginAssetInterfaceDesc.dll",
339+
"Args": [],
340+
"Options": null,
341+
"DefaultOptions": null
342+
},
343+
{
344+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginKnownSubmodels\\bin\\Debug\\net8.0-windows\\AasxPluginKnownSubmodels.dll",
345+
"Args": [],
346+
"Options": null,
347+
"DefaultOptions": null
348+
},
349+
{
350+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginDigitalNameplate\\bin\\Debug\\net8.0-windows\\AasxPluginDigitalNameplate.dll",
351+
"Args": [],
352+
"Options": null,
353+
"DefaultOptions": null
354+
},
355+
{
356+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginDocumentShelf\\bin\\Debug\\net8.0-windows\\AasxPluginDocumentShelf.dll",
357+
"Args": [],
358+
"Options": null,
359+
"DefaultOptions": null
360+
},
361+
{
362+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginContactInformation\\bin\\Debug\\net8.0-windows\\AasxPluginContactInformation.dll",
363+
"Args": [],
364+
"Options": null,
365+
"DefaultOptions": null
366+
},
367+
{
368+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginGenericForms\\bin\\Debug\\net8.0-windows\\AasxPluginGenericForms.dll",
369+
"Args": [],
370+
"Options": null,
371+
"DefaultOptions": null
372+
},
373+
{
374+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginAdvancedTextEditor\\bin\\Debug\\net8.0-windows\\AasxPluginAdvancedTextEditor.dll",
375+
"Args": [],
376+
"Options": null,
377+
"DefaultOptions": null
378+
},
379+
{
380+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginTechnicalData\\bin\\Debug\\net8.0-windows\\AasxPluginTechnicalData.dll",
381+
"Args": [],
382+
"Options": null,
383+
"DefaultOptions": null
384+
},
385+
{
386+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginBomStructure\\bin\\Debug\\net8.0-windows\\AasxPluginBomStructure.dll",
387+
"Args": [],
388+
"Options": null,
389+
"DefaultOptions": null
390+
},
391+
{
392+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginPlotting\\bin\\Debug\\net8.0-windows\\AasxPluginPlotting.dll",
393+
"Args": [],
394+
"Options": null,
395+
"DefaultOptions": null
396+
},
397+
{
398+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginImageMap\\bin\\Debug\\net8.0-windows\\AasxPluginImageMap.dll",
399+
"Args": [],
400+
"Options": null,
401+
"DefaultOptions": null
402+
},
403+
{
404+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginMtpViewer\\bin\\Debug\\net8.0-windows\\AasxPluginMtpViewer.dll",
405+
"Args": [],
406+
"Options": null,
407+
"DefaultOptions": null
408+
},
409+
{
410+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginExportTable\\bin\\Debug\\net8.0-windows\\AasxPluginExportTable.dll",
411+
"Args": [],
412+
"Options": null,
413+
"DefaultOptions": null
414+
},
415+
{
416+
"Path": "..\\..\\..\\..\\..\\..\\AasxPluginWebBrowser\\bin\\x64\\Debug\\AasxPluginWebBrowser.dll",
417+
"Args": [],
418+
"Options": null,
419+
"DefaultOptions": null
420+
}
421+
]
422422
}

src/AasxPluginProductChangeNotifications/PcnAnyUiControl.cs

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ private void RenderFullView(
175175
PredefinedConceptsClassMapper.ParseAasElemsToObject(
176176
sm, pre,
177177
lambdaLookupReference: (rf) => package?.AasEnv?.FindReferableByReference(rf));
178-
_pcnData = new PCNCURR.CD_ProductChangeNotifications(pre);
178+
var tempPre2 = new AasxPredefinedConcepts.ProductChangeNotifications.V_1_0_pre2.CD_ProductChangeNotifications(pre);
179+
_pcnData = new PCNCURR.CD_ProductChangeNotifications(tempPre2);
179180
}
180181
else
181182
if (foundRecs.First().Version == PcnOptionsRecord.VersionEnum.V10)
@@ -972,7 +973,7 @@ protected void InnerDocAddTechnicalDataChanges(
972973
foreach (var sme in smcSingleChange?.Value.AsNotNull())
973974
{
974975
if (true == sme.SemanticId?.Matches(
975-
theDefs.CD_Origin_of_change?.GetReference(), mm)
976+
theDefs.CD_OriginOfChange?.GetReference(), mm)
976977
&& sme is Aas.IReferenceElement rfe)
977978
originOfChange = rfe;
978979
else
@@ -1009,7 +1010,7 @@ protected void InnerDocAddTechnicalDataChanges(
10091010
var newValue = smc2.Value.FindFirstSemanticIdAs<Aas.ISubmodelElement>(
10101011
theDefs.CD_NewValueOfChange?.GetReference(), matchMode: mm);
10111012
var originOfChange = smc2.Value.FindFirstSemanticIdAs<Aas.IReferenceElement>(
1012-
theDefs.CD_Origin_of_change?.GetReference(), matchMode: mm);
1013+
theDefs.CD_OriginOfChange?.GetReference(), matchMode: mm);
10131014
var reasonId = smc2.Value.FindFirstSemanticIdAs<Aas.IProperty>(
10141015
theDefs.CD_ReasonId?.GetReference(), matchMode: mm);
10151016

@@ -1281,9 +1282,9 @@ protected void RenderPanelInner(
12811282
data.Manufacturer.ManufacturerName?.GetDefaultString(_selectedLangStr));
12821283

12831284
var adrStr = AasxPredefinedConcepts.InfoAccessDigitalNameplateV20
1284-
.ContactInfoToStrings(data.Manufacturer.AdressInformation?.__Info__?.Referable);
1285+
.ContactInfoToStrings(data.Manufacturer.Address?.__Info__?.Referable);
12851286

1286-
InnerDocAddText(uitk, grid, 0, 2, "AdressInformation:",
1287+
InnerDocAddText(uitk, grid, 0, 2, "Address:",
12871288
"" + string.Join(" \u2022 ", (adrStr ?? (new[] { "-" }).ToList())),
12881289
wrapText: AnyUiTextWrapping.Wrap);
12891290

@@ -1710,21 +1711,20 @@ protected async Task<bool> AddFromSmartPcnXml(
17101711
{
17111712
Action<string, string, string> checkLambda = (xElName, value, valueId) =>
17121713
{
1714+
// TODO: Better format here?
17131715
// get date?
1714-
var date = elLCD.Element(xns + xElName)?.Value;
1715-
if (date == null)
1716-
return;
1717-
if (!date.Contains("T"))
1718-
date += "T12:00Z";
1719-
1720-
// add
1721-
var ms = new PCNCURR.CD_LifeCycleMilestone()
1716+
if (DateTime.TryParse("" + elLCD.Element(xns + xElName)?.Value,
1717+
CultureInfo.InvariantCulture, out var dti))
17221718
{
1723-
MilestoneClassification = "" + value,
1724-
// valueId for later extension
1725-
DateOfValidity = date,
1726-
};
1727-
rec.LifeCycleData.Milestone.Add(ms);
1719+
// add
1720+
var ms = new PCNCURR.CD_LifeCycleMilestone()
1721+
{
1722+
MilestoneClassification = "" + value,
1723+
// valueId for later extension
1724+
DateOfValidity = dti,
1725+
};
1726+
rec.LifeCycleData.Milestone.Add(ms);
1727+
}
17281728
};
17291729
checkLambda("pcnSOP", "SOP", "0173-10029#07-ABO117#001");
17301730
checkLambda("pcnEOS", "EOS", "0173-10029#07-ABO121#001");
@@ -1778,9 +1778,12 @@ protected async Task<bool> AddFromSmartPcnXml(
17781778
+ " "
17791779
+ elDiff.Element(xns + "pcnChangeIdentificationMethod")?.Value);
17801780

1781-
rec.DateOfRecord = "" + elMaster.Element(xns + "pcnIssueDate")?.Value;
1782-
if (!rec.DateOfRecord.Contains("T"))
1783-
rec.DateOfRecord += "T12:00Z";
1781+
// TODO: Check, if advanced parsing is required here ..
1782+
if (DateTime.TryParse("" + elMaster.Element(xns + "pcnIssueDate")?.Value,
1783+
CultureInfo.InvariantCulture, out var dti))
1784+
{
1785+
rec.DateOfRecord = dti;
1786+
}
17841787

17851788
// now, add the item of change
17861789
// (smartPCN concern solely about item of change and not about

src/AasxPluginProductChangeNotifications/PcnOptions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ namespace AasxPluginProductChangeNotifications
2222
{
2323
public class PcnOptionsRecord : AasxPluginOptionsLookupRecordBase
2424
{
25-
public enum VersionEnum { V10pre, V10 }
25+
// Note: By top-level IRDI, v01pre2 and V10 are not distinguishable!!
26+
public enum VersionEnum { V10pre, V10pre2, V10 }
2627

2728
public VersionEnum Version = VersionEnum.V10;
2829
}

src/AasxPluginWebBrowser/AasxPluginWebBrowser.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@
6060
<ProjectReference Include="..\AasxIntegrationBase\AasxIntegrationBase.csproj" />
6161
</ItemGroup>
6262
<ItemGroup>
63-
<PackageReference Include="CefSharp.Common.NETCore" Version="137.0.100" />
64-
<PackageReference Include="CefSharp.Wpf.NETCore" Version="137.0.100" />
63+
<PackageReference Include="CefSharp.Common.NETCore" Version="146.0.70" />
64+
<PackageReference Include="CefSharp.Wpf.NETCore" Version="146.0.70" />
6565
<PackageReference Include="JetBrains.Annotations" Version="2024.2.0" />
6666
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
67-
<PackageReference Include="System.CodeDom" Version="7.0.0" />
67+
<PackageReference Include="System.CodeDom" Version="10.0.5" />
6868
<PackageReference Include="System.Data.SqlClient" Version="4.9.0" />
6969
<PackageReference Include="System.Formats.Asn1" Version="9.0.2" />
7070
<PackageReference Include="System.Private.Uri" Version="4.3.2" />

0 commit comments

Comments
 (0)