groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "gary_gandy@trendmicro.com" <gary_ga...@trendmicro.com>
Subject Groovy and the OSGI R6 Annotations
Date Thu, 01 Nov 2018 15:45:58 GMT
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>

Mime
View raw message