-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major
-
Component/s: Setup
-
None
If a component is added or imported with an identifier that contains parenthesis characters, the settings fail to get registered.
Exception in thread "SolarNode-Core-8" java.lang.RuntimeException: org.osgi.framework.InvalidSyntaxException: Invalid value at "(Water)))": (&(service.factoryPid=net.solarnetwork.node.datum.mbus)(net.solarnetwork.node.settings.ca.CASettingsService.FACTORY_INSTANCE_KEY=B-Meter (Water)))
at net.solarnetwork.node.settings.ca.CASettingsService$1.run(CASettingsService.java:235)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.osgi.framework.InvalidSyntaxException: Invalid value at "(Water)))": (&(service.factoryPid=net.solarnetwork.node.datum.mbus)(net.solarnetwork.node.settings.ca.CASettingsService.FACTORY_INSTANCE_KEY=B-Meter (Water)))
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_substring(FilterImpl.java:1706)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_item(FilterImpl.java:1613)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_filtercomp(FilterImpl.java:1519)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_filter(FilterImpl.java:1485)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_and(FilterImpl.java:1534)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_filtercomp(FilterImpl.java:1508)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse_filter(FilterImpl.java:1485)
at org.eclipse.osgi.internal.framework.FilterImpl$Parser.parse(FilterImpl.java:1464)
at org.eclipse.osgi.internal.framework.FilterImpl.newInstance(FilterImpl.java:150)
at org.eclipse.osgi.internal.framework.FilterImpl.newInstance(FilterImpl.java:146)
at org.osgi.framework.FrameworkUtil.createFilter(FrameworkUtil.java:72)
at org.eclipse.equinox.internal.cm.ConfigurationAdminImpl.listConfigurations(ConfigurationAdminImpl.java:90)
at jdk.internal.reflect.GeneratedMethodAccessor102.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy96.listConfigurations(Unknown Source)
at net.solarnetwork.node.settings.ca.CASettingsService.findExistingConfiguration(CASettingsService.java:1457)
at net.solarnetwork.node.settings.ca.CASettingsService.getConfiguration(CASettingsService.java:1445)
at net.solarnetwork.node.settings.ca.CASettingsService.access$1(CASettingsService.java:1439)
at net.solarnetwork.node.settings.ca.CASettingsService$1.run(CASettingsService.java:224)