[305848] enable singleton processing in annotation readers.
diff --git a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/EjbAnnotationFactory.java b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/EjbAnnotationFactory.java
index 1ad55e0..dfd0d8a 100644
--- a/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/EjbAnnotationFactory.java
+++ b/plugins/org.eclipse.jst.jee.ejb/ejb/org/eclipse/jst/jee/model/internal/EjbAnnotationFactory.java
@@ -82,11 +82,13 @@
private static final String NAME = "name"; //$NON-NLS-1$
private static final String VOID_RETURN_TYPE = "V"; //$NON-NLS-1$
private static final String JAVAX_EJB_STATEFUL = "javax.ejb.Stateful"; //$NON-NLS-1$
+ private static final String JAVAX_EJB_SINGLETON = "javax.ejb.Singleton"; //$NON-NLS-1$
private static final String STATEFUL = "Stateful"; //$NON-NLS-1$
private static final String JAVAX_EJB_MESSAGE_DRIVEN = "javax.ejb.MessageDriven"; //$NON-NLS-1$
private static final String MESSAGE_DRIVEN = "MessageDriven"; //$NON-NLS-1$
private static final String JAVAX_EJB_STATELESS = "javax.ejb.Stateless"; //$NON-NLS-1$
private static final String STATELESS = "Stateless"; //$NON-NLS-1$
+ private static final String SINGLETON = "Singleton"; //$NON-NLS-1$
private static final String CREATE_METHOD = "create"; //$NON-NLS-1$
@@ -122,6 +124,9 @@
} else if (STATEFUL.equals(annotationName) || JAVAX_EJB_STATEFUL.equals(annotationName)) {
processStatefulBean(result, annotation, type);
break;
+ } else if (SINGLETON.equals(annotationName) || JAVAX_EJB_SINGLETON.equals(annotationName)) {
+ processSingletonBean(result, annotation, type);
+ break;
}
}
return result;
@@ -136,6 +141,12 @@
SessionBean sessionBean = createSession(result, SessionType.STATELESS_LITERAL, annotation, type);
result.setMainObject(sessionBean);
}
+
+ private void processSingletonBean(Result result, IAnnotation annotation, IType type) throws JavaModelException {
+ SessionBean sessionBean = createSession(result, SessionType.SINGLETON_LITERAL, annotation, type);
+ result.setMainObject(sessionBean);
+
+ }
private void processStatefulBean(Result result, IAnnotation annotation, IType type) throws JavaModelException {
SessionBean sessionBean = createSession(result, SessionType.STATEFUL_LITERAL, annotation, type);