Author: hboutemy
Date: Mon Dec 6 22:03:36 2010
New Revision: 1042813
URL: http://svn.apache.org/viewvc?rev=1042813&view=rev
Log:
code simplification (a developer is a contributor with an id)
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
Modified:
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java?rev=1042813&r1=1042812&r2=1042813&view=diff
==============================================================================
---
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
(original)
+++
maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
Mon Dec 6 22:03:36 2010
@@ -149,7 +149,7 @@ public class TeamListReport
startSection( getI18nString( "developers.title" ) );
- if ( developers == null || developers.isEmpty() )
+ if ( isEmpty( developers ) )
{
paragraph( getI18nString( "nodeveloper" ) );
}
@@ -159,10 +159,8 @@ public class TeamListReport
startTable();
- // By default we think that all headers not required
- Map<String, Boolean> headersMap = new HashMap<String,
Boolean>();
- // set true for headers that are required
- checkRequiredHeaders( headersMap, developers );
+ // By default we think that all headers not required: set true
for headers that are required
+ Map<String, Boolean> headersMap = checkRequiredHeaders(
developers );
String[] requiredHeaders = getRequiredDevHeaderArray(
headersMap );
tableHeader( requiredHeaders );
@@ -171,7 +169,7 @@ public class TeamListReport
int developersRowId = 0;
for ( Developer developer : developers )
{
- renderDeveloper( developer, developersRowId, headersMap,
javascript );
+ renderTeamMember( developer, developersRowId, headersMap,
javascript );
developersRowId++;
}
@@ -186,7 +184,7 @@ public class TeamListReport
startSection( getI18nString( "contributors.title" ) );
- if ( contributors == null || contributors.isEmpty() )
+ if ( isEmpty( contributors ) )
{
paragraph( getI18nString( "nocontributor" ) );
}
@@ -196,8 +194,7 @@ public class TeamListReport
startTable();
- Map<String, Boolean> headersMap = new HashMap<String,
Boolean>();
- checkRequiredHeaders( headersMap, contributors );
+ Map<String, Boolean> headersMap = checkRequiredHeaders(
contributors );
String[] requiredHeaders = getRequiredContrHeaderArray(
headersMap );
tableHeader( requiredHeaders );
@@ -206,7 +203,7 @@ public class TeamListReport
int contributorsRowId = 0;
for ( Contributor contributor : contributors )
{
- renderContributor( contributor, contributorsRowId,
headersMap, javascript );
+ renderTeamMember( contributor, contributorsRowId,
headersMap, javascript );
contributorsRowId++;
}
@@ -224,162 +221,47 @@ public class TeamListReport
endSection();
}
- private void renderDeveloper( Developer developer, int developerRowId,
Map<String, Boolean> headersMap,
- StringBuffer javascript )
+ private void renderTeamMember( Contributor member, int rowId,
Map<String, Boolean> headersMap,
+ StringBuffer javascript )
{
- // To handle JS
sink.tableRow();
- if ( headersMap.get( ID ) == Boolean.TRUE )
- {
- tableCell( "<a name=\"" + developer.getId() + "\"></a>" +
developer.getId(), true );
- }
- if ( headersMap.get( NAME ) == Boolean.TRUE )
- {
- tableCell( developer.getName() );
- }
- if ( headersMap.get( EMAIL ) == Boolean.TRUE )
- {
- tableCell( createLinkPatternedText( developer.getEmail(),
developer.getEmail() ) );
- }
- if ( headersMap.get( URL ) == Boolean.TRUE )
- {
- tableCellForUrl( developer.getUrl() );
- }
- if ( headersMap.get( ORGANIZATION ) == Boolean.TRUE )
- {
- tableCell( developer.getOrganization() );
- }
- if ( headersMap.get( ORGANIZATION_URL ) == Boolean.TRUE )
+ String type = "contributor";
+ if ( member instanceof Developer )
{
- tableCellForUrl( developer.getOrganizationUrl() );
- }
- if ( headersMap.get( ROLES ) == Boolean.TRUE )
- {
- if ( developer.getRoles() != null )
- {
- // Comma separated roles
- tableCell( StringUtils.join( developer.getRoles().toArray(
EMPTY_STRING_ARRAY ), ", " ) );
- }
- else
+ type = "developer";
+ if ( headersMap.get( ID ) == Boolean.TRUE )
{
- tableCell( null );
+ String id = ( (Developer) member ).getId();
+ tableCell( "<a name=\"" + id + "\"></a>" + id, true );
}
}
- if ( headersMap.get( TIME_ZONE ) == Boolean.TRUE )
- {
- tableCell( developer.getTimezone() );
-
- if ( !NumberUtils.isNumber( developer.getTimezone() )
- && StringUtils.isNotEmpty( developer.getTimezone() ) )
- {
- String tz = developer.getTimezone().trim();
- try
- {
- // check if it is a valid timeZone
- DateTimeZone.forID( tz );
-
- sink.tableCell();
- sink.rawText( "<span id=\"developer-" + developerRowId
+ "\">" );
- text( tz );
- String offSet =
- String.valueOf( TimeZone.getTimeZone( tz
).getRawOffset() / 3600000 );
- javascript.append( " offsetDate('developer-"
).append( developerRowId ).append( "', '" );
- javascript.append( offSet );
- javascript.append( "');" ).append(
SystemUtils.LINE_SEPARATOR );
- sink.rawText( "</span>" );
- sink.tableCell_();
- }
- catch ( IllegalArgumentException e )
- {
- log.warn( "The time zone '" + tz + "' for the
developer '" + developer.getName()
- + "' is not a recognised time zone, use a number
in the range -12 to +14 instead of." );
-
- sink.tableCell();
- sink.rawText( "<span id=\"developer-" + developerRowId
+ "\">" );
- text( null );
- sink.rawText( "</span>" );
- sink.tableCell_();
- }
- }
- else
- {
- // To handle JS
- sink.tableCell();
- sink.rawText( "<span id=\"developer-" + developerRowId +
"\">" );
- if ( StringUtils.isNotEmpty( developer.getTimezone() ) )
- {
- // check if number is between -12 and +14
- int tz = NumberUtils.toInt(
developer.getTimezone().trim(), Integer.MIN_VALUE );
- if ( tz == Integer.MIN_VALUE || !( tz >= -12 && tz <=
14 ) )
- {
- text( null );
- log.warn( "The time zone '" + tz + "' for the
developer '" + developer.getName()
- + "' is not a recognised time zone, use a
number in the range -12 to +14 instead of." );
- }
- else
- {
- text( developer.getTimezone() );
- javascript.append( " offsetDate('developer-"
).append( developerRowId ).append( "', '" );
- javascript.append( developer.getTimezone() );
- javascript.append( "');" ).append(
SystemUtils.LINE_SEPARATOR );
- }
- }
- else
- {
- text( null );
- }
- sink.rawText( "</span>" );
- sink.tableCell_();
- }
- }
-
- if ( headersMap.get( PROPERTIES ) == Boolean.TRUE )
- {
- Properties props = developer.getProperties();
- if ( props != null )
- {
- tableCell( propertiesToString( props ) );
- }
- else
- {
- tableCell( null );
- }
- }
-
- sink.tableRow_();
- }
-
- private void renderContributor( Contributor contributor, int
contributorRowId, Map<String, Boolean> headersMap,
- StringBuffer javascript )
- {
- sink.tableRow();
if ( headersMap.get( NAME ) == Boolean.TRUE )
{
- tableCell( contributor.getName() );
+ tableCell( member.getName() );
}
if ( headersMap.get( EMAIL ) == Boolean.TRUE )
{
- tableCell( createLinkPatternedText( contributor.getEmail(),
contributor.getEmail() ) );
+ tableCell( createLinkPatternedText( member.getEmail(),
member.getEmail() ) );
}
if ( headersMap.get( URL ) == Boolean.TRUE )
{
- tableCellForUrl( contributor.getUrl() );
+ tableCellForUrl( member.getUrl() );
}
if ( headersMap.get( ORGANIZATION ) == Boolean.TRUE )
{
- tableCell( contributor.getOrganization() );
+ tableCell( member.getOrganization() );
}
if ( headersMap.get( ORGANIZATION_URL ) == Boolean.TRUE )
{
- tableCellForUrl( contributor.getOrganizationUrl() );
+ tableCellForUrl( member.getOrganizationUrl() );
}
if ( headersMap.get( ROLES ) == Boolean.TRUE )
{
- if ( contributor.getRoles() != null )
+ if ( member.getRoles() != null )
{
// Comma separated roles
- tableCell( StringUtils.join(
contributor.getRoles().toArray( EMPTY_STRING_ARRAY ), ", " ) );
+ tableCell( StringUtils.join( member.getRoles().toArray(
EMPTY_STRING_ARRAY ), ", " ) );
}
else
{
@@ -388,35 +270,32 @@ public class TeamListReport
}
if ( headersMap.get( TIME_ZONE ) == Boolean.TRUE )
{
- tableCell( contributor.getTimezone() );
+ tableCell( member.getTimezone() );
- if ( !NumberUtils.isNumber( contributor.getTimezone() )
- && StringUtils.isNotEmpty( contributor.getTimezone() ) )
+ if ( !NumberUtils.isNumber( member.getTimezone() ) &&
StringUtils.isNotEmpty( member.getTimezone() ) )
{
- String tz = contributor.getTimezone().trim();
+ String tz = member.getTimezone().trim();
try
{
// check if it is a valid timeZone
DateTimeZone.forID( tz );
sink.tableCell();
- sink.rawText( "<span id=\"contributor-" +
contributorRowId + "\">" );
+ sink.rawText( "<span id=\"" + type + "-" + rowId +
"\">" );
text( tz );
- String offSet =
- String.valueOf( TimeZone.getTimeZone( tz
).getRawOffset() / 3600000 );
- javascript.append( " offsetDate('contributor-"
).append( contributorRowId ).append( "', '" );
- javascript.append( offSet );
- javascript.append( "');" ).append(
SystemUtils.LINE_SEPARATOR );
+ String offSet = String.valueOf( TimeZone.getTimeZone(
tz ).getRawOffset() / 3600000 );
+ javascript.append( " offsetDate('" ).append( type
).append( "-" ).append( rowId ).append( "', '" );
+ javascript.append( offSet ).append( "');" ).append(
SystemUtils.LINE_SEPARATOR );
sink.rawText( "</span>" );
sink.tableCell_();
}
catch ( IllegalArgumentException e )
{
- log.warn( "The time zone '" + tz + "' for the
contributor '" + contributor.getName()
+ log.warn( "The time zone '" + tz + "' for the " + type
+ " '" + member.getName()
+ "' is not a recognised time zone, use a number
in the range -12 and +14 instead of." );
sink.tableCell();
- sink.rawText( "<span id=\"contributor-" +
contributorRowId + "\">" );
+ sink.rawText( "<span id=\"" + type + "-" + rowId +
"\">" );
text( null );
sink.rawText( "</span>" );
sink.tableCell_();
@@ -426,29 +305,28 @@ public class TeamListReport
{
// To handle JS
sink.tableCell();
- sink.rawText( "<span id=\"contributor-" + contributorRowId
+ "\">" );
- if ( StringUtils.isNotEmpty( contributor.getTimezone() ) )
+ sink.rawText( "<span id=\"" + type + "-" + rowId + "\">" );
+ if ( StringUtils.isEmpty( member.getTimezone() ) )
+ {
+ text( null );
+ }
+ else
{
// check if number is between -12 and +14
- int tz = NumberUtils.toInt(
contributor.getTimezone().trim(), Integer.MIN_VALUE );
+ int tz = NumberUtils.toInt(
member.getTimezone().trim(), Integer.MIN_VALUE );
if ( tz == Integer.MIN_VALUE || !( tz >= -12 && tz <=
14 ) )
{
text( null );
- log.warn( "The time zone '" + tz + "' for the
contributor '" + contributor.getName()
+ log.warn( "The time zone '" + tz + "' for the " +
type + " '" + member.getName()
+ "' is not a recognised time zone, use a
number in the range -12 to +14 instead of." );
}
else
{
- text( contributor.getTimezone() );
- javascript.append( " offsetDate('contributor-"
).append( contributorRowId ).append( "', '" );
- javascript.append( contributor.getTimezone() );
- javascript.append( "');" ).append(
SystemUtils.LINE_SEPARATOR );
+ text( member.getTimezone() );
+ javascript.append( " offsetDate('" ).append(
type ).append( "-" ).append( rowId ).append( "', '" );
+ javascript.append( member.getTimezone() ).append(
"');" ).append( SystemUtils.LINE_SEPARATOR );
}
}
- else
- {
- text( null );
- }
sink.rawText( "</span>" );
sink.tableCell_();
}
@@ -456,7 +334,7 @@ public class TeamListReport
if ( headersMap.get( PROPERTIES ) == Boolean.TRUE )
{
- Properties props = contributor.getProperties();
+ Properties props = member.getProperties();
if ( props != null )
{
tableCell( propertiesToString( props ) );
@@ -490,13 +368,7 @@ public class TeamListReport
setRequiredArray( requiredHeaders, requiredArray, name, email,
url, organization, organizationUrl, roles,
timeZone, actualTime, properties );
- String[] array = new String[requiredArray.size()];
- for ( int i = 0; i < array.length; i++ )
- {
- array[i] = requiredArray.get( i );
- }
-
- return array;
+ return requiredArray.toArray( new String[requiredArray.size()] );
}
/**
@@ -526,13 +398,7 @@ public class TeamListReport
setRequiredArray( requiredHeaders, requiredArray, name, email,
url, organization, organizationUrl, roles,
timeZone, actualTime, properties );
- String[] array = new String[requiredArray.size()];
- for ( int i = 0; i < array.length; i++ )
- {
- array[i] = requiredArray.get( i );
- }
-
- return array;
+ return requiredArray.toArray( new String[requiredArray.size()] );
}
/**
@@ -589,11 +455,13 @@ public class TeamListReport
}
/**
- * @param requiredHeaders
- * @param units
+ * @param units contributors and developers to check
+ * @return required headers
*/
- private void checkRequiredHeaders( Map<String, Boolean>
requiredHeaders, List<?> units )
+ private Map<String, Boolean> checkRequiredHeaders( List<? extends
Contributor> units )
{
+ Map<String, Boolean> requiredHeaders = new HashMap<String,
Boolean>();
+
requiredHeaders.put( ID, Boolean.FALSE );
requiredHeaders.put( NAME, Boolean.FALSE );
requiredHeaders.put( EMAIL, Boolean.FALSE );
@@ -604,78 +472,51 @@ public class TeamListReport
requiredHeaders.put( TIME_ZONE, Boolean.FALSE );
requiredHeaders.put( PROPERTIES, Boolean.FALSE );
- for ( Object unit : units )
+ for ( Contributor unit : units )
{
- String name = null;
- String email = null;
- String url = null;
- String organization = null;
- String organizationUrl = null;
- List<String> roles = null;
- String timeZone = null;
- Properties properties = null;
-
- if ( unit.getClass().getName().equals(
Contributor.class.getName() ) )
- {
- Contributor contributor = (Contributor) unit;
- name = contributor.getName();
- email = contributor.getEmail();
- url = contributor.getUrl();
- organization = contributor.getOrganization();
- organizationUrl = contributor.getOrganizationUrl();
- roles = contributor.getRoles();
- timeZone = contributor.getTimezone();
- properties = contributor.getProperties();
- }
- else
+ if ( unit instanceof Developer )
{
Developer developer = (Developer) unit;
- name = developer.getName();
- email = developer.getEmail();
- url = developer.getUrl();
- organization = developer.getOrganization();
- organizationUrl = developer.getOrganizationUrl();
- roles = developer.getRoles();
- timeZone = developer.getTimezone();
- properties = developer.getProperties();
if ( StringUtils.isNotEmpty( developer.getId() ) )
{
requiredHeaders.put( ID, Boolean.TRUE );
}
}
- if ( StringUtils.isNotEmpty( name ) )
+ if ( StringUtils.isNotEmpty( unit.getName() ) )
{
requiredHeaders.put( NAME, Boolean.TRUE );
}
- if ( StringUtils.isNotEmpty( email ) )
+ if ( StringUtils.isNotEmpty( unit.getEmail() ) )
{
requiredHeaders.put( EMAIL, Boolean.TRUE );
}
- if ( StringUtils.isNotEmpty( url ) )
+ if ( StringUtils.isNotEmpty( unit.getUrl() ) )
{
requiredHeaders.put( URL, Boolean.TRUE );
}
- if ( StringUtils.isNotEmpty( organization ) )
+ if ( StringUtils.isNotEmpty( unit.getOrganization() ) )
{
requiredHeaders.put( ORGANIZATION, Boolean.TRUE );
}
- if ( StringUtils.isNotEmpty( organizationUrl ) )
+ if ( StringUtils.isNotEmpty( unit.getOrganizationUrl() ) )
{
requiredHeaders.put( ORGANIZATION_URL, Boolean.TRUE );
}
- if ( null != roles && !roles.isEmpty() )
+ if ( !isEmpty( unit.getRoles() ) )
{
requiredHeaders.put( ROLES, Boolean.TRUE );
}
- if ( StringUtils.isNotEmpty( timeZone ) )
+ if ( StringUtils.isNotEmpty( unit.getTimezone() ) )
{
requiredHeaders.put( TIME_ZONE, Boolean.TRUE );
}
+ Properties properties = unit.getProperties();
if ( null != properties && !properties.isEmpty() )
{
requiredHeaders.put( PROPERTIES, Boolean.TRUE );
}
}
+ return requiredHeaders;
}
/**
@@ -698,5 +539,10 @@ public class TeamListReport
sink.tableCell_();
}
+
+ private boolean isEmpty( List<?> list )
+ {
+ return ( list == null ) || list.isEmpty();
+ }
}
}