// @WebListener
final List<AnnotationInstance> webListenerAnnotations = index.getAnnotations(webListener);
if (webListenerAnnotations != null && webListenerAnnotations.size() > 0) {
List<ListenerMetaData> listeners = new ArrayList<ListenerMetaData>();
for (final AnnotationInstance annotation : webListenerAnnotations) {
ListenerMetaData listener = new ListenerMetaData();
AnnotationTarget target = annotation.target();
if (!(target instanceof ClassInfo)) {
throw new DeploymentUnitProcessingException("@Weblistener is only allowed at class level " + target);
}
ClassInfo classInfo = ClassInfo.class.cast(target);
listener.setListenerClass(classInfo.toString());
AnnotationValue descriptionValue = annotation.value();
if (descriptionValue != null) {
DescriptionGroupMetaData descriptionGroup = getDescriptionGroup(descriptionValue.asString());
if (descriptionGroup != null) {
listener.setDescriptionGroup(descriptionGroup);
}
}
listeners.add(listener);
}
metaData.setListeners(listeners);