package org.molgenis.ui.menu; import org.molgenis.ui.MolgenisUiMenu; import org.molgenis.ui.MolgenisUiMenuItem; import org.molgenis.ui.MolgenisUiMenuItemType; public class MenuItemToMolgenisUiMenuItemAdapter implements MolgenisUiMenuItem { private final MenuItem menuItem; public MenuItemToMolgenisUiMenuItemAdapter(MenuItem menuItem) { if (menuItem == null) throw new IllegalArgumentException("menuItem is null"); this.menuItem = menuItem; } @Override public String getId() { return menuItem.getId(); } @Override public String getName() { return menuItem.getLabel(); } @Override public String getUrl() { String params = menuItem.getParams(); return params != null && !params.isEmpty() ? menuItem.getId() + '?' + params : menuItem.getId(); } @Override public MolgenisUiMenuItemType getType() { switch (menuItem.getType()) { case MENU: return MolgenisUiMenuItemType.MENU; case PLUGIN: return MolgenisUiMenuItemType.PLUGIN; default: throw new RuntimeException("Unknown MolgenisUiMenuItemType [" + menuItem.getType() + "]"); } } @Override public MolgenisUiMenu getParentMenu() { throw new UnsupportedOperationException(); } @Override public boolean isAuthorized() { throw new UnsupportedOperationException(); } }