[
https://issues.apache.org/jira/browse/FELIX-4158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre De Rop resolved FELIX-4158.
----------------------------------
Resolution: Fixed
Fix Version/s: dependencymanager-4.0.0
Committed a patch in revision 1636069 for this issue, and also the
corresponding test case in [1].
The component implementation class name and the provided services was already
returned by ComponentDeclaration.getClassName() and
ComponentDeclaration.getServices() methods.
For the dependency class name and dependency filter, I just added the following
signatures in the ComponentDependencyDeclaration interface:
- ComponentDependencyDeclaration.getSimpleName(): only returns the dependency
name (it does not include the filters, unlike the getName() method does).
- ComponentDependencyDeclaration.getFilter(): returns the dependency filter.
(see the FELIX4158_DependencyDeclarationTest for examples).
[1]
http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX4158_DependencyDeclarationTest.java
> ComponentDeclaration should give access to component information
> ----------------------------------------------------------------
>
> Key: FELIX-4158
> URL: https://issues.apache.org/jira/browse/FELIX-4158
> Project: Felix
> Issue Type: Improvement
> Components: Dependency Manager
> Reporter: Arjun Panday
> Priority: Minor
> Fix For: dependencymanager-4.0.0
>
>
> DependencyManager has a ComponentDeclaration and
> ComponentDependencyDeclaration interface to get information about the
> components it manages, but these interfaces don't have a explicit access to
> the implementation class, the exposed interfaces or the dependency filter.
> For now, one can only parse Component.toString to find the services and
> implementation (assuming the implementation doesn't override its toString
> method), and parse ComponentDependencyDeclaration.getName to find the
> requested service and filter. This kind of parsing is naturally very unsafe
> and dependent on the implementation details.
> I suggest to add the following methods:
> ComponentDeclaration.getImplementation should return the implementation class
> name
> ComponentDeclaration.getServices should return a list of interfaces declared
> by the component
> ComponentDependencyDeclaration.getService should return the requested service
> name (interface)
> ComponentDependencyDeclaration.getFilter should return the associated filter
> Although minor, these changes would be very useful. (My immediate need is for
> the improvement of the service diagnostics webconsole plugin)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)