/** * Read the content of a file and converts it with UTF-8 encoding to a String. */ public static String readRawDataAsString( File file ) throws IOException { return new String( readRawData( file ), DEFAULT_CHARSET ); } //---------------------------------------------------------------------------------------------------------------
public static void writeAndSign( String fName, byte [] bytes, Set<StreamVerifierFactory> vFacs ) throws IOException, StreamObserverException { ByteArrayInputStream bais = new ByteArrayInputStream( bytes ); writeAndSign( fName, bais, vFacs ); } //---------------------------------------------------------------------------------------------------------------
public static void copy( File fromFile, File toFile, boolean clean ) throws IOException { if( toFile.exists() && clean ) delete( toFile ); if( fromFile.isFile() ) { copyFile( fromFile, toFile ); return; } File [] kids = fromFile.listFiles(); if( kids != null ) { for( File kid : kids ) { if( kid.isDirectory() ) { File newDir = new File( toFile, kid.getName() ); newDir.mkdirs(); copy( kid, newDir, false ); } else copyFile( kid, toFile ); } } } //---------------------------------------------------------------------------------------------------------------
private static void signAll( List<String> fileNames, Set<StreamVerifierFactory> vFacs, boolean recurse, boolean force, boolean sign ) throws IOException, StreamObserverException { if( vFacs == null || vFacs.size() < 1 ) { System.err.println( "no.verifiers" ); return; } File f = null; for( String fName : fileNames ) { f = new File( fName ); if( ! f.exists() ) { System.out.println( LANG.getMessage( "file.not.exists", fName ) ); continue; } if( f.isDirectory() && ! recurse ) { System.out.println( LANG.getMessage( "file.is.directory", fName ) ); continue; } if( sign ) sign( f, vFacs, recurse, force ); else verify( f, vFacs, recurse, force ); } } //---------------------------------------------------------------------------------------------------------------
byte [] mdBytes = FileUtil.readRawData( mdFile ); FileUtil.writeAndSign( mdFile.getAbsolutePath(), resBytes, vFacs );
byte [] pomBlobBytes = FileUtil.readRawData( in ); hasPomBlob = pomBlobBytes != null && pomBlobBytes.length > 0; if( hasPomBlob ) fLock = FileUtil.lockDir( lockDir, SLEEP_FOR_LOCK, SLEEP_FOR_LOCK_TICK ); if( fLock == null ) throw new RepositoryException( LANG.getMessage( "cannot.lock.gav", lockDir, ""+SLEEP_FOR_LOCK ) ); FileUtil.writeAndSign( fName, in, vFacs ); artifact.setFile( new File(fName) ); FileUtil.writeAndSign( _repoDir.getAbsolutePath()+'/'+relVersionPath +'/'+artifact.getArtifactId()+'-'+artifact.getVersion()+".pom", pomBlob, vFacs );
verify( kid, vFacs, recurse, force ); return; String sig = readRawDataAsString( sf ); sv.initSignature( sig );
sv.initSignature( FileUtil.readRawDataAsString( sigFile ) );
sign( kid, vFacs, recurse, force ); return; String ext = sv.getAttributes().getExtension(); File sf = new File( fName + ext ); writeRawData( sf, sig );
public static void delete( File f ) { if( ! f.exists() ) return; if( f.isDirectory() ) { File [] kids = f.listFiles(); for( File kid : kids ) delete( kid ); } f.delete(); } //---------------------------------------------------------------------------------------------------------------
public static void renameFile( File dir, String from, String to ) { if( dir == null ) return; File [] files = dir.listFiles(); if( files == null || files.length < 1 ) return; for( File f : files ) { if( f.isDirectory() ) renameFile( f, from, to ); else if( from.equals( f.getName() ) ) { f.renameTo( new File( f.getParent(), to ) ); } } } //---------------------------------------------------------------------------------------------------------------
public static int depth( File file ) { if( file == null || !file.exists() ) throw new IllegalArgumentException( LANG.getMessage( "file.not.exists.error", file == null ? "null" : file.getAbsolutePath() ) ); if( file.isFile() ) return 0; File [] files = file.listFiles(); int max = 0; for( File f : files ) { if( f.isDirectory() ) { int res = depth( f ); if( res > max ) max = res; } } return max + 1; } //---------------------------------------------------------------------------------------------------------------
byte [] mdBytes = FileUtil.readRawData( mdFile ); md = MetadataBuilder.read( new ByteArrayInputStream(mdBytes) ); FileUtil.writeAndSign( mdFile.getAbsolutePath(), resBytes, vFacs );
sv.initSignature( FileUtil.readRawDataAsString( sigFile ) );
da.setPomBlob( FileUtil.readRawData( binary ) ); da.setPomBlob( FileUtil.readRawData( pomFile ) );