package org.ovirt.engine.ui.webadmin.place;
import org.ovirt.engine.core.common.mode.ApplicationMode;
import org.ovirt.engine.ui.common.auth.CurrentUser;
import org.ovirt.engine.ui.common.place.ApplicationPlaceManager;
import org.ovirt.engine.ui.common.place.PlaceRequestFactory;
import org.ovirt.engine.ui.common.section.DefaultMainSectionPlace;
import org.ovirt.engine.ui.common.uicommon.ClientAgentType;
import org.ovirt.engine.ui.uicommonweb.models.ApplicationModeHelper;
import org.ovirt.engine.ui.uicommonweb.place.WebAdminApplicationPlaces;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
import com.gwtplatform.mvp.shared.proxy.PlaceRequest;
import com.gwtplatform.mvp.shared.proxy.TokenFormatter;
public class WebAdminPlaceManager extends ApplicationPlaceManager {
private final PlaceRequest defaultMainSectionRequest;
@Inject
public WebAdminPlaceManager(EventBus eventBus,
TokenFormatter tokenFormatter,
CurrentUser user,
ClientAgentType clientAgentType,
@DefaultMainSectionPlace String defaultMainSectionPlace) {
super(eventBus, tokenFormatter, user, clientAgentType);
this.defaultMainSectionRequest = PlaceRequestFactory.get(defaultMainSectionPlace);
}
@Override
protected PlaceRequest getDefaultMainSectionPlace() {
return resolveMainSectionPlace(ApplicationModeHelper.getUiMode());
}
PlaceRequest resolveMainSectionPlace(ApplicationMode uiMode) {
switch (uiMode) {
case GlusterOnly:
return PlaceRequestFactory.get(WebAdminApplicationPlaces.volumeMainTabPlace);
case VirtOnly:
case AllModes:
default:
return defaultMainSectionRequest;
}
}
}