You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/02/02 01:41:24 UTC

cvs commit: avalon/repository/main/src/java/org/apache/avalon/repository/main DefaultInitialContext.java

mcconnell    2004/02/01 16:41:24

  Modified:    repository maven.xml
               repository/api/src/java/org/apache/avalon/repository
                        Artifact.java
               repository/cli/src/java/org/apache/avalon/repository/cli
                        Main.java
               repository/impl project.properties
               repository/impl/src/java/org/apache/avalon/repository/impl
                        DefaultCacheManager.java
               repository/main/src/java/org/apache/avalon/repository/main
                        DefaultInitialContext.java
  Added:       repository/impl/src/java/org/apache/avalon/repository/impl
                        DefaultCacheManagerMBean.java
  Log:
  Some very initial updates dealing with the introduction of JMX into the repository package.
  
  Revision  Changes    Path
  1.10      +98 -10    avalon/repository/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/avalon/repository/maven.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- maven.xml	31 Jan 2004 13:29:49 -0000	1.9
  +++ maven.xml	2 Feb 2004 00:41:23 -0000	1.10
  @@ -15,6 +15,13 @@
     -->
   
     <ant:property name="avalon.cli.version" value="1.3-SNAPSHOT"/>
  +  <ant:property name="plugin.jar" value="avalon-util-plugin-1.0-SNAPSHOT"/>
  +
  +  <ant:property name="plugin.groupId" value="avalon-util"/>
  +  <ant:property name="plugin.artifactId" value="avalon-util"/>
  +  <ant:property name="plugin.version" value="1.0-SNAPSHOT"/>
  +  <ant:property name="plugin.jar" 
  +    value="${plugin.artifactId}-${plugin.version}.jar"/>
   
     <!--
     ==============================================================================
  @@ -99,6 +106,12 @@
       </j:forEach>
     </goal>
   
  +  <!--
  +  ==============================================================================
  +  clean all subprojects
  +  ==============================================================================
  +  -->
  +
     <goal name="avalon:clean" prereqs="clean" description="Clean all subprojects.">
       <maven:reactor
         basedir="${basedir}"
  @@ -109,6 +122,12 @@
         ignoreFailures="true"/>
     </goal>
   
  +  <!--
  +  ==============================================================================
  +  build the site documentation
  +  ==============================================================================
  +  -->
  +
     <goal name="avalon:site">
       <maven:reactor basedir="${basedir}"
         includes="platform.xml"
  @@ -117,8 +136,13 @@
         ignoreFailures="false"/>
     </goal>
   
  -  <goal name="avalon:dist" prereqs="avalon:build,avalon:site,xdist">
  -  </goal>
  +  <!--
  +  ==============================================================================
  +  build a formal distribution
  +  ==============================================================================
  +  -->
  +
  +  <goal name="avalon:dist" prereqs="avalon:build,avalon:site,xdist"/>
   
     <goal name="xdist"
       prereqs="xdist:build"
  @@ -328,6 +352,7 @@
           <sourcepath path="${basedir}/impl/src/java"/>
           <sourcepath path="${basedir}/util/src/java"/>
           <sourcepath path="${basedir}/main/src/java"/>
  +        <sourcepath path="${basedir}/cli/src/java"/>
           <classpath>
             <path refid="maven.dependency.classpath"/>
   	  </classpath>
  @@ -335,22 +360,85 @@
       </ant:javadoc>
     </goal>
   
  -  <postGoal name="java:prepare-filesystem">
  -    <ant:available file="${maven.home}/plugins/${repo.plugin.jar}"
  +  <!--
  +  ==============================================================================
  +  checks
  +  ==============================================================================
  +  -->
  +
  +  <goal name="validate">
  +    <ant:available file="${maven.home}/plugins/${plugin.jar}"
         property="repoPluginPresent"/>
  -    <j:if test="${repoPluginPresent != 'true'}">
  -      <ant:echo>
  +    <j:choose>
  +      <j:when test="${repoPluginPresent}">
  +        <echo>OK</echo>
  +      </j:when>
  +      <j:otherwise>
  +        <ant:echo>
   #####################################################################
   #                                                                   #
   #   WARNING:                                                        #
  -#   You do not have the required version of the avalon-repository   #
  -#   plugin installed on your system.                                #
  +#   You do not have the required version of the avalon-util-plugin  #
  +#   installed on your system.                                       #
   #   Please invoke the following command                             #
   #                                                                   #
   #     $ maven avalon:setup                                          #
   #                                                                   #
   #####################################################################</ant:echo>
  -    </j:if>
  -  </postGoal>
  +      </j:otherwise>
  +    </j:choose>
  +  </goal>
  +
  +  <goal name="avalon:setup">
  +    <echo>
  +Initiating download and installation of the Avalon Util Plugin.
  +${plugin.artifactId}-${plugin.version}.jar</echo>
  +    <j:set var="repoList">${maven.repo.remote}</j:set> 
  +    <util:tokenize var="repos" delim=",">${repoList.trim()}</util:tokenize> 
  +    <j:forEach var="repo" items="${repos}"> 
  +      <echo>repository '${repo}'</echo> 
  +      <util:file var="localPlugin" name="${maven.home}/plugins/${plugin.artifactId}-${plugin.version}.jar" /> 
  +      <j:if test="${!localPlugin.exists()}"> 
  +        <j:set var="remoteFile" value="${repo}/${plugin.groupId}/plugins/${plugin.artifactId}-${plugin.version}.jar" /> 
  +        <echo>trying to download ${remoteFile}</echo> 
  +        <j:catch var="ex"> 
  +        <j:invokeStatic var="dummy" method="getFile" className="org.apache.maven.util.HttpUtils"> 
  +          <j:arg type="java.lang.String" value="${remoteFile}" /> 
  +          <j:arg type="java.io.File" value="${localPlugin}"/> 
  +          <j:arg type="boolean" value="false"/> 
  +          <j:arg type="boolean" value="true"/> 
  +          <j:arg type="java.lang.String" value="${maven.proxy.host}" /> 
  +          <j:arg type="java.lang.String" value="${maven.proxy.port}" /> 
  +          <j:arg type="java.lang.String" value="${maven.proxy.username}" /> 
  +          <j:arg type="java.lang.String" value="${maven.proxy.password}" /> 
  +          <j:arg type="boolean" value="false"/> 
  +        </j:invokeStatic> 
  +        </j:catch> 
  +      </j:if> 
  +      <j:break test="${localPlugin.exists()}"/> 
  +    </j:forEach>
  +    <j:set var="downloaded" value="${localPlugin.exists()}"/> 
  +    <j:if test="${!downloaded}"> 
  +      <ant:fail message="Unable to find plug-in" /> 
  +    </j:if> 
  +    <j:if test="${downloaded}">
  +      <ant:move file="${localPlugin}" toFile="tmp.jar"/>
  +      <echo>Plugin downloaded, removing other versions</echo> 
  +      <delete verbose="false"> 
  +        <fileset dir="${maven.home}/plugins">
  +          <include name="${plugin.artifactId}-*.jar" /> 
  +          <exclude name="${plugin.artifactId}-${plugin.version}.jar" /> 
  +        </fileset> 
  +      </delete> 
  +      <delete includeEmptyDirs="true" verbose="false"> 
  +        <fileset dir="${maven.plugin.unpacked.dir}"> 
  +          <include name="*.cache"/> 
  +          <include name="**/.processed" /> 
  +          <include name="${plugin.artifactId}-*/**" /> 
  +        </fileset>
  +      </delete>
  +      <ant:move file="tmp.jar" toFile="${localPlugin}"/>
  +    </j:if> 
  +  </goal>
   
   </project>
  
  
  
  1.4       +3 -2      avalon/repository/api/src/java/org/apache/avalon/repository/Artifact.java
  
  Index: Artifact.java
  ===================================================================
  RCS file: /home/cvs/avalon/repository/api/src/java/org/apache/avalon/repository/Artifact.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Artifact.java	24 Jan 2004 23:20:04 -0000	1.3
  +++ Artifact.java	2 Feb 2004 00:41:23 -0000	1.4
  @@ -55,7 +55,8 @@
               try
               {
                   URL url = new URL( null, spec, new ArtifactHandler() );
  -                return (Artifact) url.getContent();
  +                Artifact artifact = (Artifact) url.getContent();
  +                return artifact;
               }
               catch( IOException e )
               {
  
  
  
  1.2       +3 -2      avalon/repository/cli/src/java/org/apache/avalon/repository/cli/Main.java
  
  Index: Main.java
  ===================================================================
  RCS file: /home/cvs/avalon/repository/cli/src/java/org/apache/avalon/repository/cli/Main.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Main.java	31 Jan 2004 13:29:50 -0000	1.1
  +++ Main.java	2 Feb 2004 00:41:23 -0000	1.2
  @@ -326,7 +326,8 @@
           StringTokenizer tokenizer = new StringTokenizer( arg, "," );
           while( tokenizer.hasMoreTokens() )
           {
  -            list.add( tokenizer.nextToken() );
  +            String next = tokenizer.nextToken();
  +            list.add( next );
           }
           return (String[]) list.toArray( new String[0] );
       }
  
  
  
  1.2       +4 -1      avalon/repository/impl/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/avalon/repository/impl/project.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.properties	4 Dec 2003 19:34:30 -0000	1.1
  +++ project.properties	2 Feb 2004 00:41:23 -0000	1.2
  @@ -3,4 +3,7 @@
   #
   avalon.artifact.factory = org.apache.avalon.repository.impl.DefaultFactory
   
  -
  +#
  +# service export
  +#
  +avalon.artifact.export = org.apache.avalon.repository.provider.CacheManager
  
  
  
  1.5       +2 -2      avalon/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultCacheManager.java
  
  Index: DefaultCacheManager.java
  ===================================================================
  RCS file: /home/cvs/avalon/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultCacheManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultCacheManager.java	24 Jan 2004 23:20:04 -0000	1.4
  +++ DefaultCacheManager.java	2 Feb 2004 00:41:24 -0000	1.5
  @@ -51,7 +51,7 @@
    * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
    * @version $Revision$ $Date$
    */
  -public class DefaultCacheManager implements CacheManager
  +public class DefaultCacheManager implements CacheManager, DefaultCacheManagerMBean
   {
       //------------------------------------------------------------------
       // immutable state 
  
  
  
  1.1                  avalon/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultCacheManagerMBean.java
  
  Index: DefaultCacheManagerMBean.java
  ===================================================================
  /* 
   * Copyright 2004 Apache Software Foundation
   * Licensed  under the  Apache License,  Version 2.0  (the "License");
   * you may not use  this file  except in  compliance with the License.
   * You may obtain a copy of the License at 
   * 
   *   http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed  under the  License is distributed on an "AS IS" BASIS,
   * WITHOUT  WARRANTIES OR CONDITIONS  OF ANY KIND, either  express  or
   * implied.
   * 
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package org.apache.avalon.repository.impl;
  
  import java.io.File;
  
  /**
   * A service that provides write access to a cache and support
   * for repository creation.
   *
   * @author <a href="mailto:mcconnell@osm.net">Stephen McConnell</a>
   * @version $Revision: 1.1 $ $Date: 2004/02/02 00:41:24 $
   */
  public interface DefaultCacheManagerMBean
  {        
      /**
       * Return cache root directory.
       * 
       * @return the cache directory
       */
      File getCacheDirectory();
  
  }
  
  
  
  1.17      +5 -5      avalon/repository/main/src/java/org/apache/avalon/repository/main/DefaultInitialContext.java
  
  Index: DefaultInitialContext.java
  ===================================================================
  RCS file: /home/cvs/avalon/repository/main/src/java/org/apache/avalon/repository/main/DefaultInitialContext.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- DefaultInitialContext.java	31 Jan 2004 13:29:50 -0000	1.16
  +++ DefaultInitialContext.java	2 Feb 2004 00:41:24 -0000	1.17
  @@ -144,9 +144,9 @@
       //------------------------------------------------------------------
           
      /** 
  -    * the instantiated delegate repository factory
  +    * The instantiated delegate repository factory.
       */
  -    private final Factory m_delegate;
  +    private final Factory m_factory;
   
      /**
       * The initial cache directory.
  @@ -310,7 +310,7 @@
   
           try
           {
  -            m_delegate = createDelegate( classloader, clazz, this );
  +            m_factory = createDelegate( classloader, clazz, this );
           }
           catch( Throwable e )
           {
  @@ -366,7 +366,7 @@
       */
       public Factory getInitialFactory()
       {
  -        return m_delegate;
  +        return m_factory;
       }
   
      /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org