Understood...
I have cut down the code to the lowest common denominator.
When I set the EA objects, before the changes:
oConnector.Direction = "Source -> Destination"
oSourceEnd.Cardinality = "0..*"
oTargetEnd.Cardinality = "0..1"
oSourceEnd.Navigable = "Navigable"
oTargetEnd.Navigable = "Unspecified"
After running this (please know that the GUID I have selected is an "Aggregation"):
Set oConnector = eaRepo.GetConnectorByGuid("{43839C7A-F120-43d1-8B85-328F89BA9AE6}")
Set oSourceEnd = oConnector.ClientEnd
Set oTargetEnd = oConnector.SupplierEnd
oConnector.Direction = "Source -> Destination"
oSourceEnd.Cardinality = "1..*"
oTargetEnd.Cardinality = "1"
oSourceEnd.Navigable = "Navigable"
oTargetEnd.Navigable = "Unspecified"
oSourceEnd.Update
oTargetEnd.Update
oConnector.Update
After the Updates:
oConnector.Direction = "Source -> Destination"
oSourceEnd.Cardinality = "1..*"
oTargetEnd.Cardinality = "1"
oSourceEnd.Navigable = "Navigable"
oTargetEnd.Navigable = "Unspecified"
In the DB:
select rel.ea_guid, rel.Direction
from t_connector rel
where rel.ea_guid = '{43839C7A-F120-43d1-8B85-328F89BA9AE6}'Direction = "Destination -> Source"
The flip on the t_connector table occurs after the first update statement
oSourceEnd.Update
After that runs, the magic happens
