package org.molgenis.ui;
import org.molgenis.security.core.MolgenisPermissionService;
import org.molgenis.security.core.Permission;
/**
* @deprecated use {@link org.molgenis.ui.menu.MenuItemToMolgenisUiMenuItemAdapter} instead
*/
@Deprecated
public class XmlMolgenisUiPlugin implements MolgenisUiMenuItem
{
private final PluginType pluginType;
private final MolgenisUiMenu parentMenu;
private final MolgenisPermissionService molgenisPermissionService;
public XmlMolgenisUiPlugin(PluginType pluginType, MolgenisUiMenu parentMenu,
MolgenisPermissionService molgenisPermissionService)
{
if (pluginType == null) throw new IllegalArgumentException("plugin type is null");
if (parentMenu == null) throw new IllegalArgumentException("parent menu is null");
if (molgenisPermissionService == null) throw new IllegalArgumentException("MolgenisPermissionService is null");
this.pluginType = pluginType;
this.parentMenu = parentMenu;
this.molgenisPermissionService = molgenisPermissionService;
}
@Override
public String getId()
{
return pluginType.getId();
}
@Override
public String getName()
{
return pluginType.getName();
}
@Override
public String getUrl()
{
return pluginType.getUrl();
}
@Override
public MolgenisUiMenuItemType getType()
{
return MolgenisUiMenuItemType.PLUGIN;
}
@Override
public boolean isAuthorized()
{
return molgenisPermissionService.hasPermissionOnPlugin(getId(), Permission.READ);
}
@Override
public MolgenisUiMenu getParentMenu()
{
return parentMenu;
}
}