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.jar.Attributes; 00033 import java.util.jar.Manifest; 00034 00035 import org.objectweb.jonas_lib.genbase.GenBaseException; 00036 import org.objectweb.jonas_lib.genbase.utils.FileUtils; 00037 import org.objectweb.jonas_lib.genbase.utils.TempRepository; 00038 00039 00045 public class DummyWebApp extends WebApp { 00046 00048 private String name; 00049 00058 public DummyWebApp(Application app, String name) throws GenBaseException { 00059 super(createFileArchive(), app); 00060 this.name = name; 00061 } 00062 00070 private static Archive createFileArchive() throws GenBaseException { 00071 TempRepository tr = TempRepository.getInstance(); 00072 00073 try { 00074 File tmp = tr.createDir(); 00075 File meta = new File(tmp, "META-INF"); 00076 meta.mkdirs(); 00077 00078 File web = new File(tmp, "WEB-INF"); 00079 web.mkdirs(); 00080 00081 File manifest = new File(meta, "MANIFEST.MF"); 00082 00083 Manifest mf = new Manifest(); 00084 mf.getMainAttributes().putValue(Attributes.Name.MANIFEST_VERSION.toString(), "1.0"); 00085 00086 OutputStream os = new FileOutputStream(manifest); 00087 mf.write(os); 00088 os.close(); 00089 00090 String jonasRoot = System.getProperty("install.root"); 00091 File webTemplate = new File(new File(jonasRoot), "templates" + File.separator + "wsgen" + File.separator 00092 + "web.xml"); 00093 FileUtils.copy(webTemplate, web); 00094 00095 return new FileArchive(tmp); 00096 } catch (IOException ioe) { 00097 throw new GenBaseException(ioe); 00098 } 00099 } 00100 00104 public String getName() { 00105 return name; 00106 } 00107 00108 }