Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Implement live translator selection in workspace user presenter: work…
Browse files Browse the repository at this point in the history
… in progress
  • Loading branch information
Alex Eng committed May 3, 2012
1 parent a93210b commit 1b84f15
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
import org.zanata.webtrans.client.ui.ToggleEditor;
import org.zanata.webtrans.client.ui.ToggleEditor.ViewMode;
import org.zanata.webtrans.client.ui.ValidationMessagePanelDisplay;
import org.zanata.webtrans.shared.auth.Identity;
import org.zanata.webtrans.shared.model.Person;
import org.zanata.webtrans.shared.model.TransUnit;
import org.zanata.webtrans.shared.model.TransUnitId;
Expand Down Expand Up @@ -89,8 +90,10 @@ public class TargetContentsPresenter implements TargetContentsDisplay.Listener,
private ArrayList<ToggleEditor> currentEditors;
private TransUnitsEditModel cellEditor;

private final Identity identity;

@Inject
public TargetContentsPresenter(Provider<TargetContentsDisplay> displayProvider, final EventBus eventBus, final TableEditorMessages messages, final SourceContentsPresenter sourceContentsPresenter, final WorkspaceUsersPresenter workspaceUsersPresenter, UserConfigHolder configHolder, WorkspaceContext workspaceContext, Scheduler scheduler, ValidationMessagePanelDisplay validationMessagePanel)
public TargetContentsPresenter(Provider<TargetContentsDisplay> displayProvider, final Identity identity, final EventBus eventBus, final TableEditorMessages messages, final SourceContentsPresenter sourceContentsPresenter, final WorkspaceUsersPresenter workspaceUsersPresenter, UserConfigHolder configHolder, WorkspaceContext workspaceContext, Scheduler scheduler, ValidationMessagePanelDisplay validationMessagePanel)
{
this.displayProvider = displayProvider;
this.eventBus = eventBus;
Expand All @@ -101,6 +104,7 @@ public TargetContentsPresenter(Provider<TargetContentsDisplay> displayProvider,
this.scheduler = scheduler;
this.validationMessagePanel = validationMessagePanel;
this.workspaceUsersPresenter = workspaceUsersPresenter;
this.identity = identity;

checkKey = new CheckKeyImpl(CheckKeyImpl.Context.Edit);
eventBus.addHandler(UserConfigChangeEvent.getType(), this);
Expand Down Expand Up @@ -172,23 +176,23 @@ else if (currentEditorIndex == LAST_INDEX)
@Override
public void onTranslatorStatusUpdate(final TranslatorStatusUpdateEvent event)
{
updateEditorTranslatorList(event.getSelectedTransUnit().getId(), event.getPerson().getName());
updateEditorTranslatorList(event.getSelectedTransUnit().getId(), event.getPerson());
}

private void updateEditorTranslatorList(TransUnitId selectedTransUnitId, String personName)
private void updateEditorTranslatorList(TransUnitId selectedTransUnitId, Person person)
{
if (cellEditor.getTargetCell().getId().equals(selectedTransUnitId))
if (cellEditor.getTargetCell().getId().equals(selectedTransUnitId) && !person.equals(identity.getPerson()))
{
for (ToggleEditor editor : currentEditors)
{
editor.addTranslator(personName);
editor.addTranslator(person.getName());
}
}
else
{
for (ToggleEditor editor : currentEditors)
{
editor.removeTranslator(personName);
editor.removeTranslator(person.getName());
}
}
}
Expand All @@ -208,7 +212,7 @@ public void updateTranslators()
{
if (entry.getValue().getSelectedTransUnit() != null)
{
updateEditorTranslatorList(entry.getValue().getSelectedTransUnit().getId(), entry.getKey().getName());
updateEditorTranslatorList(entry.getValue().getSelectedTransUnit().getId(), entry.getKey());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.zanata.webtrans.shared.model.TransUnit;
import org.zanata.webtrans.shared.model.UserPanelSessionItem;

import com.allen_sauer.gwt.log.client.Log;
import com.google.common.base.Strings;
import com.google.inject.Inject;

Expand All @@ -29,8 +30,6 @@ public interface Display extends WidgetDisplay
HasManageUserSession addUser(Person person);

void removeUser(HasManageUserSession userPanel);

int getUserSize();
}

@Inject
Expand Down Expand Up @@ -151,7 +150,9 @@ public void addTranslator(SessionId sessionId, Person person, TransUnit selected

public int getTranslatorsSize()
{
return display.getUserSize();
Log.info("==========return getUserSize()" + userSessionMap.size() + "");

return userSessionMap.size();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,6 @@ public void updateValidationWarning(List<String> errors)
@Override
public void addTranslator(String name)
{
boolean isExist = false;
for (int i = 0; i < translatorList.getWidgetCount(); i++)
{
if (((Label) translatorList.getWidget(i)).getText().equals(name))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import org.zanata.webtrans.client.ui.HasManageUserSession;
import org.zanata.webtrans.client.ui.UserPanel;
import org.zanata.webtrans.shared.model.Person;

import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
Expand Down Expand Up @@ -51,14 +53,7 @@ public void removeUser(HasManageUserSession userPanel)
if (userPanel.equals(userListPanel.getWidget(i)))
{
userListPanel.remove(i);
break;
}
}
}

@Override
public int getUserSize()
{
return userListPanel.getWidgetCount();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.sameInstance;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.isA;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.times;
Expand All @@ -44,7 +43,6 @@
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
Expand All @@ -55,7 +53,6 @@
import org.zanata.webtrans.client.events.RequestValidationEvent;
import org.zanata.webtrans.client.events.RunValidationEvent;
import org.zanata.webtrans.client.events.TranslatorStatusUpdateEvent;
import org.zanata.webtrans.client.events.TranslatorStatusUpdateEventHandler;
import org.zanata.webtrans.client.events.UserConfigChangeEvent;
import org.zanata.webtrans.client.presenter.SourceContentsPresenter;
import org.zanata.webtrans.client.presenter.UserConfigHolder;
Expand All @@ -64,6 +61,7 @@
import org.zanata.webtrans.client.resources.TableEditorMessages;
import org.zanata.webtrans.client.ui.ToggleEditor;
import org.zanata.webtrans.client.ui.ValidationMessagePanelDisplay;
import org.zanata.webtrans.shared.auth.Identity;
import org.zanata.webtrans.shared.model.TransUnit;
import org.zanata.webtrans.shared.model.WorkspaceContext;

Expand Down Expand Up @@ -91,6 +89,8 @@ public class TargetContentsPresenterTest
@Mock private ValidationMessagePanelDisplay validationPanel;
@Mock
private ToggleEditor editor, editor2, editor3;
@Mock
private Identity identity;
@Mock private TransUnit transUnit;
@Mock private UserConfigHolder configHolder;
@Mock private TransUnitsEditModel cellEditor;
Expand All @@ -102,7 +102,7 @@ public class TargetContentsPresenterTest
public void beforeMethod()
{
MockitoAnnotations.initMocks(this);
presenter = new TargetContentsPresenter(displayProvider, eventBus, tableEditorMessages, sourceContentPresenter, workspaceUsersPresenter, configHolder, workspaceContext, scheduler, validationPanel);
presenter = new TargetContentsPresenter(displayProvider, identity, eventBus, tableEditorMessages, sourceContentPresenter, workspaceUsersPresenter, configHolder, workspaceContext, scheduler, validationPanel);

verify(eventBus).addHandler(UserConfigChangeEvent.getType(), presenter);
verify(eventBus).addHandler(RequestValidationEvent.getType(), presenter);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import org.easymock.IAnswer;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.zanata.webtrans.client.editor.table.TargetContentsPresenter;
import org.zanata.webtrans.client.events.EnterWorkspaceEvent;
import org.zanata.webtrans.client.events.EnterWorkspaceEventHandler;
import org.zanata.webtrans.client.events.ExitWorkspaceEvent;
Expand Down Expand Up @@ -71,6 +72,7 @@ public class TranslationPresenterTest
private TransMemoryPresenter mockTransMemoryPresenter;
private WorkspaceContext mockWorkspaceContext;
private WorkspaceUsersPresenter mockWorkspaceUsersPresenter;
private TargetContentsPresenter mockTargetContentsPresenter;

// mock view components
private HasValue<Boolean> mockOptionsToggle;
Expand Down Expand Up @@ -102,14 +104,15 @@ public void createMocks()
mockTransMemoryPresenter = createMock(TransMemoryPresenter.class);
mockWorkspaceContext = createMock(WorkspaceContext.class);
mockWorkspaceUsersPresenter = createMock(WorkspaceUsersPresenter.class);
mockTargetContentsPresenter = createMock(TargetContentsPresenter.class);

mockOptionsToggle = createMock(HasValue.class);
mockSouthPanelToggle = createMock(HasValue.class);
}

private TranslationPresenter newTranslationPresenter()
{
return new TranslationPresenter(mockDisplay, mockEventBus, mockDispatcher, mockWorkspaceUsersPresenter, mockTranslationEditorPresenter, mockSidePanelPresenter, mockTransMemoryPresenter, mockGlossaryPresenter, mockMessages, mockNativeEvent, mockWorkspaceContext);
return new TranslationPresenter(mockDisplay, mockEventBus, mockDispatcher, mockTargetContentsPresenter, mockWorkspaceUsersPresenter, mockTranslationEditorPresenter, mockSidePanelPresenter, mockTransMemoryPresenter, mockGlossaryPresenter, mockMessages, mockNativeEvent, mockWorkspaceContext);
}


Expand Down

0 comments on commit 1b84f15

Please sign in to comment.