DummyApplication.java

00001 
00026 package org.objectweb.jonas_lib.genbase.archive;
00027 
00028 import java.io.File;
00029 import java.io.FileOutputStream;
00030 import java.io.IOException;
00031 import java.io.OutputStream;
00032 import java.util.Vector;
00033 import java.util.jar.Attributes;
00034 import java.util.jar.Manifest;
00035 
00036 import org.objectweb.jonas_lib.genbase.GenBaseException;
00037 import org.objectweb.jonas_lib.genbase.utils.FileUtils;
00038 import org.objectweb.jonas_lib.genbase.utils.TempRepository;
00039 import org.objectweb.jonas_lib.genbase.utils.XMLUtils;
00040 
00046 public class DummyApplication extends Application {
00047 
00049     private String name;
00050 
00058     public DummyApplication(String name) throws GenBaseException {
00059         super(createFileArchive());
00060         this.name = name;
00061         init();
00062     }
00063 
00071     private static Archive createFileArchive() throws GenBaseException {
00072         TempRepository tr = TempRepository.getInstance();
00073 
00074         try {
00075             File tmp = tr.createDir();
00076             File meta = new File(tmp, "META-INF");
00077             meta.mkdirs();
00078 
00079             File manifest = new File(meta, "MANIFEST.MF");
00080 
00081             Manifest mf = new Manifest();
00082             mf.getMainAttributes().putValue(Attributes.Name.MANIFEST_VERSION.toString(), "1.0");
00083 
00084             OutputStream os = new FileOutputStream(manifest);
00085             mf.write(os);
00086             os.close();
00087 
00088             String jonasRoot = System.getProperty("install.root");
00089             File appTemplate = new File(new File(jonasRoot), "templates" + File.separator + "wsgen" + File.separator
00090                     + "application.xml");
00091             FileUtils.copy(appTemplate, meta);
00092 
00093             return new FileArchive(tmp);
00094         } catch (IOException ioe) {
00095             throw new GenBaseException(ioe);
00096         }
00097     }
00098 
00105     protected void init() throws GenBaseException {
00106         // remove dummy modules
00107         setEjbjars(new Vector());
00108         setWebapps(new Vector());
00109         setClients(new Vector());
00110 
00111         loadDescriptors();
00112 
00113         XMLUtils.cleanDummyApplication(getApp());
00114 
00115     }
00116 
00120     public String getName() {
00121         return name;
00122     }
00123 
00124 }

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