Hello,
I've been creating an OSGI bundle using Groovy, and I've run into the following
issue using one of the OSGI R6 metadata annotations. When creating a
configuration for an OSGI service, you define a custom annotation in Java as
the following:
- - - - - JSONServiceConfig.java - - - - -
package com.company.core.service
import org.osgi.service.metatype.annotations.AttributeDefinition;
import org.osgi.service.metatype.annotations.ObjectClassDefinition;
@ObjectClassDefinition(
name = "JSONService configuration",
description = "This configures the outgoing proxy setup
options for the JSONService"
)
public @interface JSONServiceConfig {
@AttributeDefinition( name="Proxy Address", description = "IP
address for the proxy" )
String proxyAddress();
@AttributeDefinition( name="Proxy Port", description = "Port number
of the proxy" )
int proxyPort();
}
- - - - -
The equivalent code in Groovy is hardly changed at all:
- - - - - JSONServiceConfig.groovy - - - - -
package com.company.core.service
import org.osgi.service.metatype.annotations.AttributeDefinition
import org.osgi.service.metatype.annotations.ObjectClassDefinition
@ObjectClassDefinition(
name = "JSONService configuration",
description = "This configures the outgoing proxy setup
options for the JSONService"
)
public @interface JSONServiceConfig {
@AttributeDefinition( name="Proxy Address", description = "IP
address for the proxy" )
String proxyAddress()
@AttributeDefinition( name="Proxy Port", description = "Port number
of the proxy" )
int proxyPort()
}
- - - - -
However, when compiling the Groovy code, the compiler stops at the following
error:
JSONServiceConfig.groovy: 6: Annotation
@org.osgi.service.metatype.annotations.ObjectClassDefinition is not allowed on
element ANNOTATION
@ line 6, column 1.
@ObjectClassDefinition(
^
1 error
Is there some reason that the previous code will compile in Java but not in
Groovy, and are there any alterations to be made on the Groovy code to allow
compilation?
Regards,
Gary
<table class="TM_EMAIL_NOTICE"><tr><td><pre>
TREND MICRO EMAIL NOTICE
The information contained in this email and any attachments is confidential
and may be subject to copyright or other intellectual property protection.
If you are not the intended recipient, you are not authorized to use or
disclose this information, and we request that you notify us by reply mail or
telephone and delete the original message from your mail system.
</pre></td></tr></table>