ArchiveModifier.java

00001 
00026 package org.objectweb.jonas_lib.genbase.modifier;
00027 
00028 import java.io.File;
00029 
00030 import org.objectweb.jonas_lib.genbase.GenBaseException;
00031 import org.objectweb.jonas_lib.genbase.archive.Archive;
00032 import org.objectweb.jonas_lib.genbase.archive.FileArchive;
00033 import org.objectweb.jonas_lib.genbase.archive.J2EEArchive;
00034 import org.objectweb.jonas_lib.genbase.archive.JarArchive;
00035 import org.objectweb.jonas_lib.genbase.generator.Config;
00036 import org.objectweb.jonas_lib.genbase.utils.ArchiveStorer;
00037 import org.objectweb.jonas_lib.genbase.utils.DirStorer;
00038 import org.objectweb.jonas_lib.genbase.utils.JarStorer;
00039 
00040 import org.objectweb.jonas.common.Log;
00041 
00042 import org.objectweb.util.monolog.api.BasicLevel;
00043 import org.objectweb.util.monolog.api.Logger;
00044 
00049 public abstract class ArchiveModifier {
00050 
00054     private J2EEArchive archive;
00055 
00057     private static Logger logger = Log.getLogger(Log.JONAS_GENBASE_PREFIX);
00058 
00063     public ArchiveModifier(J2EEArchive archive) {
00064         this.archive = archive;
00065     }
00066 
00072     public abstract Archive modify() throws GenBaseException;
00073 
00082     protected static Archive save(Config config, String outname, J2EEArchive archive) throws GenBaseException {
00083         ArchiveStorer storer = null;
00084         File endfile = new File(config.getOut(), outname);
00085         Archive out = null;
00086 
00087         if (config.getSaveMode() == Config.PACKED) {
00088             logger.log(BasicLevel.DEBUG, "Saving '" + endfile + "' in packed form...");
00089             storer = new JarStorer(archive, endfile);
00090             storer.store();
00091             out = new JarArchive(endfile);
00092         } else {
00093             logger.log(BasicLevel.DEBUG, "Saving '" + endfile + "' in unpacked form...");
00094             storer = new DirStorer(archive, endfile);
00095             storer.store();
00096             out = new FileArchive(endfile);
00097         }
00098 
00099         return out;
00100 
00101     }
00102 
00110     protected Archive save(Config config, String outname) throws GenBaseException {
00111         return save(config, outname, archive);
00112     }
00113 
00117     public static Logger getLogger() {
00118         return logger;
00119     }
00120 }

Generated on Tue Feb 15 15:05:54 2005 for JOnAS by  doxygen 1.3.9.1