[jboss-cvs] JBossAS SVN: r101645 - in projects/jboss-jca/trunk/validator/src/main: java/org/jboss/jca/validator/rules/cf and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 1 01:45:27 EST 2010
Author: jeff.zhang
Date: 2010-03-01 01:45:27 -0500 (Mon, 01 Mar 2010)
New Revision: 101645
Added:
projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/rules/cf/CFConstructor.java
Modified:
projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/Validator.java
projects/jboss-jca/trunk/validator/src/main/resources/validator.properties
Log:
[JBJCA-277] add CFConstructor rule
Modified: projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/Validator.java
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/Validator.java 2010-03-01 06:30:51 UTC (rev 101644)
+++ projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/Validator.java 2010-03-01 06:45:27 UTC (rev 101645)
@@ -52,6 +52,7 @@
"org.jboss.jca.validator.rules.ra.RAHashCode",
"org.jboss.jca.validator.rules.ra.RAEquals",
"org.jboss.jca.validator.rules.ra.RAConfigProperties",
+ "org.jboss.jca.validator.rules.cf.CFConstructor",
"org.jboss.jca.validator.rules.cf.CFNull",
"org.jboss.jca.validator.rules.cf.CFSerializable",
"org.jboss.jca.validator.rules.cf.CFReferenceable",
Added: projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/rules/cf/CFConstructor.java
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/rules/cf/CFConstructor.java (rev 0)
+++ projects/jboss-jca/trunk/validator/src/main/java/org/jboss/jca/validator/rules/cf/CFConstructor.java 2010-03-01 06:45:27 UTC (rev 101645)
@@ -0,0 +1,89 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008-2010, 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.validator.rules.cf;
+
+import org.jboss.jca.validator.Failure;
+import org.jboss.jca.validator.Key;
+import org.jboss.jca.validator.Rule;
+import org.jboss.jca.validator.Severity;
+import org.jboss.jca.validator.Validate;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.ResourceBundle;
+
+import javax.resource.cci.ConnectionFactory;
+
+/**
+ * A ConnectionFactory must have a default constructor
+ *
+ * @author Jeff Zhang</a>
+ * @version $Revision: $
+ */
+public class CFConstructor implements Rule
+{
+ /** Section */
+ private static final String SECTION = "17.5.1.1 ";
+
+ /**
+ * Constructor
+ */
+ public CFConstructor()
+ {
+ }
+
+ /**
+ * Validate
+ * @param vo The validate object
+ * @param rb The resource bundle
+ * @return The list of failures found; <code>null</code> if none
+ */
+ @SuppressWarnings("unchecked")
+ public List<Failure> validate(Validate vo, ResourceBundle rb)
+ {
+ if (vo != null &&
+ Key.CONNECTION_FACTORY == vo.getKey() &&
+ vo.getClazz() != null &&
+ ConnectionFactory.class.isAssignableFrom(vo.getClazz()))
+ {
+ try
+ {
+ vo.getClazz().getConstructor((Class[])null);
+ }
+ catch (Throwable t)
+ {
+ List<Failure> failures = new ArrayList<Failure>(1);
+
+ Failure failure = new Failure(Severity.ERROR,
+ SECTION,
+ rb.getString("cf.CFConstructor"));
+ failures.add(failure);
+
+ return failures;
+ }
+ }
+
+ return null;
+ }
+}
+
Modified: projects/jboss-jca/trunk/validator/src/main/resources/validator.properties
===================================================================
--- projects/jboss-jca/trunk/validator/src/main/resources/validator.properties 2010-03-01 06:30:51 UTC (rev 101644)
+++ projects/jboss-jca/trunk/validator/src/main/resources/validator.properties 2010-03-01 06:45:27 UTC (rev 101645)
@@ -20,6 +20,7 @@
ra.RAEquals=A ResourceAdapter must implement a "public boolean equals(Object)" method.
ra.RAHashCode=A ResourceAdapter must implement a "public int hashCode()" method.
ra.RANull=A ResourceAdapter must be a non-null instance.
+cf.CFConstructor=A ConnectionFactory must have a default constructor
cf.CFNull=ConnectionFactory must be a non-null value
cf.CFSerializable=ConnectionFactory must implement java.io.Serializable
cf.CFReferenceable=ConnectionFactory must implement javax.resource.Referenceable
More information about the jboss-cvs-commits
mailing list