implement requirement that a bean class cannot be abstract
This commit is contained in:
parent
d0fbb100b6
commit
135b7a010b
|
|
@ -77,6 +77,11 @@ public class AbstractBeanCheck
|
|||
"illegalmodifier.bean",
|
||||
new Object[] {aBeanType, "final"});
|
||||
}
|
||||
if (Utils.isAbstract(aAST)) {
|
||||
log(nameAST.getLineNo(), nameAST.getColumnNo(),
|
||||
"illegalmodifier.bean",
|
||||
new Object[] {aBeanType, "abstract"});
|
||||
}
|
||||
if (!Utils.hasPublicConstructor(aAST, 0)) {
|
||||
log(nameAST.getLineNo(), nameAST.getColumnNo(),
|
||||
"nonpublicconstructor.bean", aBeanType);
|
||||
|
|
|
|||
|
|
@ -40,8 +40,7 @@ public class EntityBeanCheck
|
|||
*/
|
||||
public void visitToken(DetailAST aAST)
|
||||
{
|
||||
if (Utils.hasImplements(aAST, "javax.ejb.EntityBean")
|
||||
&& !Utils.isAbstract(aAST))
|
||||
if (Utils.hasImplements(aAST, "javax.ejb.EntityBean"))
|
||||
{
|
||||
checkBean(aAST, "Entity bean");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@ public class MessageBeanCheck
|
|||
public void visitToken(DetailAST aAST)
|
||||
{
|
||||
if (Utils.hasImplements(aAST, "javax.ejb.MessageDrivenBean")
|
||||
&& Utils.hasImplements(aAST, "javax.jms.MessageListener")
|
||||
&& !Utils.isAbstract(aAST))
|
||||
&& Utils.hasImplements(aAST, "javax.jms.MessageListener"))
|
||||
{
|
||||
checkBean(aAST, "Message bean");
|
||||
if (!hasRequiredEjbCreate(aAST)) {
|
||||
|
|
|
|||
|
|
@ -42,8 +42,7 @@ public class SessionBeanCheck
|
|||
*/
|
||||
public void visitToken(DetailAST aAST)
|
||||
{
|
||||
if (Utils.hasImplements(aAST, "javax.ejb.SessionBean")
|
||||
&& !Utils.isAbstract(aAST))
|
||||
if (Utils.hasImplements(aAST, "javax.ejb.SessionBean"))
|
||||
{
|
||||
checkBean(aAST, "Session bean");
|
||||
if (!Utils.hasPublicMethod(aAST, "ejbCreate", true)) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ public class EntityBeanCheckTest extends BaseCheckTestCase
|
|||
createCheckConfig(EntityBeanCheck.class);
|
||||
final String[] expected = {
|
||||
"13:14: Entity bean must have a public constructor with no parameters.",
|
||||
"75:16: Entity bean must be public.",
|
||||
"75:16: Entity bean must not have modifier abstract.",
|
||||
"83:13: Entity bean must be public.",
|
||||
"83:13: Entity bean must not have modifier final.",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ public class MessageBeanCheckTest extends BaseCheckTestCase
|
|||
final String[] expected = {
|
||||
"12:14: Message bean must have a public constructor with no parameters.",
|
||||
"12:14: Message bean must have method ejbCreate.",
|
||||
"41:16: Message bean must be public.",
|
||||
"41:16: Message bean must have a public constructor with no parameters.",
|
||||
"41:16: Message bean must have method ejbCreate.",
|
||||
"41:16: Message bean must not have modifier abstract.",
|
||||
"46:13: Message bean must be public.",
|
||||
"46:13: Message bean must not have modifier final.",
|
||||
};
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ public class SessionBeanCheckTest extends BaseCheckTestCase
|
|||
final String[] expected = {
|
||||
"12:14: Session bean must have a public constructor with no parameters.",
|
||||
"12:14: Session bean must have method ejbCreate.",
|
||||
"53:16: Session bean must be public.",
|
||||
"53:16: Session bean must have a public constructor with no parameters.",
|
||||
"53:16: Session bean must have method ejbCreate.",
|
||||
"53:16: Session bean must not have modifier abstract.",
|
||||
"58:13: Session bean must be public.",
|
||||
"58:13: Session bean must not have modifier final.",
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue