Return-Path: X-Original-To: apmail-continuum-commits-archive@www.apache.org Delivered-To: apmail-continuum-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C1A3C175DD for ; Mon, 4 May 2015 01:42:34 +0000 (UTC) Received: (qmail 51093 invoked by uid 500); 4 May 2015 01:42:34 -0000 Delivered-To: apmail-continuum-commits-archive@continuum.apache.org Received: (qmail 51056 invoked by uid 500); 4 May 2015 01:42:34 -0000 Mailing-List: contact commits-help@continuum.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@continuum.apache.org Delivered-To: mailing list commits@continuum.apache.org Received: (qmail 51043 invoked by uid 99); 4 May 2015 01:42:34 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 May 2015 01:42:34 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id 8F82EAC010F for ; Mon, 4 May 2015 01:42:34 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1677506 - in /continuum/trunk/continuum-webapp/src/main: java/org/apache/continuum/web/action/ViewBuildsReportAction.java resources/localization/Continuum.properties Date: Mon, 04 May 2015 01:42:34 -0000 To: commits@continuum.apache.org From: batkinson@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150504014234.8F82EAC010F@hades.apache.org> Author: batkinson Date: Mon May 4 01:42:34 2015 New Revision: 1677506 URL: http://svn.apache.org/r1677506 Log: Simplified report action result state handling and made them localizable. Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/action/ViewBuildsReportAction.java continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/action/ViewBuildsReportAction.java URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/action/ViewBuildsReportAction.java?rev=1677506&r1=1677505&r2=1677506&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/action/ViewBuildsReportAction.java (original) +++ continuum/trunk/continuum-webapp/src/main/java/org/apache/continuum/web/action/ViewBuildsReportAction.java Mon May 4 01:42:34 2015 @@ -40,6 +40,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; @@ -63,6 +64,59 @@ public class ViewBuildsReportAction new String[] { "MM/dd/yy", "MM/dd/yyyy", "MMMMM/dd/yyyy", "MMMMM/dd/yy", "dd MMMMM yyyy", "dd/MM/yy", "dd/MM/yyyy", "yyyy/MM/dd", "yyyy-MM-dd", "yyyy-dd-MM", "MM-dd-yyyy", "MM-dd-yy" }; + /** + * Encapsulates constants relevant for build results and makes them localizable. + */ + public enum ResultState + { + OK( ContinuumProjectState.OK, "projectBuilds.report.resultOk" ), + FAILED( ContinuumProjectState.FAILED, "projectBuilds.report.resultFailed" ), + ERROR( ContinuumProjectState.ERROR, "projectBuilds.report.resultError" ), + BUILDING( ContinuumProjectState.BUILDING, "projectBuilds.report.resultBuilding" ), + CANCELLED( ContinuumProjectState.CANCELLED, "projectBuilds.report.resultCanceled" ); + + private static final Map dataMap; + + static + { + dataMap = new HashMap(); + for ( ResultState val : ResultState.values() ) + { + dataMap.put( val.dataId, val ); + } + } + + private int dataId; + + private String textKey; + + ResultState( int dataId, String textKey ) + { + this.dataId = dataId; + this.textKey = textKey; + } + + public int getDataId() + { + return dataId; + } + + public String getTextKey() + { + return textKey; + } + + public static ResultState fromId( int state ) + { + return dataMap.get( state ); + } + + public static boolean knownState( int state ) + { + return dataMap.containsKey( state ); + } + } + private int buildStatus; private String triggeredBy = ""; @@ -112,13 +166,13 @@ public class ViewBuildsReportAction { super.prepare(); + // Populate the state drop downs buildStatuses = new LinkedHashMap(); buildStatuses.put( 0, "ALL" ); - buildStatuses.put( ContinuumProjectState.OK, "Ok" ); - buildStatuses.put( ContinuumProjectState.FAILED, "Failed" ); - buildStatuses.put( ContinuumProjectState.ERROR, "Error" ); - buildStatuses.put( ContinuumProjectState.BUILDING, "Building" ); - buildStatuses.put( ContinuumProjectState.CANCELLED, "Canceled" ); + for ( ResultState state : ResultState.values() ) + { + buildStatuses.put( state.getDataId(), getText( state.getTextKey() ) ); + } projectGroups = new LinkedHashMap(); projectGroups.put( 0, "ALL" ); @@ -327,34 +381,10 @@ public class ViewBuildsReportAction Project project = result.getProject(); ProjectGroup projectGroup = project.getProjectGroup(); - // Decode status into human-readable form - String state; - switch ( result.getState() ) - { - case 2: - state = "Ok"; - break; - case 3: - state = "Failed"; - break; - case 4: - state = "Error"; - break; - case 6: - state = "Building"; - break; - case 7: - state = "Checking Out"; - break; - case 8: - state = "Updating"; - break; - case 11: - state = "Canceled"; - break; - default: - state = ""; - } + int resultState = result.getState(); + String stateName = ResultState.knownState( resultState ) ? + getText( ResultState.fromId( resultState ).getTextKey() ) : + getText( "projectBuilds.report.resultUnknown" ); String buildTime = dateTimeFormat.format( new Date( result.getStartTime() ) ); long buildDuration = ( result.getEndTime() - result.getStartTime() ) / 1000; @@ -367,7 +397,7 @@ public class ViewBuildsReportAction buildTime, buildDuration, result.getUsername(), - state ); + stateName ); output.append( formattedLine ); if ( exported >= MAX_EXPORT_SIZE ) Modified: continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=1677506&r1=1677505&r2=1677506&view=diff ============================================================================== --- continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties (original) +++ continuum/trunk/continuum-webapp/src/main/resources/localization/Continuum.properties Mon May 4 01:42:34 2015 @@ -1333,6 +1333,12 @@ projectBuilds.report.invalidPage=Specifi projectBuilds.report.exportIOError=There was an input/output error during export: {0} projectBuilds.report.badDates=Failed to parse date(s): {0} projectBuilds.report.endBeforeStartDate=Invalid date range: start date must be earlier than the end date. +projectBuilds.report.resultOk=Ok +projectBuilds.report.resultFailed=Failed +projectBuilds.report.resultError=Error +projectBuilds.report.resultBuilding=Building +projectBuilds.report.resultCanceled=Canceled +projectBuilds.report.resultUnknown=Unknown build.project.success=successfully queued build build.projects.success=successfully queued builds