Package com.adito.policyframework.wizards.forms

Source Code of com.adito.policyframework.wizards.forms.PolicyPrincipalSelectionForm

        /*
*  Adito
*
*  Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
*
*  This program is free software; you can redistribute it and/or
*  modify it under the terms of the GNU General Public License
*  as published by the Free Software Foundation; either version 2 of
*  the License, or (at your option) any later version.
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU General Public License for more details.
*
*  You should have received a copy of the GNU General Public
*  License along with this program; if not, write to the Free Software
*  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
     
package com.adito.policyframework.wizards.forms;

import java.util.Iterator;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.Globals;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

import com.adito.boot.PropertyList;
import com.adito.core.BundleActionMessage;
import com.adito.core.UserDatabaseManager;
import com.adito.security.LogonControllerFactory;
import com.adito.security.SessionInfo;
import com.adito.security.UserDatabase;
import com.adito.wizard.AbstractWizardSequence;
import com.adito.wizard.forms.DefaultWizardForm;

public class PolicyPrincipalSelectionForm extends DefaultWizardForm {
   
    private PropertyList selectedAccounts;
    private PropertyList selectedRoles;
   
    // Statics for sequence attributes
    public final static String ATTR_SELECTED_ACCOUNTS = "selectedAccounts";
    public final static String ATTR_SELECTED_ROLES = "selectedRoles";

    public PolicyPrincipalSelectionForm() {
        super(true, true, "/WEB-INF/jsp/content/policyframework/policyWizard/policyPrincipalSelection.jspf",
            "", true, false, "policyPrincipalSelection", "policyframework", "policyWizard.policyPrincipalSelection", 2);
    }

    /**
     * @return Returns the selectedAccounts.
     */
    public String getSelectedAccounts() {
        return selectedAccounts.getAsTextFieldText();
    }

    /**
     * @param selectedAccounts The selectedAccounts to set.
     */
    public void setSelectedAccounts(String selectedAccounts) {
        this.selectedAccounts.setAsTextFieldText(selectedAccounts);
    }

    /**
     * @return Returns the selectedRoles.
     */
    public String getSelectedRoles() {
        return selectedRoles.getAsTextFieldText();
    }

    /**
     * @param selectedRoles The selectedRoles to set.
     */
    public void setSelectedRoles(String selectedRoles) {
        this.selectedRoles.setAsTextFieldText(selectedRoles);
    }

    /* (non-Javadoc)
     * @see com.adito.wizard.forms.DefaultWizardForm#apply(com.adito.wizard.AbstractWizardSequence)
     */
    public void apply(AbstractWizardSequence sequence) throws Exception {
        super.apply(sequence);
        sequence.putAttribute(ATTR_SELECTED_ACCOUNTS, selectedAccounts);
        sequence.putAttribute(ATTR_SELECTED_ROLES, selectedRoles);
    }

    /* (non-Javadoc)
     * @see com.adito.wizard.forms.DefaultWizardForm#init(com.adito.wizard.AbstractWizardSequence, javax.servlet.http.HttpServletRequest)
     */
    public void init(AbstractWizardSequence sequence, HttpServletRequest request) throws Exception {
        super.init(sequence, request);
        selectedAccounts = (PropertyList)sequence.getAttribute(ATTR_SELECTED_ACCOUNTS, new PropertyList());
        selectedRoles = (PropertyList)sequence.getAttribute(ATTR_SELECTED_ROLES, new PropertyList());
    }

  @Override
  public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    ActionErrors errs = super.validate(mapping, request);
    SessionInfo session = LogonControllerFactory.getInstance().getSessionInfo(request);
    if(isCommiting()) {
          try {
              UserDatabase udb = UserDatabaseManager.getInstance().getUserDatabase(session.getRealm());
            for(String account : selectedAccounts) {
              try {
                udb.getAccount(account);
              }
              catch(Exception e) {  
                if(errs == null) {
                  errs = new ActionErrors();
                }
                    errs.add(Globals.ERROR_KEY, new ActionMessage("editPolicy.error.invalidUser", account));        
              }
            }
            for(String role : selectedRoles) {
              try {
                if(udb.getRole(role) == null) {
                  throw new Exception();
                }
              }
              catch(Exception e) {  
                if(errs == null) {
                  errs = new ActionErrors();
                }
                    errs.add(Globals.ERROR_KEY, new ActionMessage("editPolicy.error.invalidRole", role));        
              }
            }
          }
          catch(Exception e) {
          if(errs == null) {
            errs = new ActionErrors();
          }
              errs.add(Globals.ERROR_KEY, new ActionMessage("editPolicy.failedToValidate", e.getMessage()));
           
          }
    }
    return errs;
  }
}
TOP

Related Classes of com.adito.policyframework.wizards.forms.PolicyPrincipalSelectionForm

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.