diff --git a/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java b/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java index 9c42ba1278..6b60e0ddbb 100644 --- a/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java +++ b/zanata-war/src/main/java/org/zanata/action/ViewAllStatusAction.java @@ -30,6 +30,9 @@ import java.util.List; import java.util.Map; +import lombok.Getter; +import lombok.Setter; + import org.apache.commons.lang.StringUtils; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.In; @@ -78,55 +81,72 @@ public class ViewAllStatusAction implements Serializable .appendSeparator(", ").appendMinutes().appendSuffix(" min", " mins"); @Logger - Log log; + private Log log; @In(required = false, value = JpaIdentityStore.AUTHENTICATED_USER) - HAccount authenticatedAccount; + private HAccount authenticatedAccount; @In - ZanataIdentity identity; + private ZanataIdentity identity; @In - ProjectIterationDAO projectIterationDAO; + private ProjectIterationDAO projectIterationDAO; @In - PersonDAO personDAO; + private PersonDAO personDAO; @In - LocaleService localeServiceImpl; + private LocaleService localeServiceImpl; @In - CopyTransService copyTransServiceImpl; + private CopyTransService copyTransServiceImpl; @In - VersionGroupService versionGroupServiceImpl; + private VersionGroupService versionGroupServiceImpl; @In - StatisticsResource statisticsServiceImpl; + private StatisticsResource statisticsServiceImpl; @In - CopyTransManager copyTransManager; + private CopyTransManager copyTransManager; + @Setter + @Getter private String iterationSlug; + @Setter + @Getter private String projectSlug; + @Setter + @Getter private String searchTerm; + + @Setter + @Getter + private StatUnit statsOption = WORD; private HProjectIteration projectIteration; private List searchResults; - private StatUnit statsOption = WORD; - private Map statsMap = new HashMap(); public static class Status implements Comparable, Serializable { private static final long serialVersionUID = 1L; + + @Getter private String locale; + + @Getter private String nativeName; + + @Setter + @Getter private TranslationStatistics stats; + + @Getter private boolean userInLanguageTeam; public Status(String locale, String nativeName, TranslationStatistics stats, boolean userInLanguageTeam) @@ -137,31 +157,6 @@ public Status(String locale, String nativeName, TranslationStatistics stats, boo this.userInLanguageTeam = userInLanguageTeam; } - public String getLocale() - { - return locale; - } - - public String getNativeName() - { - return nativeName; - } - - public TranslationStatistics getStats() - { - return stats; - } - - public void setStats(TranslationStatistics stats) - { - this.stats = stats; - } - - public boolean isUserInLanguageTeam() - { - return userInLanguageTeam; - } - @Override public int compareTo(Status o) { @@ -174,26 +169,6 @@ public int compareTo(Status o) } } - public void setProjectSlug(String slug) - { - this.projectSlug = slug; - } - - public String getProjectSlug() - { - return this.projectSlug; - } - - public void setIterationSlug(String slug) - { - this.iterationSlug = slug; - } - - public String getIterationSlug() - { - return this.iterationSlug; - } - public void validateIteration() { if (this.getProjectIteration() == null) @@ -245,7 +220,6 @@ public void refreshStatistic() { stats = new TranslationStatistics(statsOption); stats.setUntranslated(total); - // stats.setTotal(total); } if (statsMap.containsKey(locale.getLocaleId())) @@ -511,16 +485,6 @@ public List getSearchResults() return searchResults; } - public String getSearchTerm() - { - return searchTerm; - } - - public void setSearchTerm(String searchTerm) - { - this.searchTerm = searchTerm; - } - public void searchGroup() { searchResults = versionGroupServiceImpl.searchLikeSlugAndName(searchTerm); @@ -530,17 +494,7 @@ public boolean isGroupInVersion(String groupSlug) { return versionGroupServiceImpl.isGroupInVersion(groupSlug, getProjectIteration().getId()); } - - public StatUnit getStatsOption() - { - return statsOption; - } - - public void setStatsOption(StatUnit statsOption) - { - this.statsOption = statsOption; - } - + public boolean isPoProject() { ProjectType type = getProjectIteration().getProjectType(); diff --git a/zanata-war/src/main/java/org/zanata/service/impl/StatisticsServiceImpl.java b/zanata-war/src/main/java/org/zanata/service/impl/StatisticsServiceImpl.java index e322437d86..33ce8baf64 100644 --- a/zanata-war/src/main/java/org/zanata/service/impl/StatisticsServiceImpl.java +++ b/zanata-war/src/main/java/org/zanata/service/impl/StatisticsServiceImpl.java @@ -84,6 +84,8 @@ public class StatisticsServiceImpl implements StatisticsResource @In private TranslationStateCache translationStateCacheImpl; + // TODO Need to refactor this method to get Message statistic by default. + // This is to be consistance with UI which uses message stats, and for calculating remaining hours. @Override public ContainerTranslationStatistics getStatistics(String projectSlug, String iterationSlug, boolean includeDetails, boolean includeWordStats, String[] locales) { @@ -117,11 +119,8 @@ public ContainerTranslationStatistics getStatistics(String projectSlug, String i } Map transUnitIterationStats = projectIterationDAO.getAllStatisticsForContainer(iteration.getId()); - Map wordIterationStats = null; - if (includeWordStats) - { - wordIterationStats = projectIterationDAO.getAllWordStatsStatistics(iteration.getId()); - } + Map wordIterationStats = projectIterationDAO.getAllWordStatsStatistics(iteration.getId()); + ContainerTranslationStatistics iterationStats = new ContainerTranslationStatistics(); iterationStats.setId(iterationSlug); iterationStats.addRef(new Link(URI.create(zPathService.generatePathForProjectIteration(iteration)), "statSource", "PROJ_ITER")); @@ -152,19 +151,19 @@ public ContainerTranslationStatistics getStatistics(String projectSlug, String i } } + TransUnitWords wordCount = wordIterationStats.get(locId.getId()); + if (wordCount == null) + { + wordCount = new TransUnitWords(0, 0, (int) iterationTotalWords); + } + TranslationStatistics transUnitStats = getMessageStats(count, locId, lastModifiedDate, lastModifiedBy); - transUnitStats.setRemainingHours(getRemainingHours(count.get(ContentState.NeedReview), count.get(ContentState.New))); + transUnitStats.setRemainingHours(getRemainingHours(wordCount.get(ContentState.NeedReview), wordCount.get(ContentState.New))); iterationStats.addStats(transUnitStats); - + // word level stats if (includeWordStats) { - TransUnitWords wordCount = wordIterationStats.get(locId.getId()); - if (wordCount == null) - { - wordCount = new TransUnitWords(0, 0, (int) iterationTotalWords); - } - TranslationStatistics wordsStats = getWordsStats(wordCount, locId, lastModifiedDate, lastModifiedBy); wordsStats.setRemainingHours(getRemainingHours(wordCount.get(ContentState.NeedReview), wordCount.get(ContentState.New))); iterationStats.addStats(wordsStats); diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java b/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java index aeef7764a3..6ba1ad5605 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java @@ -482,7 +482,7 @@ public interface WebTransMessages extends Messages @DefaultMessage("Words") String byWords(); - @DefaultMessage("Message") + @DefaultMessage("Messages") String byMessage(); @DefaultMessage("Refresh current page") diff --git a/zanata-war/src/main/resources/messages.properties b/zanata-war/src/main/resources/messages.properties index abece28815..f401437cb8 100644 --- a/zanata-war/src/main/resources/messages.properties +++ b/zanata-war/src/main/resources/messages.properties @@ -267,7 +267,7 @@ jsf.Statistics=Statistics ! statistics based on words in source jsf.ByWords=By Words ! statistics based on entier message strings -jsf.Message=By Message +jsf.Message=By Messages ! used in tooltip for statistics bar jsf.stats.Total=Total: ! used in tooltip for statistics bar diff --git a/zanata-war/src/test/java/org/zanata/webtrans/client/presenter/DocumentListPresenterTest.java b/zanata-war/src/test/java/org/zanata/webtrans/client/presenter/DocumentListPresenterTest.java index 2f50c96052..e7bccbc511 100644 --- a/zanata-war/src/test/java/org/zanata/webtrans/client/presenter/DocumentListPresenterTest.java +++ b/zanata-war/src/test/java/org/zanata/webtrans/client/presenter/DocumentListPresenterTest.java @@ -96,7 +96,7 @@ public class DocumentListPresenterTest private ArgumentCaptor capturedHistoryToken; private static final String TEST_BY_WORDS_MESSAGE = "By Words"; - private static final String TEST_BY_MESSAGE_MESSAGE = "By Message"; + private static final String TEST_BY_MESSAGE_MESSAGE = "By Messages"; private WorkspaceId workspaceId;