Comment #2 on issue 2 by [email protected]: JAIN Slee Annotations
http://code.google.com/p/jain-slee/issues/detail?id=2
Hello Jakub,
I find your tool very useful. I tested it and it looks promising. Do you
plan to improve the JSA tool or maybe you already did it?
I found same small issues that I list below:
Issue 1: Generated <resource-adaptor-type-binding> descriptor tag shouldn’t
always include optional <resource-adaptor-entity-binding>.
Please note that <resource-adaptor-entity-binding> is optional (see:
description in slee-sbb-jar_1_1.dtd or paragraph 3.1.8 page 30 of JAIN SLEE
1.1. spec). Therefor IMHO objectName and entityLink should be optional
elements of org.jslee.sbb.annotations.RaBinding annotation (should have
default empty value). Apart of changing mentioned RaBinding annotation
elements code modification of appendRaTypeBinding method of
SbbJarXmlBuilder class would be required (to make sure that
<resource-adaptor-entity-binding> tag is generated only in case e.g. one of
@RaBinding annotation elements was specified)
Issue 2: Generated <env-entry> tag has no <description> subtag. This is due
to missing ‘description’ attribute in EnvEntryModel class. Apart from
adding ‘description’ attribute to EnvEntryModel class modification of
insertEnvEntries method of AnnotationsProcessor class and appendEnvEntry
method of SbbJarXmlBuilder class would be need.
Issue 3: Generated sbb-jar.xml may contain duplicated <description> tags
resulting sbb-jar.xml to be invalid. There is a bug in code of appendEvent
method of SbbJarXmlBuilder class (see line 238) that cause adding
‘description’ element value of @EventHandler to sbb element instead of
event element.
Passible improvements:
Currently 'value' element of @LocalInterface as @ ActivityContextInterface
is String type. Please consider to change of mentioned types to:
Class<? extends javax.slee.SbbLocalObject > localInterface() default
javax.slee.SbbLocalObject.class;
and
Class<? extends javax.slee.ActivityContextInterface>
activityContextInterface() default
javax.slee.ActivityContextInterface.class;
This would allow for types control and prevent possible errors that could
only be discovered while deploying the Sbb.
Regards,
Marek Nowacki