Skip to content

Commit 73760d4

Browse files
committed
[27434] Try to fix p2 service
1 parent 7e44c04 commit 73760d4

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

bundles/es.core.p2/OSGI-INF/info.elexis.server.core.p2.internal.Provisioner.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
<provide interface="info.elexis.server.core.p2.IProvisioner"/>
55
</service>
66
<reference bind="setAgentProvider" cardinality="1..1" interface="org.eclipse.equinox.p2.core.IProvisioningAgentProvider" name="AgentProvider" policy="static" unbind="unsetAgentProvider"/>
7+
<reference bind="setMetadataRepositoryManager" interface="org.eclipse.equinox.p2.core.spi.IAgentServiceFactory" name="MetadataRepositoryManager" target="(p2.agent.servicename=org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager)"/>
78
<implementation class="info.elexis.server.core.p2.internal.Provisioner"/>
89
</scr:component>

bundles/es.core.p2/src/info/elexis/server/core/p2/internal/Provisioner.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.eclipse.equinox.p2.core.IProvisioningAgent;
1919
import org.eclipse.equinox.p2.core.IProvisioningAgentProvider;
2020
import org.eclipse.equinox.p2.core.ProvisionException;
21+
import org.eclipse.equinox.p2.core.spi.IAgentServiceFactory;
2122
import org.eclipse.equinox.p2.engine.IProfile;
2223
import org.eclipse.equinox.p2.engine.IProfileRegistry;
2324
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
@@ -70,6 +71,11 @@ protected void setAgentProvider(IProvisioningAgentProvider agentProvider) {
7071
this.agentProvider = agentProvider;
7172
}
7273

74+
@Reference(target = "(p2.agent.servicename=org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager)")
75+
protected void setMetadataRepositoryManager(IAgentServiceFactory serviceFactory) {
76+
// is necessary to have the service loaded on startup
77+
}
78+
7379
protected void unsetAgentProvider(IProvisioningAgentProvider agentProvider) {
7480
this.agentProvider = null;
7581
}
@@ -225,16 +231,16 @@ public Collection<IInstallableUnit> getInstalledFeatures() {
225231

226232
@Override
227233
public Collection<IInstallableUnit> getAllAvailableFeatures(IProgressMonitor monitor) {
228-
if(monitor == null) {
234+
if (monitor == null) {
229235
monitor = new NullProgressMonitor();
230236
}
231-
IQueryResult<IInstallableUnit> result =
232-
metadataRepositoryManager.query(QueryUtil.createIUGroupQuery(), monitor);
237+
IQueryResult<IInstallableUnit> result = metadataRepositoryManager.query(QueryUtil.createIUGroupQuery(),
238+
monitor);
233239
return result.toSet();
234240
}
235241

236242
@Override
237-
public IInstallableUnit getFeatureInAllAvailableFeatures(IProgressMonitor monitor, String id){
243+
public IInstallableUnit getFeatureInAllAvailableFeatures(IProgressMonitor monitor, String id) {
238244
Collection<IInstallableUnit> allAvailableFeatures = getAllAvailableFeatures(monitor);
239245
for (IInstallableUnit iu : allAvailableFeatures) {
240246
if (iu.getId().equalsIgnoreCase(id))
@@ -286,9 +292,9 @@ public void addRepository(URI location, String username, String password) {
286292

287293
registerHttpAuthentication(location, username, password);
288294
}
289-
295+
290296
@Override
291-
public IStatus loadRepository(IProgressMonitor monitor, URI location){
297+
public IStatus loadRepository(IProgressMonitor monitor, URI location) {
292298
try {
293299
metadataRepositoryManager.loadRepository(location, monitor);
294300
return Status.OK_STATUS;

0 commit comments

Comments
 (0)