[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[dsdp-tcf-dev] [Bug 281259] New: [tcf][api] Support Capabilities in TCF framework to manage protocol extensions / semantics
|
https://bugs.eclipse.org/bugs/show_bug.cgi?id=281259
Product/Component: Target Management / TCF
Summary: [tcf][api] Support Capabilities in TCF framework to
manage protocol extensions / semantics
Product: Target Management
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Keywords: api
Severity: enhancement
Priority: P3
Component: TCF
AssignedTo: dsdp.tm.tcf-inbox@xxxxxxxxxxx
ReportedBy: martin.oberhuber@xxxxxxxxxxxxx
QAContact: martin.oberhuber@xxxxxxxxxxxxx
CC: martin.gutschelhofer@xxxxxxxxxxxxx,
uwe.stieber@xxxxxxxxxxxxx, tobias.schwarz@xxxxxxxxxxxxx
The TCF Discovery protocol defines a method for obtaining key/value pairs that
describe the remote system. But it does not specify what specific keys are
supported, or what their meaning is.
Multiple different vendors can implement specific key/value pairs with specific
semantics. It would be good if the TCF IService interface would allow to query
a service for the capabilities that it supports: Where each capability is a
String in reverse DNS notation, e.g.
String[] capabilities = myService.getCapabilities();
if (Arrays.asList(capabilities).contains("com.foo.theCapabilitiy")) {
/* perform code which requires given capability */
}
Capabilities are binary, i.e. any capabilitiy is either available in a specific
service implementation or not. Looking at available capabilities, a client can
then decide whether it can make use of a specific provided service or not.
There are other usage scenarios for capabilities, especially
backward-compatible protocol extensions. I am aware that in general, TCF would
strive for a new service ID when a particular service is extended or modified.
The drawback of using a completely new ID is that backward-compatible protocol
extensions are a lot effort to code against in the client.
Keeping the same protocol name around for backward compatible extensions, but
then marking existence or non-existence of specific capabilities with a
Capabilitity specifier as proposed enough seems to be a much easier way for
such backward compatible extensions.
--
Configure bugmail: https://bugs.eclipse.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.