From 7e3a3c6b31d98e0670eafa58b20215808105ddaf Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Mon, 17 Dec 2001 09:12:48 +0000 Subject: [PATCH] Convert into a myrmidon task. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270234 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/antlib/cvslib/CVSPass.java | 124 ++++++++++-------- 1 file changed, 71 insertions(+), 53 deletions(-) diff --git a/proposal/myrmidon/src/java/org/apache/antlib/cvslib/CVSPass.java b/proposal/myrmidon/src/java/org/apache/antlib/cvslib/CVSPass.java index dd18ea9ee..05eb65ab2 100644 --- a/proposal/myrmidon/src/java/org/apache/antlib/cvslib/CVSPass.java +++ b/proposal/myrmidon/src/java/org/apache/antlib/cvslib/CVSPass.java @@ -13,58 +13,65 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import org.apache.myrmidon.api.AbstractTask; import org.apache.myrmidon.api.TaskException; -import org.apache.tools.ant.Task; /** * CVSLogin Adds an new entry to a CVS password file * * @author Jeff Martin - * @version $Revision$ + * @version $Revision$ $Date$ */ -public class CVSPass extends Task +public class CVSPass + extends AbstractTask { + /** + * End of line character + */ + private static final String EOL = System.getProperty( "line.separator" ); + /** * CVS Root */ - private String cvsRoot = null; + private String m_cvsRoot; + /** * Password file to add password to */ - private File passFile = null; + private File m_passwordFile; + /** * Password to add to file */ - private String password = null; - /** - * End of line character - */ - private final String EOL = System.getProperty( "line.separator" ); + private String m_password; /** * Array contain char conversion data */ - private final char shifts[] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 114, 120, 53, 79, 96, 109, 72, 108, 70, 64, 76, 67, 116, 74, 68, 87, - 111, 52, 75, 119, 49, 34, 82, 81, 95, 65, 112, 86, 118, 110, 122, 105, - 41, 57, 83, 43, 46, 102, 40, 89, 38, 103, 45, 50, 42, 123, 91, 35, - 125, 55, 54, 66, 124, 126, 59, 47, 92, 71, 115, 78, 88, 107, 106, 56, - 36, 121, 117, 104, 101, 100, 69, 73, 99, 63, 94, 93, 39, 37, 61, 48, - 58, 113, 32, 90, 44, 98, 60, 51, 33, 97, 62, 77, 84, 80, 85, 223, - 225, 216, 187, 166, 229, 189, 222, 188, 141, 249, 148, 200, 184, 136, 248, 190, - 199, 170, 181, 204, 138, 232, 218, 183, 255, 234, 220, 247, 213, 203, 226, 193, - 174, 172, 228, 252, 217, 201, 131, 230, 197, 211, 145, 238, 161, 179, 160, 212, - 207, 221, 254, 173, 202, 146, 224, 151, 140, 196, 205, 130, 135, 133, 143, 246, - 192, 159, 244, 239, 185, 168, 215, 144, 139, 165, 180, 157, 147, 186, 214, 176, - 227, 231, 219, 169, 175, 156, 206, 198, 129, 164, 150, 210, 154, 177, 134, 127, - 182, 128, 158, 208, 162, 132, 167, 209, 149, 241, 153, 251, 237, 236, 171, 195, - 243, 233, 253, 240, 194, 250, 191, 155, 142, 137, 245, 235, 163, 242, 178, 152}; + private final char[] m_shifts = + { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 114, 120, 53, 79, 96, 109, 72, 108, 70, 64, 76, 67, 116, 74, 68, 87, + 111, 52, 75, 119, 49, 34, 82, 81, 95, 65, 112, 86, 118, 110, 122, 105, + 41, 57, 83, 43, 46, 102, 40, 89, 38, 103, 45, 50, 42, 123, 91, 35, + 125, 55, 54, 66, 124, 126, 59, 47, 92, 71, 115, 78, 88, 107, 106, 56, + 36, 121, 117, 104, 101, 100, 69, 73, 99, 63, 94, 93, 39, 37, 61, 48, + 58, 113, 32, 90, 44, 98, 60, 51, 33, 97, 62, 77, 84, 80, 85, 223, + 225, 216, 187, 166, 229, 189, 222, 188, 141, 249, 148, 200, 184, 136, 248, 190, + 199, 170, 181, 204, 138, 232, 218, 183, 255, 234, 220, 247, 213, 203, 226, 193, + 174, 172, 228, 252, 217, 201, 131, 230, 197, 211, 145, 238, 161, 179, 160, 212, + 207, 221, 254, 173, 202, 146, 224, 151, 140, 196, 205, 130, 135, 133, 143, 246, + 192, 159, 244, 239, 185, 168, 215, 144, 139, 165, 180, 157, 147, 186, 214, 176, + 227, 231, 219, 169, 175, 156, 206, 198, 129, 164, 150, 210, 154, 177, 134, 127, + 182, 128, 158, 208, 162, 132, 167, 209, 149, 241, 153, 251, 237, 236, 171, 195, + 243, 233, 253, 240, 194, 250, 191, 155, 142, 137, 245, 235, 163, 242, 178, 152 + }; public CVSPass() { - passFile = new File( System.getProperty( "user.home" ) + "/.cvspass" ); + final String location = System.getProperty( "user.home" ) + "/.cvspass"; + m_passwordFile = new File( location ); } /** @@ -74,7 +81,7 @@ public class CVSPass extends Task */ public void setCvsroot( String cvsRoot ) { - this.cvsRoot = cvsRoot; + m_cvsRoot = cvsRoot; } /** @@ -84,7 +91,7 @@ public class CVSPass extends Task */ public void setPassfile( File passFile ) { - this.passFile = passFile; + m_passwordFile = passFile; } /** @@ -94,7 +101,7 @@ public class CVSPass extends Task */ public void setPassword( String password ) { - this.password = password; + m_password = password; } /** @@ -105,42 +112,49 @@ public class CVSPass extends Task public final void execute() throws TaskException { - if( cvsRoot == null ) + if( null == m_cvsRoot ) + { throw new TaskException( "cvsroot is required" ); - if( password == null ) + } + if( null == m_password ) + { throw new TaskException( "password is required" ); + } - log( "cvsRoot: " + cvsRoot, project.MSG_DEBUG ); - log( "password: " + password, project.MSG_DEBUG ); - log( "passFile: " + passFile, project.MSG_DEBUG ); + getLogger().debug( "cvsRoot: " + m_cvsRoot ); + getLogger().debug( "password: " + m_password ); + getLogger().debug( "passFile: " + m_passwordFile ); + //FIXME: Should not be writing the whole file - Just append to the file + //Also should have EOL configurable try { - StringBuffer buf = new StringBuffer(); - - if( passFile.exists() ) + final StringBuffer sb = new StringBuffer(); + if( m_passwordFile.exists() ) { - BufferedReader reader = - new BufferedReader( new FileReader( passFile ) ); + final BufferedReader reader = + new BufferedReader( new FileReader( m_passwordFile ) ); String line = null; while( ( line = reader.readLine() ) != null ) { - if( !line.startsWith( cvsRoot ) ) + if( !line.startsWith( m_cvsRoot ) ) { - buf.append( line + EOL ); + sb.append( line + EOL ); } } reader.close(); } - String pwdfile = buf.toString() + cvsRoot + " A" + mangle( password ); + final String pwdfile = + sb.toString() + m_cvsRoot + " A" + mangle( m_password ); - log( "Writing -> " + pwdfile, project.MSG_DEBUG ); + getLogger().debug( "Writing -> " + pwdfile ); - PrintWriter writer = new PrintWriter( new FileWriter( passFile ) ); + final PrintWriter writer = + new PrintWriter( new FileWriter( m_passwordFile ) ); writer.println( pwdfile ); @@ -150,17 +164,21 @@ public class CVSPass extends Task { throw new TaskException( "Error", e ); } - } - private final String mangle( String password ) + /** + * This encoding method and the accompanying LUT should + * be pushed into another method ... somewhere. + */ + private final String mangle( final String password ) { - StringBuffer buf = new StringBuffer(); - for( int i = 0; i < password.length(); i++ ) + final int size = password.length(); + + final StringBuffer sb = new StringBuffer(); + for( int i = 0; i < size; i++ ) { - buf.append( shifts[ password.charAt( i ) ] ); + sb.append( m_shifts[ password.charAt( i ) ] ); } - return buf.toString(); + return sb.toString(); } - }