Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a XPlanGML Writer #814

Closed
thorsten-reitz opened this issue May 10, 2020 · 5 comments
Closed

Add a XPlanGML Writer #814

thorsten-reitz opened this issue May 10, 2020 · 5 comments
Assignees
Milestone

Comments

@thorsten-reitz
Copy link
Member

thorsten-reitz commented May 10, 2020

Currently, it is possible to write XPlanGML by using the generic XML Writer with a Custom Root Element (XPlanAuszug). However, this requires more knowledge by the users and the general XML wirter also has fewer options than the GML writer.

We should thus add a dedicated XPlanGML writer based on the GML writer that supports the following features:

  • Support at least XPlanGML 5.0, 5.1 and 5.2 (also, see Add XPlanung 5.0, 5.1 and 5.2 as presets to hale studio #799)
  • Write XPlanAuszug collections
  • Allow partitioning by Plan (I would just use a simple checkbox setting); does not need to support objects shared by more than one plan
  • Allow giving the partitioned files a name based on the element xx_Plan.name or on the xx_Plan.gml:id
@thorsten-reitz
Copy link
Member Author

Effort estimate: 12h to 16h

florianesser added a commit to florianesser/hale that referenced this issue Jun 29, 2020
Adds XPlanGML writer that writes an `XPlanAuszug` root element.

halestudio#814
florianesser added a commit to florianesser/hale that referenced this issue Jun 29, 2020
Adds an XPlanGML writer that writes an `XPlanAuszug` root element.

halestudio#814
florianesser added a commit to florianesser/hale that referenced this issue Jun 29, 2020
Adds an XPlanGML writer that writes an `XPlanAuszug` root element.

halestudio#814
florianesser added a commit that referenced this issue Jun 29, 2020
Adds an XPlanGML writer that writes an `XPlanAuszug` root element.

#814
@thorsten-reitz
Copy link
Member Author

@florianesser I have tested the writer as is, LGTM. What I didn't find is the setting to use the plan's gml:id as the file name.

@florianesser
Copy link
Member

@thorsten-reitz That and the split by plan feature are still under development. The first PR only included the writer.

@thorsten-reitz
Copy link
Member Author

OK thanks. I supposed that I could just use the partitioning modes that were already present.

florianesser added a commit to florianesser/hale that referenced this issue Jun 30, 2020
Adds a partitioning scheme for the XPlanGML writer that writes all instances of
`*_PlanType` and their directly or indirectly referenced non-plan instances
into separate output files. The name of the output files contains both the
type and the ID of the exported plan.

halestudio#814
florianesser added a commit to florianesser/hale that referenced this issue Jun 30, 2020
Adds a partitioning scheme for the XPlanGML writer that writes all instances of
`*_PlanType` and their directly or indirectly referenced non-plan instances
into separate output files. The name of the output files contains both the
type and the ID of the exported plan.

The split is achieved by first separating plan instances into separate
`InstanceCollections` and then adding all referenced instances found
in the reference graph. This might result in instances being written
multiple times if they are shared between different plans.

halestudio#814
florianesser added a commit to florianesser/hale that referenced this issue Jun 30, 2020
Adds a partitioning scheme for the XPlanGML writer that writes all instances of
`*_PlanType` and their directly or indirectly referenced non-plan instances
into separate output files. The name of the output files contains both the
type and the ID of the exported plan.

The split is achieved by first separating plan instances into different
`InstanceCollections` and then, for each plan, adding all referenced
instances found in the reference graph. This might result in instances
being written multiple times if they are shared between different plans.

halestudio#814
florianesser added a commit to florianesser/hale that referenced this issue Jun 30, 2020
Adds a partitioning scheme for the XPlanGML writer that writes all instances of
`*_PlanType` and their directly or indirectly referenced non-plan instances
into separate output files. The name of the output files contains both the
type and the ID of the exported plan.

The split is achieved by first separating plan instances into different
`InstanceCollections` and then, for each plan, adding all referenced
instances found in the reference graph. This might result in instances
being written multiple times if they are shared between different plans.

halestudio#814
florianesser added a commit to florianesser/hale that referenced this issue Jun 30, 2020
Adds a partitioning scheme for the XPlanGML writer that writes all instances of
`*_PlanType` and their directly or indirectly referenced non-plan instances
into separate output files. The name of the output files contains both the
type and the ID of the exported plan.

The split is achieved by first separating plan instances into different
`InstanceCollections` and then, for each plan, adding all referenced
instances found in the reference graph. This might result in instances
being written multiple times if they are shared between different plans.

halestudio#814
thorsten-reitz pushed a commit that referenced this issue Jun 30, 2020
Adds a partitioning scheme for the XPlanGML writer that writes all instances of
`*_PlanType` and their directly or indirectly referenced non-plan instances
into separate output files. The name of the output files contains both the
type and the ID of the exported plan.

The split is achieved by first separating plan instances into different
`InstanceCollections` and then, for each plan, adding all referenced
instances found in the reference graph. This might result in instances
being written multiple times if they are shared between different plans.

#814
@thorsten-reitz
Copy link
Member Author

LGTM, works as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants