/**
* $RCSfile: VAStats.java,v $
* @creation 02/04/00
* @modification $Date: 2005/03/06 23:04:18 $
*/
package com.memoire.vainstall;
import java.io.File;
import java.util.Vector;
/**
* @version $Id: VAStats.java,v 1.4 2005/03/06 23:04:18 deniger Exp $
* @author Axel von Arnim
*/
public class VAStats
{
public static final boolean SUCCESS=true;
public static final boolean FAILURE=false;
Vector dirs_;
Vector files_;
Vector exes_;
int nbDirSucc_, nbFileSucc_;
public VAStats()
{
dirs_=new Vector();
files_=new Vector();
exes_=new Vector();
nbDirSucc_=nbFileSucc_=0;
}
public void addFile(File f, boolean success)
{
if( success ) {
if( f.isDirectory() ) nbDirSucc_++;
else nbFileSucc_++;
} else {
if( f.isDirectory() ) dirs_.add(f);
else files_.add(f);
}
}
public void addDirectory(File f, boolean success)
{
if( success ) nbDirSucc_++;
else dirs_.add(f);
}
public void addExecutable(File exe)
{
exes_.add(exe);
}
public File[] getSuccessfulDirs()
{
return new File[nbDirSucc_];
}
public File[] getSuccessfulFiles()
{
return new File[nbFileSucc_];
}
public File[] getExecutables()
{
File[] res=new File[exes_.size()];
for(int i=0; i<exes_.size(); i++) {
res[i]=(File)exes_.get(i);
}
return res;
}
public File[] getFailedDirs()
{
File[] res=new File[dirs_.size()];
for(int i=0; i<dirs_.size(); i++) {
res[i]=(File)dirs_.get(i);
}
return res;
}
public File[] getFailedFiles()
{
File[] res=new File[files_.size()];
for(int i=0; i<files_.size(); i++) {
res[i]=(File)files_.get(i);
}
return res;
}
public String getSuccessReport()
{
String res="";
switch( VAGlobals.OPERATION ) {
case VAGlobals.UPDATE:
case VAGlobals.INSTALL: {
res+=VAGlobals.i18n("VAStats_CreatedDirectories")+" "+nbDirSucc_+"\n";
res+=VAGlobals.i18n("VAStats_CreatedFiles")+" "+nbFileSucc_+"\n";
break;
}
case VAGlobals.UNINSTALL: {
res+=VAGlobals.i18n("VAStats_DeletedDirectories")+" "+nbDirSucc_+"\n";
res+=VAGlobals.i18n("VAStats_DeletedFiles")+" "+nbFileSucc_+"\n";
break;
}
}
return res;
}
public String getFailureReport()
{
String res="";
if( dirs_.size()>0 ) {
switch( VAGlobals.OPERATION ) {
case VAGlobals.UPDATE:
case VAGlobals.INSTALL: res+=VAGlobals.i18n("VAStats_NotCreateDirectories")+"\n"; break;
case VAGlobals.UNINSTALL: res+=VAGlobals.i18n("VAStats_NotRemoveDirectories")+"\n"; break;
}
for(int i=0; i<dirs_.size(); i++) {
res+=" "+((File)dirs_.get(i)).getAbsolutePath()+"\n";
}
}
if( files_.size()>0 ) {
switch( VAGlobals.OPERATION ) {
case VAGlobals.UPDATE:
case VAGlobals.INSTALL: res+=VAGlobals.i18n("VAStats_NotCreateFiles")+"\n"; break;
case VAGlobals.UNINSTALL: res+=VAGlobals.i18n("VAStats_NotRemoveFiles")+"\n"; break;
}
for(int i=0; i<files_.size(); i++) {
res+=" "+((File)files_.get(i)).getAbsolutePath()+"\n";
}
}
return res;
}
public String getExecutablesReport()
{
String res="";
if( (exes_.size()>0)&&
((VAGlobals.OPERATION==VAGlobals.INSTALL)||
(VAGlobals.OPERATION==VAGlobals.UPDATE)) ) {
res+=VAGlobals.i18n("VAStats_Executables")+"\n";
for(int i=0; i<exes_.size(); i++) {
res+=" "+((File)exes_.get(i)).getAbsolutePath()+"\n";
}
}
return res;
}
}
|