通过LYO

问题描述

我正在尝试使用LYO(org.eclipse.lyo.clients:oslc-java-client:2.4.0)通过OSLC从DOORS中读取需求并将其解析为reqif。我使用此请求成功读取了Requirement对象:

        String requirementURL = http://localhost:8080/dwa/rm/urn:rational::1-5efc6f9a4ff877cf-O-2-00000100;
        ClientResponse requirementResponse = oslcOauthClient.getResource(requirementURL,OslcmediaType.APPLICATION_RDF_XML);
        Requirement requirement = requirementResponse.getEntity(Requirement.class);

这样做的时候,我在尝试解析属性值时遇到了一个问题。从DOORS角度来看,它们位于requirement.extendedProperties[x].value中。但是,有一个问题。 reqif标准定义了7种必须遵循的属性值类型,例如ATTRIBUTE-VALUE-INTEGERATTRIBUTE-VALUE-DATE等。现在,requirement.extendedProperties[x].value中包含的对象大部分是清晰可映射的类型,例如intdate。但是,在某些情况下,它们是URI。这是此时出现的一些示例或URI:

http://localhost:8080/dwa/rm/urn:rational::1-5efc6f9a4ff877cf-M-00000100/types/attrDef-1025#1
http://localhost:8080/dwa/rm/acp/urn:rational::1-5efc6f9a4ff877cf-F-00000000/gFgcK1req0%252BQ5gE6yE5YsEZZcDI%253D%250A
http://localhost:8080/dwa/rm/urn:rational::1-5efc6f9a4ff877cf-M-00000100/types/attrDef-10#1

现在 I 了解这些URI指向DOORS资源。第一个和第三个是Enumeration值引用,我不知道第二个是什么。但是,据我了解,我应该能够使用这些URI访问相应的DOORS资源,然后能够查看它们以确定它们是什么,从而确定它们的用途。解析它们。

但是,这是当一切都失败的时候,因为当我尝试发出此请求时:

        String uriValue = http://localhost:8080/dwa/rm/urn:rational::1-5efc6f9a4ff877cf-M-00000100/types/attrDef-1025#1;
        ClientResponse response = oslcOauthClient.getResource(uriValue,OslcmediaType.APPLICATION_RDF_XML);

... response.entity的对象类型为EofSensorInputStream,而不是包含可用实体的响应,而我期望类似 EnumValue之类的东西。

因此,这是一个问题:基于requirement.extendedProperties[x].value中包含的URI,我如何才能检索它指向的资源以确定我必须使用的属性类型?显然,oslcOauthClient.getResource错误的使用方式,或者我以错误的方式使用了它。也许第二个参数在这种情况下是错误的(即使它可以用于检索需求),但后来我不知道什么是正确的参数或如何弄清楚。

或使其更短:

因此,我发现此属性的值为URI http://localhost:8080/dwa/rm/urn:rational::1-5efc6f9a4ff877cf-M-00000100/types/attrDef-1025#1

...现在是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...