/**
   * Edits an entry to the cache value in page session.
   *
   * @param values Map of attribute name to value.
   * @throws AMConsoleException if there are duplicate entries.
   */
  protected void editEntry(Map values) throws AMConsoleException {
    List list = (List) getPageSessionAttribute("samlPropertyAttributes");
    int index = Integer.parseInt((String) getPageSessionAttribute(PGATTR_INDEX));

    String value = AMPipeDelimitAttrTokenizer.getInstance().deTokenizes(values);
    int count = 0;

    for (Iterator i = list.iterator(); i.hasNext(); ) {
      String v = (String) i.next();
      if ((count != index) && v.equals(value)) {
        throw new AMConsoleException("saml.profile.trustedPartner.already.exists");
      }
      count++;
    }
    list.set(index, value);
    Set set = new HashSet(list);
    try {
      FSSAMLServiceModel model = (FSSAMLServiceModel) getModel();
      model.modifyTrustPartners(set);
      setInlineAlertMessage(
          CCAlert.TYPE_INFO, "message.information", "saml.message.trusted.partner.updated");
    } catch (AMConsoleException e) {
      setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", e.getMessage());
    }
    forwardTo();
  }
  public void beginDisplay(DisplayEvent event) throws ModelControlException {
    super.beginDisplay(event);
    if (populateValues) {
      int index = Integer.parseInt((String) getPageSessionAttribute(PGATTR_INDEX));
      List list = (List) getPageSessionAttribute("samlPropertyAttributes");
      setValues(AMPipeDelimitAttrTokenizer.getInstance().tokenizes((String) list.get(index)));
    }

    Set attributeNames = getAttributeNames();
    if (attributeNames.contains(SAMLConstants.VERSION)) {
      CCDropDownMenu menu = (CCDropDownMenu) getChild(SAMLConstants.VERSION);
      String version = (String) menu.getValue();
      if ((version == null) || (version.length() == 0)) {
        menu.setValue("1.1");
      }
    }
  }
 /**
  * Set value of a entry from the cache value in page session.
  *
  * @param idx Index of the entry in the cache Set.
  */
 protected void setValues(int idx) {
   Map mapAttrs = (Map) getPageSessionAttribute(FSSAMLServiceViewBean.PROPERTY_ATTRIBUTE);
   OrderedSet set = (OrderedSet) mapAttrs.get(FederationViewBean.TABLE_TRUSTED_PARTNERS);
   setValues(AMPipeDelimitAttrTokenizer.getInstance().tokenizes((String) set.get(idx)));
 }