[MPIR-380] contributor email rendering is fixed
diff --git a/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java b/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
index 2f9662c..d9ff379 100644
--- a/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
+++ b/src/main/java/org/apache/maven/report/projectinfo/TeamReport.java
@@ -27,6 +27,7 @@
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
+
import org.apache.maven.doxia.sink.Sink;
import org.apache.maven.model.Contributor;
import org.apache.maven.model.Developer;
@@ -90,6 +91,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public String getOutputName()
{
return "team";
@@ -277,7 +279,8 @@
}
if ( headersMap.get( EMAIL ) == Boolean.TRUE )
{
- tableCell( createLinkPatternedText( member.getEmail(), member.getEmail() ) );
+ final String link = String.format( "mailto:%s", member.getEmail() );
+ tableCell( createLinkPatternedText( member.getEmail(), link ) );
}
if ( headersMap.get( URL ) == Boolean.TRUE )
{
@@ -432,7 +435,7 @@
* @param timeZone
* @param properties
*/
- private void setRequiredArray( Map<String, Boolean> requiredHeaders, List<String> requiredArray,
+ private static void setRequiredArray( Map<String, Boolean> requiredHeaders, List<String> requiredArray,
String name, String email, String url, String organization,
String organizationUrl, String roles, String timeZone,
String properties )
@@ -476,7 +479,7 @@
* @param units contributors and developers to check
* @return required headers
*/
- private Map<String, Boolean> checkRequiredHeaders( List<? extends Contributor> units )
+ private static Map<String, Boolean> checkRequiredHeaders( List<? extends Contributor> units )
{
Map<String, Boolean> requiredHeaders = new HashMap<>();
@@ -566,7 +569,7 @@
sink.tableCell_();
}
- private boolean isEmpty( List<?> list )
+ private static boolean isEmpty( List<?> list )
{
return ( list == null ) || list.isEmpty();
}
diff --git a/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java b/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java
index 3c4c18f..ed0ca5c 100644
--- a/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java
+++ b/src/test/java/org/apache/maven/report/projectinfo/TeamReportTest.java
@@ -23,10 +23,13 @@
import java.net.URL;
import com.meterware.httpunit.GetMethodWebRequest;
+import com.meterware.httpunit.TableCell;
import com.meterware.httpunit.TextBlock;
import com.meterware.httpunit.WebConversation;
+import com.meterware.httpunit.WebLink;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
+import com.meterware.httpunit.WebTable;
/**
* @author Edwin Punzalan
@@ -52,7 +55,7 @@
File pluginXmlFile = new File( getBasedir(), "src/test/resources/plugin-configs/" + "team-plugin-config.xml" );
AbstractProjectInfoReport mojo = createReportMojo( "team", pluginXmlFile );
setVariableValueToObject( mojo, "showAvatarImages", Boolean.TRUE );
- generateReport( mojo, pluginXmlFile);
+ generateReport( mojo, pluginXmlFile);
assertTrue( "Test html generated", getGeneratedReport( "team.html" ).exists() );
URL reportURL = getGeneratedReport( "team.html" ).toURI().toURL();
@@ -85,5 +88,13 @@
assertEquals( getString( "report.team.developers.intro" ), textBlocks[4].getText() );
assertEquals( getString( "report.team.contributors.title" ), textBlocks[5].getText() );
assertEquals( getString( "report.team.nocontributor" ), textBlocks[6].getText() );
+
+ WebTable[] tables = response.getTables();
+ assertEquals(1, tables.length);
+ TableCell emailCell = tables[0].getTableCell(1, 3);
+ assertEquals("vsiveton@apache.org", emailCell.getText());
+ WebLink[] links = emailCell.getLinks();
+ assertEquals(1, links.length);
+ assertEquals("mailto:vsiveton@apache.org", links[0].getURLString());
}
}