EjbJarModifier.java

00001 
00026 package org.objectweb.jonas_lib.genclientstub.modifier;
00027 
00028 import java.io.File;
00029 import java.util.Iterator;
00030 import java.util.List;
00031 
00032 import org.objectweb.jonas_lib.deployment.api.EjbRefDesc;
00033 import org.objectweb.jonas_lib.genbase.GenBaseException;
00034 import org.objectweb.jonas_lib.genbase.archive.Archive;
00035 import org.objectweb.jonas_lib.genbase.archive.Ejb;
00036 import org.objectweb.jonas_lib.genbase.archive.EjbJar;
00037 import org.objectweb.jonas_lib.genclientstub.ClientStubGenException;
00038 import org.objectweb.jonas_lib.genclientstub.generator.Generator;
00039 import org.objectweb.jonas_lib.genclientstub.generator.GeneratorFactory;
00040 
00041 import org.objectweb.util.monolog.api.BasicLevel;
00042 
00047 public class EjbJarModifier extends AbsArchiveModifier {
00048 
00052     private EjbJar ejbjar = null;
00053 
00058     public EjbJarModifier(EjbJar ejbjar) {
00059         super(ejbjar);
00060         this.ejbjar = ejbjar;
00061     }
00062 
00073     public Archive modify() throws GenBaseException, ClientStubGenException {
00074 
00075         getLogger().log(BasicLevel.INFO, "Processing EjbJar " + ejbjar.getName());
00076 
00077         GeneratorFactory gf = GeneratorFactory.getInstance();
00078 
00079         // Found automatically the stubs
00080         generateFoundStubs(gf.getConfiguration(), ejbjar);
00081 
00082         // Ejb-Ref
00083         List ejbs = ejbjar.getEjbs();
00084         for (Iterator i = ejbs.iterator(); i.hasNext();) {
00085             Ejb ejb = (Ejb) i.next();
00086             List ejbRefs = ejb.getEjbRefDescs();
00087             for (Iterator j = ejbRefs.iterator(); j.hasNext();) {
00088                 EjbRefDesc ejbRef = (EjbRefDesc) j.next();
00089 
00090                 // launch generation
00091                 Generator g = new Generator(gf.getConfiguration(), ejbRef, null, ejbjar);
00092                 g.generate();
00093                 g.compile();
00094                 // add files in web archive
00095                 g.addFiles(ejbjar);
00096             }
00097         }
00098 
00099         return save(gf.getConfiguration(), "ejbjars" + File.separator + ejbjar.getRootFile().getName());
00100 
00101     }
00102 }

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