[MEAR-248] Support lookup-name in env-entry section
o Added lookup-name in env-entry section.
git-svn-id: https://svn.apache.org/repos/asf/maven/plugins/trunk@1806368 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/maven/plugins/ear/EnvEntry.java b/src/main/java/org/apache/maven/plugins/ear/EnvEntry.java
index 4b1be70..cd4884e 100644
--- a/src/main/java/org/apache/maven/plugins/ear/EnvEntry.java
+++ b/src/main/java/org/apache/maven/plugins/ear/EnvEntry.java
@@ -41,6 +41,8 @@
static final String ENV_ENTRY_VALUE = "env-entry-value";
+ static final String ENV_LOOKUP_NAME = "lookup-name";
+
private final String description;
private final String name;
@@ -49,7 +51,9 @@
private final String value;
- public EnvEntry( String description, String name, String type, String value )
+ private final String lookupName;
+
+ public EnvEntry( String description, String name, String type, String value, String lookupName )
{
if ( StringUtils.isEmpty( name ) )
{
@@ -66,6 +70,7 @@
this.name = name;
this.type = type;
this.value = value;
+ this.lookupName = lookupName;
}
public String getDescription()
@@ -88,6 +93,11 @@
return value;
}
+ public String getLookupName()
+ {
+ return lookupName;
+ }
+
/**
* Appends the <tt>XML</tt> representation of this env-entry.
*
@@ -119,6 +129,12 @@
doWriteElement( writer, ENV_ENTRY_VALUE, getValue() );
}
+ // lookup-name
+ if ( getLookupName() != null )
+ {
+ doWriteElement( writer, ENV_LOOKUP_NAME, getLookupName() );
+ }
+
// end of env-entry
writer.endElement();
}
@@ -132,7 +148,8 @@
public String toString()
{
- return "env-entry [name=" + getName() + ", type=" + getType() + ", value=" + getValue() + "]";
+ return "env-entry [name=" + getName() + ", type=" + getType() + ", value=" + getValue() + ", lookup-name="
+ + getLookupName() + "]";
}
}
\ No newline at end of file
diff --git a/src/main/java/org/apache/maven/plugins/ear/GenerateApplicationXmlMojo.java b/src/main/java/org/apache/maven/plugins/ear/GenerateApplicationXmlMojo.java
index a430d53..7a627fd 100644
--- a/src/main/java/org/apache/maven/plugins/ear/GenerateApplicationXmlMojo.java
+++ b/src/main/java/org/apache/maven/plugins/ear/GenerateApplicationXmlMojo.java
@@ -356,6 +356,8 @@
final PlexusConfiguration[] allEnvEntries = envEntries.getChildren( EnvEntry.ENV_ENTRY );
+ getLog().debug( "buildEnvEntries: allEnvEntries:" + allEnvEntries );
+ getLog().debug( "buildEnvEntries: allEnvEntries size:" + allEnvEntries.length );
for ( PlexusConfiguration envEntry : allEnvEntries )
{
// CHECKSTYLE_OFF: LineLength
@@ -367,12 +369,14 @@
interpolate( ssi, envEntry.getChild( EnvEntry.ENV_ENTRY_TYPE ).getValue() );
final String childEnvEntryValue =
interpolate( ssi, envEntry.getChild( EnvEntry.ENV_ENTRY_VALUE ).getValue() );
+ final String childEnvLookupNameValue =
+ interpolate( ssi, envEntry.getChild( EnvEntry.ENV_LOOKUP_NAME ).getValue() );
// CHECKSTYLE_ON: LineLength
try
{
result.add( new EnvEntry( childDescription, childEnvEntryName, childEnvEntryType,
- childEnvEntryValue ) );
+ childEnvEntryValue, childEnvLookupNameValue ) );
}
catch ( IllegalArgumentException e )
{
diff --git a/src/site/apt/examples/specifying-env-entries-for-the-generated-application-xml.apt.vm b/src/site/apt/examples/specifying-env-entries-for-the-generated-application-xml.apt.vm
index b2091f8..04420a3 100644
--- a/src/site/apt/examples/specifying-env-entries-for-the-generated-application-xml.apt.vm
+++ b/src/site/apt/examples/specifying-env-entries-for-the-generated-application-xml.apt.vm
@@ -4,7 +4,7 @@
Stephane Nicoll
<snicoll@apache.org>
------
- January 25, 2012
+ August 27, 2017
~~ Copyright 2006 The Apache Software Foundation.
~~
@@ -45,6 +45,7 @@
<env-entry-name>complete</env-entry-name>
<env-entry-type>java.lang.Integer</env-entry-type>
<env-entry-value>4</env-entry-value>
+ <lookup-name>java:global/Example</lookup-name>
</env-entry>
<env-entry>
<env-entry-name>no-type</env-entry-name>
diff --git a/src/test/java/org/apache/maven/plugins/ear/EnvEntryTest.java b/src/test/java/org/apache/maven/plugins/ear/EnvEntryTest.java
index 2ad6dfa..20f8d00 100644
--- a/src/test/java/org/apache/maven/plugins/ear/EnvEntryTest.java
+++ b/src/test/java/org/apache/maven/plugins/ear/EnvEntryTest.java
@@ -40,48 +40,55 @@
public static final String VALUE = "34";
+ public static final String LOOKUP_NAME = "lookupName";
+
@Test
public void createComplete()
{
- final EnvEntry envEntry = new EnvEntry( DESCRIPTION, NAME, TYPE, VALUE );
- assertEnvEntry( envEntry, DESCRIPTION, NAME, TYPE, VALUE );
+ final EnvEntry envEntry = new EnvEntry( DESCRIPTION, NAME, TYPE, VALUE, LOOKUP_NAME );
+ assertEnvEntry( envEntry, DESCRIPTION, NAME, TYPE, VALUE, LOOKUP_NAME );
}
@Test
public void createWithoutTypeButValue()
{
- final EnvEntry envEntry = new EnvEntry( null, NAME, null, VALUE );
- assertEnvEntry( envEntry, null, NAME, null, VALUE );
+ final EnvEntry envEntry = new EnvEntry( null, NAME, null, VALUE, LOOKUP_NAME );
+ assertEnvEntry( envEntry, null, NAME, null, VALUE, LOOKUP_NAME );
}
@Test( expected = IllegalArgumentException.class )
public void createWithoutName()
{
- new EnvEntry( DESCRIPTION, null, TYPE, VALUE );
+ new EnvEntry( DESCRIPTION, null, TYPE, VALUE, LOOKUP_NAME );
}
@Test( expected = IllegalArgumentException.class )
public void createWithEmptyName()
{
- new EnvEntry( DESCRIPTION, "", TYPE, VALUE );
+ new EnvEntry( DESCRIPTION, "", TYPE, VALUE, LOOKUP_NAME );
}
@Test( expected = IllegalArgumentException.class )
public void createWithNullTypeAndNoValue()
{
- new EnvEntry( DESCRIPTION, NAME, null, null );
-
+ new EnvEntry( DESCRIPTION, NAME, null, null, LOOKUP_NAME );
}
@Test( expected = IllegalArgumentException.class )
public void createWithEmptyTypeAndNoValue()
{
- new EnvEntry( DESCRIPTION, NAME, "", null );
-
+ new EnvEntry( DESCRIPTION, NAME, "", null, LOOKUP_NAME );
}
- private void assertEnvEntry( EnvEntry actual, String description, String name, String type, String value )
+ @Test
+ public void createWithEmptyLookupName()
+ {
+ new EnvEntry( DESCRIPTION, NAME, TYPE, VALUE, null );
+ }
+
+ private void assertEnvEntry( EnvEntry actual, String description, String name, String type, String value,
+ String lookupName )
{
assertNotNull( "Env entry could not be null", actual );
assertNotNull( "ToString could not be null", actual.toString() );
@@ -89,6 +96,7 @@
assertEquals( "Wrong env entry name for [" + actual + "]", name, actual.getName() );
assertEquals( "Wrong env entry type for [" + actual + "]", type, actual.getType() );
assertEquals( "Wrong env entry value for [" + actual + "]", value, actual.getValue() );
+ assertEquals( "Wrong env entry value for [" + actual + "]", lookupName, actual.getLookupName() );
}
}