package org.sakaiproject.delegatedaccess.tool.pages; import java.util.List; import java.util.Map; import javax.swing.tree.TreeNode; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.sakaiproject.delegatedaccess.model.NodeModel; import org.sakaiproject.delegatedaccess.util.DelegatedAccessConstants; public class EditablePanelDropdownText extends Panel{ public EditablePanelDropdownText(String id, IModel inputModel, final NodeModel nodeModel, final TreeNode node, final Map<String, String> realmMap, final int type) { super(id); //show the inherited role if the user hasn't selected this node IModel<String> labelModel = new AbstractReadOnlyModel<String>() { @Override public String getObject() { String[] inheritedAccess = nodeModel.getNodeAccessRealmRole(); if("".equals(inheritedAccess[0])){ return ""; }else{ String realmRole = inheritedAccess[0] + ":" + inheritedAccess[1]; if(realmMap.containsKey(realmRole)){ return realmMap.get(realmRole); }else{ return realmRole; } } } }; Label label = new Label("realmRole", labelModel){ public boolean isVisible() { if(DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == type){ return !nodeModel.isDirectAccess() || !nodeModel.getNodeShoppingPeriodAdmin(); }else{ return !nodeModel.isDirectAccess(); } }; }; add(label); } }