Clover coverage report - Ant Coverage
Coverage timestamp: Tue Apr 8 2003 20:43:55 EST
file stats: LOC: 189   Methods: 11
NCLOC: 99   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
P4Resolve.java 0% 0% 0% 0%
 1   
 /*
 2   
 * The Apache Software License, Version 1.1
 3   
 *
 4   
 * Copyright (c) 2003 The Apache Software Foundation.  All rights
 5   
 * reserved.
 6   
 *
 7   
 * Redistribution and use in source and binary forms, with or without
 8   
 * modification, are permitted provided that the following conditions
 9   
 * are met:
 10   
 *
 11   
 * 1. Redistributions of source code must retain the above copyright
 12   
 *    notice, this list of conditions and the following disclaimer.
 13   
 *
 14   
 * 2. Redistributions in binary form must reproduce the above copyright
 15   
 *    notice, this list of conditions and the following disclaimer in
 16   
 *    the documentation and/or other materials provided with the
 17   
 *    distribution.
 18   
 *
 19   
 * 3. The end-user documentation included with the redistribution, if
 20   
 *    any, must include the following acknowlegement:
 21   
 *       "This product includes software developed by the
 22   
 *        Apache Software Foundation (http://www.apache.org/)."
 23   
 *    Alternately, this acknowlegement may appear in the software itself,
 24   
 *    if and wherever such third-party acknowlegements normally appear.
 25   
 *
 26   
 * 4. The names "Ant" and "Apache Software
 27   
 *    Foundation" must not be used to endorse or promote products derived
 28   
 *    from this software without prior written permission. For written
 29   
 *    permission, please contact apache@apache.org.
 30   
 *
 31   
 * 5. Products derived from this software may not be called "Apache"
 32   
 *    nor may "Apache" appear in their names without prior written
 33   
 *    permission of the Apache Group.
 34   
 *
 35   
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 36   
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 37   
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 38   
 * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 39   
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 40   
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 41   
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 42   
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 43   
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 44   
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 45   
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 46   
 * SUCH DAMAGE.
 47   
 * ====================================================================
 48   
 *
 49   
 * This software consists of voluntary contributions made by many
 50   
 * individuals on behalf of the Apache Software Foundation.  For more
 51   
 * information on the Apache Software Foundation, please see
 52   
 * <http://www.apache.org/>.
 53   
 */
 54   
 /*
 55   
 * Portions of this software are based upon public domain software
 56   
 * originally written at the National Center for Supercomputing Applications,
 57   
 * University of Illinois, Urbana-Champaign.
 58   
 */
 59   
 
 60   
 package org.apache.tools.ant.taskdefs.optional.perforce;
 61   
 
 62   
 import org.apache.tools.ant.BuildException;
 63   
 
 64   
 /**
 65   
  * @ant.task category="scm"
 66   
  */
 67   
 public class P4Resolve extends P4Base{
 68   
     private String resolvemode = null;
 69   
 
 70   
 
 71   
     private boolean redoall; /* -f */
 72   
     private boolean simulationmode;  /* -n */
 73   
     private boolean forcetextmode;  /* -t */
 74   
     private boolean markersforall; /* -v */
 75   
     private static final String AUTOMATIC = "automatic";
 76   
     private static final String FORCE = "force";
 77   
     private static final String SAFE = "safe";
 78   
     private static final String THEIRS = "theirs";
 79   
     private static final String YOURS = "yours";
 80   
     private static final String[] resolvemodes = {
 81   
         AUTOMATIC,
 82   
         FORCE,
 83   
         SAFE,
 84   
         THEIRS,
 85   
         YOURS
 86   
     };
 87   
 
 88  0
     public String getResolvemode() {
 89  0
         return resolvemode;
 90   
     }
 91   
     /**
 92   
      * values for resolvemode
 93   
      * <ul>
 94   
      * <li> automatic -am</li>
 95   
      * <li> force -af </li>
 96   
      * <li> safe -as </li>
 97   
      * <li> theirs -at </li>
 98   
      * <li> yours -ay </li>
 99   
      * </ul>
 100   
      */
 101  0
     public void setResolvemode(String resolvemode) {
 102  0
         boolean found=false;
 103  0
         for (int counter=0; counter < resolvemodes.length; counter++)
 104   
         {
 105  0
             if (resolvemode.equals(resolvemodes[counter])) {
 106  0
                 found=true;
 107  0
                 break;
 108   
             }
 109   
         }
 110  0
         if (found==false) {
 111  0
             throw new BuildException("Unacceptable value for resolve mode");
 112   
         }
 113  0
         this.resolvemode = resolvemode;
 114   
     }
 115   
 
 116  0
     public boolean isRedoall() {
 117  0
         return redoall;
 118   
     }
 119   
 
 120  0
     public void setRedoall(boolean redoall) {
 121  0
         this.redoall = redoall;
 122   
     }
 123   
 
 124  0
     public boolean isSimulationmode() {
 125  0
         return simulationmode;
 126   
     }
 127   
 
 128  0
     public void setSimulationmode(boolean simulationmode) {
 129  0
         this.simulationmode = simulationmode;
 130   
     }
 131   
 
 132  0
     public boolean isForcetextmode() {
 133  0
         return forcetextmode;
 134   
     }
 135   
 
 136  0
     public void setForcetextmode(boolean forcetextmode) {
 137  0
         this.forcetextmode = forcetextmode;
 138   
     }
 139   
 
 140  0
     public boolean isMarkersforall() {
 141  0
         return markersforall;
 142   
     }
 143   
 
 144  0
     public void setMarkersforall(boolean markersforall) {
 145  0
         this.markersforall = markersforall;
 146   
     }
 147   
 
 148   
     /**
 149   
      *  execute the p4 resolve
 150   
      */
 151  0
     public void execute() throws BuildException {
 152  0
         if (this.resolvemode.equals(AUTOMATIC)) {
 153  0
             P4CmdOpts = P4CmdOpts + " -am";
 154   
         }
 155  0
         else if (this.resolvemode.equals(FORCE)) {
 156  0
             P4CmdOpts = P4CmdOpts + " -af";
 157   
         }
 158  0
         else if (this.resolvemode.equals(SAFE)) {
 159  0
             P4CmdOpts = P4CmdOpts + " -as";
 160   
         }
 161  0
         else if (this.resolvemode.equals(THEIRS)) {
 162  0
             P4CmdOpts = P4CmdOpts + " -at";
 163   
         }
 164  0
         else if (this.resolvemode.equals(YOURS)) {
 165  0
             P4CmdOpts = P4CmdOpts + " -ay";
 166   
         }
 167   
         else
 168   
         {
 169  0
             throw new BuildException("unsupported or absent resolve mode");
 170   
         }
 171  0
         if (P4View==null) {
 172  0
             throw new BuildException("please specify a view");
 173   
         }
 174  0
         if ( this.isRedoall() ) {
 175  0
             P4CmdOpts = P4CmdOpts + " -f";
 176   
         }
 177  0
         if ( this.isSimulationmode() ) {
 178  0
             P4CmdOpts = P4CmdOpts + " -n";
 179   
         }
 180  0
         if ( this.isForcetextmode() ) {
 181  0
             P4CmdOpts = P4CmdOpts + " -t";
 182   
         }
 183  0
         if ( this.isMarkersforall() ) {
 184  0
             P4CmdOpts = P4CmdOpts + " -v";
 185   
         }
 186  0
         execP4Command("-s resolve " + P4CmdOpts + " " + P4View, new SimpleP4OutputHandler(this));
 187   
     }
 188   
 }
 189