You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2009/09/08 22:39:55 UTC

svn commit: r812681 - in /myfaces/core/trunk: api/src/main/java/javax/faces/component/UIComponent.java impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java

Author: mconcini
Date: Tue Sep  8 20:39:54 2009
New Revision: 812681

URL: http://svn.apache.org/viewvc?rev=812681&view=rev
Log:
MYFACES-2334

Modified:
    myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java

Modified: myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java?rev=812681&r1=812680&r2=812681&view=diff
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/component/UIComponent.java Tue Sep  8 20:39:54 2009
@@ -921,11 +921,18 @@
         }
     }
 
-    private class EventListenerWrapper implements SystemEventListener {
+    private class EventListenerWrapper implements SystemEventListener, StateHolder {
 
         private UIComponent component;
         private ComponentSystemEventListener listener;
-
+        private boolean transientObject = false;
+        
+        public EventListenerWrapper()
+        {
+            //need a no-arg constructor for state saving purposes
+            super();
+        }
+        
         public EventListenerWrapper(UIComponent component, ComponentSystemEventListener listener) {
             assert component != null;
             assert listener != null;
@@ -966,5 +973,33 @@
 
             listener.processEvent((ComponentSystemEvent) event);
         }
+        
+        @Override
+        public boolean isTransient() {
+            return transientObject;
+        }
+
+        @Override
+        public void restoreState(FacesContext context, Object state) 
+        {
+            Object[] values = (Object[]) state;
+            component = (UIComponent) values[0];
+            listener = (ComponentSystemEventListener) values[1];
+        }
+
+        @Override
+        public Object saveState(FacesContext context) 
+        {
+            Object[] state = new Object[2];
+            state[0] = component;
+            state[1] = listener;
+            return state;   
+        }
+         
+        @Override
+        public void setTransient(boolean transientObject) 
+        {   
+            this.transientObject = transientObject;
+        }
     }
 }
\ No newline at end of file

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java?rev=812681&r1=812680&r2=812681&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/config/annotation/AnnotationConfigurator.java Tue Sep  8 20:39:54 2009
@@ -236,8 +236,10 @@
         {
             archives = webArchives(_externalContext);
 
-            System.out.println("Receiving " + archives.size()
-                    + " jar files to check");
+            if (log.isTraceEnabled())
+            {
+                log.trace("Receiving " + archives.size() + " jar files to check");
+            }
             for (JarFile archive : archives)
             {
                 classes = archiveClasses(_externalContext, archive);
@@ -567,13 +569,15 @@
         ClassLoader loader = getClassLoader();
 
         Set<String> paths = externalContext.getResourcePaths(prefix);
+        if(paths == null)
+        {
+            return; //need this in case there is no WEB-INF/classes directory
+        }
         if (log.isTraceEnabled())
         {
             log.trace("webClasses(" + prefix + ") - Received " + paths.size()
                     + " paths to check");
         }
-        System.out.println("webClasses(" + prefix + ") - Received "
-                + paths.size() + " paths to check");
 
         String path = null;