diff --git a/src/main/java/org/sagebionetworks/web/client/PortalGinModule.java b/src/main/java/org/sagebionetworks/web/client/PortalGinModule.java index 64f38d7ff1..a7e3d306d8 100644 --- a/src/main/java/org/sagebionetworks/web/client/PortalGinModule.java +++ b/src/main/java/org/sagebionetworks/web/client/PortalGinModule.java @@ -267,6 +267,8 @@ import org.sagebionetworks.web.client.widget.entity.EntityListRowBadgeViewImpl; import org.sagebionetworks.web.client.widget.entity.EntityMetadataView; import org.sagebionetworks.web.client.widget.entity.EntityMetadataViewImpl; +import org.sagebionetworks.web.client.widget.entity.EntityModalWidgetView; +import org.sagebionetworks.web.client.widget.entity.EntityModalWidgetViewImpl; import org.sagebionetworks.web.client.widget.entity.EntityPageTopView; import org.sagebionetworks.web.client.widget.entity.EntityPageTopViewImpl; import org.sagebionetworks.web.client.widget.entity.EntitySearchBoxView; @@ -1450,6 +1452,7 @@ protected void configure() { .to(SqlDefinedEditorModalWidgetViewImpl.class); bind(EntityViewScopeEditorModalWidgetView.class) .to(EntityViewScopeEditorModalWidgetViewImpl.class); + bind(EntityModalWidgetView.class).to(EntityModalWidgetViewImpl.class); bind(ChallengeWidgetView.class).to(ChallengeWidgetViewImpl.class); bind(SelectTeamModalView.class).to(SelectTeamModalViewImpl.class); bind(ApproveUserAccessModalView.class) diff --git a/src/main/java/org/sagebionetworks/web/client/jsinterop/EntityModalProps.java b/src/main/java/org/sagebionetworks/web/client/jsinterop/EntityModalProps.java index 608ec6368a..4b5b786d4a 100644 --- a/src/main/java/org/sagebionetworks/web/client/jsinterop/EntityModalProps.java +++ b/src/main/java/org/sagebionetworks/web/client/jsinterop/EntityModalProps.java @@ -19,23 +19,23 @@ public interface BooleanCallback { void run(boolean value); } - String entityId; - boolean show; + public String entityId; + public boolean show; @JsNullable - Callback onClose; + public Callback onClose; @JsNullable - String initialTab; // "METADATA" | "ANNOTATIONS" + public String initialTab; // "METADATA" | "ANNOTATIONS" @JsNullable - boolean showTabs; + public boolean showTabs; @JsNullable - Double versionNumber; + public Long versionNumber; @JsNullable - BooleanCallback onEditModeChanged; + public BooleanCallback onEditModeChanged; @JsOverlay public static EntityModalProps create( @@ -50,7 +50,7 @@ public static EntityModalProps create( EntityModalProps props = new EntityModalProps(); props.entityId = entityId; if (versionNumber != null) { - props.versionNumber = versionNumber.doubleValue(); + props.versionNumber = versionNumber; } props.show = show; props.onClose = onClose; diff --git a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadata.java b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadata.java index be10992fad..8cd0d03043 100644 --- a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadata.java +++ b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadata.java @@ -38,16 +38,19 @@ public class EntityMetadata implements Presenter { - private EntityMetadataView view; - private AnnotationsRendererWidget annotationsWidget; - private DoiWidgetV2 doiWidgetV2; + private final EntityMetadataView view; + private final AnnotationsRendererWidget annotationsWidget; + private final DoiWidgetV2 doiWidgetV2; private VersionHistoryWidget versionHistoryWidget; - private SynapseJavascriptClient jsClient; - private SynapseJSNIUtils jsni; - private PortalGinInjector ginInjector; - private ContainerItemCountWidget containerItemCountWidget; - private org.sagebionetworks.web.client.widget.entity.restriction.v2.RestrictionWidget restrictionWidgetV2; + private final SynapseJavascriptClient jsClient; + private final SynapseJSNIUtils jsni; + private final PortalGinInjector ginInjector; + private final ContainerItemCountWidget containerItemCountWidget; + private final org.sagebionetworks.web.client.widget.entity.restriction.v2.RestrictionWidget restrictionWidgetV2; private EntityActionMenu actionMenu; + private final EntityModalWidget entityModalWidget; + + private boolean annotationsAreVisible = false; @Inject public EntityMetadata( @@ -58,7 +61,8 @@ public EntityMetadata( SynapseJSNIUtils jsni, RestrictionWidget restrictionWidgetV2, ContainerItemCountWidget containerItemCountWidget, - PortalGinInjector ginInjector + PortalGinInjector ginInjector, + EntityModalWidget entityModalWidget ) { this.view = view; this.doiWidgetV2 = doiWidgetV2; @@ -68,9 +72,11 @@ public EntityMetadata( this.restrictionWidgetV2 = restrictionWidgetV2; this.containerItemCountWidget = containerItemCountWidget; this.ginInjector = ginInjector; + this.entityModalWidget = entityModalWidget; this.view.setPresenter(this); this.view.setDoiWidget(doiWidgetV2); this.view.setAnnotationsRendererWidget(annotationsWidget); + this.view.setEntityModalWidget(entityModalWidget); this.view.setRestrictionWidgetV2(restrictionWidgetV2); this.view.setContainerItemCountWidget(containerItemCountWidget); restrictionWidgetV2.setShowChangeLink(true); @@ -100,7 +106,13 @@ public void configure( this.actionMenu = actionMenu; Entity en = bundle.getEntity(); view.setEntityId(en.getId()); - view.setVersionNumber(versionNumber); + entityModalWidget.configure( + en.getId(), + versionNumber, + () -> setAnnotationsVisible(false), + "ANNOTATIONS", + false + ); // See comments on SWC-5763 // TL;DR: we plan to show the description at some point, but not until we implement new designs @@ -112,15 +124,7 @@ public void configure( setAnnotationsVisible(false); actionMenu.setActionListener( Action.SHOW_ANNOTATIONS, - (action, e) -> { - if (DisplayUtils.isInTestWebsite(ginInjector.getCookieProvider())) { - // In alpha mode, this pops up a modal. We always want to show annotations when this is clicked - setAnnotationsVisible(true); - } else { - // Current non-alpha implementation is a toggle, which is why we need to flip the state when not in alpha mode. - setAnnotationsVisible(!view.getAnnotationsVisible()); - } - } + (action, e) -> setAnnotationsVisible(!annotationsAreVisible) ); actionMenu.setActionListener( @@ -188,11 +192,15 @@ public void onFailure(Throwable t) { ); } + @Override public void setAnnotationsVisible(boolean visible) { + annotationsAreVisible = visible; if (DisplayUtils.isInTestWebsite(ginInjector.getCookieProvider())) { - view.setAnnotationsModalVisible(visible); + entityModalWidget.setOpen(visible); + view.setAnnotationsVisible(false); } else { view.setAnnotationsVisible(visible); + entityModalWidget.setOpen(false); } } @@ -219,9 +227,8 @@ public void onSuccess(List uploadDestinations) { } else if ( uploadDestinations.get(0) instanceof ExternalUploadDestination ) { - ExternalUploadDestination externalUploadDestination = (ExternalUploadDestination) uploadDestinations.get( - 0 - ); + ExternalUploadDestination externalUploadDestination = + (ExternalUploadDestination) uploadDestinations.get(0); String externalUrl = externalUploadDestination.getUrl(); UploadType type = externalUploadDestination.getUploadType(); if (type == UploadType.SFTP) { @@ -234,9 +241,8 @@ public void onSuccess(List uploadDestinations) { } else if ( uploadDestinations.get(0) instanceof ExternalS3UploadDestination ) { - ExternalS3UploadDestination externalUploadDestination = (ExternalS3UploadDestination) uploadDestinations.get( - 0 - ); + ExternalS3UploadDestination externalUploadDestination = + (ExternalS3UploadDestination) uploadDestinations.get(0); String description = "s3://" + externalUploadDestination.getBucket() + "/"; if (externalUploadDestination.getBaseKey() != null) { @@ -248,9 +254,10 @@ public void onSuccess(List uploadDestinations) { 0 ) instanceof ExternalGoogleCloudUploadDestination ) { - ExternalGoogleCloudUploadDestination externalUploadDestination = (ExternalGoogleCloudUploadDestination) uploadDestinations.get( - 0 - ); + ExternalGoogleCloudUploadDestination externalUploadDestination = + (ExternalGoogleCloudUploadDestination) uploadDestinations.get( + 0 + ); String description = "gs://" + externalUploadDestination.getBucket() + "/"; if (externalUploadDestination.getBaseKey() != null) { @@ -262,9 +269,10 @@ public void onSuccess(List uploadDestinations) { 0 ) instanceof ExternalObjectStoreUploadDestination ) { - ExternalObjectStoreUploadDestination destination = (ExternalObjectStoreUploadDestination) uploadDestinations.get( - 0 - ); + ExternalObjectStoreUploadDestination destination = + (ExternalObjectStoreUploadDestination) uploadDestinations.get( + 0 + ); String description = destination.getEndpointUrl() + "/" + destination.getBucket(); view.setUploadDestinationText(description); diff --git a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataView.java b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataView.java index 9c9d5ddd51..08ad0f826c 100644 --- a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataView.java +++ b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataView.java @@ -5,16 +5,13 @@ public interface EntityMetadataView extends IsWidget { public interface Presenter { void toggleAnnotationsVisible(); + void setAnnotationsVisible(boolean visible); } public void setPresenter(Presenter presenter); public void setDetailedMetadataVisible(boolean visible); - void setAnnotationsModalVisible(boolean visible); - - boolean getAnnotationsVisible(); - void setAnnotationsVisible(boolean visible); void setDescriptionVisible(boolean visible); @@ -31,6 +28,8 @@ public interface Presenter { void setRestrictionWidgetV2(IsWidget restrictionWidget); + void setEntityModalWidget(IsWidget widget); + void setEntityId(String text); void setUploadDestinationPanelVisible(boolean isVisible); @@ -44,6 +43,4 @@ public interface Presenter { void setContainerItemCountWidget(IsWidget w); void setDescription(String description); - - void setVersionNumber(Long versionNumber); } diff --git a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.java b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.java index 43b55a5e66..f563d227dc 100644 --- a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.java +++ b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.java @@ -3,26 +3,14 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.HTMLPanel; -import com.google.gwt.user.client.ui.IsWidget; -import com.google.gwt.user.client.ui.SimplePanel; -import com.google.gwt.user.client.ui.TextBox; -import com.google.gwt.user.client.ui.Widget; +import com.google.gwt.user.client.ui.*; import com.google.inject.Inject; import org.gwtbootstrap3.client.ui.Collapse; import org.gwtbootstrap3.client.ui.html.Div; import org.gwtbootstrap3.client.ui.html.Paragraph; import org.gwtbootstrap3.client.ui.html.Span; import org.gwtbootstrap3.client.ui.html.Text; -import org.sagebionetworks.web.client.GlobalApplicationState; -import org.sagebionetworks.web.client.context.SynapseReactClientFullContextPropsProvider; -import org.sagebionetworks.web.client.jsinterop.EntityModalProps; -import org.sagebionetworks.web.client.jsinterop.React; -import org.sagebionetworks.web.client.jsinterop.ReactNode; -import org.sagebionetworks.web.client.jsinterop.SRC; import org.sagebionetworks.web.client.widget.IconSvg; -import org.sagebionetworks.web.client.widget.ReactComponentDiv; public class EntityMetadataViewImpl extends Composite @@ -36,10 +24,6 @@ interface EntityMetadataViewImplUiBinder ); private Presenter presenter; - private String entityId; - private Long versionNumber; - private final SynapseReactClientFullContextPropsProvider propsProvider; - private final GlobalApplicationState globalApplicationState; @UiField HTMLPanel detailedMetadata; @@ -87,15 +71,10 @@ interface EntityMetadataViewImplUiBinder Paragraph descriptionText; @UiField - ReactComponentDiv annotationsModalContainer; + SimplePanel entityModalWidgetContainer; @Inject - public EntityMetadataViewImpl( - final SynapseReactClientFullContextPropsProvider propsProvider, - final GlobalApplicationState globalApplicationState - ) { - this.propsProvider = propsProvider; - this.globalApplicationState = globalApplicationState; + public EntityMetadataViewImpl() { initWidget(uiBinder.createAndBindUi(this)); idField.addClickHandler(event -> idField.selectAll()); annotationsContentCloseButton.addClickHandler(event -> @@ -135,30 +114,6 @@ public void setUploadDestinationText(String text) { uploadDestinationField.setText(text); } - @Override - public void setAnnotationsModalVisible(boolean visible) { - if (visible) { - boolean showTabs = false; - EntityModalProps props = EntityModalProps.create( - entityId, - versionNumber, - visible, - () -> setAnnotationsModalVisible(false), - "ANNOTATIONS", - showTabs, - globalApplicationState::setIsEditing - ); - ReactNode component = React.createElementWithSynapseContext( - SRC.SynapseComponents.EntityModal, - props, - propsProvider.getJsInteropContextProps() - ); - annotationsModalContainer.render(component); - } else { - annotationsModalContainer.clear(); - } - } - @Override public void setAnnotationsVisible(boolean visible) { if (visible) { @@ -168,11 +123,6 @@ public void setAnnotationsVisible(boolean visible) { } } - @Override - public boolean getAnnotationsVisible() { - return annotationsContent.isShown(); - } - @Override public void setDescriptionVisible(boolean visible) { descriptionContainer.setVisible(visible); @@ -199,13 +149,7 @@ public void setDetailedMetadataVisible(boolean visible) { @Override public void setEntityId(String entityId) { - this.entityId = entityId; - idField.setText(this.entityId); - } - - @Override - public void setVersionNumber(Long versionNumber) { - this.versionNumber = versionNumber; + idField.setText(entityId); } @Override @@ -219,6 +163,12 @@ public void setRestrictionWidgetV2(IsWidget restrictionWidget) { restrictionPanelV2.add(restrictionWidget); } + @Override + public void setEntityModalWidget(IsWidget entityModalWidget) { + entityModalWidgetContainer.clear(); + entityModalWidgetContainer.add(entityModalWidget); + } + @Override public void setRestrictionWidgetV2Visible(boolean visible) { restrictionPanelV2.setVisible(visible); diff --git a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidget.java b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidget.java new file mode 100644 index 0000000000..ed792d05f2 --- /dev/null +++ b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidget.java @@ -0,0 +1,73 @@ +package org.sagebionetworks.web.client.widget.entity; + +import com.google.gwt.user.client.ui.IsWidget; +import com.google.gwt.user.client.ui.Widget; +import com.google.inject.Inject; +import org.sagebionetworks.web.client.GlobalApplicationState; +import org.sagebionetworks.web.client.jsinterop.EntityModalProps; +import org.sagebionetworks.web.client.jsinterop.SqlDefinedTableEditorModalProps; + +public class EntityModalWidget implements IsWidget { + + private final GlobalApplicationState globalApplicationState; + private final EntityModalWidgetView view; + + private String entityId; + private Long versionNumber; + private EntityModalProps.Callback onClose; + private String initialTab; + private boolean showTabs; + + @Inject + public EntityModalWidget( + EntityModalWidgetView view, + GlobalApplicationState globalApplicationState + ) { + super(); + this.view = view; + this.globalApplicationState = globalApplicationState; + } + + private EntityModalProps getProps(boolean open) { + return EntityModalProps.create( + entityId, + versionNumber, + open, + onClose, + initialTab, + showTabs, + globalApplicationState::setIsEditing + ); + } + + public void configure( + String entityId, + Long versionNumber, + EntityModalProps.Callback onClose, + String initialTab, + boolean showTabs + ) { + this.entityId = entityId; + this.versionNumber = versionNumber; + this.onClose = onClose; + this.initialTab = initialTab; + this.showTabs = showTabs; + + view.renderComponent(getProps(false)); + } + + public void setOpen(boolean open) { + view.renderComponent(getProps(open)); + + // The dialog can be opened without editing data, so we shouldn't toggle `setIsEditing` on open. + // However, if the dialog is closed, we are definitely no longer editing + if (!open) { + globalApplicationState.setIsEditing(false); + } + } + + @Override + public Widget asWidget() { + return view.asWidget(); + } +} diff --git a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidgetView.java b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidgetView.java new file mode 100644 index 0000000000..b50e0ebaf9 --- /dev/null +++ b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidgetView.java @@ -0,0 +1,9 @@ +package org.sagebionetworks.web.client.widget.entity; + +import com.google.gwt.user.client.ui.IsWidget; +import org.sagebionetworks.web.client.jsinterop.EntityModalProps; +import org.sagebionetworks.web.client.jsinterop.SqlDefinedTableEditorModalProps; + +public interface EntityModalWidgetView extends IsWidget { + void renderComponent(EntityModalProps props); +} diff --git a/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidgetViewImpl.java b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidgetViewImpl.java new file mode 100644 index 0000000000..91cdfb9f52 --- /dev/null +++ b/src/main/java/org/sagebionetworks/web/client/widget/entity/EntityModalWidgetViewImpl.java @@ -0,0 +1,37 @@ +package org.sagebionetworks.web.client.widget.entity; + +import com.google.gwt.user.client.ui.Widget; +import com.google.inject.Inject; +import org.sagebionetworks.web.client.context.SynapseReactClientFullContextPropsProvider; +import org.sagebionetworks.web.client.jsinterop.*; +import org.sagebionetworks.web.client.widget.ReactComponentDiv; + +public class EntityModalWidgetViewImpl implements EntityModalWidgetView { + + private final SynapseReactClientFullContextPropsProvider propsProvider; + private final ReactComponentDiv reactComponentDiv; + + @Inject + public EntityModalWidgetViewImpl( + SynapseReactClientFullContextPropsProvider propsProvider + ) { + super(); + this.propsProvider = propsProvider; + reactComponentDiv = new ReactComponentDiv(); + } + + @Override + public void renderComponent(EntityModalProps props) { + ReactNode reactNode = React.createElementWithSynapseContext( + SRC.SynapseComponents.EntityModal, + props, + propsProvider.getJsInteropContextProps() + ); + reactComponentDiv.render(reactNode); + } + + @Override + public Widget asWidget() { + return reactComponentDiv.asWidget(); + } +} diff --git a/src/main/resources/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.ui.xml b/src/main/resources/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.ui.xml index ab498d5f97..a12c7b406f 100644 --- a/src/main/resources/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.ui.xml +++ b/src/main/resources/org/sagebionetworks/web/client/widget/entity/EntityMetadataViewImpl.ui.xml @@ -8,7 +8,7 @@ > - + propsCaptor; + + EntityModalWidget widget; + + public static final String ENTITY_ID = "syn42"; + public static final Long VERSION_NUMBER = 5L; + + public static final String INITIAL_TAB = "ANNOTATIONS"; + public static final boolean SHOW_TABS = false; + + @Before + public void before() { + widget = new EntityModalWidget(mockView, mockGlobalAppState); + } + + @After + public void validate() { + validateMockitoUsage(); + } + + @Test + public void testConstruction() { + widget.configure( + ENTITY_ID, + VERSION_NUMBER, + mockOnClose, + INITIAL_TAB, + SHOW_TABS + ); + verify(mockView).renderComponent(propsCaptor.capture()); + EntityModalProps capturedProps = propsCaptor.getValue(); + + assertFalse(capturedProps.show); + assertEquals(ENTITY_ID, capturedProps.entityId); + assertEquals(VERSION_NUMBER, capturedProps.versionNumber); + assertEquals(mockOnClose, capturedProps.onClose); + assertEquals(INITIAL_TAB, capturedProps.initialTab); + assertEquals(SHOW_TABS, capturedProps.showTabs); + assertNotNull(capturedProps.onEditModeChanged); + } + + @Test + public void testOnEditModeChanged() { + widget.configure( + ENTITY_ID, + VERSION_NUMBER, + mockOnClose, + INITIAL_TAB, + SHOW_TABS + ); + + verify(mockView).renderComponent(propsCaptor.capture()); + EntityModalProps capturedProps = propsCaptor.getValue(); + + capturedProps.onEditModeChanged.run(true); + verify(mockGlobalAppState).setIsEditing(true); + + capturedProps.onEditModeChanged.run(false); + verify(mockGlobalAppState).setIsEditing(false); + } + + @Test + public void testSetOpen() { + widget.configure( + ENTITY_ID, + VERSION_NUMBER, + mockOnClose, + INITIAL_TAB, + SHOW_TABS + ); + + widget.setOpen(true); + verify(mockGlobalAppState, never()).setIsEditing(anyBoolean()); + verify(mockView, times(2)).renderComponent(propsCaptor.capture()); + assertTrue(propsCaptor.getValue().show); + + widget.setOpen(false); + verify(mockGlobalAppState).setIsEditing(false); + verify(mockView, times(3)).renderComponent(propsCaptor.capture()); + assertFalse(propsCaptor.getValue().show); + } + + @Test + public void testAsWidget() { + widget.asWidget(); + verify(mockView).asWidget(); + } +} diff --git a/src/test/java/org/sagebionetworks/web/unitclient/widget/entity/EntityMetadataTest.java b/src/test/java/org/sagebionetworks/web/unitclient/widget/entity/EntityMetadataTest.java index d7a717c4b3..063affc73b 100644 --- a/src/test/java/org/sagebionetworks/web/unitclient/widget/entity/EntityMetadataTest.java +++ b/src/test/java/org/sagebionetworks/web/unitclient/widget/entity/EntityMetadataTest.java @@ -41,10 +41,7 @@ import org.sagebionetworks.web.client.SynapseJavascriptClient; import org.sagebionetworks.web.client.cookie.CookieProvider; import org.sagebionetworks.web.client.widget.doi.DoiWidgetV2; -import org.sagebionetworks.web.client.widget.entity.ContainerItemCountWidget; -import org.sagebionetworks.web.client.widget.entity.EntityMetadata; -import org.sagebionetworks.web.client.widget.entity.EntityMetadataView; -import org.sagebionetworks.web.client.widget.entity.VersionHistoryWidget; +import org.sagebionetworks.web.client.widget.entity.*; import org.sagebionetworks.web.client.widget.entity.annotation.AnnotationsRendererWidget; import org.sagebionetworks.web.client.widget.entity.menu.v3.EntityActionMenu; import org.sagebionetworks.web.client.widget.entity.restriction.v2.RestrictionWidget; @@ -89,6 +86,9 @@ public class EntityMetadataTest { @Mock PortalGinInjector mockGinInjector; + @Mock + EntityModalWidget mockEntityModalWidget; + String entityId = "syn123"; String entityName = "testEntity"; EntityMetadata widget; @@ -109,7 +109,8 @@ public void before() { mockJSNI, mockRestrictionWidgetV2, mockItemCountWidget, - mockGinInjector + mockGinInjector, + mockEntityModalWidget ); } @@ -384,8 +385,10 @@ public void testSetEntityBundle_FetchUnversionedDoiForVersionableEntity_NotLates @Test public void testConfigureStorageLocationExternalS3() { - List uploadDestinations = new ArrayList(); - ExternalS3UploadDestination exS3Destination = new ExternalS3UploadDestination(); + List uploadDestinations = + new ArrayList(); + ExternalS3UploadDestination exS3Destination = + new ExternalS3UploadDestination(); exS3Destination.setBucket("testBucket"); exS3Destination.setBaseKey("testBaseKey"); uploadDestinations.add(exS3Destination); @@ -401,8 +404,10 @@ public void testConfigureStorageLocationExternalS3() { @Test public void testConfigureStorageLocationExternalGoogleCloud() { - List uploadDestinations = new ArrayList(); - ExternalGoogleCloudUploadDestination exGCDestination = new ExternalGoogleCloudUploadDestination(); + List uploadDestinations = + new ArrayList(); + ExternalGoogleCloudUploadDestination exGCDestination = + new ExternalGoogleCloudUploadDestination(); exGCDestination.setBucket("testBucket"); exGCDestination.setBaseKey("testBaseKey"); uploadDestinations.add(exGCDestination); @@ -418,7 +423,8 @@ public void testConfigureStorageLocationExternalGoogleCloud() { @Test public void testConfigureStorageLocationExternalSftp() { - List uploadDestinations = new ArrayList(); + List uploadDestinations = + new ArrayList(); ExternalUploadDestination exS3Destination = new ExternalUploadDestination(); exS3Destination.setUrl("sftp://testUrl.com/abcdef"); exS3Destination.setUploadType(UploadType.SFTP); @@ -435,7 +441,8 @@ public void testConfigureStorageLocationExternalSftp() { @Test public void testConfigureStorageLocationExternal() { - List uploadDestinations = new ArrayList(); + List uploadDestinations = + new ArrayList(); ExternalUploadDestination exS3Destination = new ExternalUploadDestination(); exS3Destination.setUploadType(UploadType.HTTPS); exS3Destination.setUrl("testUrl.com"); @@ -454,8 +461,10 @@ public void testConfigureStorageLocationExternal() { public void testConfigureStorageLocationExternalObjectStore() { String endpointUrl = "https://externalobjectstore"; String bucket = "mybucket"; - List uploadDestinations = new ArrayList(); - ExternalObjectStoreUploadDestination exS3Destination = new ExternalObjectStoreUploadDestination(); + List uploadDestinations = + new ArrayList(); + ExternalObjectStoreUploadDestination exS3Destination = + new ExternalObjectStoreUploadDestination(); exS3Destination.setUploadType(UploadType.S3); exS3Destination.setEndpointUrl(endpointUrl); exS3Destination.setBucket(bucket); @@ -632,7 +641,7 @@ public void testShowAnnotationsNoExperimentalMode() { .thenReturn(null); widget.setAnnotationsVisible(true); verify(mockView).setAnnotationsVisible(true); - verify(mockView, never()).setAnnotationsModalVisible(true); + verify(mockEntityModalWidget, never()).setOpen(true); } @Test @@ -640,7 +649,7 @@ public void testShowAnnotationModalInExperimentalMode() { when(mockCookies.getCookie(DisplayUtils.SYNAPSE_TEST_WEBSITE_COOKIE_KEY)) .thenReturn("true"); widget.setAnnotationsVisible(true); - verify(mockView).setAnnotationsModalVisible(true); + verify(mockEntityModalWidget).setOpen(true); verify(mockView, never()).setAnnotationsVisible(true); } }