DNG 6.0 : Retrieving Requirements from a folder in DNG using OSLC
![]()
Naveen Tyagi (197●75●152)
| asked Sep 02 '15, 9:44 a.m.
edited Sep 12 '15, 12:01 a.m. by Geoffrey Clemm (30.1k●3●30●35)
I am new to OSLC. i have written code to pull out all the requirement list from a project in DNG. I want to retrieve requirements folder by folder instead of all once. Like, List of all the requirements inside a folder by providing its name. also List of all the folders and requirements inside folders.
I found that there is a folder query capability for this (https://jazz.net/library/article/1197). I am not able to understand how to use that in My code.
Here is the code i am using to retrieve all the requirement in DNG project but i need folder by folder.
try{
String serviceProviderUrl = client.lookupServiceProviderUrl(Authentication_Impl.catalogUrl, projectArea);
queryCapability = client.lookupQueryCapability(serviceProviderUrl, OSLCConstants.OSLC_RM_V2,OSLCConstants.RM_REQUIREMENT_TYPE);
requirements = new ArrayList<MyRequirement>();
ClientResponse response = null;
OslcQueryParameters queryParams = new OslcQueryParameters();
queryParams.setPrefix("rdf=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
queryParams.setWhere("rdf:type=<http://open-services.net/ns/rm#Requirement>");
OslcQuery query = new OslcQuery(client, queryCapability, 20, queryParams);
OslcQueryResult result = query.submit();
for (String resultsUrl : result.getMembersUrls()) {
response = client.getResource(resultsUrl, OSLCConstants.CT_RDF);
MyRequirement requiremnt = new MyRequirement();
Requirement req = response.getEntity(Requirement.class);
requiremnt.setId(Integer.parseInt(req.getIdentifier() ));
requiremnt.setSummary(req.getTitle());
requirements.add(requiremnt);
System.out.println("Title: " + req.getTitle() + "Identifire :" + req.getIdentifier() ) ;
System.out.println("");
}
Your help would greatly appreciated. :)
|
Accepted answer
![]()
Hi,
The oslc.where param must specify something like : " oslc.where=nav:parent=<https://grarrc.ibm.com:9443/rm/folders/_RHCJYN5jEeGb6IIbvOh9Dw> " Naveen Tyagi selected this answer as the correct answer
Comments i am not able to open this link (https://rhnaranjo.wordpress.com/2012/06/25/folder-support-added-to-rrc-4-0-oslc-rm-api-implementation/) since i have limited access but I will look into this article at home and let you know for any Issue. Thanks for reply. :) :) Thanks Garbiel!!!
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
Hi naveen,
Hi naveen,
Hi Suditp,
OslcQueryParameters queryParams = new OslcQueryParameters();
if(folderUri==null)
{
queryParams.setPrefix("rdf=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
queryParams.setWhere("rdf:type=<http://open-services.net/ns/rm#Requirement>");
}
else
{
queryParams.setPrefix("nav=<http://com.ibm.rdm/navigation#>,rdf=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
queryParams.setWhere("nav:parent=<"+ folderUri +">, rdf:type=<http://open-services.net/ns/rm#Requirement>");
}
if you want to get all the requirements from root folder then pass null and if will execute otherwise else part contains query to get the requirements from any particular folder.
showing 5 of 7
show 2 more comments
|
One other answer
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.