]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/admin/FelixShellCommand.java
Completely refactor the way the execution server looks for steps
[gpl/argeo-slc.git] / runtime / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / admin / FelixShellCommand.java
1 package org.argeo.slc.detached.admin;
2
3 import org.argeo.slc.detached.DetachedAdminCommand;
4 import org.argeo.slc.detached.DetachedAnswer;
5 import org.argeo.slc.detached.DetachedException;
6 import org.argeo.slc.detached.DetachedRequest;
7 import org.osgi.framework.BundleContext;
8 import org.osgi.framework.ServiceReference;
9
10 public class FelixShellCommand implements DetachedAdminCommand {
11 public final static String PROP_FELIX_CMDLINE = "slc.detached.felix.cmdline";
12
13 public DetachedAnswer execute(DetachedRequest request,
14 BundleContext bundleContext) {
15 ServiceReference ref = bundleContext
16 .getServiceReference("org.apache.felix.shell.ShellService");
17 if (ref == null)
18 throw new DetachedException("Felix shell service not found.");
19
20 String cmdLine = request.getProperties()
21 .getProperty(PROP_FELIX_CMDLINE);
22 if (cmdLine == null)
23 throw new DetachedException("Property " + PROP_FELIX_CMDLINE
24 + " must be defined.");
25
26 // TODO: check were to put Felix dependency
27 // see http://felix.apache.org/site/apache-felix-shell-service.html
28 throw new DetachedException("Not yet implemented.");
29 }
30 }