You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2005/03/29 10:01:17 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/event DomainEvent.java DomainListener.java

luetzkendorf    2005/03/29 00:01:17

  Modified:    src/share/org/apache/slide/common Domain.java
               src/share/org/apache/slide/event DomainEvent.java
                        DomainListener.java
  Log:
  new NAMESPACE_INITIALIZED event
  event initialization move to the top of domain initialization
  
  Revision  Changes    Path
  1.52      +23 -18    jakarta-slide/src/share/org/apache/slide/common/Domain.java
  
  Index: Domain.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Domain.java,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- Domain.java	10 Jan 2005 18:16:52 -0000	1.51
  +++ Domain.java	29 Mar 2005 08:01:16 -0000	1.52
  @@ -422,6 +422,18 @@
           
           info("Initializing Domain");
           
  +        Enumeration eventConfigurations = configuration.getConfigurations("events");
  +        if ( eventConfigurations.hasMoreElements() ) {
  +            Configuration eventConfiguration = (Configuration)eventConfigurations.nextElement();
  +            EventDispatcher.getInstance().configure(eventConfiguration);
  +        }
  +
  +        Enumeration extractorConfigurations = configuration.getConfigurations("extractors");
  +        if ( extractorConfigurations.hasMoreElements() ) {
  +            Configuration extractorConfiguration = (Configuration)extractorConfigurations.nextElement();
  +            ExtractorManager.getInstance().configure(extractorConfiguration);
  +        }
  +        
           namespaces = new Hashtable();
           activeNamespaces = new Hashtable();
           
  @@ -457,20 +469,8 @@
           
           namespacesInitialized = true;
   
  -        Enumeration extractorConfigurations = configuration.getConfigurations("extractors");
  -        if ( extractorConfigurations.hasMoreElements() ) {
  -            Configuration extractorConfiguration = (Configuration)extractorConfigurations.nextElement();
  -            ExtractorManager.getInstance().configure(extractorConfiguration);
  -        }
  -
  -        Enumeration eventConfigurations = configuration.getConfigurations("events");
  -        if ( eventConfigurations.hasMoreElements() ) {
  -            Configuration eventConfiguration = (Configuration)eventConfigurations.nextElement();
  -            EventDispatcher.getInstance().configure(eventConfiguration);
  -        }
  -        
  -        if (DomainEvent.INITIALIZED.isEnabled()) {
  -            EventDispatcher.getInstance().fireEvent(DomainEvent.INITIALIZED, 
  +        if (DomainEvent.DOMAIN_INITIALIZED.isEnabled()) {
  +            EventDispatcher.getInstance().fireEvent(DomainEvent.DOMAIN_INITIALIZED, 
                       new DomainEvent(Domain.class));
           }
       }
  @@ -921,6 +921,11 @@
               
               info("Namespace configuration complete");
               
  +            if (DomainEvent.NAMESPACE_INITIALIZED.isEnabled()) {
  +                EventDispatcher.getInstance().fireEvent(DomainEvent.NAMESPACE_INITIALIZED, 
  +                        new DomainEvent(Domain.class, namespace));
  +            }
  +            
           } catch (Throwable t) {
               error(t);
           }
  
  
  
  1.2       +31 -7     jakarta-slide/src/share/org/apache/slide/event/DomainEvent.java
  
  Index: DomainEvent.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/event/DomainEvent.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DomainEvent.java	10 Jan 2005 18:16:53 -0000	1.1
  +++ DomainEvent.java	29 Mar 2005 08:01:17 -0000	1.2
  @@ -25,23 +25,35 @@
   import java.util.EventListener;
   import java.util.EventObject;
   
  +import org.apache.slide.common.Namespace;
  +
   /**
    * Events from the Slide Domain object.
    */
   public class DomainEvent extends EventObject {
   
  -    public static final Initialized INITIALIZED = new Initialized(); 
  +    public static final DomainInitialized DOMAIN_INITIALIZED = new DomainInitialized(); 
  +    public static final NamespaceInitialized NAMESPACE_INITIALIZED = new NamespaceInitialized();
       
       public final static String GROUP = "domain";
  -    public final static AbstractEventMethod[] methods = new AbstractEventMethod[] { INITIALIZED };
  +    public final static AbstractEventMethod[] methods = new AbstractEventMethod[] { DOMAIN_INITIALIZED, NAMESPACE_INITIALIZED };
  +    
  +    private Namespace namespace = null;
       
       public DomainEvent(Object source) {
           super(source);
       }
  +    public DomainEvent(Object source, Namespace namespace) {
  +        super(source);
  +        this.namespace = namespace;
  +    }
       
  +    public Namespace getNamespace() {
  +        return this.namespace;
  +    }
       
  -    public final static class Initialized extends EventMethod {
  -        public Initialized() {
  +    public final static class DomainInitialized extends EventMethod {
  +        public DomainInitialized() {
               super(GROUP, "initialized");
           }
   
  @@ -51,4 +63,16 @@
               }
           }
       }
  +    
  +    public final static class NamespaceInitialized extends EventMethod {
  +        public NamespaceInitialized() {
  +            super(GROUP, "namepace-initialized");
  +        }
  +
  +        public void fireEvent(EventListener listener, EventObject event) {
  +            if (listener instanceof DomainListener) {
  +                ((DomainListener)listener).namespaceInitialized((DomainEvent)event);
  +            }
  +        }
  +    }
   }
  
  
  
  1.2       +11 -3     jakarta-slide/src/share/org/apache/slide/event/DomainListener.java
  
  Index: DomainListener.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/event/DomainListener.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DomainListener.java	10 Jan 2005 18:16:53 -0000	1.1
  +++ DomainListener.java	29 Mar 2005 08:01:17 -0000	1.2
  @@ -28,5 +28,13 @@
    * @author stefan
    */
   public interface DomainListener extends EventListener {
  +    /**
  +     * Called if the Slide domain initialization has finished. 
  +     */
       public void initialized(DomainEvent event);
  +    
  +    /**
  +     * Called if the initialization of a slide namespace has just finished. 
  +     */
  +    public void namespaceInitialized(DomainEvent event);
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org