Hey all,
I am trying to use the osgi mocks in the following setup:
@Component
@Designate(ocd = ServiceImpl.Config.class)
public class ServiceImpl implements Service {
@ObjectClassDefinition
@interface Config {
String property() default "value";
}
private Config config;
@Activate
public void activate(Config config) {
this.config = config;
}
}
Test class:
service = context.registerInjectActivateService(new ServiceImpl(), "property",
"some-value");
But I am getting the following exception:
java.lang.RuntimeException: No matching activation method with name 'activate'
found in class some.packagename.ServiceImpl
at
org.apache.sling.testing.mock.osgi.OsgiServiceUtil.activateDeactivate(OsgiServiceUtil.java:157)
at
org.apache.sling.testing.mock.osgi.MockOsgi.activate(MockOsgi.java:209)
at
org.apache.sling.testing.mock.osgi.MockOsgi.activate(MockOsgi.java:220)
at
org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectActivateService(OsgiContextImpl.java:160)
at
org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectActivateService(OsgiContextImpl.java:174)
Is this a known issue or am I using it wrong?
Greets,
Roy