[jboss-cvs] jboss-seam/src/main/org/jboss/seam/init ...

Gavin King gavin.king at jboss.com
Wed Jul 18 10:37:30 EDT 2007


  User: gavin   
  Date: 07/07/18 10:37:30

  Modified:    src/main/org/jboss/seam/init   ComponentDescriptor.java
                        Initialization.java
  Log:
  global imports JBSEAM-1693
  
  Revision  Changes    Path
  1.15      +7 -1      jboss-seam/src/main/org/jboss/seam/init/ComponentDescriptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ComponentDescriptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/init/ComponentDescriptor.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -b -r1.14 -r1.15
  --- ComponentDescriptor.java	17 Jul 2007 13:08:58 -0000	1.14
  +++ ComponentDescriptor.java	18 Jul 2007 14:37:30 -0000	1.15
  @@ -98,7 +98,13 @@
   
       public boolean isAutoCreate()
       {
  -        return autoCreate!=null ? autoCreate : componentClass.isAnnotationPresent(AutoCreate.class);
  +        return autoCreate!=null ? autoCreate : isAutoCreateAnnotationPresent();
  +    }
  +
  +    private boolean isAutoCreateAnnotationPresent()
  +    {
  +        return componentClass.isAnnotationPresent(AutoCreate.class) || 
  +           componentClass.getPackage().isAnnotationPresent(AutoCreate.class);
       }
   
       public String[] getDependencies()
  
  
  
  1.188     +45 -26    jboss-seam/src/main/org/jboss/seam/init/Initialization.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Initialization.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/init/Initialization.java,v
  retrieving revision 1.187
  retrieving revision 1.188
  diff -u -b -r1.187 -r1.188
  --- Initialization.java	16 Jul 2007 09:19:16 -0000	1.187
  +++ Initialization.java	18 Jul 2007 14:37:30 -0000	1.188
  @@ -11,6 +11,7 @@
   import java.lang.reflect.Constructor;
   import java.net.URL;
   import java.util.ArrayList;
  +import java.util.Collection;
   import java.util.Enumeration;
   import java.util.HashMap;
   import java.util.HashSet;
  @@ -69,9 +70,10 @@
      private Map<String, Set<ComponentDescriptor>> componentDescriptors = new HashMap<String, Set<ComponentDescriptor>>();
      private List<FactoryDescriptor> factoryDescriptors = new ArrayList<FactoryDescriptor>();
      private Set<Class> installedComponentClasses = new HashSet<Class>();
  -   private Set<String> importedPackages = new HashSet<String>();
  +   //private Set<String> importedPackages = new HashSet<String>();
      private Map<String, NamespaceDescriptor> namespaceMap = new HashMap<String, NamespaceDescriptor>();
  -   private final Map<String, EventListenerDescriptor> eventListenerDescriptors = new HashMap<String, EventListenerDescriptor>();
  +   private Map<String, EventListenerDescriptor> eventListenerDescriptors = new HashMap<String, EventListenerDescriptor>();
  +   private Collection<String> globalImports = new ArrayList<String>();
   
      public Initialization(ServletContext servletContext)
      {
  @@ -155,12 +157,18 @@
      private void installComponentsFromXmlElements(Element rootElement, Properties replacements)
               throws DocumentException, ClassNotFoundException
      {
  -      List<Element> importElements = rootElement.elements("import-java-package");
  -      for (Element importElement : importElements)
  +      /*List<Element> importJavaElements = rootElement.elements("import-java-package");
  +      for (Element importElement : importJavaElements)
         {
            String pkgName = importElement.getTextTrim();
            importedPackages.add(pkgName);
  -         addNamespace(Package.getPackage(pkgName));
  +         addNamespace( Package.getPackage(pkgName) );
  +      }*/
  +
  +      List<Element> importElements = rootElement.elements("import");
  +      for (Element importElement : importElements)
  +      {
  +         globalImports.add( importElement.getTextTrim() );
         }
   
         List<Element> componentElements = rootElement.elements("component");
  @@ -330,26 +338,7 @@
         Boolean startup = startupAttribute==null ? null : "true".equals(startupAttribute);
         if (className != null)
         {
  -         Class<?> clazz = null;
  -         try
  -         {
  -            clazz = Reflections.classForName(className);
  -         }
  -         catch (ClassNotFoundException cnfe)
  -         {
  -            for (String pkg : importedPackages)
  -            {
  -               try
  -               {
  -                  clazz = Reflections.classForName(pkg + '.' + className);
  -                  break;
  -               }
  -               catch (Exception e)
  -               {
  -               }
  -            }
  -            if (clazz == null) throw cnfe;
  -         }
  +         Class<?> clazz = getClassUsingImports(className);
   
            if (name == null)
            {
  @@ -402,6 +391,31 @@
         }
      }
   
  +   private Class<?> getClassUsingImports(String className) throws ClassNotFoundException
  +   {
  +      Class<?> clazz = null;
  +      /*try
  +      {*/
  +         clazz = Reflections.classForName(className);
  +      /*}
  +      catch (ClassNotFoundException cnfe)
  +      {
  +         for (String pkg : importedPackages)
  +         {
  +            try
  +            {
  +               clazz = Reflections.classForName(pkg + '.' + className);
  +               break;
  +            }
  +            catch (Exception e)
  +            {
  +            }
  +         }
  +         if (clazz == null) throw cnfe;
  +      }*/
  +      return clazz;
  +   }
  +
      private void addComponentDescriptor(ComponentDescriptor descriptor)
      {
         String name = descriptor.getName();
  @@ -511,6 +525,11 @@
         addSpecialComponents(init);
         installComponents(init, redeployStrategy);
         
  +      for (String globalImport: globalImports)
  +      {
  +         init.importNamespace(globalImport);
  +      }
  +      
         ServletLifecycle.endInitialization();
         log.info("done initializing Seam");
         return this;
  
  
  



More information about the jboss-cvs-commits mailing list