Skip to content

Commit

Permalink
Merge pull request #257 from zanata/ZNTA-1834-tm-merge-reword
Browse files Browse the repository at this point in the history
ZNTA-1834 TM merge reword
  • Loading branch information
Patrick Huang committed Apr 4, 2017
2 parents 2fc0ad1 + 8d6efba commit 6675310
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ public void proceedToMergeTM(int percentage, MergeOptions mergeOptions) {
public void onFailure(Method method, Throwable exception) {
Log.warn("TM merge failed", exception);
if (method.getResponse().getStatusCode() == 400) {
eventBus.fireEvent(new NotificationEvent(Warning, messages.mergeTMStartedBySomeone()));
eventBus.fireEvent(new NotificationEvent(Warning, messages.mergeTMStartedBySomeone(currentDoc.getDocId())));
} else {
eventBus.fireEvent(new NotificationEvent(Error, messages
.mergeTMFailed()));
Expand Down Expand Up @@ -243,16 +243,25 @@ private void handleEventFromOtherUser(TMMergeStartOrEndEvent event) {
.equals(event.getDocumentId())) {
// another user has stared TM merge for this document
eventBus.fireEvent(new NotificationEvent(Warning,
messages.mergeTMStartedBySomeone()));
messages.mergeTMStartedBySomeone(event.getDocumentId().getDocId())));
} else {
// another user has started TM merge for other document
eventBus.fireEvent(new NotificationEvent(Info,
messages.mergeTMStartedBySomeoneForOtherDoc(event.getDocumentId().getDocId())));
messages.mergeTMStartedBySomeoneForDoc(event.getDocumentId().getDocId())));
}
} else {

// TM merge triggered by another user has ended
eventBus.fireEvent(new NotificationEvent(Info,
messages.mergeTMFinished(event.getStartedBy(),
NotificationEvent.Severity level;
if (userWorkspaceContext.getSelectedDoc().getId()
.equals(event.getDocumentId())) {
level = Warning;
} else {
level = Info;
}
eventBus.fireEvent(new NotificationEvent(level,
messages.mergeTMFinished(event.getDocumentId().getDocId(),
event.getStartedBy(),
DateUtil.formatTimeOnly(event.getStartedTime()),
DateUtil.formatTimeOnly(event.getEndTime()))));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ public interface UiMessages extends Messages {
@DefaultMessage("TM merge success on {0} rows")
String mergeTMSuccess(long count);

@DefaultMessage("TM merge triggered by {0} has finished {1} - {2}")
String mergeTMFinished(String triggerBy, String startTime, String endTime);
@DefaultMessage("TM merge for document {0} triggered by {1} has finished {2} - {3}")
String mergeTMFinished(String document, String triggerBy, String startTime, String endTime);

@DefaultMessage("Proceed to auto-fill")
String mergeTMConfirm();
Expand All @@ -129,11 +129,11 @@ public interface UiMessages extends Messages {
@DefaultMessage("TM merge started...")
String mergeTMStarted();

@DefaultMessage("Someone has started TM merge for this document. Please wait for it to finish before working on translation")
String mergeTMStartedBySomeone();
@DefaultMessage("Someone has started TM merge for document {0}. Please wait for it to finish before working on translation")
String mergeTMStartedBySomeone(String document);

@DefaultMessage("Someone has started TM merge for document: {0}")
String mergeTMStartedBySomeoneForOtherDoc(String document);
String mergeTMStartedBySomeoneForDoc(String document);

@DefaultMessage("{0}% has been processed")
String mergeProgressPercentage(String percentDisplay);
Expand All @@ -151,21 +151,34 @@ public interface UiMessages extends Messages {
@DefaultMessage("Copy as Fuzzy")
String copyAsFuzzy();

@DefaultMessage("Copy as Translated")
String copyAsTranslated();

@DefaultMessage("Different Document Id (Document name and path):")
String differentDocument();

@DefaultMessage("Different Context (resId, msgctxt):")
String differentContext();

@DefaultMessage("On match from Imported Translation Memory:")
@DefaultMessage("Match from Imported Translation Memory:")
String importedMatch();

@DefaultMessage("If none of the above conditions apply")
String otherwise();


@DefaultMessage("Only possible when TM is from same project but different version, has same content, context and within same document")
String otherwiseTooltip();

@DefaultMessage("Condition")
String condition();

@DefaultMessage("Action")
String action();

@DefaultMessage("Result")
String result();

@DefaultMessage("100% (Identical)")
String identical();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,16 @@
</g:ListBox>
</td>
</tr>
<tr>
<th>
<tr class="txt--lead">
<td>
<ui:text from="{messages.condition}" />
</th>
<th>
</td>
<td>
<ui:text from="{messages.action}" />
</th>
</td>
<td>
<ui:text from="{messages.result}" />
</td>
</tr>
</thead>
<tbody>
Expand Down Expand Up @@ -92,6 +95,20 @@
</td>
</tr>

<tr>
<td>
<g:InlineLabel ui:field="otherwise" title="{messages.otherwiseTooltip}" styleName="i i--info"/>
<ui:text from="{messages.otherwise}" />
</td>
<td>
<g:InlineLabel styleName="label--success l--pad-v-quarter l--pad-h-half"
text="{enumMessages.translatedStatus}" />
</td>
<td>
<ui:text from="{messages.copyAsTranslated}" />
</td>
</tr>

</tbody>
</table>
<div class="l--float-right">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import static org.mockito.Mockito.withSettings;

import java.util.Date;
import java.util.List;

import org.fusesource.restygwt.client.Method;
import org.fusesource.restygwt.client.MethodCallback;
Expand All @@ -39,7 +38,6 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.MockSettings;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.zanata.common.LocaleId;
Expand All @@ -50,13 +48,11 @@
import org.zanata.webtrans.client.resources.UiMessages;
import org.zanata.webtrans.client.ui.TransMemoryMergePopupPanelDisplay;
import org.zanata.webtrans.client.ui.UndoLink;
import org.zanata.webtrans.client.util.DateUtil;
import org.zanata.webtrans.shared.auth.EditorClientId;
import org.zanata.webtrans.shared.auth.Identity;
import org.zanata.webtrans.shared.model.DocumentId;
import org.zanata.webtrans.shared.model.DocumentInfo;
import org.zanata.webtrans.shared.model.ProjectIterationId;
import org.zanata.webtrans.shared.model.TransUnitUpdateRequest;
import org.zanata.webtrans.shared.model.UserWorkspaceContext;
import org.zanata.webtrans.shared.model.WorkspaceContext;
import org.zanata.webtrans.shared.model.WorkspaceId;
Expand All @@ -67,8 +63,6 @@
import org.zanata.webtrans.shared.rpc.MergeOptions;
import org.zanata.webtrans.shared.rpc.MergeRule;

import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.inject.Provider;

Expand Down Expand Up @@ -186,12 +180,12 @@ public void onRequestTMMergeFailureDueToSomeoneRunningItWillHideFormAndNotify()
mergeResource.callback.onFailure(method, new RuntimeException("Die!!!!!"));

// Then:
verify(messages).mergeTMStartedBySomeone();
verify(messages).mergeTMStartedBySomeone(documentId.getDocId());
verify(eventBus).fireEvent(notificationEventCaptor.capture());
verify(display).hide();
NotificationEvent event = notificationEventCaptor.getValue();
assertThat(event.getSeverity()).isEqualTo(NotificationEvent.Severity.Warning);
assertThat(event.getMessage()).isSameAs(messages.mergeTMStartedBySomeone());
assertThat(event.getMessage()).isSameAs(messages.mergeTMStartedBySomeone(documentId.getDocId()));
assertThat(presenter.isMergeStarted()).isFalse();
}

Expand Down Expand Up @@ -297,7 +291,7 @@ public void onTMMergeStartedFromOthersOnSameDoc() {
TMMergeStartOrEndEvent event =
new TMMergeStartOrEndEvent("someone", new Date(), new EditorClientId("other session", 2L),
documentId, null, 10);
when(messages.mergeTMStartedBySomeone()).thenReturn("someone else started TM merge");
when(messages.mergeTMStartedBySomeone(documentId.getDocId())).thenReturn("someone else started TM merge");
presenter.onTMMergeStartOrEnd(event);

verify(eventBus).fireEvent(notificationEventCaptor.capture());
Expand All @@ -311,7 +305,7 @@ public void onTMMergeStartedFromOthersOnDifferentDoc() {
TMMergeStartOrEndEvent event =
new TMMergeStartOrEndEvent("someone", new Date(), new EditorClientId("other session", 2L),
new DocumentId(2L, "otherDoc"), null, 10);
when(messages.mergeTMStartedBySomeoneForOtherDoc("otherDoc")).thenReturn("someone else started TM merge");
when(messages.mergeTMStartedBySomeoneForDoc("otherDoc")).thenReturn("someone else started TM merge");
presenter.onTMMergeStartOrEnd(event);

verify(eventBus).fireEvent(notificationEventCaptor.capture());
Expand All @@ -321,13 +315,30 @@ public void onTMMergeStartedFromOthersOnDifferentDoc() {
}

@Test
public void onTMMergeEndedFromOthers() {
public void onTMMergeEndedFromOthersOnSameDoc() {
Date time = new Date();
TMMergeStartOrEndEvent event =
new TMMergeStartOrEndEvent("someone",
time, new EditorClientId("other session", 2L),
documentId, time, 10);
when(messages.mergeTMFinished(Mockito.eq("someone"), Mockito.anyString(), Mockito.anyString())).thenReturn("someone else finished TM merge");
when(messages.mergeTMFinished(Mockito.eq(documentId.getDocId()), Mockito.eq("someone"), Mockito.anyString(), Mockito.anyString())).thenReturn("someone else finished TM merge");
presenter.onTMMergeStartOrEnd(event);

verify(eventBus).fireEvent(notificationEventCaptor.capture());
NotificationEvent notificationEvent = notificationEventCaptor.getValue();
assertThat(notificationEvent.getSeverity()).isEqualTo(NotificationEvent.Severity.Warning);
assertThat(notificationEvent.getMessage()).isEqualTo("someone else finished TM merge");
}

@Test
public void onTMMergeEndedFromOthersOnDifferentDoc() {
Date time = new Date();
DocumentId otherDoc = new DocumentId(2L, "otherDoc");
TMMergeStartOrEndEvent event =
new TMMergeStartOrEndEvent("someone",
time, new EditorClientId("other session", 2L),
otherDoc, time, 10);
when(messages.mergeTMFinished(Mockito.eq(otherDoc.getDocId()), Mockito.eq("someone"), Mockito.anyString(), Mockito.anyString())).thenReturn("someone else finished TM merge");
presenter.onTMMergeStartOrEnd(event);

verify(eventBus).fireEvent(notificationEventCaptor.capture());
Expand Down

0 comments on commit 6675310

Please sign in to comment.