[ 
https://issues.apache.org/jira/browse/FELIX-285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard S. Hall resolved FELIX-285.
-----------------------------------

    Resolution: Fixed
      Assignee: Richard S. Hall

I applied this patch. I modified it slightly. In particular, I got rid of the 
additional logging messages since there is no way currently to turn them off 
(we need to use the logging service), I changed Vector usage to List, modified 
the style to conform to the project style, and removed the check for whether or 
not the candidate is resolved since it should be caught in the cycle check any 
way so it is unnecessary to check. I think that was it.

Bart, if everything appears ok for you, please close this issue.

> Make resolver more robust
> -------------------------
>
>                 Key: FELIX-285
>                 URL: https://issues.apache.org/jira/browse/FELIX-285
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>    Affects Versions: 1.0.0
>            Reporter: Bart Elen
>         Assigned To: Richard S. Hall
>             Fix For: 1.0.0
>
>         Attachments: ResolverImpl.java
>
>
> There are two issues with the resolver of the current OBR implementation:
> 1) It does not try each possible composition
> Suppose we want to install bundle A, and A has a requirement which can be 
> fulfilled by bundle B or C. B itself has a requirement which can be fulfilled 
> by bundle X and bundle C has a requirement which can be fulfilled by bundle Y.
> A-B-X
> A-C-Y
> Suppose now that bundle X is not available (or can not be installed on the 
> local platform)
> A-B-
> A-C-Y
> composition A-C-Y is now a correct composition, but the current 
> implementation will notice that bundle B can not be resolved and will then 
> stop. OBR will not always detect the correct composition.
> 2) Bundles are not always updated
> Suppose we want to install bundle A which has a requirement which can be 
> fulfilled by bundle B.
> A-B
> An old version of bundle B is already locally installed on the platform but a 
> newer version is available on the repository server. The current OBR 
> implementation will detect that the requirement of A can be met by the 
> locally installed old version of B and it will not check for a newer version 
> on the repository server.
> I attached a fixed version of ResolverImpl.java in which the described issues 
> are fixed.
> This is my first issue submit ever. Feedback to make it better is appreciated.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to