Package org.jboss.scanning.web.spi

Examples of org.jboss.scanning.web.spi.ResourcesIndex


      HierarchyIndex hi = unit.getAttachment(HierarchyIndex.class);
      if (hi == null)
         return;

      ResourcesIndex ri = new DefaultResourcesIndex(ai, hi);
      unit.addAttachment(ResourcesIndex.class, ri);
   }
View Full Code Here


    * @param classpath the classpath
    * @throws Exception for any error
    */
   protected void processMetaData(VFSDeploymentUnit unit, List<VirtualFile> classpath) throws Exception
   {
      ResourcesIndex ri = unit.getAttachment(ResourcesIndex.class);
      if (ri == null)
      {
         return;
      }
      AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
      Web30MetaDataCreator creator = new Web30MetaDataCreator(finder);
      // Merge processed annotations from all scopes
      Set<Class<? extends Annotation>> annotations = new HashSet<Class<? extends Annotation>>();
      AnnotationContext annotationContext = creator.getAnnotationContext();
      if (annotationContext.getTypeAnnotations() != null)
         annotations.addAll(annotationContext.getTypeAnnotations());
      if (annotationContext.getMethodAnnotations() != null)
         annotations.addAll(annotationContext.getMethodAnnotations());
      if (annotationContext.getFieldAnnotations() != null)
         annotations.addAll(annotationContext.getFieldAnnotations());

      boolean metaData = false;
      for (VirtualFile path : classpath)
      {
         Set<Class<?>> annotatedClasses = new HashSet<Class<?>>();
         for (Class<? extends Annotation> annotation : annotations)
         {
            annotatedClasses.addAll(ri.getAnnotatedClasses(path, annotation));
         }
         WebMetaData annotationMetaData = creator.create(annotatedClasses);
         if (annotationMetaData != null)
         {
            unit.addAttachment(WEB_ANNOTATED_ATTACHMENT_NAME + ":" + path.getName(), annotationMetaData, WebMetaData.class);
View Full Code Here

   }

   @Override
   protected void processMetaData(VFSDeploymentUnit unit, List<VirtualFile> classpath) throws Exception
   {
      ResourcesIndex resourceIndex = unit.getAttachment(ResourcesIndex.class);
      if (resourceIndex == null)
      {
         return;
      }
      AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
      Web30MetaDataCreator creator = new Web30MetaDataCreator(finder);
      // Merge processed annotations from all scopes
      Set<Class<? extends Annotation>> annotations = new HashSet<Class<? extends Annotation>>();
      AnnotationContext annotationContext = creator.getAnnotationContext();
      if (annotationContext.getTypeAnnotations() != null)
         annotations.addAll(annotationContext.getTypeAnnotations());
      if (annotationContext.getMethodAnnotations() != null)
         annotations.addAll(annotationContext.getMethodAnnotations());
      if (annotationContext.getFieldAnnotations() != null)
         annotations.addAll(annotationContext.getFieldAnnotations());

      Collection<Class<?>> specEligibleResourceInjectionClasses = this.getResourceInjectionEligibleWebAppClasses(resourceIndex, classpath);
      if (specEligibleResourceInjectionClasses.isEmpty())
      {
         return;
      }
      boolean metaData = false;
      for (VirtualFile path : classpath)
      {
         Collection<Class<?>> eligibleAnnotatedClasses = new HashSet<Class<?>>();
         for (Class<? extends Annotation> annotation : annotations)
         {
            Collection<Class<?>> annotatedClasses = resourceIndex.getAnnotatedClasses(path, annotation);
            eligibleAnnotatedClasses.addAll(this.retainResourceInjectionEligibleWebAppClasses(specEligibleResourceInjectionClasses, annotatedClasses));
         }
         WebMetaData annotationMetaData = creator.create(eligibleAnnotatedClasses);
         if (annotationMetaData != null)
         {
View Full Code Here

               }
            }
         }
      }
     
      ResourcesIndex ri = unit.getAttachment(ResourcesIndex.class);
      if (ri == null)
      {
         unit.addAttachment(SCI_HANDLESTYPES_ATTACHMENT_NAME, handlesTypes);
         return;
      }
      Class<?>[] typesArray = typesMap.keySet().toArray(new Class<?>[0]);
      // Find classes which extend, implement, or are annotated by HandlesTypes
      if (typesArray.length > 0 && unit instanceof VFSDeploymentUnit)
      {
         VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit) unit;
         List<VirtualFile> classpath = vfsUnit.getClassPath();
         try
         {
            for (VirtualFile classpathItem : classpath)
            {
               for (Class<?> type : typesArray)
               {
                  if (type.isAnnotation())
                  {
                     Set<Class<?>> classes = ri.getAnnotatedClasses(classpathItem, (Class<Annotation>) type);
                     Set<ServletContainerInitializer> sciSet = typesMap.get(type);
                     for (ServletContainerInitializer sci : sciSet)
                     {
                        handlesTypes.get(sci).addAll(classes);
                     }
                  }
                  else
                  {
                     Set classes = ri.getInheritedClasses(classpathItem, type);
                     Set<ServletContainerInitializer> sciSet = typesMap.get(type);
                     for (ServletContainerInitializer sci : sciSet)
                     {
                        Set<Class<?>> sciClasses = handlesTypes.get(sci);
                        for (Object clazz : classes)
View Full Code Here

TOP

Related Classes of org.jboss.scanning.web.spi.ResourcesIndex

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.