You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Lindley Andrew <An...@ait.ac.at> on 2011/03/17 13:50:19 UTC
karaf shell extension with iPojo
Dear all,
I am using Karaf 2.1.0 and want to extend the shell with my own shell-commands.
There's a great tutorial showing how to do this with blueprint.
http://karaf.apache.org/manual/2.1.99-SNAPSHOT/developers-guide/extending-console.html
I was trying to do this with iPojo but did not succeed. That's the sample I was trying to run.
public interface SampleTUI {
// the supported operations on the shell we're extending
String FUNCTION_STR = "[list]";
// will be used in the activator to define the namespace within the shell
String SCOPE = "preserv";
public void list();
}
@Component(name="sample.addons.api.command.KarafSampleTUI")
@Provides
public class KarafSampleTUI implements SampleTUI {
// the supported operations on the shell we're extending
@ServiceProperty(name="osgi.command.function", value=ServiceRegistryTUI.FUNCTION_STR)
public String[] functions;
// will be used in the activator to define the namespace within the shell
@ServiceProperty(name="osgi.command.scope", value=ServiceRegistryTUI.SCOPE)
public String scope;
//these fields are injected
//@Requires
//private MyUtils mu;
@Descriptor("some sample description")
public void list() {
System.out.println("testing list");
}
}
<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd
org.apache.felix.ipojo.extender http://felix.apache.org/ipojo/schemas/CURRENT/extender-pattern.xsd"
xmlns="org.apache.felix.ipojo">
<instance component="sample.addons.api.command.KarafSampleTUI"/>
</ipojo>
It perfectly runs within Felix using gogo, but not in karaf (using Felix). Is this specific to gogo?
I also had a look at apache\felix\ipojo\arch\ and apache\felix\ipojo\arch\gogo but both aren't working in karaf as well.
Thanks for your support,
Kr Andrew