Hi.
I found what may be a bug when a service name has a digit (0-9) in it.
The following exception is thrown when a client service looks up the
service.

org.osgi.framework.BundleException: Activator start error.
   at org.apache.felix.framework.Felix._startBundle(Felix.java:1579)
   at org.apache.felix.framework.Felix.startBundle(Felix.java:1469)
   at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:348)
   at 
org.apache.felix.shell.impl.StartCommandImpl.execute(StartCommandImpl.java:82)
   at 
org.apache.felix.shell.impl.Activator$ShellServiceImpl.executeCommand(Activator.java:265)
   at 
org.apache.felix.shell.tui.Activator$ShellTuiRunnable.run(Activator.java:167)
   at java.lang.Thread.run(Thread.java:712)
Caused by: org.osgi.framework.InvalidSyntaxException: expected =|~=|>=|<=
   at org.apache.felix.framework.FilterImpl.<init>(FilterImpl.java:75)
   at org.apache.felix.framework.Felix.getServiceReferences(Felix.java:2673)
   at 
org.apache.felix.framework.Felix.getAllowedServiceReferences(Felix.java:2720)
   at 
org.apache.felix.framework.BundleContextImpl.getServiceReferences(BundleContextImpl.java:370)
   at au.edu.qut.ranet.p2ps.service.itest.Activator.start(Activator.java:29)
   at 
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)
   at org.apache.felix.framework.Felix._startBundle(Felix.java:1535)
   ...6 more
org.osgi.framework.InvalidSyntaxException: expected =|~=|>=|<=

It seems to emanant from Parser.java and in particular, the following
lines:
if (op == NOOP)
{
    String oplist = "=|~=|>=|<=";
    throw new ParseException("expected " + oplist);
}

What seems to be happening if the char is not a letter of the alphabet
it assumes it must be an operator. I had a number as part of the
property name. A better error message would make it much easier to
pick up the problem.

Do properties normally not have numbers in them? I don't know. The
service did not complain when I registered it.

regards,
ken.

Reply via email to