You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (Jira)" <ji...@apache.org> on 2021/11/24 07:43:00 UTC
[jira] [Created] (SLING-10935) Improve error message when mandatory references cannot be resolved for constructor injection
Konrad Windszus created SLING-10935:
---------------------------------------
Summary: Improve error message when mandatory references cannot be resolved for constructor injection
Key: SLING-10935
URL: https://issues.apache.org/jira/browse/SLING-10935
Project: Sling
Issue Type: Improvement
Components: Testing
Affects Versions: Testing OSGi Mock 3.1.4
Reporter: Konrad Windszus
Assignee: Konrad Windszus
When constructor injection is used and a reference is only used as argument to the constructor it gets an automatically generated name by Bnd like "$001" which leads to the following error message when a reference cannot be injected:
{code}
org.apache.sling.testing.mock.osgi.ReferenceViolationException: Unable to inject mandatory reference '$001' for class <MyDSComponentClass> : no matching services were found.
at org.apache.sling.testing.mock.osgi.OsgiServiceUtil.buildConstructorInjectionValue(OsgiServiceUtil.java:568)
at org.apache.sling.testing.mock.osgi.OsgiServiceUtil.buildConstructorInjectionValues(OsgiServiceUtil.java:533)
at org.apache.sling.testing.mock.osgi.OsgiServiceUtil.instantiateServiceWithActivateInject(OsgiServiceUtil.java:493)
at org.apache.sling.testing.mock.osgi.OsgiServiceUtil.activateInjectServices(OsgiServiceUtil.java:456)
at org.apache.sling.testing.mock.osgi.MockOsgi.activateInjectServices(MockOsgi.java:190)
at org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectActivateService(OsgiContextImpl.java:191)
at org.apache.sling.testing.mock.osgi.context.OsgiContextImpl.registerInjectActivateService(OsgiContextImpl.java:179)
...
{code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)