package org.dcache.webadmin.view.pages.dcacheservices; import org.apache.wicket.AttributeModifier; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.image.Image; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.request.resource.PackageResourceReference; import org.dcache.webadmin.view.pages.basepage.BasePage; import org.dcache.webadmin.view.pages.login.LogIn; import org.dcache.webadmin.view.util.CustomLink; /** * Main overview of all dCache-Services * @author jans */ public class DCacheServices extends BasePage { private static final String AUTHMODE_ONLY_TOOLTIP_MESSAGE = "authmode.only.tooltip"; private static final long serialVersionUID = 6130566348881616211L; public DCacheServices() { add(new FeedbackPanel("feedback")); add(new Label("dCacheInstanceName", getWebadminApplication().getDcacheName())); add(new Label("dCacheInstanceDescription", getWebadminApplication().getDcacheDescription())); Link login = new CustomLink("loginLink", LogIn.class); login.add(new Image("loginImage", new PackageResourceReference( DCacheServices.class, "login.gif"))); enableOnlyInAuthenticatedMode(login); add(login); Link logout = new Link("logoutLink") { private static final long serialVersionUID = 603826811528889892L; @Override public void onClick() { if (getWebadminSession().isSignedIn()) { getWebadminSession().logoutUser(); info(getStringResource("user.logout")); } else { info(getStringResource("user.notLoggedIn")); } } }; logout.add(new Image("logoutImage", new PackageResourceReference( DCacheServices.class, "logout.gif"))); enableOnlyInAuthenticatedMode(logout); add(logout); } private void enableOnlyInAuthenticatedMode(Link link) { if (!getWebadminApplication().getAuthenticatedMode()) { link.setEnabled(false); link.add(new AttributeModifier("title", getStringResource( AUTHMODE_ONLY_TOOLTIP_MESSAGE))); } } }