[MEJB-130] Accept ejbVersion 4.x (#11)
* IT for EJB 4
* Synchronize comment with code
* Accept ejb version 4
* Fix CS:LineLength
* Extract ejb version validation method
* UTs for ejbVersion validation
* Remove IT
Co-authored-by: Piotrek Żygieło <pzygielo@users.noreply.github.com>
diff --git a/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java b/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java
index 205f937..6ac6cf4 100644
--- a/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java
+++ b/src/main/java/org/apache/maven/plugins/ejb/EjbMojo.java
@@ -194,8 +194,8 @@
private JarArchiver jarArchiver;
/**
- * What EJB version should the EJB Plugin generate? Valid values are "2.x" or "3.x" (where x is a digit). When
- * ejbVersion is "3.x", the <code>ejb-jar.xml</code> file is optional.
+ * What EJB version should the EJB Plugin generate? Valid values are "2.x", "3.x" or "4.x" (where x is a digit).
+ * When ejbVersion is "2.x", the <code>ejb-jar.xml</code> file is mandatory.
* <p/>
* Usage:
*
@@ -462,14 +462,20 @@
return clientJarFile;
}
+ static void validateEjbVersion( String ejbVersion )
+ throws MojoExecutionException
+ {
+ if ( !ejbVersion.matches( "\\A[2-4]\\.[0-9]\\z" ) )
+ {
+ throw new MojoExecutionException( "ejbVersion is not valid: " + ejbVersion
+ + ". Must be 2.x, 3.x or 4.x (where x is a digit)" );
+ }
+ }
+
private void checkEJBVersionCompliance( File deploymentDescriptor )
throws MojoExecutionException
{
- if ( !ejbVersion.matches( "\\A[2-3]\\.[0-9]\\z" ) )
- {
- throw new MojoExecutionException( "ejbVersion is not valid: " + ejbVersion
- + ". Must be 2.x or 3.x (where x is a digit)" );
- }
+ validateEjbVersion( ejbVersion );
if ( ejbVersion.matches( "\\A2\\.[0-9]\\z" ) && !deploymentDescriptor.exists() )
{
diff --git a/src/test/java/org/apache/maven/plugins/ejb/EjbMojoTest.java b/src/test/java/org/apache/maven/plugins/ejb/EjbMojoTest.java
index 89e6c70..c6225be 100644
--- a/src/test/java/org/apache/maven/plugins/ejb/EjbMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/ejb/EjbMojoTest.java
@@ -513,6 +513,36 @@
assertJarCreation( project, true, false );
}
+ public void testEjb1VersionValidation()
+ {
+ try
+ {
+ EjbMojo.validateEjbVersion( "1.1" );
+ fail( "MojoException is expected" );
+ }
+ catch ( MojoExecutionException mex )
+ {
+ }
+ }
+
+ public void testEjb2VersionValidation()
+ throws MojoExecutionException
+ {
+ EjbMojo.validateEjbVersion( "2.1" );
+ }
+
+ public void testEjb3VersionValidation()
+ throws MojoExecutionException
+ {
+ EjbMojo.validateEjbVersion( "3.2" );
+ }
+
+ public void testEjb4VersionValidation()
+ throws MojoExecutionException
+ {
+ EjbMojo.validateEjbVersion( "4.0" );
+ }
+
protected EjbMojo lookupMojo()
throws Exception
{