@@ -407,7 +407,12 @@ private static (AasCore.Aas3_0.Environment, Package, String) LoadPackageAasx(str
407
407
foreach ( var x in xs )
408
408
if ( x . SourceUri . ToString ( ) == "/" )
409
409
{
410
- originPart = package . GetPart ( x . TargetUri ) ;
410
+ //originPart = package.GetPart(x.TargetUri);
411
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
412
+ if ( package . PartExists ( absoluteURI ) )
413
+ {
414
+ originPart = package . GetPart ( absoluteURI ) ;
415
+ }
411
416
break ;
412
417
}
413
418
@@ -419,7 +424,12 @@ private static (AasCore.Aas3_0.Environment, Package, String) LoadPackageAasx(str
419
424
xs = originPart . GetRelationshipsByType ( "http://www.admin-shell.io/aasx/relationships/aas-spec" ) ;
420
425
foreach ( var x in xs )
421
426
{
422
- specPart = package . GetPart ( x . TargetUri ) ;
427
+ //specPart = package.GetPart(x.TargetUri);
428
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
429
+ if ( package . PartExists ( absoluteURI ) )
430
+ {
431
+ specPart = package . GetPart ( absoluteURI ) ;
432
+ }
423
433
break ;
424
434
}
425
435
@@ -566,7 +576,12 @@ private void AssignDefaultThumbnailPath()
566
576
foreach ( var x in xs )
567
577
if ( x . SourceUri . ToString ( ) == "/" )
568
578
{
569
- thumbPart = _openPackage . GetPart ( x . TargetUri ) ;
579
+ //thumbPart = _openPackage.GetPart(x.TargetUri);
580
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
581
+ if ( _openPackage . PartExists ( absoluteURI ) )
582
+ {
583
+ thumbPart = _openPackage . GetPart ( absoluteURI ) ;
584
+ }
570
585
thumbUri = x . TargetUri ;
571
586
break ;
572
587
}
@@ -795,7 +810,12 @@ public bool SaveAs(string fn, bool writeFreshly = false, SerializationFormat pre
795
810
foreach ( var x in xs )
796
811
if ( x . SourceUri . ToString ( ) == "/" )
797
812
{
798
- originPart = package . GetPart ( x . TargetUri ) ;
813
+ //originPart = package.GetPart(x.TargetUri);
814
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
815
+ if ( package . PartExists ( absoluteURI ) )
816
+ {
817
+ originPart = package . GetPart ( absoluteURI ) ;
818
+ }
799
819
break ;
800
820
}
801
821
if ( originPart == null )
@@ -821,7 +841,12 @@ public bool SaveAs(string fn, bool writeFreshly = false, SerializationFormat pre
821
841
foreach ( var x in xs )
822
842
{
823
843
specRel = x ;
824
- specPart = package . GetPart ( x . TargetUri ) ;
844
+ //specPart = package.GetPart(x.TargetUri);
845
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
846
+ if ( package . PartExists ( absoluteURI ) )
847
+ {
848
+ specPart = package . GetPart ( absoluteURI ) ;
849
+ }
825
850
break ;
826
851
}
827
852
@@ -971,7 +996,12 @@ public bool SaveAs(string fn, bool writeFreshly = false, SerializationFormat pre
971
996
foreach ( var x in xs )
972
997
if ( x . TargetUri == psfAdd . Uri )
973
998
{
974
- filePart = package . GetPart ( x . TargetUri ) ;
999
+ //filePart = package.GetPart(x.TargetUri);
1000
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
1001
+ if ( package . PartExists ( absoluteURI ) )
1002
+ {
1003
+ filePart = package . GetPart ( absoluteURI ) ;
1004
+ }
975
1005
break ;
976
1006
}
977
1007
}
@@ -983,7 +1013,12 @@ public bool SaveAs(string fn, bool writeFreshly = false, SerializationFormat pre
983
1013
foreach ( var x in xs )
984
1014
if ( x . SourceUri . ToString ( ) == "/" && x . TargetUri == psfAdd . Uri )
985
1015
{
986
- filePart = package . GetPart ( x . TargetUri ) ;
1016
+ //filePart = package.GetPart(x.TargetUri);
1017
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
1018
+ if ( package . PartExists ( absoluteURI ) )
1019
+ {
1020
+ filePart = package . GetPart ( absoluteURI ) ;
1021
+ }
987
1022
break ;
988
1023
}
989
1024
}
@@ -1279,10 +1314,19 @@ public long GetStreamSizeFromPackage(string uriString)
1279
1314
{
1280
1315
if ( _openPackage == null )
1281
1316
return 0 ;
1282
- var part = _openPackage . GetPart ( new Uri ( uriString , UriKind . RelativeOrAbsolute ) ) ;
1283
- using ( var s = part . GetStream ( FileMode . Open ) )
1317
+ var uri = new Uri ( uriString , UriKind . RelativeOrAbsolute ) ;
1318
+
1319
+ PackagePart part = null ;
1320
+ if ( _openPackage . PartExists ( uri ) )
1284
1321
{
1285
- res = s . Length ;
1322
+ part = _openPackage . GetPart ( uri ) ;
1323
+ }
1324
+ if ( part != null )
1325
+ {
1326
+ using ( var s = part . GetStream ( FileMode . Open ) )
1327
+ {
1328
+ res = s . Length ;
1329
+ }
1286
1330
}
1287
1331
}
1288
1332
catch ( Exception ex )
@@ -1319,7 +1363,12 @@ public Stream GetLocalThumbnailStream(ref Uri thumbUri, bool init = false)
1319
1363
foreach ( var x in xs )
1320
1364
if ( x . SourceUri . ToString ( ) == "/" )
1321
1365
{
1322
- thumbPart = _openPackage . GetPart ( x . TargetUri ) ;
1366
+ //thumbPart = _openPackage.GetPart(x.TargetUri);
1367
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
1368
+ if ( _openPackage . PartExists ( absoluteURI ) )
1369
+ {
1370
+ thumbPart = _openPackage . GetPart ( absoluteURI ) ;
1371
+ }
1323
1372
thumbUri = x . TargetUri ;
1324
1373
break ;
1325
1374
}
@@ -1386,7 +1435,12 @@ public ListOfAasSupplementaryFile GetListOfSupplementaryFiles()
1386
1435
foreach ( var x in xs )
1387
1436
if ( x . SourceUri . ToString ( ) == "/" )
1388
1437
{
1389
- originPart = _openPackage . GetPart ( x . TargetUri ) ;
1438
+ //originPart = _openPackage.GetPart(x.TargetUri);
1439
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
1440
+ if ( _openPackage . PartExists ( absoluteURI ) )
1441
+ {
1442
+ originPart = _openPackage . GetPart ( absoluteURI ) ;
1443
+ }
1390
1444
break ;
1391
1445
}
1392
1446
@@ -1397,7 +1451,12 @@ public ListOfAasSupplementaryFile GetListOfSupplementaryFiles()
1397
1451
xs = originPart . GetRelationshipsByType ( "http://www.admin-shell.io/aasx/relationships/aas-spec" ) ;
1398
1452
foreach ( var x in xs )
1399
1453
{
1400
- specPart = _openPackage . GetPart ( x . TargetUri ) ;
1454
+ //specPart = _openPackage.GetPart(x.TargetUri);
1455
+ var absoluteURI = PackUriHelper . ResolvePartUri ( x . SourceUri , x . TargetUri ) ;
1456
+ if ( _openPackage . PartExists ( absoluteURI ) )
1457
+ {
1458
+ specPart = _openPackage . GetPart ( absoluteURI ) ;
1459
+ }
1401
1460
break ;
1402
1461
}
1403
1462
0 commit comments