Lyo OSLC does not retrieve all DOORS attribute
![]() I need to retrieve requirements data from DOORS by URL, I am using the following code for that ClientResponse response = client.getResource(url, OslcMediaType.APPLICATION_RDF_XML); System.setProperty(AbstractOslcRdfXmlProvider.OSLC4J_STRICT_DATATYPES, "false"); Requirement requirement = new Requirement(); requirement = response.getEntity(Requirement.class);
The response (even the raw rdf XML) contains only some of the requirement attribute (the ones that exist by default when creating a new DOORS module, like id and text) but the rest of attributes are not returned.
I thought of making query, I am not sure it will work, but the provided example by lyo query the whole project area, I do not know how to query a specific requirements object
|
4 answers
![]()
Hello,
Requirement inherits from AbstractResource.
All the unknown properties are stored in extendedProperties. Try the method getExtendedProperties() on the class Requirement. Find out more at https://github.com/eclipse/lyo.core/blob/master/org.eclipse.lyo.oslc4j.core/src/main/java/org/eclipse/lyo/oslc4j/core/model/AbstractResource.java .
I hope it helps.
Comments extendedProperties even does not contain all of the attributes, specifically three attributes are not found (State, Type and Remarks) |
![]() You can perform the same calls with a REST client to get to know the exact document sent by DOORS. Maybe, DOORS does not expose them all.
Comments Can you please tell how to achieve that call wih a REST client? I guess you mean something like chrome postman ?
hello Ahmed,
You should specify a media type to pull the RDF representation of a requirement from DOORS.
My colleague Ian made an excellent video on Youtube with Chrome; Find out more at https://www.youtube.com/watch?v=YzrVo6YM0iQ .
hello Jean-Luc,
I tried same approach but I get in response that media type is not accepted, I even tried other types but I get the same response as follow
<?xml version="1.0"?>
<oslc:Error>
<oslc:message>The media type [[application/rdf+xml]] is not acceptable. Possibly expecting [, */*, application/doors-internal-link+html, application/json, application/x-jazz-compact-rendering, application/x-oslc-compact+xml, application/x-oslc-rm-requirement-1.0+xml, application/x-oslc-rm-requirement-collection-1.0+xml, application/x-turtle, application/xhtml+xml, application/xml, text/html, text/plain, text/turtle].</oslc:message>
<oslc:statusCode>406</oslc:statusCode>
</oslc:Error>
</rdf:RDF>
although the response is in the rdf format !!
Aside from that, I have inspected the returned rdf xml response via OSLC4J code as follow
ClientResponse response = client.getResource(url, OslcMediaType.APPLICATION_RDF_XML);
System.setProperty(AbstractOslcRdfXmlProvider.OSLC4J_STRICT_DATATYPES, "false");
InputStream is = response.getEntity(InputStream.class);
Model model = ModelFactory.createDefaultModel();
model.read(is, "");
model.write(System.out, "RDF/XML-ABBREV");
And the xml was not including the required properties, I expect that this xml should be the same if make the call from REST client, please correct me if I am wrong
You should follow Jim Amsden's recommendation when it comes to the implementation in Java.
My perspective is a bit different. It is a step by step approach. I am saying that you should be able to perform the REST call with a REST client with FF or Chrome. And if it works, you will be able to adapt the result in your Java code.
Have you tried the mediatype text/turtle?
By the way, which version of DOORS are you using?
I am not sure how to implement Jim's recommended approach, can you explain to me how? I see he recommends to extend the requirement class, but how to make DOORS fill the newly added attributes with the required properties?
My Client version is 9.6.1.9 , I am not sure if it is the same version for the server
I got the same error for mediatype text/turtle
showing 5 of 7
show 2 more comments
|
![]() See this example: RRCFormSample.java Comments thank you for referring to the example , this is exactly how I am fetching requirements already (from line 375) and it is not returning all the required attributes.
I was wondering how to achieve your proposal that "the DNG properties may be included in the Requirement's extended properties"
|