1 45 package org.openejb.webadmin.ejbgen; 46 47 50 import java.io.File ; 51 52 public class CMPBean 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 private String pkcode; 67 68 77 public CMPBean(String name, String desc, String auth, String pack, String sloc, String styp) 78 { 79 ejbname = name; 80 ejbdesc = desc; 81 ejbauth = auth; 82 ejbpack = pack; 83 ejbsloc = sloc; 84 ejbstyp = styp; 85 super.setVars(name,desc,auth,pack,sloc,styp); 86 cdir = new File (sloc); 87 createEJB(); 88 } 89 90 93 public void createEJB() 94 { 95 if(ejbpack.equals("") != true) 96 { 97 super.createPackage(); 98 } 99 100 super.createClass(ejbname,"Object.java"); 101 createObjCode(); 102 super.writeClass(ejbname + "Object.java", objcode); 103 super.createClass(ejbname,"Home.java"); 104 createHmeCode(); 105 super.writeClass(ejbname + "Home.java", hmecode); 106 super.createClass(ejbname,"Bean.java"); 107 createBenCode(); 108 super.writeClass(ejbname + "Bean.java", bencode); 109 createPKCode(); 110 super.writeClass(ejbname + "PK.java", pkcode); 111 createEJBXML(); 112 super.createXML("ejb-jar.xml", ejbcode); 113 super.buildZipFile(); 114 } 117 118 121 public void createObjCode() 122 { 123 objcode = "/**\n"; 124 objcode = objcode + "*@author " + ejbauth + "\n"; 125 objcode = objcode + "**/\n\n"; 126 objcode = objcode + "package " + ejbpack + ";\n\n"; 127 objcode = objcode + "import java.rmi.*;\n"; 128 objcode = objcode + "import javax.ejb.*;\n\n"; 129 objcode = objcode + "public interface " + ejbname + "Object extends EJBObject\n"; 130 objcode = objcode + "{\n\n"; 131 objcode = objcode + "\tpublic void setData (String data) throws RemoteException;\n"; 132 objcode = objcode + "\tpublic String getData () throws RemoteException;\n"; 133 objcode = objcode + "}"; 134 } 135 136 139 public void createHmeCode() 140 { 141 hmecode = "/**\n"; 142 hmecode = hmecode + "*@author " + ejbauth + "\n"; 143 hmecode = hmecode + "**/\n\n"; 144 hmecode = hmecode + "package " + ejbpack + ";\n\n"; 145 hmecode = hmecode + "import java.rmi.*;\n"; 146 hmecode = hmecode + "import java.util.*;\n"; 147 hmecode = hmecode + "import javax.ejb.*;\n\n"; 148 hmecode = hmecode + "public interface " + ejbname + "Home extends EJBHome\n"; 149 hmecode = hmecode + "{\n"; 150 hmecode = hmecode + "\tpublic " + ejbname + "Object create() throws RemoteException, CreateException;\n"; 151 hmecode = hmecode + "\tpublic " + ejbname + "Object findByPrimaryKey (" + ejbname + "PK pk) throws FinderException, RemoteException;\n"; 152 hmecode = hmecode + "\tpublic Collection findAll() throws FinderException, RemoteException;\n"; 153 hmecode = hmecode + "\tpublic " + ejbname + "Object remove() throws RemoteException, CreateException;\n"; 154 hmecode = hmecode + "}"; 155 } 156 157 160 public void createBenCode() 161 { 162 bencode = "/**\n"; 163 bencode = bencode + "*@author " + ejbauth + "\n"; 164 bencode = bencode + "**/\n\n"; 165 bencode = bencode + "package " + ejbpack + ";\n\n"; 166 bencode = bencode + "import java.sql.*;\n"; 167 bencode = bencode + "import javax.sql.*;\n"; 168 bencode = bencode + "import javax.naming.*;\n"; 169 bencode = bencode + "import javax.ejb.*;\n\n"; 170 bencode = bencode + "public class " + ejbname + "Bean implements EntityBean\n"; 171 bencode = bencode + "{\n"; 172 bencode = bencode + "\tprotected EntityContext ctx = null;\n"; 173 bencode = bencode + "\tprotected int id;\n"; 174 bencode = bencode + "\tprotected String data;\n\n"; 175 bencode = bencode + "\tpublic void ejbCreate()\n"; 176 bencode = bencode + "\t{\n"; 177 bencode = bencode + "\t}\n\n"; 178 bencode = bencode + "\tpublic void setData(String data)\n"; 179 bencode = bencode + "\t{\n"; 180 bencode = bencode + "\t\tthis.data = data;\n"; 181 bencode = bencode + "\t}\n\n"; 182 bencode = bencode + "\tpublic String getData()\n"; 183 bencode = bencode + "\t{\n"; 184 bencode = bencode + "\t\treturn this.data;\n"; 185 bencode = bencode + "\t}\n\n"; 186 bencode = bencode + "\tpublic void setId(int id)\n"; 187 bencode = bencode + "\t{\n"; 188 bencode = bencode + "\t\tthis.id = id;\n"; 189 bencode = bencode + "\t}\n\n"; 190 bencode = bencode + "\tpublic int getId()\n"; 191 bencode = bencode + "\t{\n"; 192 bencode = bencode + "\t\treturn this.id;\n"; 193 bencode = bencode + "\t}\n\n"; 194 bencode = bencode + "\tpublic void setEntityContext(EntityContext ctx)\n"; 195 bencode = bencode + "\t{\n"; 196 bencode = bencode + "\t\tthis.ctx = ctx;\n"; 197 bencode = bencode + "\t}\n\n"; 198 bencode = bencode + "\tpublic void unsetEntityContext()\n"; 199 bencode = bencode + "\t{\n"; 200 bencode = bencode + "\t\tthis.ctx = null;\n"; 201 bencode = bencode + "\t}\n\n"; 202 bencode = bencode + "\tpublic EntityContext getEntityContext()\n"; 203 bencode = bencode + "\t{\n"; 204 bencode = bencode + "\t\treturn this.ctx;\n"; 205 bencode = bencode + "\t}\n"; 206 bencode = bencode + "\tpublic void ejbActivate()\n"; 207 bencode = bencode + "\t{\n"; 208 bencode = bencode + "\t}\n\n"; 209 bencode = bencode + "\tpublic void ejbPassivate()\n"; 210 bencode = bencode + "\t{\n"; 211 bencode = bencode + "\t}\n\n"; 212 bencode = bencode + "\tpublic void ejbPostCreate()\n"; 213 bencode = bencode + "\t{\n"; 214 bencode = bencode + "\t}\n\n"; 215 bencode = bencode + "\tpublic void ejbLoad()\n"; 216 bencode = bencode + "\t{\n"; 217 bencode = bencode + "\t}\n\n"; 218 bencode = bencode + "\tpublic void ejbStore()\n"; 219 bencode = bencode + "\t{\n"; 220 bencode = bencode + "\t}\n\n"; 221 bencode = bencode + "\tpublic void ejbRemove()\n"; 222 bencode = bencode + "\t{\n"; 223 bencode = bencode + "\t}\n\n"; 224 bencode = bencode + "\tpublic void ejbFindByPrimaryKey()\n"; 225 bencode = bencode + "\t{\n"; 226 bencode = bencode + "\t}\n"; 227 bencode = bencode + "}"; 228 } 229 230 233 public void createPKCode() 234 { 235 pkcode = "/**\n"; 236 pkcode = pkcode + "*@author " + ejbauth + "\n"; 237 pkcode = pkcode + "**/\n\n"; 238 pkcode = pkcode + "package " + ejbpack + ";\n\n"; 239 pkcode = pkcode + "import java.io.*;\n\n"; 240 pkcode = pkcode + "public class " + ejbname + "PK implements Serializable\n"; 241 pkcode = pkcode + "{\n"; 242 pkcode = pkcode + "\tpublic int id;\n\n"; 243 pkcode = pkcode + "\tpublic " + ejbname + "PK()\n"; 244 pkcode = pkcode + "\t{\n"; 245 pkcode = pkcode + "\t\tthis.id = 0;\n"; 246 pkcode = pkcode + "\t}\n\n"; 247 pkcode = pkcode + "\tpublic " + ejbname + "PK(int id)\n"; 248 pkcode = pkcode + "\t{\n"; 249 pkcode = pkcode + "\t\tthis.id = id;\n"; 250 pkcode = pkcode + "\t}\n\n"; 251 pkcode = pkcode + "\tpublic int hashCode()\n"; 252 pkcode = pkcode + "\t{\n"; 253 pkcode = pkcode + "\t\treturn this.id;\n"; 254 pkcode = pkcode + "\t}\n\n"; 255 pkcode = pkcode + "\tpublic boolean equals(Object obj)\n"; 256 pkcode = pkcode + "\t{\n"; 257 pkcode = pkcode + "\t\tif (obj instanceof " + ejbname + "PK)\n"; 258 pkcode = pkcode + "\t\t{\n"; 259 pkcode = pkcode + "\t\t\treturn (id == ((" + ejbname + "PK)obj).id);\n"; 260 pkcode = pkcode + "\t\t}\n"; 261 pkcode = pkcode + "\t\treturn false;\n"; 262 pkcode = pkcode + "\t}\n"; 263 pkcode = pkcode + "}"; 264 } 265 266 269 public void createEJBXML() 270 { 271 String ejbstr; 272 273 ejbstr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 274 ejbstr = ejbstr + "<ejb-jar>\n"; 275 ejbstr = ejbstr + "\t<enterprise-beans>\n"; 276 ejbstr = ejbstr + "\t\t<entity>\n"; 277 ejbstr = ejbstr + "\t\t\t<ejb-name>" + ejbname + "</ejb-name>\n"; 278 ejbstr = ejbstr + "\t\t\t<home>" + ejbpack + "." + ejbname + "Home</home>\n"; 279 ejbstr = ejbstr + "\t\t\t<remote>" + ejbpack + "." + ejbname + "Object</remote>\n"; 280 ejbstr = ejbstr + "\t\t\t<ejb-class>" + ejbpack + "." + ejbname + "Bean</ejb-class>\n"; 281 ejbstr = ejbstr + "\t\t\t<persistance-type>Container</persistance-type>\n"; 282 ejbstr = ejbstr + "\t\t\t<prim-key-class>" + ejbpack + "." + ejbname + "PK</prim-key-class>\n"; 283 ejbstr = ejbstr + "\t\t\t<reentrant>False</reentrant>\n"; 284 ejbstr = ejbstr + "\t\t</entity>\n"; 285 ejbstr = ejbstr + "\t</enterprise-beans>\n"; 286 ejbstr = ejbstr + "</ejb-jar>"; 287 288 ejbcode = ejbstr; 289 } 290 291 } 295 | Popular Tags |