[jboss-cvs] JBossAS SVN: r112456 - projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Nov 16 20:53:12 EST 2011
Author: jeff.zhang
Date: 2011-11-16 20:53:11 -0500 (Wed, 16 Nov 2011)
New Revision: 112456
Modified:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java
Log:
[JBJCA-699] Duplicated class definitions shouldn't be allowed
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java 2011-11-16 16:22:13 UTC (rev 112455)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/Main.java 2011-11-17 01:53:11 UTC (rev 112456)
@@ -26,9 +26,11 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
+import java.util.Set;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
@@ -60,7 +62,7 @@
String outputDir = "out"; //default output directory
String defxml = null;
int arg = 0;
-
+
if (args.length > 0)
{
while (args.length > arg + 1)
@@ -172,6 +174,7 @@
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Definition def = new Definition();
+ Set<String> classes = new HashSet<String>();
//profile version
String version = null;
@@ -303,6 +306,7 @@
System.out.print(rb.getString("ra.class.name"));
System.out.print("[" + def.getRaClass() + "]: ");
String raClassName = in.readLine();
+ classes.add(raClassName);
if (raClassName != null && !raClassName.equals(""))
{
def.setRaClass(raClassName);
@@ -324,10 +328,15 @@
do
{
McfDef mcfdef = new McfDef(mcfID, def);
-
- System.out.print(rb.getString("mcf.class.name"));
- System.out.print("[" + mcfdef.getMcfClass() + "]: ");
- String mcfClassName = in.readLine();
+ String mcfClassName = "";
+ do
+ {
+ System.out.print(rb.getString("mcf.class.name"));
+ System.out.print("[" + mcfdef.getMcfClass() + "]: ");
+ mcfClassName = in.readLine();
+ }
+ while (classes.contains(mcfClassName));
+ classes.add(mcfClassName);
if (mcfClassName != null && !mcfClassName.equals(""))
{
mcfdef.setMcfClass(mcfClassName);
@@ -353,9 +362,16 @@
}
}
- System.out.print(rb.getString("mc.class.name"));
- System.out.print("[" + mcfdef.getMcClass() + "]: ");
- String mcClassName = in.readLine();
+ String mcClassName = "";
+ do
+ {
+ System.out.print(rb.getString("mc.class.name"));
+ System.out.print("[" + mcfdef.getMcClass() + "]: ");
+ mcClassName = in.readLine();
+ }
+ while (classes.contains(mcClassName));
+ classes.add(mcClassName);
+
if (mcClassName != null && !mcClassName.equals(""))
mcfdef.setMcClass(mcClassName);
@@ -373,27 +389,51 @@
if (!mcfdef.isUseCciConnection())
{
- System.out.print(rb.getString("cf.interface.name"));
- System.out.print("[" + mcfdef.getCfInterfaceClass() + "]: ");
- String cfInterfaceName = in.readLine();
+ String cfInterfaceName = "";
+ do
+ {
+ System.out.print(rb.getString("cf.interface.name"));
+ System.out.print("[" + mcfdef.getCfInterfaceClass() + "]: ");
+ cfInterfaceName = in.readLine();
+ }
+ while (classes.contains(cfInterfaceName));
+ classes.add(cfInterfaceName);
if (cfInterfaceName != null && !cfInterfaceName.equals(""))
mcfdef.setCfInterfaceClass(cfInterfaceName);
- System.out.print(rb.getString("cf.class.name"));
- System.out.print("[" + mcfdef.getCfClass() + "]: ");
- String cfClassName = in.readLine();
+ String cfClassName = "";
+ do
+ {
+ System.out.print(rb.getString("cf.class.name"));
+ System.out.print("[" + mcfdef.getCfClass() + "]: ");
+ cfClassName = in.readLine();
+ }
+ while (classes.contains(cfClassName));
+ classes.add(cfClassName);
if (cfClassName != null && !cfClassName.equals(""))
mcfdef.setCfClass(cfClassName);
-
- System.out.print(rb.getString("conn.interface.name"));
- System.out.print("[" + mcfdef.getConnInterfaceClass() + "]: ");
- String connInterfaceName = in.readLine();
+
+ String connInterfaceName = "";
+ do
+ {
+ System.out.print(rb.getString("conn.interface.name"));
+ System.out.print("[" + mcfdef.getConnInterfaceClass() + "]: ");
+ connInterfaceName = in.readLine();
+ }
+ while (classes.contains(connInterfaceName));
+ classes.add(connInterfaceName);
if (connInterfaceName != null && !connInterfaceName.equals(""))
mcfdef.setConnInterfaceClass(connInterfaceName);
- System.out.print(rb.getString("conn.class.name"));
- System.out.print("[" + mcfdef.getConnImplClass() + "]: ");
- String connImplName = in.readLine();
+ String connImplName = "";
+ do
+ {
+ System.out.print(rb.getString("conn.class.name"));
+ System.out.print("[" + mcfdef.getConnImplClass() + "]: ");
+ connImplName = in.readLine();
+ }
+ while (classes.contains(connImplName));
+ classes.add(connImplName);
if (connImplName != null && !connImplName.equals(""))
mcfdef.setConnImplClass(connImplName);
@@ -432,10 +472,16 @@
//inbound
if (def.isSupportInbound())
{
+ String mlClassName = "";
+ do
+ {
+ System.out.print(rb.getString("ml.interface.name"));
+ System.out.print("[" + def.getMlClass() + "]: ");
+ mlClassName = in.readLine();
+ }
+ while (classes.contains(mlClassName));
+ classes.add(mlClassName);
boolean defaultPackage = true;
- System.out.print(rb.getString("ml.interface.name"));
- System.out.print("[" + def.getMlClass() + "]: ");
- String mlClassName = in.readLine();
if (mlClassName != null && !mlClassName.equals(""))
{
def.setMlClass(mlClassName);
@@ -449,18 +495,30 @@
}
def.setDefaultPackageInbound(defaultPackage);
- System.out.print(rb.getString("as.class.name"));
- System.out.print("[" + def.getAsClass() + "]: ");
- String asClassName = in.readLine();
+ String asClassName = "";
+ do
+ {
+ System.out.print(rb.getString("as.class.name"));
+ System.out.print("[" + def.getAsClass() + "]: ");
+ asClassName = in.readLine();
+ }
+ while (classes.contains(asClassName));
+ classes.add(asClassName);
if (asClassName != null && !asClassName.equals(""))
def.setAsClass(asClassName);
List<ConfigPropType> asProps = inputProperties("as", in, true);
def.setAsConfigProps(asProps);
- System.out.print(rb.getString("acti.class.name"));
- System.out.print("[" + def.getActivationClass() + "]: ");
- String actiClassName = in.readLine();
+ String actiClassName = "";
+ do
+ {
+ System.out.print(rb.getString("acti.class.name"));
+ System.out.print("[" + def.getActivationClass() + "]: ");
+ actiClassName = in.readLine();
+ }
+ while (classes.contains(actiClassName));
+ classes.add(actiClassName);
if (actiClassName != null && !actiClassName.equals(""))
def.setActivationClass(actiClassName);
}
@@ -497,9 +555,17 @@
{
String strOrder = numOfAo > 0 ? Integer.valueOf(numOfAo).toString() : "";
AdminObjectType aoType = new AdminObjectType();
- System.out.print(rb.getString("adminobject.interface.name"));
- System.out.print("[" + def.getDefaultValue() + strOrder + "AdminObjectInterface]: ");
- String aoInterfaceName = in.readLine();
+
+ String aoInterfaceName = "";
+ do
+ {
+ System.out.print(rb.getString("adminobject.interface.name"));
+ System.out.print("[" + def.getDefaultValue() + strOrder + "AdminObjectInterface]: ");
+ aoInterfaceName = in.readLine();
+ }
+ while (classes.contains(aoInterfaceName));
+ classes.add(aoInterfaceName);
+
if (aoInterfaceName != null && !aoInterfaceName.equals(""))
{
aoType.setAdminObjectInterface(aoInterfaceName);
@@ -509,9 +575,15 @@
aoType.setAdminObjectInterface(def.getDefaultValue() + strOrder + "AdminObjectInterface");
}
- System.out.print(rb.getString("adminobject.class.name"));
- System.out.print("[" + def.getDefaultValue() + strOrder + "AdminObjectImpl]: ");
- String aoClassName = in.readLine();
+ String aoClassName = "";
+ do
+ {
+ System.out.print(rb.getString("adminobject.class.name"));
+ System.out.print("[" + def.getDefaultValue() + strOrder + "AdminObjectImpl]: ");
+ aoClassName = in.readLine();
+ }
+ while (classes.contains(aoClassName));
+ classes.add(aoClassName);
if (aoClassName != null && !aoClassName.equals(""))
{
aoType.setAdminObjectClass(aoClassName);
More information about the jboss-cvs-commits
mailing list