ClientModifier.java

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

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