package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster; import org.ovirt.engine.core.common.businessentities.gluster.GlusterGeoRepSessionDetails; import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; import org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeGeoRepSessionDetailsModel; import com.google.gwt.event.shared.EventBus; import com.google.inject.Inject; import com.google.inject.Provider; public class VolumeGeoRepSessionDetailsPopUpPresenterWidget extends AbstractModelBoundPopupPresenterWidget<VolumeGeoRepSessionDetailsModel, VolumeGeoRepSessionDetailsPopUpPresenterWidget.ViewDef>{ public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<VolumeGeoRepSessionDetailsModel> { public void setCheckPointCompletedAtVisibility(boolean visible); public void updateSessionDetailProperties(GlusterGeoRepSessionDetails selectedSessionDetail); } @Inject public VolumeGeoRepSessionDetailsPopUpPresenterWidget(EventBus eventBus, ViewDef view, Provider<VolumeGeoRepSessionDetailsPopUpPresenterWidget> geoRepSessionDetailPopupProvider, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider) { super(eventBus, view); } @Override public void init(final VolumeGeoRepSessionDetailsModel model) { super.init(model); model.getPropertyChangedEvent().addListener((ev, sender, args) -> { if(args.propertyName.equalsIgnoreCase("selectedSessionSummaryRow")) {//$NON-NLS-1$ GlusterGeoRepSessionDetails selectedSessionDetail = model.getGeoRepSessionSummary().getSelectedItem().getEntity(); getView().setCheckPointCompletedAtVisibility(selectedSessionDetail.isCheckpointCompleted()); getView().updateSessionDetailProperties(selectedSessionDetail); } }); } }