Import and expose do not respect private imports
I am working with model with the following structure
package Model {
package a {
part p;
}
package b {
private import a::*;
}
package c {
view v {
expose b::**;
}
}
}
Using pilot implementation rendering the view actually exposes part p, whereas I am expecting nothing.
I actually made tests with slightly more complex example, but structure is the same:
package Model {
private import SysML::*;
private import StandardViewDefinitions::**;
part def Component;
package Parts {
private import Model::*;
part 'System A' {
part 'Part A1' : Component;
part 'Part A2' : Component;
}
part 'System B' {
part 'Part B1' : Component;
part 'Part B2' : Component;
}
}
view partTree : BrowserView {
expose Model::Parts::*;
filter @PartUsage;
}
}
Using it, the following figure is rendered:

Notice partTree view object that is present on the diagram. It gets exposed because it gets imported into exposed Model::Parts package by line private import Model::*, but I expect that import to remain private to Parts package and thus not exposed by view.
That looks like a bug to me.
Import and expose do not respect private imports
I am working with model with the following structure
Using pilot implementation rendering the view actually exposes part p, whereas I am expecting nothing.
I actually made tests with slightly more complex example, but structure is the same:
Using it, the following figure is rendered:

Notice
partTreeview object that is present on the diagram. It gets exposed because it gets imported into exposedModel::Partspackage by lineprivate import Model::*, but I expect that import to remain private to Parts package and thus not exposed by view.That looks like a bug to me.