00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 package org.objectweb.jonas.newbean;
00031
00032
00033 import org.apache.velocity.VelocityContext;
00034
00035
00039 public class ParameterSet {
00040
00041 private Parameter beanNameParameter = null;
00042 private Parameter beanFlavorParameter = null;
00043 private Parameter sessionTypeParameter = null;
00044 private Parameter persistenceManagerParameter = null;
00045 private Parameter isLocalParameter = null;
00046 private Parameter pkgNameParameter = null;
00047 private Parameter jarNameParameter = null;
00048 private Parameter pkClassParameter = null;
00049
00050
00055 public ParameterSet(VelocityContext context) {
00056
00057
00058
00059
00060
00061 beanNameParameter = new Parameter(context) {
00062
00063 public String getPrompt() {
00064 return "Bean Name";
00065 }
00066
00067 public String getArgKeyword()
00068 {
00069 return "-beanName";
00070 }
00071
00072 public boolean isValid() {
00073 return (value.length() > 0);
00074 }
00075
00076 public void export() {
00077 vContext.put("beanName", value);
00078 }
00079
00080 public Parameter getNextParameter() {
00081 return beanFlavorParameter;
00082 }
00083
00084 };
00085
00086
00087
00088
00089
00090
00091 beanFlavorParameter = new Parameter(context) {
00092
00093 private final Integer SESSION_BEAN = new Integer(0);
00094 private final Integer ENTITY_BEAN = new Integer(1);
00095 private final Integer MESSAGE_DRIVEN_BEAN = new Integer(2);
00096
00097 public String getPrompt() {
00098 return "Bean type\n S Session bean\n E Entity bean\n MD Message-Driven bean";
00099 }
00100
00101 public String getArgKeyword()
00102 {
00103 return "-beanType";
00104 }
00105
00106 public void setValue(String input) {
00107 value = input.toUpperCase();
00108 }
00109
00110 public boolean isValid() {
00111 return (value.equals("S")
00112 || value.equals("E")
00113 || value.equals("MD"));
00114 }
00115
00116 public void export() {
00117 vContext.put("SESSION_BEAN", SESSION_BEAN);
00118 vContext.put("ENTITY_BEAN", ENTITY_BEAN);
00119 vContext.put("MESSAGE_DRIVEN_BEAN", MESSAGE_DRIVEN_BEAN);
00120 Integer beanFlavor = null;
00121 String beanType = null;
00122 if (value.equals("S")) {
00123 beanFlavor = SESSION_BEAN;
00124 beanType = "S";
00125 }
00126 else if (value.equals("E")) {
00127 beanFlavor = ENTITY_BEAN;
00128 beanType = "E";
00129 }
00130 else if (value.equals("MD")) {
00131 beanFlavor = MESSAGE_DRIVEN_BEAN;
00132 beanType = "MD";
00133 }
00134 vContext.put("beanFlavor", beanFlavor);
00135 vContext.put("beanType", beanType);
00136 }
00137
00138 public Parameter getNextParameter() {
00139 Integer beanFlavor = (Integer)vContext.get("beanFlavor");
00140 if (beanFlavor == SESSION_BEAN) {
00141 return sessionTypeParameter;
00142 }
00143 else if (beanFlavor == ENTITY_BEAN) {
00144 return persistenceManagerParameter;
00145 }
00146 return pkgNameParameter;
00147 }
00148
00149 };
00150
00151
00152
00153
00154
00155
00156 sessionTypeParameter = new Parameter(context) {
00157
00158 private final Integer STATELESS = new Integer(0);
00159 private final Integer STATEFUL = new Integer(1);
00160
00161 public String getPrompt() {
00162 return "Session type\n L Staless\n F Stateful";
00163 }
00164
00165 public String getArgKeyword()
00166 {
00167 return "-sessionType";
00168 }
00169
00170 public void setValue(String input) {
00171 value = input.toUpperCase();
00172 }
00173
00174 public boolean isValid() {
00175 return (value.equals("L")
00176 || value.equals("F"));
00177 }
00178
00179 public void export() {
00180 vContext.put("STATELESS", STATELESS);
00181 vContext.put("STATEFUL", STATEFUL);
00182 Integer sessionType = null;
00183 String beanType = (String)vContext.get("beanType");
00184 if (value.equals("L")) {
00185 sessionType = STATELESS;
00186 beanType += "L";
00187 }
00188 else if (value.equals("F")) {
00189 sessionType = STATEFUL;
00190 beanType += "F";
00191 }
00192 vContext.put("sessionType", sessionType);
00193 vContext.put("beanType", beanType);
00194 }
00195
00196 public Parameter getNextParameter() {
00197 return isLocalParameter;
00198 }
00199
00200 };
00201
00202
00203
00204
00205
00206
00207 persistenceManagerParameter = new Parameter(context) {
00208
00209 private final Integer BMP = new Integer(0);
00210 private final Integer CMP1 = new Integer(1);
00211 private final Integer CMP2 = new Integer(2);
00212
00213 public String getPrompt() {
00214 return "Persistance manager\n B BMP\n C CMP 1.x\n C2 CMP 2.x";
00215 }
00216
00217 public String getArgKeyword()
00218 {
00219 return "-persistence";
00220 }
00221
00222 public void setValue(String input) {
00223 value = input.toUpperCase();
00224 }
00225
00226 public boolean isValid() {
00227 return (value.equals("C")
00228 || value.equals("B")
00229 || value.equals("C2"));
00230 }
00231
00232 public void export() {
00233 vContext.put("CMP1", CMP1);
00234 vContext.put("CMP2", CMP2);
00235 vContext.put("BMP", BMP);
00236 Integer persistenceManager = null;
00237
00238 String beanType = (String)vContext.get("beanType");
00239 if (value.equals("C")) {
00240 persistenceManager = CMP1;
00241 beanType += "C";
00242 }
00243 else if (value.equals("B")) {
00244 persistenceManager = BMP;
00245 beanType += "B";
00246 }
00247 else if (value.equals("C2")) {
00248 persistenceManager = CMP2;
00249 beanType += "C2";
00250 }
00251 vContext.put("persistenceManager", persistenceManager);
00252 vContext.put("beanType", beanType);
00253 }
00254
00255 public Parameter getNextParameter() {
00256 return isLocalParameter;
00257 }
00258
00259 };
00260
00261
00262
00263
00264
00265
00266 isLocalParameter = new Parameter(context) {
00267
00268 private final Boolean FALSE = Boolean.FALSE;
00269 private final Boolean TRUE = Boolean.TRUE;
00270
00271 public String getPrompt() {
00272 return "Bean location\n R Remote\n L Local";
00273 }
00274
00275 public String getArgKeyword()
00276 {
00277 return "-location";
00278 }
00279
00280 public void setValue(String input) {
00281 value = input.toUpperCase();
00282 }
00283
00284 public boolean isValid() {
00285 return (value.equals("R")
00286 || value.equals("L"));
00287 }
00288
00289 public void export() {
00290 Boolean isLocal = null;
00291 String beanType = (String)vContext.get("beanType");
00292 if (value.equals("L")) {
00293 isLocal = TRUE;
00294 beanType += "L";
00295 }
00296 else if (value.equals("R")) {
00297 isLocal = FALSE;
00298 beanType += "R";
00299 }
00300 vContext.put("isLocal", isLocal);
00301 vContext.put("beanType", beanType);
00302 }
00303
00304 public Parameter getNextParameter() {
00305 return pkgNameParameter;
00306 }
00307
00308 };
00309
00310
00311
00312
00313
00314
00315 pkgNameParameter = new Parameter(context) {
00316
00317 public String getPrompt() {
00318 return "Package name";
00319 }
00320
00321 public String getArgKeyword()
00322 {
00323 return "-pkgName";
00324 }
00325
00326 public boolean isValid() {
00327 return (value.length() > 0);
00328 }
00329
00330 public void export() {
00331 vContext.put("pkgName", value);
00332 }
00333
00334 public Parameter getNextParameter() {
00335 return jarNameParameter;
00336 }
00337
00338 };
00339
00340
00341
00342
00343
00344
00345 jarNameParameter = new Parameter(context) {
00346
00347 public String getPrompt() {
00348 return "Jar name";
00349 }
00350
00351 public String getArgKeyword()
00352 {
00353 return "-jarName";
00354 }
00355
00356 public void setValue(String input) {
00357 if (input.endsWith(".jar")) {
00358 value = input.substring(0, input.length() - 4);
00359 }
00360 else {
00361 value = input;
00362 }
00363 }
00364
00365 public boolean isValid() {
00366 return (value.length() > 0);
00367 }
00368
00369 public void export() {
00370 vContext.put("jarName", value);
00371 }
00372
00373 public Parameter getNextParameter() {
00374 final Integer ENTITY_BEAN =
00375 (Integer)vContext.get("ENTITY_BEAN");
00376 Integer beanFlavor =
00377 (Integer)vContext.get("beanFlavor");
00378 if (beanFlavor == ENTITY_BEAN)
00379 return pkClassParameter;
00380 else
00381 return null;
00382 }
00383
00384 };
00385
00386
00387
00388
00389
00390
00391 pkClassParameter = new Parameter(context) {
00392
00393 public String getPrompt() {
00394 return "Primary Key class\n S String\n I Integer\n O Object";
00395 }
00396
00397 public String getArgKeyword()
00398 {
00399 return "-primaryKey";
00400 }
00401
00402 public void setValue(String input) {
00403 value = input.toUpperCase();
00404 }
00405
00406 public boolean isValid() {
00407 return (value.equals("S")
00408 || value.equals("I")
00409 || value.equals("O"));
00410 }
00411
00412 public void export() {
00413 String pkClass = null;
00414 if (value.equals("S"))
00415 pkClass = "java.lang.String";
00416 else if (value.equals("I"))
00417 pkClass = "java.lang.Integer";
00418 else if (value.equals("O"))
00419 pkClass = "java.lang.Object";
00420 vContext.put("pkClass", pkClass);
00421 }
00422
00423 public Parameter getNextParameter() {
00424 return null;
00425 }
00426
00427 };
00428
00429 }
00430
00431
00436 public void walkThrough() {
00437 beanNameParameter.walkThrough();
00438 }
00439
00440 }