You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ju...@apache.org on 2002/03/03 17:29:16 UTC

cvs commit: jakarta-turbine-maven/src/java/org/apache/maven/jrcs/tools JDiff.java JRCS.java

juanco      02/03/03 08:29:16

  Added:       src/java/org/apache/maven/jrcs/tools JDiff.java JRCS.java
  Removed:     src/java/org/apache/maven/jrcs JDiff.java JRCS.java
  Log:
  moved the tools to a tools sub package to avoid developers thinking they're entry points to the library
  
  Revision  Changes    Path
  1.1                  jakarta-turbine-maven/src/java/org/apache/maven/jrcs/tools/JDiff.java
  
  Index: JDiff.java
  ===================================================================
  package org.apache.maven.jrcs;
  
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 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 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/>.
   */
  
  
  import java.io.BufferedReader;
  import java.io.FileReader;
  import java.io.IOException;
  import java.util.ArrayList;
  import java.util.Date;
  import java.util.List;
  
  import org.apache.maven.jrcs.diff.Diff;
  import org.apache.maven.jrcs.diff.Revision;
  
  
  /**
   * A program to compare two files.
   * <p>JDiff produces the deltas between the two given files in Unix diff
   * format.
   * </p>
   * <p>The program was written as a simple test of the 
   * {@linkplain org.apache.maven.jrcs.diff diff} package.
   */
  public class JDiff
  {
  
      static final String[] loadFile(String name) throws IOException
      {
          BufferedReader data = new BufferedReader(new FileReader(name));
          List lines = new ArrayList();
          String s;
          while ((s = data.readLine()) != null)
          {
              lines.add(s);
          }
          return (String[])lines.toArray(new String[lines.size()]);
      }
  
      static final void usage(String name)
      {
          System.err.println("Usage: " + name + " file1 file2");
      }
  
      public static void main(String[] argv) throws Exception
      {
          if (argv.length < 2)
          {
              usage("JDiff");
          }
          else
          {
              Object[] orig = loadFile(argv[0]);
              Object[] rev = loadFile(argv[1]);
  
              System.err.println("---go!----");
              Diff df = new Diff(orig);
              Revision r = df.diff(rev);
              System.err.println("---end!---");
  
              System.err.println("------");
              System.out.print(r.toString());
              System.err.println("------" + new Date());
  
              try
              {
                  Object[] reco = r.patch(orig);
                  String recos = Diff.arrayToString(reco);
                  if (!Diff.compare(rev, reco))
                  {
                      /*
                      System.err.println("**********");
                      System.err.print(Diff.arrayToString(rev));
                      System.err.println("**********");
                      System.err.print(recos);
                      System.err.println("**********");
                      */
                      System.err.println("files differ");
                  }
              }
              catch (Throwable o)
              {
                  System.out.println("Patch failed");
              }
          }
      }
  }
  
  
  
  
  1.1                  jakarta-turbine-maven/src/java/org/apache/maven/jrcs/tools/JRCS.java
  
  Index: JRCS.java
  ===================================================================
  package org.apache.maven.jrcs;
  
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2002 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 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/>.
   */
  
  
  import org.apache.maven.jrcs.diff.Diff;
  import org.apache.maven.jrcs.rcs.*;
  
  /**
   * A tool to extract information from CVS/RCS archives.
   * <p>This simple tool was built as a feature test of the
   * {@linkplain org.apache.maven.jrcs.rcs rcs} library.
   * </p>
   */
  public class JRCS
  {
      static Archive archive;
      static Object[] orig;
  
      static public void main(String[] args) throws Exception
      {
  //     try {
          if (args.length > 2)
          {
              System.err.println("usage: ");
          }
          else
          {
              if (args.length >= 1)
              {
                  archive = new Archive(args[0]);
              }
              else
              {
                  archive = new Archive("test,v", System.in);
              }
              System.err.println();
              System.err.println("==========================================");
              //System.out.println(archive.toString());
              //System.out.println(archive.getRevision("5.2.7.1"));
              //System.out.println(archive.getRevision(args[1], true));
              //archive.addRevision(new Object[]{}, args[1]);
              orig = archive.getRevision("1.3");
              System.out.println("*-orig-*********");
              System.out.print(Diff.arrayToString(orig));
              System.out.println("**********");
              Object[] other = archive.getRevision("1.2");
              //!! commented out because of package access error (jvz).
              //System.out.println(Diff.diff(archive.removeKeywords(orig), 
              //                   archive.removeKeywords(other)).toRCSString());
              trywith("1.2.3.1");
              trywith("1.2.3.5");
              trywith("1.2.3.1.");
              trywith("1.2");
              trywith("1.2.2");
              /*
              trywith("1.2.2.2");
              trywith("1.2.2.1.1");
              trywith("1.2.2");
              trywith("1.2.3");
              trywith("1.2.3");
              */
          }
  /*     }
       catch(java.io.IOException e) {
         System.out.println(e.getClass().toString());
         System.out.println(e.getMessage());
         e.printStackTrace();
       }
  */
      }
  
      static int n = 1;
  
      static void trywith(String ver)
      {
          try
          {
              System.out.println();
              System.out.println("-------------");
              System.out.println("Adding " + ver);
  
              /*
              List editor = new ArrayList(Arrays.asList(orig));
              editor.subList(0,1).clear();
              editor.add(0, "hola!");
              Object[] rev = editor.toArray();
              */
              Object[] rev = Diff.randomEdit(orig, n++);
              //rev = Diff.stringToArray(archive.doKeywords(Diff.arrayToString(rev), null));
              //System.out.print(Archive.arrayToString(rev));
  
              Version newVer = archive.addRevision(rev, ver);
              System.out.println(newVer + " added");
  
              if (newVer != null)
              {
                  Object[] rec = archive.getRevision(newVer);
                  //System.out.print(Archive.arrayToString(rec));
  
                  /* !! commented out because of package access errors (jvz).
                  if (!Diff.compare(archive.removeKeywords(rec),
                      archive.removeKeywords(rev)))
                  {
                      System.out.println("revisions differ!");
                      System.out.println("**********");
                      System.out.println(Diff.arrayToString(rec));
                      System.out.println("**********");
                      System.out.println(Diff.arrayToString(rev));
                      System.out.println("**********");
                      System.out.print(Diff.diff(rec, rev).toRCSString());
                      System.out.println("**********");
                  }
                  */
              }
              System.out.println(ver + " OK");
          }
          catch (Exception e)
          {
              System.err.println(e.getMessage());
              e.printStackTrace();
          }
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>