I've added this to AbstractStructureDeployer:
| /**
| * Create deployment resource loader.
| *
| * @param root the deployment root
| * @return new deployment resource loader
| */
| protected abstract DeploymentResourceLoader
createDeploymentResourceLoader(VirtualFile root);
|
| /**
| * Create annotation environment.
| *
| * @param classLoader the classloader
| * @return new annotation environment
| */
| protected abstract AnnotationEnvironment createAnnotationEnvironment(ClassLoader
classLoader);
|
| /**
| * Check for candidate annotations.
| *
| * @param context the structure context
| * @param roots the roots to check
| */
| protected void checkCandidateAnnotations(StructureContext context, VirtualFile...
roots)
| {
| if (roots == null || roots.length == 0)
| throw new IllegalArgumentException("Null or empty roots");
|
| if (candidateAnnotations == null || candidateAnnotations.isEmpty())
| return;
|
| for(VirtualFile root : roots)
| {
| DeploymentResourceLoader loader = createDeploymentResourceLoader(root);
| ClassLoader cl = new DeploymentResourceClassLoader(loader);
| AnnotationEnvironment env = createAnnotationEnvironment(cl);
| for (Class<? extends Annotation> annotationClass :
candidateAnnotations)
| {
| if (env.hasClassAnnotatedWith(annotationClass))
| {
| context.addFoundAnnotation(annotationClass);
| }
| }
| }
| }
|
Where MockEARStructureDepolyer then checks in
Module's StructureContext if we have any matching annotation.
OK?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4168974#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...