[jboss-cvs] JBossAS SVN: r110388 - in projects/jboss-jca/trunk/codegenerator/src/main: java/org/jboss/jca/codegenerator/code and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 17 08:31:16 EST 2011
Author: jeff.zhang
Date: 2011-01-17 08:31:15 -0500 (Mon, 17 Jan 2011)
New Revision: 110388
Added:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/MbeanXmlGen.java
projects/jboss-jca/trunk/codegenerator/src/main/resources/mbean.xml.template
Modified:
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java
projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/MbeanImplCodeGen.java
Log:
[JBJCA-457] add mbean xml file for sjc
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java 2011-01-17 13:04:47 UTC (rev 110387)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/BaseProfile.java 2011-01-17 13:31:15 UTC (rev 110388)
@@ -27,6 +27,7 @@
import org.jboss.jca.codegenerator.xml.IronjacamarXmlGen;
import org.jboss.jca.codegenerator.xml.IvySettingsXmlGen;
import org.jboss.jca.codegenerator.xml.IvyXmlGen;
+import org.jboss.jca.codegenerator.xml.MbeanXmlGen;
import org.jboss.jca.codegenerator.xml.PomXmlGen;
import org.jboss.jca.codegenerator.xml.RaXmlGen;
@@ -62,8 +63,6 @@
generateRaCode(def);
generateOutboundCode(def);
generateInboundCode(def);
- if (def.isGenMbean() && !def.isUseCciConnection())
- generateMBeanCode(def);
generateTestCode(def);
@@ -76,6 +75,12 @@
generateRaXml(def, def.getOutputDir());
generateIronjacamarXml(def, def.getOutputDir());
+
+ if (def.isGenMbean() && !def.isUseCciConnection())
+ {
+ generateMBeanCode(def);
+ generateMbeanXml(def, def.getOutputDir());
+ }
}
/**
@@ -330,6 +335,26 @@
}
/**
+ * generate mbean deployment xml
+ * @param def Definition
+ * @param outputDir output directory
+ */
+ void generateMbeanXml(Definition def, String outputDir)
+ {
+ try
+ {
+ FileWriter mbfw = Utils.createFile(def.getDefaultValue() + ".xml", outputDir);
+ MbeanXmlGen mbGen = new MbeanXmlGen();
+ mbGen.generate(def, mbfw);
+ mbfw.close();
+ }
+ catch (IOException ioe)
+ {
+ ioe.printStackTrace();
+ }
+ }
+
+ /**
* generate test code
*
* @param def Definition
Modified: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/MbeanImplCodeGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/MbeanImplCodeGen.java 2011-01-17 13:04:47 UTC (rev 110387)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/code/MbeanImplCodeGen.java 2011-01-17 13:31:15 UTC (rev 110388)
@@ -114,8 +114,6 @@
writeEol(out);
out.write("import javax.management.MBeanServer;");
writeEol(out);
- out.write("import javax.management.NotCompliantMBeanException;");
- writeEol(out);
out.write("import javax.management.ObjectName;");
writeEol(out);
out.write("import javax.naming.InitialContext;");
Added: projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/MbeanXmlGen.java
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/MbeanXmlGen.java (rev 0)
+++ projects/jboss-jca/trunk/codegenerator/src/main/java/org/jboss/jca/codegenerator/xml/MbeanXmlGen.java 2011-01-17 13:31:15 UTC (rev 110388)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.codegenerator.xml;
+
+import org.jboss.jca.codegenerator.Definition;
+import org.jboss.jca.codegenerator.SimpleTemplate;
+import org.jboss.jca.codegenerator.Template;
+import org.jboss.jca.codegenerator.Utils;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A MbeanXmlGen.
+ *
+ * @author Jeff Zhang
+ * @version $Revision: $
+ */
+public class MbeanXmlGen extends AbstractXmlGen
+{
+ @Override
+ public void writeXmlBody(Definition def, Writer out) throws IOException
+ {
+ out.write("<!--");
+ writeEol(out);
+ writeheader(def, out);
+ out.write("-->");
+ writeEol(out);
+ writeEol(out);
+
+ URL buildFile = MbeanXmlGen.class.getResource("/mbean.xml.template");
+ String buildString = Utils.readFileIntoString(buildFile);
+
+ Map<String, String> map = new HashMap<String, String>();
+ map.put("mbean.name", def.getDefaultValue());
+ map.put("mbean.interface", def.getRaPackage() + "." + def.getMbeanInterfaceClass());
+ map.put("mbean.impl", def.getRaPackage() + "." + def.getMbeanImplClass());
+
+ Template template = new SimpleTemplate(buildString);
+ template.process(map, out);
+ }
+}
Added: projects/jboss-jca/trunk/codegenerator/src/main/resources/mbean.xml.template
===================================================================
--- projects/jboss-jca/trunk/codegenerator/src/main/resources/mbean.xml.template (rev 0)
+++ projects/jboss-jca/trunk/codegenerator/src/main/resources/mbean.xml.template 2011-01-17 13:31:15 UTC (rev 110388)
@@ -0,0 +1,7 @@
+<deployment>
+ <bean name="${mbean.name}" interface="${mbean.interface}" class="${mbean.impl}">
+ <property name="MBeanServer">
+ <inject bean="Kernel" property="MBeanServer"/>
+ </property>
+ </bean>
+</deployment>
More information about the jboss-cvs-commits
mailing list