mirceatoma    01/10/31 13:59:57

  Added:       src/java/org/apache/avalon/phoenix/interfaces
                        DeploymentRecorder.java
               src/java/org/apache/avalon/phoenix/components/deployer
                        DefaultDeploymentRecorder.java
  Log:
  Recorder for application deployment specific information.
  
  Revision  Changes    Path
  1.1                  
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/interfaces/DeploymentRecorder.java
  
  Index: DeploymentRecorder.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.phoenix.interfaces;
  
  import org.apache.avalon.framework.component.Component;
  import org.apache.avalon.phoenix.tools.installer.Installation;
  
  /**
   * Recorder for application deployment specific information.
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Mircea Toma</a>
   */
  public interface DeploymentRecorder extends Component {
  
      String ROLE = "org.apache.avalon.phoenix.interfaces.DeploymentRecorder";
      
      void recordInstallation( String name, Installation installation ) 
          throws DeploymentException;
      
      Installation fetchInstallation( String name ) 
          throws DeploymentException;
      
  }
  
  
  
  
  1.1                  
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/deployer/DefaultDeploymentRecorder.java
  
  Index: DefaultDeploymentRecorder.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE file.
   */
  package org.apache.avalon.phoenix.components.deployer;
  
  import java.util.HashMap;
  import org.apache.avalon.framework.logger.AbstractLoggable;
  import org.apache.avalon.phoenix.interfaces.DeploymentRecorder;
  import org.apache.avalon.phoenix.interfaces.DeploymentException;
  import org.apache.avalon.phoenix.tools.installer.Installation;
  
  /**
   * Recorder for application deployment specific information (To avoid 
   * installation of applications every time Phoenix starts this class should 
   * persist the information in order to be reconstructed). 
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Mircea Toma</a>
   */
  public class DefaultDeploymentRecorder 
      extends AbstractLoggable 
      implements DeploymentRecorder {
             
      private final HashMap m_installations = new HashMap();
  
      public synchronized void recordInstallation( final String name, final 
Installation installation ) 
         throws DeploymentException
      {
          if( null == installation )
          {
              m_installations.remove( name );
          }
          else
          {        
              m_installations.put( name, installation );           
          }
      }           
  
      public synchronized Installation fetchInstallation( final String name ) 
         throws DeploymentException
      {
         return (Installation)m_installations.get( name );
      }        
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to