[jboss-cvs] JBossAS SVN: r110464 - projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 26 19:39:29 EST 2011
Author: jeff.zhang
Date: 2011-01-26 19:39:29 -0500 (Wed, 26 Jan 2011)
New Revision: 110464
Modified:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoImplCodeGen.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoInterfaceCodeGen.java
Log:
[JBJCA-460] admin object class and interface could implement Referenceable and Serializable if it need implement ResourceAdapterAssociation interface
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoImplCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoImplCodeGen.java 2011-01-27 00:03:08 UTC (rev 110463)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoImplCodeGen.java 2011-01-27 00:39:29 UTC (rev 110464)
@@ -90,17 +90,49 @@
}
out.write("public class " + getClassName(def) + " implements " +
def.getAdminObjects().get(numOfAo).getAdminObjectInterface());
+ if (def.isImplRaAssociation())
+ {
+ out.write(",");
+ writeEol(out);
+ writeIndent(out, 1);
+ out.write("ResourceAdapterAssociation, Referenceable, Serializable");
+ }
writeLeftCurlyBracket(out, 0);
- writeEol(out);
-
int indent = 1;
-
+
+ if (def.isImplRaAssociation())
+ {
+ writeIndent(out, indent);
+ out.write("/** The resource adapter */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("private ResourceAdapter ra;");
+ writeEol(out);
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("/** Reference */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("private Reference reference;");
+ writeEol(out);
+ writeEol(out);
+ }
writeConfigPropsDeclare(def, out, indent);
writeDefaultConstructor(def, out, indent);
writeConfigProps(def, out, indent);
+ if (def.isImplRaAssociation())
+ {
+ writeResourceAdapter(def, out, indent);
+ writeReference(def, out, indent);
+ writeHashCode(def, out, indent);
+ writeEquals(def, out, indent);
+ }
+
+
writeRightCurlyBracket(out, 0);
}
@@ -116,6 +148,19 @@
out.write("package " + def.getRaPackage() + ";");
writeEol(out);
writeEol(out);
+ if (def.isImplRaAssociation())
+ {
+ out.write("import java.io.Serializable;");
+ writeEol(out);
+ writeEol(out);
+ out.write("import javax.naming.NamingException;");
+ writeEol(out);
+ out.write("import javax.naming.Reference;");
+ writeEol(out);
+ writeEol(out);
+ out.write("import javax.resource.Referenceable;");
+ writeEol(out);
+ }
if (def.isUseAnnotation())
{
out.write("import javax.resource.spi.AdministeredObject;");
@@ -123,6 +168,13 @@
out.write("import javax.resource.spi.ConfigProperty;");
writeEol(out);
}
+ if (def.isImplRaAssociation())
+ {
+ out.write("import javax.resource.spi.ResourceAdapter;");
+ writeEol(out);
+ out.write("import javax.resource.spi.ResourceAdapterAssociation;");
+ writeEol(out);
+ }
writeEol(out);
}
@@ -148,4 +200,128 @@
return def.getAdminObjects().get(numOfAo).getAoConfigProps();
}
+ /**
+ * Output ResourceAdapter method
+ * @param def definition
+ * @param out Writer
+ * @param indent space number
+ * @throws IOException ioException
+ */
+ private void writeResourceAdapter(Definition def, Writer out, int indent) throws IOException
+ {
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Get the resource adapter");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" *");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * @return The handle");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("public ResourceAdapter getResourceAdapter()");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("return ra;");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Set the resource adapter");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" *");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * @param ra The handle");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("public void setResourceAdapter(ResourceAdapter ra)");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("this.ra = ra;");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+ }
+
+ /**
+ * Output Reference method
+ * @param def definition
+ * @param out Writer
+ * @param indent space number
+ * @throws IOException ioException
+ */
+ private void writeReference(Definition def, Writer out, int indent) throws IOException
+ {
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Get the Reference instance.");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" *");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * @return Reference instance");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * @exception NamingException Thrown if a reference can't be obtained");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("@Override");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("public Reference getReference() throws NamingException");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("return reference;");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Set the Reference instance.");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" *");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * @param reference A Reference instance");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("@Override");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("public void setReference(Reference reference)");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("this.reference = reference;");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+ }
}
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoInterfaceCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoInterfaceCodeGen.java 2011-01-27 00:03:08 UTC (rev 110463)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/AoInterfaceCodeGen.java 2011-01-27 00:39:29 UTC (rev 110464)
@@ -84,6 +84,10 @@
public void writeClassBody(Definition def, Writer out) throws IOException
{
out.write("public interface " + getClassName(def));
+ if (def.isImplRaAssociation())
+ {
+ out.write(" extends Referenceable, Serializable");
+ }
writeLeftCurlyBracket(out, 0);
writeEol(out);
@@ -104,6 +108,15 @@
out.write("package " + def.getRaPackage() + ";");
writeEol(out);
writeEol(out);
+ if (def.isImplRaAssociation())
+ {
+ out.write("import java.io.Serializable;");
+ writeEol(out);
+ writeEol(out);
+ out.write("import javax.resource.Referenceable;");
+ writeEol(out);
+ }
+ writeEol(out);
}
/**
More information about the jboss-cvs-commits
mailing list