You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Alasdair Nottingham (JIRA)" <ji...@apache.org> on 2010/02/19 13:11:27 UTC

[jira] Created: (FELIX-2106) Resolver scoped Repository

Resolver scoped Repository
--------------------------

                 Key: FELIX-2106
                 URL: https://issues.apache.org/jira/browse/FELIX-2106
             Project: Felix
          Issue Type: Improvement
          Components: Bundle Repository (OBR)
            Reporter: Alasdair Nottingham


I'm a committer on the apache aries podling and I have been involved
in creating an application resolver that makes use of OBR to resolve
dependencies. In our model we resolve applications against configure
OBR repositories, and against a private repository that exists just
for that application.

>From what I can tell when you add a repository to RepositoryAdmin it
has a global effect which means that any other calls to resolve will
use the repository. This means my private repository isn't necessarily
private. I currently remove it again after resolving and synchronise
so I only resolve one application at a time, but any other
RepositoryAdmin client will be exposed to my externals.

I am raising this JIRA to get an enhancement to the Resolver interface to
add an addRepository method so I can add a repository that is only
used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836234#action_12836234 ] 

Guillaume Nodet commented on FELIX-2106:
----------------------------------------

I do understand that this is not the same issue.  But they are related because they will both impact the API somehow.  So we don't want to modify the API in a way that won't work for FELIX-692.

> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835850#action_12835850 ] 

Guillaume Nodet commented on FELIX-2106:
----------------------------------------

I may be wrong, but I think another limitation is the fact that you can't access which local resources are used in the output of the resolution.  All local resource are simply removed.
This may be a problem for Aries because I think we want to know all the bundles that are "part" of the application somehow.
We might want to consider adding two fields to the resolver to hold mandatory local resources and optional local resources.

One way to work around that would be to allow the creation of a resolver without the local repository and be able to add the local repository as an external repository.

I think one way to work around all those issues would be to add a method like:
     Resolver resolver(Repository[] repositories);
     Repository getLocalRepository();
to teh RepositoryAdmin.


> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837075#action_12837075 ] 

Richard S. Hall commented on FELIX-2106:
----------------------------------------

The main issue with the former is that means that the lifetime of the repositories is not the same as the lifetime of the resolver object. This is not a big deal, necessarily, but we just need to define what it means when these change.

For example, if they change during a resolve operation are they ignored? What happens if they are changed after a resolve, does that invalidate the result? Not too big of a deal, but we just need to define it.

> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Alasdair Nottingham (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835967#action_12835967 ] 

Alasdair Nottingham commented on FELIX-2106:
--------------------------------------------

Guillaume I agree we do want to be able to ignore local resources in the resolve, but that is not this issue, but FELIX-692

> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Alasdair Nottingham (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836927#action_12836927 ] 

Alasdair Nottingham commented on FELIX-2106:
--------------------------------------------

>From an API perspective I would go for the former option. It looks like a less invasive change, and it doesn't affect users of the existing API. Also I think it works better for progressive disclosure perspective. It is less in your face.

Not sure which is easier to implement though.

> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836889#action_12836889 ] 

Guillaume Nodet commented on FELIX-2106:
----------------------------------------

I'd like to tackle this issue, but I'm still wondering if the best solution is to:
  * add the following methods to the Resolver:  addRepository/removeRepository/getRepositories
or
  * add the following methods to the RepositoryAdmin: getLocalRepository/getSystemRepository/resolver(Respository[]) 

> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Resolved: (FELIX-2106) Resolver scoped Repository

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet resolved FELIX-2106.
------------------------------------

       Resolution: Fixed
    Fix Version/s: bundlerepository-1.6.0

Committing to https://svn.apache.org/repos/asf/felix/trunk ...
	D	bundlerepository/src/test/java/org/apache/felix/bundlerepository/MockBundleContext.java
	M	bundlerepository/pom.xml
	M	bundlerepository/src/main/java/org/apache/felix/bundlerepository/LocalRepositoryImpl.java
	A	bundlerepository/src/main/java/org/apache/felix/bundlerepository/LocalResourceImpl.java
	M	bundlerepository/src/main/java/org/apache/felix/bundlerepository/Logger.java
	M	bundlerepository/src/main/java/org/apache/felix/bundlerepository/RepositoryAdminImpl.java
	M	bundlerepository/src/main/java/org/apache/felix/bundlerepository/RepositoryImpl.java
	M	bundlerepository/src/main/java/org/apache/felix/bundlerepository/ResolverImpl.java
	A	bundlerepository/src/main/java/org/apache/felix/bundlerepository/SystemRepositoryImpl.java
	M	bundlerepository/src/test/java/org/apache/felix/bundlerepository/RepositoryAdminTest.java
	M	bundlerepository/src/test/java/org/apache/felix/bundlerepository/RepositoryImplTest.java
	M	bundlerepository/src/test/java/org/apache/felix/bundlerepository/ResolverImplTest.java
	M	bundlerepository/src/test/java/org/apache/felix/bundlerepository/StaxParserTest.java
	M	org.osgi.service.obr/src/main/java/org/osgi/service/obr/Repository.java
	M	org.osgi.service.obr/src/main/java/org/osgi/service/obr/RepositoryAdmin.java
	M	org.osgi.service.obr/src/main/java/org/osgi/service/obr/Resource.java
Committed r915288


> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>            Assignee: Guillaume Nodet
>             Fix For: bundlerepository-1.6.0
>
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Commented: (FELIX-2106) Resolver scoped Repository

Posted by "Richard S. Hall (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835932#action_12835932 ] 

Richard S. Hall commented on FELIX-2106:
----------------------------------------

The idea to treat the local repository more similar to any normal repository is related to this issue:

    https://issues.apache.org/jira/browse/FELIX-692


> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Assigned: (FELIX-2106) Resolver scoped Repository

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet reassigned FELIX-2106:
--------------------------------------

    Assignee: Guillaume Nodet

> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>            Assignee: Guillaume Nodet
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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


[jira] Closed: (FELIX-2106) Resolver scoped Repository

Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler closed FELIX-2106.
-----------------------------------


> Resolver scoped Repository
> --------------------------
>
>                 Key: FELIX-2106
>                 URL: https://issues.apache.org/jira/browse/FELIX-2106
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>            Reporter: Alasdair Nottingham
>            Assignee: Guillaume Nodet
>             Fix For: bundlerepository-1.6.0
>
>
> I'm a committer on the apache aries podling and I have been involved
> in creating an application resolver that makes use of OBR to resolve
> dependencies. In our model we resolve applications against configure
> OBR repositories, and against a private repository that exists just
> for that application.
> From what I can tell when you add a repository to RepositoryAdmin it
> has a global effect which means that any other calls to resolve will
> use the repository. This means my private repository isn't necessarily
> private. I currently remove it again after resolving and synchronise
> so I only resolve one application at a time, but any other
> RepositoryAdmin client will be exposed to my externals.
> I am raising this JIRA to get an enhancement to the Resolver interface to
> add an addRepository method so I can add a repository that is only
> used by that Resolver instance and isn't global.

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