ExportXMLWordPrintable

    • 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.

      Example exception

      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)

            Assignee:
            Matt Magoffin
            Reporter:
            Matt Magoffin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: