[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