[jboss-cvs] JBossAS SVN: r111216 - 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 Apr 20 03:43:04 EDT 2011
Author: jeff.zhang
Date: 2011-04-20 03:43:04 -0400 (Wed, 20 Apr 2011)
New Revision: 111216
Modified:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnInterfaceCodeGen.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/TestCodeGen.java
Log:
[JBJCA-540] Add ConnectionEvent usage
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java 2011-04-20 06:50:18 UTC (rev 111215)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnImplCodeGen.java 2011-04-20 07:43:04 UTC (rev 111216)
@@ -59,6 +59,14 @@
writeEol(out);
writeIndent(out, indent);
+ out.write("/** ManagedConnection */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("private " + def.getMcClass() + " mc;");
+ writeEol(out);
+ writeEol(out);
+
+ writeIndent(out, indent);
out.write("/** ManagedConnectionFactory */");
writeEol(out);
writeIndent(out, indent);
@@ -74,6 +82,9 @@
out.write(" * Default constructor");
writeEol(out);
writeIndent(out, indent);
+ out.write(" * @param mc " + def.getMcClass());
+ writeEol(out);
+ writeIndent(out, indent);
out.write(" * @param mcf " + def.getMcfClass());
writeEol(out);
writeIndent(out, indent);
@@ -81,9 +92,13 @@
writeEol(out);
writeIndent(out, indent);
- out.write("public " + getClassName(def) + "(" + def.getMcfClass() + " mcf)");
+ out.write("public " + getClassName(def) + "(" +
+ def.getMcClass() + " mc, " + def.getMcfClass() + " mcf)");
writeLeftCurlyBracket(out, indent);
writeIndent(out, indent + 1);
+ out.write("this.mc = mc;");
+ writeEol(out);
+ writeIndent(out, indent + 1);
out.write("this.mcf = mcf;");
writeRightCurlyBracket(out, indent);
writeEol(out);
@@ -224,8 +239,24 @@
writeLeftCurlyBracket(out, indent);
writeIndent(out, indent + 1);
out.write("log.finest(\"callMe()\");");
-
writeRightCurlyBracket(out, indent);
}
+
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Close");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("public void close()");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("mc.closeHandle(this);");
+ writeRightCurlyBracket(out, indent);
}
}
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnInterfaceCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnInterfaceCodeGen.java 2011-04-20 06:50:18 UTC (rev 111215)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/ConnInterfaceCodeGen.java 2011-04-20 07:43:04 UTC (rev 111216)
@@ -132,6 +132,19 @@
out.write("public void callMe();");
}
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Close");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("public void close();");
+
writeRightCurlyBracket(out, 0);
}
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java 2011-04-20 06:50:18 UTC (rev 111215)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/McCodeGen.java 2011-04-20 07:43:04 UTC (rev 111216)
@@ -74,6 +74,14 @@
writeEol(out);
writeIndent(out, indent);
+ out.write("/** Listeners */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("private List<ConnectionEventListener> listeners;");
+ writeEol(out);
+ writeEol(out);
+
+ writeIndent(out, indent);
out.write("/** Connection */");
writeEol(out);
writeIndent(out, indent);
@@ -102,6 +110,12 @@
out.write("this.mcf = mcf;");
writeEol(out);
writeIndent(out, indent + 1);
+ out.write("this.logwriter = null;");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("this.listeners = new ArrayList<ConnectionEventListener>(1);");
+ writeEol(out);
+ writeIndent(out, indent + 1);
out.write("this.connection = null;");
writeRightCurlyBracket(out, indent);
writeEol(out);
@@ -131,11 +145,17 @@
out.write("import java.io.PrintWriter;");
writeEol(out);
writeEol(out);
+ out.write("import java.util.ArrayList;");
+ writeEol(out);
+ out.write("import java.util.List;");
+ writeEol(out);
out.write("import java.util.logging.Logger;");
writeEol(out);
writeEol(out);
out.write("import javax.resource.ResourceException;");
writeEol(out);
+ out.write("import javax.resource.spi.ConnectionEvent;");
+ writeEol(out);
out.write("import javax.resource.spi.ConnectionEventListener;");
writeEol(out);
out.write("import javax.resource.spi.ConnectionRequestInfo;");
@@ -212,7 +232,7 @@
out.write("log.finest(\"getConnection()\");");
writeEol(out);
writeIndent(out, indent + 1);
- out.write("connection = new " + def.getConnImplClass() + "(mcf);");
+ out.write("connection = new " + def.getConnImplClass() + "(this, mcf);");
writeEol(out);
writeIndent(out, indent + 1);
out.write("return connection;");
@@ -339,6 +359,15 @@
writeLeftCurlyBracket(out, indent);
writeIndent(out, indent + 1);
out.write("log.finest(\"addConnectionEventListener()\");");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("if (listener == null)");
+ writeEol(out);
+ writeIndent(out, indent + 2);
+ out.write("throw new IllegalArgumentException(\"Listener is null\");");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("listeners.add(listener);");
writeRightCurlyBracket(out, indent);
writeEol(out);
@@ -363,6 +392,48 @@
writeLeftCurlyBracket(out, indent);
writeIndent(out, indent + 1);
out.write("log.finest(\"removeConnectionEventListener()\");");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("if (listener == null)");
+ writeEol(out);
+ writeIndent(out, indent + 2);
+ out.write("throw new IllegalArgumentException(\"Listener is null\");");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("listeners.remove(listener);");
+ writeRightCurlyBracket(out, indent);
+ writeEol(out);
+
+ writeIndent(out, indent);
+ out.write("/**");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * Close handle");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" *");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" * @param handle The handle");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write(" */");
+ writeEol(out);
+ writeIndent(out, indent);
+ out.write("public void closeHandle(" + def.getConnInterfaceClass() + " handle)");
+ writeLeftCurlyBracket(out, indent);
+ writeIndent(out, indent + 1);
+ out.write("ConnectionEvent event = new ConnectionEvent(this, ConnectionEvent.CONNECTION_CLOSED);");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("event.setConnectionHandle(handle);");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("for (ConnectionEventListener cel : listeners)");
+ writeLeftCurlyBracket(out, indent + 1);
+ writeIndent(out, indent + 2);
+ out.write("cel.connectionClosed(event);");
+ writeRightCurlyBracket(out, indent + 1);
writeRightCurlyBracket(out, indent);
writeEol(out);
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/TestCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/TestCodeGen.java 2011-04-20 06:50:18 UTC (rev 111215)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/TestCodeGen.java 2011-04-20 07:43:04 UTC (rev 111216)
@@ -224,10 +224,7 @@
out.write("@Resource(mappedName = \"java:/eis/" + getClassName(def) + "\")");
writeEol(out);
writeIndent(out, indent);
- if (def.isDefineMethodInConnection())
- out.write("private " + def.getCfInterfaceClass() + " connectionFactory;");
- else
- out.write("private Object connectionFactory;");
+ out.write("private " + def.getCfInterfaceClass() + " connectionFactory;");
writeEol(out);
writeEol(out);
}
@@ -265,7 +262,15 @@
writeIndent(out, indent + 1);
out.write("assertNotNull(connectionFactory);");
-
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write(def.getConnInterfaceClass() + " connection = connectionFactory.getConnection();");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("assertNotNull(connection);");
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("connection.close();");
writeRightCurlyBracket(out, indent);
}
@@ -342,7 +347,10 @@
out.write(", ");
}
out.write(");");
-
+ writeEol(out);
+ writeIndent(out, indent + 1);
+ out.write("connection.close();");
+
writeRightCurlyBracket(out, indent);
writeEol(out);
}
More information about the jboss-cvs-commits
mailing list