Reputation: 2430
My goal is to export a DOORS project to a ReqIF using Java. How can I achieve that? I know it is possible to do it manually in the DOORS client, so I assume that there's a way to automate that as well.
Currently, the closest I've come to this is by using DWA, OSLC and LYO to export a single requirement into an XML string. However, that also has massive problems, in the form that fields or informations get lost.
What I want is a sort of pipeline where I can ensure that if I import a ReqIF File to DOORS, I can then export it and get the same thing back out again.
However, currently, what I observe happening is this:
ReqIF (Input) DOORS OSLC (Output)
------------------------------------------------------------------------------------------------
ReqIF.ForeignID ForeignID doorsAttribute:absoluteNumber
Absolute Number dcterms:identifier
AdditionalInfo AdditionalInfo m_property:attrDef-1003
Created By doorsAttribute:createdBy [One Value]
ReqIF.ForeignCreatedBy ForeignCreatedBy doorsAttribute:createdBy [A different value]
Created On doorsAttribute:createdOn [One Value]
ReqIF.ForeignCreatedOn ForeignCreatedOn doorsAttribute:createdOn [A different value]
dcterms:created
ReqIF.ForeignCreatedThru Created Thru doorsAttribute:createdThru
FollowupReference FollowupReference rm_property:attrDef-1006
FollowupReference2 FollowupReference2 rm_property:attrDef-1007
FunctionalApportionment FunctionalAppointment [LOST]
ImplementerName ImplementerName [LOST]
IsReq IsReq rm_property:attrDef-1015
ReqIF.ForeignModifiedBy ForeignModifiedBy doorsAttribute:modifiedBy [One Value]
Last Modified By doorsAttribute:modifiedBy [A different value]
ReqIF.ForeignModifiedOn ForeignModifiedOn doorsAttribute:modifiedOn
Last Modified On doorsAttribute:modifiedOn
rm_property:attrDef-8
dcterms:modified
ReqIF.ChapterName Object Heading doorsAttribute:objectHeading
Object Number
ReqIF.Name Object Short Text doorsAttribute:objectShortText
dcterms:description
ReqIF.Text Object Text rm:primaryText
Paragraph Style Paragraph Style rm_property:attrDef-1016
Picture [LOST]
PictureName [LOST]
PictureNum [LOST]
Rational Rational rm_property:attrDef-1017
Req-Id Req-Id rm_property:attrDef-1018
ReqSafetyLevel ReqSafetyLevel [LOST]
SourceReference SourceReference rm_property:attrDef-1020
SourceReference2 SourceReference2 rm_property:attrDef-1021
StageFrom StageFrom [LOST]
StageTo StageTo [LOST]
VerificationMethod VerificationMethod [LOST]
VerificationState VerificationState rm_property:attrDef-1025
VerifierComment VerifierComment rm_property:attrDef-1026
oslc:instanceShape
acp:accessControl
dcterms:contributor
oslc:serviceProvider
Obviously, this approach has some problems, most notably that certain values from the original ReqIF input never reach the OSLC output. But there's also the issue that some fields in the outputted XML have the same title and are thus indistinguishable, but contain different values. Here's some samples of the output:
<doorsAttribute:modifiedBy rdf:parseType="Literal"><div>ForeignModifiedBy: bcsthfr</div></doorsAttribute:modifiedBy>
<doorsAttribute:modifiedBy rdf:parseType="Literal">kira_resari</doorsAttribute:modifiedBy>
<doorsAttribute:modifiedOn rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2015-01-14</doorsAttribute:modifiedOn>
<doorsAttribute:modifiedOn rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2020-08-07</doorsAttribute:modifiedOn>
That's why I'm now looking for a different approach that would simply return to me the ReqIF, as imported, either as a string or file. Is that possible, and if yes how can I do it?
Upvotes: 2
Views: 289