Skip to content

Commit 3c2edd7

Browse files
refactor writers
xmireader / writer update with impliedinclude
1 parent d1686a7 commit 3c2edd7

203 files changed

Lines changed: 174961 additions & 13961 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenReaders/AnnotatingElementReader.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ public class AnnotatingElementReader : XmiDataReader<IAnnotatingElement>
6161
/// </param>
6262
/// <param name="externalReferenceService">The injected <see cref="IExternalReferenceService"/> used to register and process external references</param>
6363
/// <param name="loggerFactory">The injected <see cref="ILoggerFactory" /> used to set up logging</param>
64-
public AnnotatingElementReader(IXmiDataCache cache, IXmiDataReaderFacade xmiDataReaderFacade, IExternalReferenceService externalReferenceService, ILoggerFactory loggerFactory) : base(cache, xmiDataReaderFacade, externalReferenceService, loggerFactory)
64+
/// <param name="elementOriginMap">The optional <see cref="IXmiElementOriginMap"/> used to track element-to-file associations</param>
65+
public AnnotatingElementReader(IXmiDataCache cache, IXmiDataReaderFacade xmiDataReaderFacade, IExternalReferenceService externalReferenceService, ILoggerFactory loggerFactory, IXmiElementOriginMap elementOriginMap = null) : base(cache, xmiDataReaderFacade, externalReferenceService, loggerFactory, elementOriginMap)
6566
{
6667
this.logger = loggerFactory == null ? NullLogger<AnnotatingElementReader>.Instance : loggerFactory.CreateLogger<AnnotatingElementReader>();
6768
}
@@ -107,6 +108,8 @@ public override IAnnotatingElement Read(XmlReader xmiReader, Uri currentLocation
107108
this.logger.LogCritical("Failed to add element type [{Poco}] with id [{Id}] as it was already in the Cache. The XMI document seems to have duplicate xmi:id values", "AnnotatingElement", poco.Id);
108109
}
109110

111+
this.ElementOriginMap?.Register(poco.Id, currentLocation);
112+
110113
var aliasIdsXmlAttribute = xmiReader.GetAttribute("aliasIds");
111114

112115
if (!string.IsNullOrWhiteSpace(aliasIdsXmlAttribute))
@@ -257,7 +260,7 @@ public override IAnnotatingElement Read(XmlReader xmiReader, Uri currentLocation
257260
}
258261
else
259262
{
260-
var ownedRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
263+
var ownedRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
261264

262265
((IContainedElement)poco).OwnedRelationship.Add(ownedRelationshipValue);
263266
}
@@ -278,7 +281,7 @@ public override IAnnotatingElement Read(XmlReader xmiReader, Uri currentLocation
278281
}
279282
else
280283
{
281-
var owningRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
284+
var owningRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
282285

283286
((IContainedElement)poco).OwningRelationship = owningRelationshipValue;
284287
}
@@ -335,6 +338,8 @@ public override async Task<IAnnotatingElement> ReadAsync(XmlReader xmiReader, Ur
335338
this.logger.LogCritical("Failed to add element type [{Poco}] with id [{Id}] as it was already in the Cache. The XMI document seems to have duplicate xmi:id values", "AnnotatingElement", poco.Id);
336339
}
337340

341+
this.ElementOriginMap?.Register(poco.Id, currentLocation);
342+
338343
var aliasIdsXmlAttribute = xmiReader.GetAttribute("aliasIds");
339344

340345
if (!string.IsNullOrWhiteSpace(aliasIdsXmlAttribute))
@@ -485,7 +490,7 @@ public override async Task<IAnnotatingElement> ReadAsync(XmlReader xmiReader, Ur
485490
}
486491
else
487492
{
488-
var ownedRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
493+
var ownedRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
489494

490495
((IContainedElement)poco).OwnedRelationship.Add(ownedRelationshipValue);
491496
}
@@ -506,7 +511,7 @@ public override async Task<IAnnotatingElement> ReadAsync(XmlReader xmiReader, Ur
506511
}
507512
else
508513
{
509-
var owningRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
514+
var owningRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
510515

511516
((IContainedElement)poco).OwningRelationship = owningRelationshipValue;
512517
}

SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenReaders/AssociationReader.cs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ public class AssociationReader : XmiDataReader<IAssociation>
6565
/// </param>
6666
/// <param name="externalReferenceService">The injected <see cref="IExternalReferenceService"/> used to register and process external references</param>
6767
/// <param name="loggerFactory">The injected <see cref="ILoggerFactory" /> used to set up logging</param>
68-
public AssociationReader(IXmiDataCache cache, IXmiDataReaderFacade xmiDataReaderFacade, IExternalReferenceService externalReferenceService, ILoggerFactory loggerFactory) : base(cache, xmiDataReaderFacade, externalReferenceService, loggerFactory)
68+
/// <param name="elementOriginMap">The optional <see cref="IXmiElementOriginMap"/> used to track element-to-file associations</param>
69+
public AssociationReader(IXmiDataCache cache, IXmiDataReaderFacade xmiDataReaderFacade, IExternalReferenceService externalReferenceService, ILoggerFactory loggerFactory, IXmiElementOriginMap elementOriginMap = null) : base(cache, xmiDataReaderFacade, externalReferenceService, loggerFactory, elementOriginMap)
6970
{
7071
this.logger = loggerFactory == null ? NullLogger<AssociationReader>.Instance : loggerFactory.CreateLogger<AssociationReader>();
7172
}
@@ -111,6 +112,8 @@ public override IAssociation Read(XmlReader xmiReader, Uri currentLocation)
111112
this.logger.LogCritical("Failed to add element type [{Poco}] with id [{Id}] as it was already in the Cache. The XMI document seems to have duplicate xmi:id values", "Association", poco.Id);
112113
}
113114

115+
this.ElementOriginMap?.Register(poco.Id, currentLocation);
116+
114117
var aliasIdsXmlAttribute = xmiReader.GetAttribute("aliasIds");
115118

116119
if (!string.IsNullOrWhiteSpace(aliasIdsXmlAttribute))
@@ -357,7 +360,7 @@ public override IAssociation Read(XmlReader xmiReader, Uri currentLocation)
357360
}
358361
else
359362
{
360-
var ownedRelatedElementValue = (IElement)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
363+
var ownedRelatedElementValue = (IElement)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
361364

362365
((IContainedRelationship)poco).OwnedRelatedElement.Add(ownedRelatedElementValue);
363366
}
@@ -378,7 +381,7 @@ public override IAssociation Read(XmlReader xmiReader, Uri currentLocation)
378381
}
379382
else
380383
{
381-
var ownedRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
384+
var ownedRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
382385

383386
((IContainedElement)poco).OwnedRelationship.Add(ownedRelationshipValue);
384387
}
@@ -399,7 +402,7 @@ public override IAssociation Read(XmlReader xmiReader, Uri currentLocation)
399402
}
400403
else
401404
{
402-
var owningRelatedElementValue = (IElement)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
405+
var owningRelatedElementValue = (IElement)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
403406

404407
((IContainedRelationship)poco).OwningRelatedElement = owningRelatedElementValue;
405408
}
@@ -420,7 +423,7 @@ public override IAssociation Read(XmlReader xmiReader, Uri currentLocation)
420423
}
421424
else
422425
{
423-
var owningRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
426+
var owningRelationshipValue = (IRelationship)this.XmiDataReaderFacade.QueryXmiData(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
424427

425428
((IContainedElement)poco).OwningRelationship = owningRelationshipValue;
426429
}
@@ -477,6 +480,8 @@ public override async Task<IAssociation> ReadAsync(XmlReader xmiReader, Uri curr
477480
this.logger.LogCritical("Failed to add element type [{Poco}] with id [{Id}] as it was already in the Cache. The XMI document seems to have duplicate xmi:id values", "Association", poco.Id);
478481
}
479482

483+
this.ElementOriginMap?.Register(poco.Id, currentLocation);
484+
480485
var aliasIdsXmlAttribute = xmiReader.GetAttribute("aliasIds");
481486

482487
if (!string.IsNullOrWhiteSpace(aliasIdsXmlAttribute))
@@ -723,7 +728,7 @@ public override async Task<IAssociation> ReadAsync(XmlReader xmiReader, Uri curr
723728
}
724729
else
725730
{
726-
var ownedRelatedElementValue = (IElement)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
731+
var ownedRelatedElementValue = (IElement)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
727732

728733
((IContainedRelationship)poco).OwnedRelatedElement.Add(ownedRelatedElementValue);
729734
}
@@ -744,7 +749,7 @@ public override async Task<IAssociation> ReadAsync(XmlReader xmiReader, Uri curr
744749
}
745750
else
746751
{
747-
var ownedRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
752+
var ownedRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
748753

749754
((IContainedElement)poco).OwnedRelationship.Add(ownedRelationshipValue);
750755
}
@@ -765,7 +770,7 @@ public override async Task<IAssociation> ReadAsync(XmlReader xmiReader, Uri curr
765770
}
766771
else
767772
{
768-
var owningRelatedElementValue = (IElement)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
773+
var owningRelatedElementValue = (IElement)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
769774

770775
((IContainedRelationship)poco).OwningRelatedElement = owningRelatedElementValue;
771776
}
@@ -786,7 +791,7 @@ public override async Task<IAssociation> ReadAsync(XmlReader xmiReader, Uri curr
786791
}
787792
else
788793
{
789-
var owningRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory);
794+
var owningRelationshipValue = (IRelationship)await this.XmiDataReaderFacade.QueryXmiDataAsync(xmiReader, this.Cache, currentLocation, this.ExternalReferenceService, this.LoggerFactory, elementOriginMap: this.ElementOriginMap);
790795

791796
((IContainedElement)poco).OwningRelationship = owningRelationshipValue;
792797
}

0 commit comments

Comments
 (0)