Commit 26401e3a authored by Marco Descher's avatar Marco Descher
Browse files

Add p2 update feature, multiple changes

parent 899d8f43
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -3,10 +3,6 @@
# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

rebel.xml
bin/
target/
@@ -16,3 +12,9 @@ profile.tmp

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

## OS
.DS_Store
Icon?
nohup.out
.bak
+7 −1
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ Bundle-Version: 1.0.0.qualifier
Bundle-Activator: info.elexis.server.core.p2.Activator
Bundle-Vendor: elexis.info
Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.equinox.ds,
 org.eclipse.osgi.services,
 org.eclipse.equinox.security,
 org.eclipse.equinox.p2.core,
 org.eclipse.equinox.p2.engine,
@@ -19,11 +21,15 @@ Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.ecf.identity;bundle-version="3.1.200",
 org.eclipse.ecf.provider.filetransfer;bundle-version="3.2.0",
 org.eclipse.ecf.provider.filetransfer.httpclient4;bundle-version="1.0.2000",
 org.eclipse.core.net;bundle-version="1.2.300",
 info.elexis.server.core;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/*.xml
Import-Package: javax.ws.rs;version="1.1.1",
Import-Package: javax.servlet;version="3.1.0",
 javax.servlet.http;version="2.4.0",
 javax.ws.rs;version="1.1.1",
 javax.ws.rs.core;version="2.0.1",
 org.osgi.service.component.annotations;version="1.2.0",
 org.slf4j
Export-Package: info.elexis.server.core.p2
+5 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="info.elexis.server.core.p2.internal.Provisioner" activate="activate">
    <implementation class="info.elexis.server.core.p2.internal.Provisioner"/>
    <reference name="AgentProvider" interface="org.eclipse.equinox.p2.core.IProvisioningAgentProvider" cardinality="1..1" policy="static" bind="setAgentProvider" unbind="unsetAgentProvider"/>
</scr:component>
+4 −0
Original line number Diff line number Diff line

org.eclipse.equinox.p2.core.ProvisionException: Error while reading from repository ->
https://wiki.eclipse.org/Disabling_Apache_Httpclient
http://stackoverflow.com/questions/22148782/unable-to-connect-to-the-eclipse-luna-market 
 No newline at end of file
+5 −21
Original line number Diff line number Diff line
package info.elexis.server.core.p2;

import java.util.Collection;
import org.eclipse.core.runtime.IStatus;

import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.p2.operations.Update;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import info.elexis.server.core.p2.internal.Provisioner;
import info.elexis.server.core.p2.internal.ProvisioningHelper;
import it.sauronsoftware.cron4j.Task;
import it.sauronsoftware.cron4j.TaskExecutionContext;

public class SystemUpdateTask extends Task {

	private Logger log = LoggerFactory.getLogger(SystemUpdateTask.class);
	
	@Override
	public void execute(TaskExecutionContext context) throws RuntimeException {
		Provisioner p = new Provisioner();
		if(!p.updateServiceIsConnectable()) {
			log.warn("Update service is not connectable.");
			context.setStatusMessage("Update service is not connectable.");
			return;
		}
		
		Collection<Update> availableUpdates = p.getAvailableUpdates();
		if(availableUpdates.size()>0) {
			p.update(availableUpdates, new NullProgressMonitor());
		}
		context.setStatusMessage("Checking for updates");
		IStatus updateAllFeatures = ProvisioningHelper.updateAllFeatures();
		context.setStatusMessage(updateAllFeatures.getMessage());
	}

	@Override
Loading