Получить тип атрибута DOORS через LYO
Я пытаюсь использовать LYO (org.eclipse.lyo.clients:oslc-java-client:2.4.0
) для чтения требований из DOORS через OSLC и их синтаксического анализа в 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-INTEGER
, ATTRIBUTE-VALUE-DATE
и т.д... Теперь, по большей части, объекты, содержащиеся в requirement.extendedProperties[x].value
имеют четко отображаемый тип, например int
или date
. Однако в некоторых случаях они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
Теперь я понимаю, что эти URI указывают на ресурсы DOORS. Первая и третья - это ссылки на значения перечисления, и я не знаю, что это за вторая. Однако, насколько я понимаю, я должен иметь доступ к соответствующим ресурсам DOORS, используя эти URI, а затем иметь возможность взглянуть на них, чтобы определить, что они собой представляют, и, следовательно, как их анализировать.
Однако это когда все терпит неудачу, потому что, когда я пытаюсь сделать этот запрос:
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
, или что-то.
Итак, вот вопрос: на основе того URI, который содержится в requirement.extendedProperties[x].value
, как я могу получить ресурс, на который он указывает, чтобы определить тип атрибута, который я должен использовать? По-видимому,oslcOauthClient.getResource
использовать неправильно, или я использую неправильно. Возможно, в этом случае второй параметр неверен (даже если он работает для получения требования), но тогда я понятия не имею, какой параметр будет правильным или как его определить.
Или еще короче:
Итак, я понял, что значением этого атрибута является URI http://localhost:8080/dwa/rm/urn:rational::1-5efc6f9a4ff877cf-M-00000100/types/attrDef-1025#1
.
...что теперь?