? BackupCommand.java
? BackupRequest.java
? ui
? appserver/BackupManager.java
? pluggable/impl/GenericStorage.java
? utils/SystemPropsHelper.java
Index: BackupRestoreImpl.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/BackupRestoreImpl.java,v
retrieving revision 1.1
diff -b -r1.1 BackupRestoreImpl.java
161c161
<               LoggerHelper.error("error_during_restore", bae);
---
>               LoggerHelper.error("error_during_restore: " + bae.getCode(), bae);
Index: BackupStorageMonitor.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/BackupStorageMonitor.java,v
retrieving revision 1.1
diff -b -r1.1 BackupStorageMonitor.java
18d17
< import com.sun.enterprise.config.backup.utils.FileUtils;
Index: DefaultConstants.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/DefaultConstants.java,v
retrieving revision 1.1
diff -b -r1.1 DefaultConstants.java
28a29,31
> 	
> 	// bnevins - turn on lots of messages...
> 	static final boolean debug = true;
Index: SnapShotStorageMonitor.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/SnapShotStorageMonitor.java,v
retrieving revision 1.1
diff -b -r1.1 SnapShotStorageMonitor.java
18d17
< import com.sun.enterprise.config.backup.utils.FileUtils;
Index: StorageMonitor.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/StorageMonitor.java,v
retrieving revision 1.1
diff -b -r1.1 StorageMonitor.java
20d19
< import com.sun.enterprise.config.backup.utils.FileUtils;
Index: appserver/Main.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/appserver/Main.java,v
retrieving revision 1.1
diff -b -r1.1 Main.java
11a12,14
> import com.sun.enterprise.config.backup.EnvironmentConstants;
> import com.sun.enterprise.config.backup.BackupRequest;
> import com.sun.enterprise.config.backup.utils.SystemPropsHelper;
25a29,63
>     public static void main(String[] args) 
> 	{
> 		entry(args);
> 	}
> 
> 	// bnevins TEMPORARY TBD
> 	public static void entry(BackupRequest br) 
> 	{
> 		br.verify();
> 		String[] dirs = br.getDirsToBackup();
> 		String allDirs = dirs[0];
> 		
> 		for(int i = 1; i < dirs.length; i++)
> 			allDirs += ',' + dirs[i];
> 		
> 		SystemPropsHelper.setProperty(EnvironmentConstants.DIRS_TO_BACKUP, allDirs);
> 		SystemPropsHelper.setProperty(EnvironmentConstants.DIR_TO_STORE_BACKUP_FILES, br.getDirToStoreBackupFiles());
> 		SystemPropsHelper.setProperty(EnvironmentConstants.BACKUP_STORAGE_TYPE, br.getBackupStorageType());
> 
> 		try
> 		{
> 			BackupRestore bri = Util.getBackupRestore();
> 			Status s = bri.backup(null);
>             System.out.println("==================");
>             printStatus(s);
>             System.out.println("==================");
>             System.out.println(s.getExtraInfo());
>             System.out.println("==================");
> 		}
> 		catch(Exception e)
> 		{
> 			e.printStackTrace();
> 		}
> 	}
> 	
29c67
<     public static void main(String[] args) {
---
>     private static void entry(String[] args) {
35a74,77
> 			System.setProperty(EnvironmentConstants.DIRS_TO_BACKUP, "C:/tmp/tmp/tmp");
> 			System.setProperty(EnvironmentConstants.DIR_TO_STORE_BACKUP_FILES, "C:/temp/backup");
> 			System.setProperty(EnvironmentConstants.BACKUP_STORAGE_TYPE, "directory");
> 			//System.setProperty("backup_storage_type", "zip");
Index: phase/RemovePhases.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/phase/RemovePhases.java,v
retrieving revision 1.1
diff -b -r1.1 RemovePhases.java
9d8
< import com.sun.enterprise.config.backup.utils.FileUtils;
17a17
> import com.sun.enterprise.util.io.FileUtils;
Index: phase/RestorePhases.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/phase/RestorePhases.java,v
retrieving revision 1.1
diff -b -r1.1 RestorePhases.java
112a113
>             FactoryHelper.getStorage().deleteTarget();
Index: pluggable/BackupStorage.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/pluggable/BackupStorage.java,v
retrieving revision 1.1
diff -b -r1.1 BackupStorage.java
18c18
<     long backup(String[] srcDirs, String dest) throws IOException, BackupException;
---
>     long backup(String[] srcDirs, String dest) throws BackupException;
21c21,22
<     long restore(File file) throws IOException, BackupException ;
---
>     long restore(File file) throws BackupException ;
> 	public void deleteTarget();
Index: pluggable/EnvironmentFactory.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/pluggable/EnvironmentFactory.java,v
retrieving revision 1.1
diff -b -r1.1 EnvironmentFactory.java
20d19
< 
23d21
< 
25,26c23
< 
< 
---
> import com.sun.enterprise.config.backup.utils.SystemPropsHelper;
54c51
<         String factoryClassName = System.getProperty(ENVIRONMENT_FACTORY_CLASS);
---
>         String factoryClassName = SystemPropsHelper.getProperty(ENVIRONMENT_FACTORY_CLASS);
Index: pluggable/impl/DefaultBackupEnvironment.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/pluggable/impl/DefaultBackupEnvironment.java,v
retrieving revision 1.1
diff -b -r1.1 DefaultBackupEnvironment.java
14a15
> import com.sun.enterprise.config.backup.utils.SystemPropsHelper;
79c80
<         return System.getProperty(var);
---
>         return SystemPropsHelper.getProperty(var);
87c88
<         return System.getProperty(var).split(",");
---
>         return SystemPropsHelper.getProperty(var).split(",");
Index: pluggable/impl/DirectoryStorage.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/pluggable/impl/DirectoryStorage.java,v
retrieving revision 1.1
diff -b -r1.1 DirectoryStorage.java
2c2
<  * ZipWriter.java
---
>  * DirectoryStorage.java
9,12c9,10
< import java.util.zip.ZipOutputStream;
< import java.io.IOException;
< import java.io.File;
< import java.io.FileOutputStream;
---
> import java.io.*;
> import java.util.*;
14c12,13
< import com.sun.enterprise.config.backup.utils.FileUtils;
---
> import com.sun.enterprise.util.io.FileUtils;
> import com.sun.enterprise.util.StringUtils;
24c23
<  * @author  sridatta
---
>  * @author  bnevins
26d24
< public class DirectoryStorage implements BackupStorage {
28,109c26,41
<     /** Creates a new instance of ZipWriter */
<     public DirectoryStorage() {
<     }
<     
<     /**
<      * creates a zip file in the specified directory
<      * @return int size of the zip that was just created
<      */
<     public long backup(String[] srcDirs, 
<                                  String targetFile) 
<                                         throws IOException, BackupException {
<         
<         if(srcDirs == null || srcDirs.length == 0) return 0;
<         
<       /*
<        * for now I am copying the entire directories. The dirs
<        * needs to be zipped in future
<        */
<         
<         for (int i=0;i<srcDirs.length;i++) {
<             copyFile(srcDirs[i], targetFile);
<         }        
<         return 100;
<     }
<     
<     private static void copyFile(String srcDir, String destDir) 
<                                             throws IOException, BackupException {
<         FileUtils.copy(srcDir, destDir);
<     }
<     
<     public long restore(File file) throws IOException, BackupException {
<         if(file == null || !file.exists() || !file.isDirectory()) {
<             return -1;
<         }
<         
<         File[] childrenFiles = file.listFiles();
<         
<         if(childrenFiles == null || childrenFiles.length == 0) return 0;
<         
<         String[] targetDirs = FactoryHelper.getEnv().getDirectoriesToBackup();
<         
<         if(targetDirs == null || targetDirs.length == 0) return -1;
<         
<         for (int i=0;i<childrenFiles.length;i++) {
<             String targetDir = getTargetDirToRestore(targetDirs, childrenFiles[i]);
<             if(targetDir != null) {
<                 copyFile(childrenFiles[i].getAbsolutePath(), targetDir);
<             }
<         }
< 
<         return 100;
<         
<     }
<     
<     private String getTargetDirToRestore(String[] targetDirs, File child) {
<         if(child.getName().equals(FactoryHelper.getEnv().getStatusInfoFileName())) {
<             return null;
<         }
<         for(int i = 0; i < targetDirs.length;i++) {
<             File f = new File(targetDirs[i]);
<             if(f.getName().equals(child.getName())) {
<                 return f.getParent();
<             }
<         }
<         LoggerHelper.warning("no_target_directory_to_restore " + child);
<         return null;
<     }
<     
<     public void createStatusFile(String target, Status status) {
<         if (status == null) return;
<         
<         File f = new File(target, FactoryHelper.getEnv().getStatusInfoFileName());
<         FileOutputStream fos = null;
<         try {
<             fos = new FileOutputStream(f);
<             fos.write(status.toString().getBytes());
<         } catch(Exception e) {
<             //ignore
<         } finally {
<             try {
<             fos.close();
<             } catch(Exception ex){}
---
> public class DirectoryStorage extends GenericStorage
> {
> 	long copyFiles(File fromDir, File toDir) throws BackupException
> 	{
> 		toDir.mkdirs();
> 		LoggerHelper.fine("Writing to " + toDir.getPath());
> 		
> 		try
> 		{
> 			FileUtils.copyTree(fromDir, toDir);
> 			return FileUtils.getLastCopyTreeTotalBytes();
> 		}
> 		catch(IOException ioe)
> 		{
> 			throw new BackupException("backup error", "IOException copying "
> 			+ fromDir.getPath() + " to " + toDir.getPath(), ioe);
Index: pluggable/impl/ZipStorage.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/pluggable/impl/ZipStorage.java,v
retrieving revision 1.1
diff -b -r1.1 ZipStorage.java
9d8
< import java.util.zip.ZipOutputStream;
12a12
> import com.sun.enterprise.config.backup.BackupAbortException;
13a14,19
> import com.sun.enterprise.config.backup.utils.FactoryHelper;
> import com.sun.enterprise.config.backup.utils.LoggerHelper;
> import com.sun.enterprise.util.io.FileUtils;
> import com.sun.enterprise.util.zip.ZipWriter;
> import com.sun.enterprise.util.zip.ZipFileException;
> import com.sun.enterprise.util.StringUtils;
20,25c26,27
< public class ZipStorage implements BackupStorage {
<     
<     /** Creates a new instance of ZipWriter */
<     public ZipStorage() {
<     }
<     
---
> public class ZipStorage extends GenericStorage 
> {
30,42c32,41
<     public long backup(String[] srcDirs, 
<                                  String targetFile) 
<                                         throws IOException, BackupException {
<         
<         if(srcDirs == null || srcDirs.length == 0) return 0;
<         
<       /*
<        * for now I am copying the entire directories. The dirs
<        * needs to be zipped in future
<        */
<        //TBD NYI FIXME
< 
<         return -1;
---
> 	long copyFiles(File fromDir, File toDir) throws BackupException
> 	{
> 		File zip = new File(toDir.getAbsolutePath() + ".zip");
> 		LoggerHelper.fine("Writing " + zip.getPath());
> 		
> 		try
> 		{
> 			ZipWriter writer = new ZipWriter(zip.getPath(), fromDir.getPath());
> 			writer.safeWrite();
> 			return zip.length();
44,46c43,45
<     
<     public long restore(File file) {
<         return -1;
---
> 		catch(ZipFileException zfe)
> 		{
> 			throw new BackupException("Zip Backup Error", "Got a ZipFileException", zfe);
48,49d46
<     
<     public void createStatusFile(String target, Status status) {
51d47
<     
Index: status/StatusConstants.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/status/StatusConstants.java,v
retrieving revision 1.1
diff -b -r1.1 StatusConstants.java
39a40,41
>     
> 	/*  bnevins 1/15/04 -- these aren't used anywhere...
42a45
>     */
46,49d48
<     
< 
< 
< 
Index: utils/BackupHelper.java
===================================================================
RCS file: /m/jws/admin/backup/src/java/com/sun/enterprise/config/backup/utils/BackupHelper.java,v
retrieving revision 1.1
diff -b -r1.1 BackupHelper.java
26a27,29
> import com.sun.enterprise.config.backup.utils.SystemPropsHelper;
> import com.sun.enterprise.util.io.FileUtils;
> 
39c42
<         System.setProperty(EXECUTION_TYPE, type);
---
>         SystemPropsHelper.setProperty(EXECUTION_TYPE, type);
43c46
<         return System.getProperty(EXECUTION_TYPE);
---
>         return SystemPropsHelper.getProperty(EXECUTION_TYPE);
126a130,132
> 		
> 		
> 			
156c162,164
<         return dir + File.separator + relativeName;
---
>         File parent  = new File(dir);
> 		File ourfile = new File(parent, relativeName);
> 		return FileUtils.safeGetCanonicalPath(ourfile);
