maven-wagon-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mic...@apache.org
Subject cvs commit: maven-wagon/wagon-providers/http/src/test/java/org/apache/maven/wagon/providers/http HttpWagonFactoryTest.java
Date Tue, 09 Dec 2003 21:49:37 GMT
michal      2003/12/09 13:49:37

  Added:       wagon-providers/http/src/main/java/org/apache/maven/wagon/providers/http
                        HttpWagonFactory.java
               wagon-providers/http/src/test/java/org/apache/maven/wagon/providers/http
                        HttpWagonFactoryTest.java
  Log:
  WagonFactory interface was added. I want to use WagonFatories as components.
  
  Revision  Changes    Path
  1.1                  maven-wagon/wagon-providers/http/src/main/java/org/apache/maven/wagon/providers/http/HttpWagonFactory.java
  
  Index: HttpWagonFactory.java
  ===================================================================
  package org.apache.maven.wagon.providers.http;
  
  import org.apache.maven.wagon.Wagon;
  import org.apache.maven.wagon.WagonFactory;
  
  /*
   * ==================================================================== The
   * Apache Software License, Version 1.1
   * 
   * Copyright (c) 2003 The Apache Software Foundation. All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions are met: 1.
   * Redistributions of source code must retain the above copyright notice, this
   * list of conditions and the following disclaimer. 2. Redistributions in
   * binary form must reproduce the above copyright notice, this list of
   * conditions and the following disclaimer in the documentation and/or other
   * materials provided with the distribution. 3. The end-userName documentation
   * included with the redistribution, if any, must include the following
   * acknowledgment: "This product includes software developed by the Apache
   * Software Foundation (http://www.apache.org/)." Alternately, this
   * acknowledgment may appear in the software itself, if and wherever such
   * third-party acknowledgments normally appear. 4. The names "Apache" and
   * "Apache Software Foundation" and "Apache Maven" must not be used to endorse
   * or promote products derived from this software without prior written
   * permission. For written permission, please contact apache@apache.org. 5.
   * Products derived from this software may not be called "Apache", "Apache
   * Maven", nor may "Apache" appear in their name, without prior written
   * permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many individuals
   * on behalf of the Apache Software Foundation. For more information on the
   * Apache Software Foundation, please see <http://www.apache.org/> .
   * 
   * ====================================================================
   */
  
  /**
   * WagonFactory for HttpWagon objects
   * 
   * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
   * @version $Id: HttpWagonFactory.java,v 1.1 2003/12/09 21:49:37 michal Exp $
   */
  public class HttpWagonFactory implements WagonFactory
  {
      /**
       * Returns {"http", "https"}
       * 
       * @return {"http, "https"}
       */
      public String[] getSupportedProtocols()
      {
          final String[] retValue = {"http", "https"};
          return retValue;
      }
  
  
      public Wagon createWagon( String protocol )
      {
          if ( protocol.equals( "http" ) || protocol.equals( "https" ) )
          {
              return new HttpWagon();
          }
          throw new IllegalArgumentException( " Unuspported protocol" );
  
      }
  }
  
  
  
  
  
  1.1                  maven-wagon/wagon-providers/http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonFactoryTest.java
  
  Index: HttpWagonFactoryTest.java
  ===================================================================
  package org.apache.maven.wagon.providers.http;
  
  /*
   * ====================================================================
   * The Apache Software License, Version 1.1
   * 
   * Copyright (c) 2001 The Apache Software Foundation. All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions are met: 1.
   * Redistributions of source code must retain the above copyright notice, this
   * list of conditions and the following disclaimer. 2. Redistributions in
   * binary form must reproduce the above copyright notice, this list of
   * conditions and the following disclaimer in the documentation and/or other
   * materials provided with the distribution. 3. The end-user documentation
   * included with the redistribution, if any, must include the following
   * acknowledgment: "This product includes software developed by the Apache
   * Software Foundation (http://www.apache.org/)." Alternately, this
   * acknowledgment may appear in the software itself, if and wherever such
   * third-party acknowledgments normally appear. 4. The names "Apache" and
   * "Apache Software Foundation" and "Apache Maven" must not be used to
   * endorse or promote products derived from this software without prior written
   * permission. For written permission, please contact apache@apache.org. 5.
   * Products derived from this software may not be called "Apache", "Apache
   * MavenSession", nor may "Apache" appear in their name, without prior written
   * permission of the Apache Software Foundation.
   * 
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by many individuals
   * on behalf of the Apache Software Foundation. For more information on the
   * Apache Software Foundation, please see <http://www.apache.org/> .
   * 
   * ====================================================================
   */
  
  import junit.framework.TestCase;
  import org.apache.maven.wagon.Repository;
  import org.apache.maven.wagon.Wagon;
  import org.apache.maven.wagon.events.Debug;
  import org.apache.maven.wagon.request.GetRequest;
  
  import java.io.File;
  
  /**
   * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
   * @version $Id: HttpWagonFactoryTest.java,v 1.1 2003/12/09 21:49:37 michal Exp $
   */
  public class HttpWagonFactoryTest extends TestCase
  {
      public HttpWagonFactoryTest( final String name )
      {
          super( name );
      }
  
  
  
      public void testCreate()
      {
         final HttpWagonFactory wagonFactory = new HttpWagonFactory();
         Wagon wagon = wagonFactory.createWagon( "http" );
         assertEquals( wagon.getClass(), HttpWagon.class );
         wagon = wagonFactory.createWagon( "https" );
         assertEquals( wagon.getClass(), HttpWagon.class );
         try
         {
            wagon = wagonFactory.createWagon( "bogus" );
            fail("IllegalArgumentException expected for protocol bogus");
         }
         catch( IllegalArgumentException e)
         {
  
         }
  
  
      }
  
  
      public void testSupportedProtocols()
      {
         final HttpWagonFactory wagonFactory = new HttpWagonFactory();
         final String[] protocols = wagonFactory.getSupportedProtocols();
         assertEquals( 2, protocols.length);
         assertEquals( "http", protocols[0]);
         assertEquals( "https", protocols[1]);
  
      }
  }
  
  
  

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


Mime
View raw message