AbsApplicationModifier.java

00001 
00026 package org.objectweb.jonas_lib.genbase.modifier;
00027 
00028 import java.io.File;
00029 import java.util.Iterator;
00030 import java.util.List;
00031 import java.util.Vector;
00032 
00033 import org.objectweb.jonas_lib.genbase.GenBaseException;
00034 import org.objectweb.jonas_lib.genbase.archive.Application;
00035 import org.objectweb.jonas_lib.genbase.archive.Archive;
00036 import org.objectweb.jonas_lib.genbase.generator.Config;
00037 
00038 import org.objectweb.util.monolog.api.BasicLevel;
00039 
00045 public abstract class AbsApplicationModifier extends ArchiveModifier {
00046 
00050     private List ejbModifiers = null;
00051 
00055     private List webModifiers = null;
00056 
00060     private List cltModifiers = null;
00061 
00065     private Application app = null;
00066 
00070     private Config config = null;
00071 
00077     public AbsApplicationModifier(Application archive, Config config) {
00078         super(archive);
00079         this.config = config;
00080         app = archive;
00081         initVectors();
00082         init();
00083     }
00084 
00088     private void initVectors() {
00089         // create lists
00090         ejbModifiers = new Vector();
00091         webModifiers = new Vector();
00092         cltModifiers = new Vector();
00093     }
00094 
00098     protected abstract void init();
00099 
00105     public Archive modify() throws GenBaseException {
00106 
00107         getLogger().log(BasicLevel.INFO, "Processing Application " + app.getName());
00108 
00112         for (Iterator i = webModifiers.iterator(); i.hasNext();) {
00113             ArchiveModifier wm = (ArchiveModifier) i.next();
00114             Archive a = wm.modify();
00115             getLogger().log(BasicLevel.DEBUG, "Modifying WebApp '" + a.getName() + "'");
00116             app.addFile(a.getRootFile());
00117         }
00118 
00119         for (Iterator i = cltModifiers.iterator(); i.hasNext();) {
00120             ArchiveModifier cm = (ArchiveModifier) i.next();
00121             Archive a = cm.modify();
00122             getLogger().log(BasicLevel.DEBUG, "Modifying Client '" + a.getName() + "'");
00123             app.addFile(a.getRootFile());
00124         }
00125 
00126         for (Iterator i = ejbModifiers.iterator(); i.hasNext();) {
00127             ArchiveModifier em = (ArchiveModifier) i.next();
00128             Archive a = em.modify();
00129             getLogger().log(BasicLevel.DEBUG, "Modifying EjbJar '" + a.getName() + "'");
00130             app.addFile(a.getRootFile());
00131         }
00132 
00133         return save(config, "apps" + File.separator + app.getName());
00134 
00135     }
00136 
00140     protected List getCltModifiers() {
00141         return cltModifiers;
00142     }
00143 
00147     protected List getEjbModifiers() {
00148         return ejbModifiers;
00149     }
00150 
00154     protected List getWebModifiers() {
00155         return webModifiers;
00156     }
00160     protected Application getApplication() {
00161         return app;
00162     }
00163 }

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