[jboss-cvs] JBossAS SVN: r66850 - in projects/metadata/trunk/src: main/java/org/jboss/metadata/client/jboss and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 8 04:38:11 EST 2007
Author: scott.stark at jboss.org
Date: 2007-11-08 04:38:11 -0500 (Thu, 08 Nov 2007)
New Revision: 66850
Added:
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBFieldProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBMethodProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceMethodProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ServletProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferenceMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferencesMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableEnvironment.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableRemoteEnvironment.java
Removed:
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBAnnotationProcessor.java
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEnterpriseBeanProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractSessionBeanProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/TransactionAttributeMethodProcessor.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java
Log:
Checkpoint the annotation processing updates
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,220 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.MutableEnvironment;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+
+/**
+ * A base javaee component processor.
+ * @param MD - the component metadata type
+ * @parma E - the component jndi environment references group type
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public abstract class AbstractComponentProcessor<MD, E extends MutableEnvironment>
+ extends AbstractFinderUser
+{
+ /** Map<Processor metdata type class, List<Processor for classes>> */
+ protected Map<Class<?>, List<Processor<Object, Class<?>>>> typeProcessors;
+ /** Map<Processor metdata type class, List<Processor for fields>> */
+ protected Map<Class<?>, List<Processor<Object, Field>>> fieldProcessors;
+ /** Map<Processor metdata type class, List<Processor for methods>> */
+ protected Map<Class<?>, List<Processor<Object, Method>>> methodProcessors;
+
+ /**
+ * @param finder
+ */
+ public AbstractComponentProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ typeProcessors = new HashMap<Class<?>, List<Processor<Object,Class<?>>>>();
+ fieldProcessors = new HashMap<Class<?>, List<Processor<Object,Field>>>();
+ methodProcessors = new HashMap<Class<?>, List<Processor<Object,Method>>>();
+
+ // Add component environment processors
+ addMethodProcessor(new ResourceMethodProcessor(finder));
+ addFieldProcessor(new ResourceFieldProcessor(finder));
+ addMethodProcessor(new EJBMethodProcessor(finder));
+ addFieldProcessor(new EJBFieldProcessor(finder));
+ }
+
+ public void addFieldProcessor(Processor processor)
+ {
+ Class t = getProcessorMetaDataType(processor);
+ List<Processor<Object, Field>> processors = fieldProcessors.get(t);
+ if(processors == null)
+ {
+ processors = new ArrayList<Processor<Object, Field>>();
+ fieldProcessors.put(t, processors);
+ }
+ processors.add(processor);
+ }
+
+ public void addMethodProcessor(Processor processor)
+ {
+ Class t = getProcessorMetaDataType(processor);
+ List<Processor<Object, Method>> processors = methodProcessors.get(t);
+ if(processors == null)
+ {
+ processors = new ArrayList<Processor<Object, Method>>();
+ methodProcessors.put(t, processors);
+ }
+ processors.add(processor);
+ }
+ public void addTypeProcessor(Processor processor)
+ {
+ Class t = getProcessorMetaDataType(processor);
+ List<Processor<Object, Class<?>>> processors = typeProcessors.get(t);
+ if(processors == null)
+ {
+ processors = new ArrayList<Processor<Object, Class<?>>>();
+ typeProcessors.put(t, processors);
+ }
+ processors.add(processor);
+ }
+
+ /**
+ * Process type for environment metadata related annotations
+ * @param metaData
+ * @param type
+ */
+ public void process(E metaData, Class<?> type)
+ {
+ ResourceReferencesMetaData resRefs = metaData.getResourceReferences();
+ if(resRefs == null)
+ {
+ resRefs = new ResourceReferencesMetaData();
+ metaData.setResourceReferences(resRefs);
+ }
+ processClass(resRefs, type);
+
+ AnnotatedEJBReferenceMetaData aejbRefs = metaData.getAnnotatedEjbReferences();
+ if(aejbRefs == null)
+ {
+ aejbRefs = new AnnotatedEJBReferenceMetaData();
+ metaData.setAnnotatedEjbReferences(aejbRefs);
+ }
+ processClass(aejbRefs, type);
+
+ }
+ /**
+ * Process type for component metadata related annotations
+ * @param metaData
+ * @param type
+ */
+ public void process(MD metaData, Class<?> type)
+ {
+ processClass(metaData, type);
+ }
+
+ /**
+ * Process a the cls annotations at the type, method and field levels
+ * into the argument metaData. Only processors registered for the metaData
+ * type will be run.
+ *
+ * @param <T>
+ * @param metaData
+ * @param cls
+ */
+ protected <T> void processClass(T metaData, Class<?> cls)
+ {
+ Class<?> type = metaData.getClass();
+
+ List<Processor<Object, Class<?>>> tps = typeProcessors.get(type);
+ if(tps != null)
+ {
+ for(Processor<Object, Class<?>> processor : tps)
+ {
+ processor.process(metaData, cls);
+ }
+
+ for(Class<?> intf : cls.getInterfaces())
+ {
+ for(Processor<Object, Class<?>> processor : tps)
+ {
+ processor.process(metaData, intf);
+ }
+ }
+ }
+
+ List<Processor<Object, Field>> fps = fieldProcessors.get(type);
+ if(fps != null)
+ for(Field field : cls.getDeclaredFields())
+ {
+ for(Processor<Object, Field> processor : fps)
+ {
+ processor.process(metaData, field);
+ }
+ }
+
+ List<Processor<Object, Method>> mps = methodProcessors.get(type);
+ if(mps != null)
+ for(Method method : cls.getDeclaredMethods())
+ {
+ for(Processor<Object, Method> processor : mps)
+ {
+ processor.process(metaData, method);
+ }
+ }
+
+ if(cls.getSuperclass() != null)
+ processClass(metaData, cls.getSuperclass());
+ }
+
+ /**
+ * Determine the Processor<T, ?> T generic type class.
+ *
+ * @param processor
+ * @return
+ */
+ protected Class getProcessorMetaDataType(Processor processor)
+ {
+ Type type = processor.getClass().getGenericInterfaces()[0];
+ ParameterizedType pt = (ParameterizedType) type;
+ System.err.println(pt.getActualTypeArguments());
+ Type t0 = pt.getActualTypeArguments()[0];
+ Class t = null;
+ if(t0 instanceof Class)
+ t = (Class) t0;
+ else if(t0 instanceof TypeVariable)
+ {
+ TypeVariable tv = (TypeVariable) t0;
+ t = (Class)tv.getBounds()[0];
+ }
+ return t;
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractComponentProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,98 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+
+import javax.ejb.EJB;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+import org.jboss.metadata.javaee.spec.DescriptionImpl;
+import org.jboss.metadata.javaee.spec.DescriptionsImpl;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public abstract class AbstractEJBProcessor<E extends AnnotatedElement>
+ extends AbstractFinderUser
+{
+ /**
+ * @param finder
+ */
+ public AbstractEJBProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ public void process(AnnotatedEJBReferencesMetaData refs, E element)
+ {
+ EJB annotation = finder.getAnnotation(element, EJB.class);
+ if(annotation == null)
+ return;
+
+ AnnotatedEJBReferenceMetaData ref = createEJB(annotation, element);
+ refs.add(ref);
+ }
+
+ /**
+ * Get the ejb name based on the AnnotatedElement
+ * @param element
+ * @return
+ */
+ protected abstract String getName(E element);
+ /**
+ * Get the business interface class based on the AnnotatedElement
+ * @param element
+ * @return
+ */
+ protected abstract Class getType(E element);
+
+ protected AnnotatedEJBReferenceMetaData createEJB(EJB annotation, E element)
+ {
+ AnnotatedEJBReferenceMetaData ref = new AnnotatedEJBReferenceMetaData();
+ if(annotation.name().length() > 0)
+ ref.setEjbRefName(annotation.name());
+ else
+ ref.setEjbRefName(getName(element));
+ if(annotation.beanInterface() != Object.class)
+ ref.setBeanInterface(annotation.beanInterface());
+ else
+ ref.setBeanInterface(getType(element));
+ if(annotation.description().length() > 0)
+ {
+ DescriptionImpl description = new DescriptionImpl();
+ description.setDescription(annotation.description());
+ DescriptionsImpl descriptions = new DescriptionsImpl();
+ descriptions.add(description);
+ ref.setDescriptions(descriptions);
+ }
+ if(annotation.beanName().length() > 0)
+ ref.setLink(annotation.beanName());
+ if(annotation.mappedName().length() > 0)
+ ref.setMappedName(annotation.mappedName());
+
+ return ref;
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEJBProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEnterpriseBeanProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEnterpriseBeanProcessor.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractEnterpriseBeanProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -31,6 +31,7 @@
import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
/**
* Comment
@@ -38,34 +39,28 @@
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @version $Revision: $
*/
-public abstract class AbstractEnterpriseBeanProcessor<MD extends EnterpriseBeanMetaData> extends AbstractFinderUser implements Processor<EjbJar3xMetaData, Class<?>>
+public abstract class AbstractEnterpriseBeanProcessor<MD extends EnterpriseBeanMetaData>
+ extends AbstractComponentProcessor<MD, EnvironmentRefsGroupMetaData>
+ implements Processor<EjbJar3xMetaData, Class<?>>
{
protected abstract MD create(Class<?> beanClass);
- protected final List<Processor<MD, Class<?>>> typeProcessors;
- protected final List<Processor<MD, Field>> fieldProcessors;
- protected final List<Processor<MD, Method>> methodProcessors;
-
protected AbstractEnterpriseBeanProcessor(AnnotationFinder<AnnotatedElement> finder)
{
super(finder);
-
- // TODO: configure somehow
-
- typeProcessors = new ArrayList<Processor<MD,Class<?>>>();
- typeProcessors.add(new TransactionAttributeClassProcessor<MD>(finder));
-
- fieldProcessors = new ArrayList<Processor<MD,Field>>();
-
- methodProcessors = new ArrayList<Processor<MD,Method>>();
- methodProcessors.add(new TransactionAttributeMethodProcessor<MD>(finder));
+ addTypeProcessor(new TransactionAttributeClassProcessor<MD>(finder));
+ addMethodProcessor(new TransactionAttributeMethodProcessor<MD>(finder));
}
-
+
public void process(EjbJar3xMetaData ejbJarMetaData, Class<?> beanClass)
{
MD beanMetaData = create(beanClass);
if(beanMetaData == null)
return;
+
+ EnvironmentRefsGroupMetaData env = new EnvironmentRefsGroupMetaData();
+ super.process(env, beanClass);
+ beanMetaData.setJndiEnvironmentRefsGroup(env);
if(ejbJarMetaData.getEnterpriseBeans() == null)
ejbJarMetaData.setEnterpriseBeans(new EnterpriseBeansMetaData());
@@ -75,38 +70,4 @@
processClass(beanMetaData, beanClass);
}
- private void processClass(MD bean, Class<?> cls)
- {
- for(Processor<MD, Class<?>> processor : typeProcessors)
- {
- processor.process(bean, cls);
- }
-
- for(Class<?> intf : cls.getInterfaces())
- {
- for(Processor<MD, Class<?>> processor : typeProcessors)
- {
- processor.process(bean, intf);
- }
- }
-
- for(Field field : cls.getDeclaredFields())
- {
- for(Processor<MD, Field> processor : fieldProcessors)
- {
- processor.process(bean, field);
- }
- }
-
- for(Method method : cls.getDeclaredMethods())
- {
- for(Processor<MD, Method> processor : methodProcessors)
- {
- processor.process(bean, method);
- }
- }
-
- if(cls.getSuperclass() != null)
- processClass(bean, cls.getSuperclass());
- }
}
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+import java.util.Collections;
+import java.util.Set;
+
+import javax.annotation.Resource;
+import javax.annotation.Resource.AuthenticationType;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.DescriptionImpl;
+import org.jboss.metadata.javaee.spec.DescriptionsImpl;
+import org.jboss.metadata.javaee.spec.ResourceAuthorityType;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+
+/**
+ * E defines the actual annotated element we're working for.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision$
+ */
+public abstract class AbstractResourceProcessor<E extends AnnotatedElement, T extends ResourceReferencesMetaData>
+ extends AbstractFinderUser
+{
+ protected AbstractResourceProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ public void process(T refs, E element)
+ {
+ Resource annotation = finder.getAnnotation(element, Resource.class);
+ if(annotation == null)
+ return;
+
+
+ ResourceReferenceMetaData ref = createResource(annotation, element);
+ refs.add(ref);
+ }
+
+ /**
+ * Get the resource name based on the AnnotatedElement
+ * @param element
+ * @return
+ */
+ protected abstract String getName(E element);
+ protected abstract String getType(E element);
+ protected abstract String getDeclaringClass(E element);
+
+ /**
+ * Init common resource fiels that don't depend on the AnnotatedElement
+ * @param annotation
+ * @param ref
+ */
+ protected ResourceReferenceMetaData createResource(Resource annotation, E element)
+ {
+ ResourceReferenceMetaData ref = new ResourceReferenceMetaData();
+ String name = annotation.name();
+ if(name.length() == 0)
+ name = getName(element);
+ ref.setResourceRefName(name);
+ AuthenticationType authType = annotation.authenticationType();
+ ResourceAuthorityType resAuthType = ResourceAuthorityType.Container;
+ if(authType == AuthenticationType.APPLICATION)
+ resAuthType = ResourceAuthorityType.Application;
+ ref.setResAuth(resAuthType);
+ if(annotation.mappedName().length() > 0)
+ ref.setMappedName(annotation.mappedName());
+ if(annotation.description().length() > 0)
+ {
+ DescriptionImpl description = new DescriptionImpl();
+ description.setDescription(annotation.description());
+ DescriptionsImpl descriptions = new DescriptionsImpl();
+ descriptions.add(description);
+ ref.setDescriptions(descriptions);
+ }
+ if(annotation.type() != Object.class)
+ ref.setType(annotation.type().getName());
+ else
+ ref.setType(getType(element));
+ ResourceInjectionTargetMetaData target = new ResourceInjectionTargetMetaData();
+ target.setInjectionTargetClass(getDeclaringClass(element));
+ target.setInjectionTargetName(name);
+ Set<ResourceInjectionTargetMetaData> injectionTargets = Collections.singleton(target);
+ ref.setInjectionTargets(injectionTargets);
+
+ return ref;
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractResourceProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractSessionBeanProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractSessionBeanProcessor.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/AbstractSessionBeanProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -52,10 +52,10 @@
topLevelProcessors = new ArrayList<Processor<SessionBeanMetaData,Class<?>>>();
topLevelProcessors.add(new LocalHomeProcessor(finder));
- typeProcessors.add(new LocalProcessor(finder));
- typeProcessors.add(new RemoteProcessor(finder));
+ addTypeProcessor(new LocalProcessor(finder));
+ addTypeProcessor(new RemoteProcessor(finder));
- methodProcessors.add(new InitProcessor(finder));
+ addMethodProcessor(new InitProcessor(finder));
}
public abstract SessionBeanMetaData create(Class<?> beanClass);
Deleted: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBAnnotationProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBAnnotationProcessor.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBAnnotationProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.metadata.annotation.creator;
-
-/**
- * An EJB annotation can be found on a class or property.
- *
- * TODO: we don't know whether we want a remote interface or a local one.
- *
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public class EJBAnnotationProcessor
-{
-
-}
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBFieldProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBFieldProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBFieldProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+
+/**
+ * @EJB processor for Field annotations
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class EJBFieldProcessor
+ extends AbstractEJBProcessor<Field>
+ implements Processor<AnnotatedEJBReferencesMetaData, Field>
+{
+
+ /**
+ * @param finder
+ */
+ public EJBFieldProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ @Override
+ protected String getName(Field element)
+ {
+ String name = element.getName();
+ return name;
+ }
+ @Override
+ protected Class getType(Field element)
+ {
+ return element.getType();
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBFieldProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBMethodProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBMethodProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBMethodProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Method;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
+
+/**
+ * @EJB processor for Method annotations
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class EJBMethodProcessor
+ extends AbstractEJBProcessor<Method>
+ implements Processor<AnnotatedEJBReferencesMetaData, Method>
+{
+
+ /**
+ * @param finder
+ */
+ public EJBMethodProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ @Override
+ protected String getName(Method element)
+ {
+ String name = element.getName().substring(3);
+ if (name.length() > 1)
+ {
+ name = name.substring(0, 1).toLowerCase() + name.substring(1);
+ }
+ else
+ {
+ name = name.toLowerCase();
+ }
+ return name;
+ }
+ @Override
+ protected Class getType(Method element)
+ {
+ return element.getParameterTypes()[0];
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/EJBMethodProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class ResourceFieldProcessor
+ extends AbstractResourceProcessor<Field, ResourceReferencesMetaData>
+ implements Processor<ResourceReferencesMetaData, Field>
+{
+
+ /**
+ * @param finder
+ */
+ public ResourceFieldProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ @Override
+ protected String getName(Field element)
+ {
+ String name = element.getName();
+ return name;
+ }
+ @Override
+ protected String getType(Field element)
+ {
+ return element.getType().getName();
+ }
+ @Override
+ protected String getDeclaringClass(Field element)
+ {
+ return element.getDeclaringClass().getName();
+ }
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceFieldProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceMethodProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceMethodProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceMethodProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Method;
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class ResourceMethodProcessor
+ extends AbstractResourceProcessor<Method, ResourceReferencesMetaData>
+ implements Processor<ResourceReferencesMetaData, Method>
+{
+
+ /**
+ * @param finder
+ */
+ public ResourceMethodProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+ @Override
+ protected String getName(Method element)
+ {
+ String name = element.getName().substring(3);
+ if (name.length() > 1)
+ {
+ name = name.substring(0, 1).toLowerCase() + name.substring(1);
+ }
+ else
+ {
+ name = name.toLowerCase();
+ }
+ return name;
+ }
+ @Override
+ protected String getType(Method element)
+ {
+ return element.getParameterTypes()[0].getName();
+ }
+ @Override
+ protected String getDeclaringClass(Method element)
+ {
+ return element.getDeclaringClass().getName();
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceMethodProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class ResourceProcessor
+{
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ResourceProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ServletProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ServletProcessor.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ServletProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.annotation.creator;
+
+import java.lang.reflect.AnnotatedElement;
+
+
+import org.jboss.metadata.annotation.finder.AnnotationFinder;
+
+/**
+ * Create the correct meta data for a stateless annotation.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class ServletProcessor extends AbstractComponentProcessor
+{
+ public ServletProcessor(AnnotationFinder<AnnotatedElement> finder)
+ {
+ super(finder);
+ }
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/ServletProcessor.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/TransactionAttributeMethodProcessor.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/TransactionAttributeMethodProcessor.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/annotation/creator/TransactionAttributeMethodProcessor.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -37,7 +37,9 @@
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @version $Revision: $
*/
-public class TransactionAttributeMethodProcessor<T extends EnterpriseBeanMetaData> extends AbstractTransactionAttributeProcessor<Method, T> implements Processor<T, Method>
+public class TransactionAttributeMethodProcessor<T extends EnterpriseBeanMetaData>
+ extends AbstractTransactionAttributeProcessor<Method, T>
+ implements Processor<T, Method>
{
private static final Logger log = Logger.getLogger(TransactionAttributeMethodProcessor.class);
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/client/jboss/JBossClientMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -31,6 +31,7 @@
import org.jboss.metadata.client.spec.ApplicationClientMetaData;
import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
import org.jboss.metadata.javaee.spec.Environment;
@@ -210,6 +211,15 @@
{
return jndiEnvironmentRefsGroup.getEjbReferences();
}
+ // TODO?
+ @XmlTransient
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ AnnotatedEJBReferenceMetaData refs = null;
+ if(jndiEnvironmentRefsGroup != null)
+ refs = jndiEnvironmentRefsGroup.getAnnotatedEjbReferences();
+ return refs;
+ }
public EnvironmentEntriesMetaData getEnvironmentEntries()
{
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/client/spec/ApplicationClientMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -25,6 +25,7 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
@@ -147,6 +148,15 @@
return jndiEnvironmentRefsGroup.getEjbReferences();
return null;
}
+ // TODO?
+ @XmlTransient
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ AnnotatedEJBReferenceMetaData refs = null;
+ if(jndiEnvironmentRefsGroup != null)
+ refs = jndiEnvironmentRefsGroup.getAnnotatedEjbReferences();
+ return refs;
+ }
public EnvironmentEntriesMetaData getEnvironmentEntries()
{
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -49,6 +49,7 @@
import org.jboss.metadata.javaee.jboss.AnnotationsMetaData;
import org.jboss.metadata.javaee.jboss.IgnoreDependencyMetaData;
import org.jboss.metadata.javaee.jboss.JndiRefsMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -908,6 +909,15 @@
refs = jndiEnvironmentRefsGroup.getEjbReferences();
return refs;
}
+ // TODO?
+ @XmlTransient
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ AnnotatedEJBReferenceMetaData refs = null;
+ if(jndiEnvironmentRefsGroup != null)
+ refs = jndiEnvironmentRefsGroup.getAnnotatedEjbReferences();
+ return refs;
+ }
@XmlTransient
public EnvironmentEntriesMetaData getEnvironmentEntries()
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/EnterpriseBeanMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -28,6 +28,7 @@
import javax.xml.bind.annotation.XmlTransient;
import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -348,6 +349,13 @@
return null;
}
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ if (jndiEnvironmentRefsGroup != null)
+ return jndiEnvironmentRefsGroup.getAnnotatedEjbReferences();
+ return null;
+ }
+
public EnvironmentEntriesMetaData getEnvironmentEntries()
{
if (jndiEnvironmentRefsGroup != null)
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/spec/InterceptorMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -21,6 +21,7 @@
*/
package org.jboss.metadata.ejb.spec;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -45,6 +46,7 @@
import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
/**
@@ -218,6 +220,15 @@
return environment.getEjbReferences();
return null;
}
+ // TODO?
+ @XmlTransient
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ AnnotatedEJBReferenceMetaData refs = null;
+ if(environment != null)
+ refs = environment.getAnnotatedEjbReferences();
+ return refs;
+ }
public EnvironmentEntriesMetaData getEnvironmentEntries()
{
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferenceMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferenceMetaData.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferenceMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.javaee.spec;
+
+import javax.xml.bind.annotation.XmlType;
+
+import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
+
+/**
+ * Metadata for an @EJB reference
+ * @EJB.name = ejbRefName
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+ at XmlType(name="annotated-ejb-refType")
+public class AnnotatedEJBReferenceMetaData
+ extends AbstractEJBReferenceMetaData
+ implements MergeableMappedMetaData<AnnotatedEJBReferenceMetaData>
+{
+ private static final long serialVersionUID = 1;
+ private Class beanInterface;
+
+ public Class getBeanInterface()
+ {
+ return beanInterface;
+ }
+ public void setBeanInterface(Class beanInterface)
+ {
+ this.beanInterface = beanInterface;
+ }
+
+ public AnnotatedEJBReferenceMetaData merge(AnnotatedEJBReferenceMetaData original)
+ {
+ AnnotatedEJBReferenceMetaData merged = new AnnotatedEJBReferenceMetaData();
+ merged.merge(this, original);
+ if(beanInterface != null)
+ merged.setBeanInterface(beanInterface);
+ else if(original != null && original.getBeanInterface() != null)
+ merged.setBeanInterface(original.getBeanInterface());
+ return merged;
+ }
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferenceMetaData.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferencesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferencesMetaData.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferencesMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.metadata.javaee.spec;
+
+import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
+import org.jboss.metadata.javaee.support.JavaEEMetaDataUtil;
+
+/**
+ * @EJB references metadata.
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class AnnotatedEJBReferencesMetaData
+ extends AbstractMappedMetaData<AnnotatedEJBReferenceMetaData>
+{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 1;
+
+ /**
+ * Merge ejb references
+ *
+ * @param override the override references
+ * @param overriden the overriden references
+ * @param overridenFile the overriden file name
+ * @param overrideFile the override file
+ * @return the merged referencees
+ */
+ public static AnnotatedEJBReferencesMetaData merge(AnnotatedEJBReferencesMetaData override,
+ AnnotatedEJBReferencesMetaData overriden,
+ String overridenFile, String overrideFile)
+ {
+ if (override == null && overriden == null)
+ return null;
+
+ if (override == null)
+ return overriden;
+
+ AnnotatedEJBReferencesMetaData merged = new AnnotatedEJBReferencesMetaData();
+ return JavaEEMetaDataUtil.merge(merged, overriden, override, "@EJB", overridenFile, overrideFile, false);
+ }
+
+ /**
+ * Create a new EJBLocalReferencesMetaData.
+ */
+ public AnnotatedEJBReferencesMetaData()
+ {
+ super("ejb local ref name");
+ }
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/AnnotatedEJBReferencesMetaData.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/EnvironmentRefsGroupMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -42,7 +42,7 @@
"messageDestinationReferences", "persistenceContextRefs", "persistenceUnitRefs",
"postConstructs", "preDestroys"})
public class EnvironmentRefsGroupMetaData extends RemoteEnvironmentRefsGroupMetaData
- implements Serializable, Environment
+ implements Serializable, Environment, MutableEnvironment
{
/** The serialVersionUID */
private static final long serialVersionUID = 1337095770028220349L;
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableEnvironment.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableEnvironment.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableEnvironment.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.javaee.spec;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface MutableEnvironment extends MutableRemoteEnvironment, Environment
+{
+ /**
+ * Get the ejbLocalReferences.
+ *
+ * @return the ejbLocalReferences.
+ */
+ void setEjbLocalReferences(EJBLocalReferencesMetaData refs);
+
+ /**
+ * Get the persistenceContextRefs.
+ *
+ * @return the persistenceContextRefs.
+ */
+ void setPersistenceContextRefs(PersistenceContextReferencesMetaData refs);
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableEnvironment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableRemoteEnvironment.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableRemoteEnvironment.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableRemoteEnvironment.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -0,0 +1,99 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.metadata.javaee.spec;
+
+/**
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public interface MutableRemoteEnvironment extends RemoteEnvironment
+{
+ /**
+ * Set the environmentEntries.
+ *
+ * @return the environmentEntries.
+ */
+ void setEnvironmentEntries(EnvironmentEntriesMetaData entries);
+
+ /**
+ * Set the ejbReferences.
+ *
+ * @return the ejbReferences.
+ */
+ void setEjbReferences(EJBReferencesMetaData refs);
+
+ /**
+ * Set the annotatedEjbReferences.
+ *
+ * @return the annotatedEjbReferences.
+ */
+ void setAnnotatedEjbReferences(AnnotatedEJBReferenceMetaData annotatedEjbReferences);
+
+ /**
+ * Set the service references
+ * @return
+ */
+ void setServiceReferences(ServiceReferencesMetaData refs);
+
+ /**
+ * Set the resourceReferences.
+ *
+ * @return the resourceReferences.
+ */
+ void setResourceReferences(ResourceReferencesMetaData refs);
+
+ /**
+ * Set the resourceEnvironmentReferences.
+ *
+ * @return the resourceEnvironmentReferences.
+ */
+ void setResourceEnvironmentReferences(ResourceEnvironmentReferencesMetaData refs);
+
+ /**
+ * Set the messageDestinationReferences.
+ *
+ * @return the messageDestinationReferences.
+ */
+ void setMessageDestinationReferences(MessageDestinationReferencesMetaData refs);
+
+ /**
+ * Set the postConstructs.
+ *
+ * @return the postConstructs.
+ */
+ void setPostConstructs(LifecycleCallbacksMetaData callbacks);
+
+ /**
+ * Set the preDestroys.
+ *
+ * @return the preDestroys.
+ */
+ void setPreDestroys(LifecycleCallbacksMetaData callbacks);
+
+ /**
+ * Set the persistenceUnitRefs.
+ *
+ * @return the persistenceUnitRefs.
+ */
+ void setPersistenceUnitRefs(PersistenceUnitReferencesMetaData refs);
+
+}
Property changes on: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/MutableRemoteEnvironment.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ native
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironment.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -55,6 +55,13 @@
EJBReferencesMetaData getEjbReferences();
/**
+ * Get the ejbReferences.
+ *
+ * @return the ejbReferences.
+ */
+ AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences();
+
+ /**
* Get by name
*
* @param name the name
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/javaee/spec/RemoteEnvironmentRefsGroupMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -24,6 +24,7 @@
import java.io.Serializable;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
import org.jboss.metadata.javaee.jboss.JBossServiceReferencesMetaData;
import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
@@ -48,7 +49,8 @@
"persistenceUnitRefs",
"postConstructs",
"preDestroys"})
-public class RemoteEnvironmentRefsGroupMetaData implements Serializable, RemoteEnvironment
+public class RemoteEnvironmentRefsGroupMetaData
+ implements Serializable, RemoteEnvironment, MutableRemoteEnvironment
{
/** The serialVersionUID */
private static final long serialVersionUID = 1L;
@@ -56,6 +58,9 @@
/** The environment entries */
private EnvironmentEntriesMetaData environmentEntries;
+ /** @EJB references */
+ private transient AnnotatedEJBReferenceMetaData annotatedEjbReferences;
+
/** The ejb references */
private EJBReferencesMetaData ejbReferences;
@@ -136,6 +141,19 @@
this.ejbReferences = ejbReferences;
}
+ @XmlTransient
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ return annotatedEjbReferences;
+ }
+ @XmlTransient
+ public void setAnnotatedEjbReferences(AnnotatedEJBReferenceMetaData annotatedEjbReferences)
+ {
+ if (annotatedEjbReferences == null)
+ throw new IllegalArgumentException("Null annotatedEjbReferences");
+ this.annotatedEjbReferences = annotatedEjbReferences;
+ }
+
/**
* Get the serviceReferences.
*
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/WebMetaData.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -27,6 +27,7 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -355,6 +356,15 @@
return jndiEnvironmentRefsGroup.getEjbReferences();
return null;
}
+ // TODO?
+ @XmlTransient
+ public AnnotatedEJBReferenceMetaData getAnnotatedEjbReferences()
+ {
+ AnnotatedEJBReferenceMetaData refs = null;
+ if(jndiEnvironmentRefsGroup != null)
+ refs = jndiEnvironmentRefsGroup.getAnnotatedEjbReferences();
+ return refs;
+ }
public EnvironmentEntriesMetaData getEnvironmentEntries()
{
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/MyStatelessBean.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -21,9 +21,14 @@
*/
package org.jboss.test.metadata.annotation.ejb3;
+import java.net.URL;
+
+import javax.annotation.Resource;
+import javax.annotation.Resources;
import javax.ejb.EJB;
import javax.ejb.Init;
import javax.ejb.LocalHome;
+import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
@@ -37,11 +42,22 @@
@SuppressWarnings("unused")
@Stateless
@TransactionAttribute(TransactionAttributeType.NEVER)
+ at Resources({
+ @Resource(name="googleHome", type=java.net.URL.class, mappedName="http://www.google.com"),
+ @Resource(name="jdbc/ds", mappedName="java:/DefaultDS")
+})
public class MyStatelessBean implements MyStatelessLocal
{
@EJB
private MyStatelessLocal injectedField;
-
+ @Resource
+ private SessionContext context;
+
+ @Resource(description="A string from the env")
+ private String sfield;
+ private URL homePage;
+ private URL googleHome;
+
@EJB(name="overrideName")
private MyStatelessLocal injectedFieldWithOverridenName;
@@ -50,4 +66,15 @@
{
}
+
+ public URL getHomePage()
+ {
+ return homePage;
+ }
+ @Resource
+ public void setHomePage(URL homePage)
+ {
+ this.homePage = homePage;
+ }
+
}
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java 2007-11-08 09:10:47 UTC (rev 66849)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/repository/MetaDataRepositoryUnitTestCase.java 2007-11-08 09:38:11 UTC (rev 66850)
@@ -41,6 +41,7 @@
import org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData;
import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
import org.jboss.metadata.ejb.spec.SessionType;
+import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
import org.jboss.metadata.plugins.loader.reflection.AnnotatedElementMetaDataLoader;
import org.jboss.metadata.plugins.repository.basic.BasicMetaDataRepository;
@@ -81,6 +82,8 @@
assertTrue(beanMD instanceof SessionBeanMetaData);
SessionBeanMetaData sbeanMD = (SessionBeanMetaData) beanMD;
assertEquals(SessionType.Stateless, sbeanMD.getSessionType());
+ AnnotatedEJBReferenceMetaData aejbRefs = sbeanMD.getAnnotatedEjbReferences();
+ assertNotNull(aejbRefs);
}
/**
More information about the jboss-cvs-commits
mailing list