1 45 package org.openejb.webadmin.ejbgen; 46 47 50 import java.io.File ; 51 52 public class StatelessBean extends EJBTemplate 53 { 54 private String ejbname; 55 private String ejbdesc; 56 private String ejbauth; 57 private String ejbpack; 58 private String ejbsloc; 59 private String ejbstyp; 60 private File cdir; 61 private String objcode; 62 private String hmecode; 63 private String bencode; 64 private String ejbcode; 65 private String opecode; 66 67 76 public StatelessBean(String name, String desc, String auth, String pack, String sloc, String styp) 77 { 78 ejbname = name; 79 ejbdesc = desc; 80 ejbauth = auth; 81 ejbpack = pack; 82 ejbsloc = sloc; 83 ejbstyp = styp; 84 super.setVars(name,desc,auth,pack,sloc,styp); 85 cdir = new File (sloc); 86 createEJB(); 87 } 88 89 92 public void createEJB() 93 { 94 if(ejbpack.equals("") != true) 95 { 96 super.createPackage(); 97 } 98 99 super.createClass(ejbname,"Object.java"); 100 createObjCode(); 101 super.writeClass(ejbname + "Object.java", objcode); 102 super.createClass(ejbname,"Home.java"); 103 createHmeCode(); 104 super.writeClass(ejbname + "Home.java", hmecode); 105 super.createClass(ejbname,"Bean.java"); 106 createBenCode(); 107 super.writeClass(ejbname + "Bean.java", bencode); 108 createEJBXML(); 109 super.createXML("ejb-jar.xml", ejbcode); 110 super.buildZipFile(); 111 } 114 115 118 public void createObjCode() 119 { 120 objcode = "/**\n"; 121 objcode = objcode + "*@author " + ejbauth + "\n"; 122 objcode = objcode + "**/\n\n"; 123 objcode = objcode + "package " + ejbpack + ";\n\n"; 124 objcode = objcode + "import java.rmi.*;\n"; 125 objcode = objcode + "import javax.ejb.*;\n\n"; 126 objcode = objcode + "public interface " + ejbname + "Object extends EJBObject\n"; 127 objcode = objcode + "{\n\n"; 128 objcode = objcode + "}"; 129 } 130 131 134 public void createHmeCode() 135 { 136 hmecode = "/**\n"; 137 hmecode = hmecode + "*@author " + ejbauth + "\n"; 138 hmecode = hmecode + "**/\n\n"; 139 hmecode = hmecode + "package " + ejbpack + ";\n\n"; 140 hmecode = hmecode + "import java.rmi.*;\n"; 141 hmecode = hmecode + "import javax.ejb.*;\n\n"; 142 hmecode = hmecode + "public interface " + ejbname + "Home extends EJBHome\n"; 143 hmecode = hmecode + "{\n"; 144 hmecode = hmecode + "\tpublic " + ejbname + "Object create() throws RemoteException, CreateException;\n"; 145 hmecode = hmecode + "}"; 146 } 147 148 151 public void createBenCode() 152 { 153 bencode = "/**\n"; 154 bencode = bencode + "*@author " + ejbauth + "\n"; 155 bencode = bencode + "**/\n\n"; 156 bencode = bencode + "package " + ejbpack + ";\n\n"; 157 bencode = bencode + "import java.rmi.*;\n"; 158 bencode = bencode + "import javax.ejb.*;\n\n"; 159 bencode = bencode + "public class " + ejbname + "Bean implements SessionBean\n"; 160 bencode = bencode + "{\n"; 161 bencode = bencode + "\tprivate SessionContext sessionContext;\n\n"; 162 bencode = bencode + "\tpublic void ejbCreate()\n"; 163 bencode = bencode + "\t{\n"; 164 bencode = bencode + "\t}\n\n"; 165 bencode = bencode + "\tpublic void ejbRemove()\n"; 166 bencode = bencode + "\t{\n"; 167 bencode = bencode + "\t}\n\n"; 168 bencode = bencode + "\tpublic void ejbActivate()\n"; 169 bencode = bencode + "\t{\n"; 170 bencode = bencode + "\t}\n\n"; 171 bencode = bencode + "\tpublic void ejbPassivate()\n"; 172 bencode = bencode + "\t{\n"; 173 bencode = bencode + "\t}\n\n"; 174 bencode = bencode + "\tpublic void setSessionContext(SessionContext sessionContext)\n"; 175 bencode = bencode + "\t{\n"; 176 bencode = bencode + "\t\tthis.sessionContext = sessionContext;\n"; 177 bencode = bencode + "\t}\n"; 178 bencode = bencode + "}"; 179 } 180 181 193 196 public void createEJBXML() 197 { 198 String ejbstr; 199 200 ejbstr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 201 ejbstr = ejbstr + "<ejb-jar>\n"; 202 ejbstr = ejbstr + "\t<enterprise-beans>\n"; 203 ejbstr = ejbstr + "\t\t<session>\n"; 204 ejbstr = ejbstr + "\t\t\t<ejb-name>" + ejbname + "</ejb-name>\n"; 205 ejbstr = ejbstr + "\t\t\t<home>" + ejbpack + "." + ejbname + "Home</home>\n"; 206 ejbstr = ejbstr + "\t\t\t<remote>" + ejbpack + "." + ejbname + "Object</remote>\n"; 207 ejbstr = ejbstr + "\t\t\t<ejb-class>" + ejbpack + "." + ejbname + "Bean</ejb-class>\n"; 208 ejbstr = ejbstr + "\t\t\t<session-type>Stateless</session-type>\n"; 209 ejbstr = ejbstr + "\t\t\t<transaction-type>Container</transaction-type>\n"; 210 ejbstr = ejbstr + "\t\t</session>\n"; 211 ejbstr = ejbstr + "\t</enterprise-beans>\n"; 212 ejbstr = ejbstr + "\t<assembly-descriptor>\n"; 213 ejbstr = ejbstr + "\t\t<container-transaction>\n"; 214 ejbstr = ejbstr + "\t\t\t<method>\n"; 215 ejbstr = ejbstr + "\t\t\t\t<ejb-name>" + ejbname + "</ejb-name>\n"; 216 ejbstr = ejbstr + "\t\t\t\t<method-name>*</method-name>\n"; 217 ejbstr = ejbstr + "\t\t\t</method>\n"; 218 ejbstr = ejbstr + "\t\t<trans-attribute>Required</trans-attribute>\n"; 219 ejbstr = ejbstr + "\t</container-transaction>\n"; 220 ejbstr = ejbstr + "\t</assembly-descriptor>\n"; 221 ejbstr = ejbstr + "</ejb-jar>"; 222 223 ejbcode = ejbstr; 224 } 225 } 226 | Popular Tags |