Search in sources :

Example 11 with Rule

use of com.sun.identity.policy.Rule in project OpenAM by OpenRock.

the class PolicyOpViewBeanBase method populateRulesTable.

protected void populateRulesTable() throws AMConsoleException {
    tblRulesModel.clearAll();
    CachedPolicy cachedPolicy = getCachedPolicy();
    Policy policy = cachedPolicy.getPolicy();
    Set ruleNames = policy.getRuleNames();
    if ((ruleNames != null) && !ruleNames.isEmpty()) {
        PolicyModel model = (PolicyModel) getModel();
        Map localizedSvcTypeNames = model.getServiceTypeNames();
        boolean firstEntry = true;
        for (Iterator iter = ruleNames.iterator(); iter.hasNext(); ) {
            if (firstEntry) {
                firstEntry = false;
            } else {
                tblRulesModel.appendRow();
            }
            try {
                String name = (String) iter.next();
                Rule rule = policy.getRule(name);
                tblRulesModel.setValue(TBL_RULES_DATA_NAME, name);
                tblRulesModel.setValue(TBL_RULES_DATA_TYPE, localizedSvcTypeNames.get(rule.getServiceTypeName()));
                tblRulesModel.setValue(TBL_RULES_ACTION_HREF, stringToHex(name));
            } catch (NameNotFoundException e) {
                debug.warning("PolicyOpViewBeanBase.populateRulesTable", e);
            }
        }
    }
}
Also used : Policy(com.sun.identity.policy.Policy) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) Set(java.util.Set) NameNotFoundException(com.sun.identity.policy.NameNotFoundException) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) Iterator(java.util.Iterator) PolicyModel(com.sun.identity.console.policy.model.PolicyModel) Rule(com.sun.identity.policy.Rule) HashMap(java.util.HashMap) Map(java.util.Map)

Example 12 with Rule

use of com.sun.identity.policy.Rule in project OpenAM by OpenRock.

the class PolicyOpViewBeanBase method handleTblRulesEditLinkRequest.

/**
     * Handles edit rule request.
     *
     * @param event Request Invocation Event.
     */
public void handleTblRulesEditLinkRequest(RequestInvocationEvent event) throws ModelControlException {
    PolicyModel model = (PolicyModel) getModel();
    String name = hexToString((String) getDisplayFieldValue(TBL_RULES_ACTION_HREF));
    setPageSessionAttribute(RuleEditViewBean.CALLING_VIEW_BEAN, getClass().getName());
    setPageSessionAttribute(RuleEditViewBean.EDIT_RULE_NAME, name);
    try {
        CachedPolicy cachedPolicy = getCachedPolicy();
        Policy policy = cachedPolicy.getPolicy();
        Rule rule = policy.getRule(name);
        RuleEditViewBean vb = null;
        String resName = rule.getResourceName();
        if ((resName == null) || (resName.length() == 0)) {
            vb = (RuleNoResourceEditViewBean) getViewBean(RuleNoResourceEditViewBean.class);
            setPageSessionAttribute(RuleOpViewBeanBase.WITH_RESOURCE, Boolean.FALSE);
        } else {
            String realmName = (String) getPageSessionAttribute(AMAdminConstants.CURRENT_REALM);
            String serviceType = rule.getServiceTypeName();
            if (model.canCreateNewResource(realmName, serviceType)) {
                vb = (RuleEditViewBean) getViewBean(RuleEditViewBean.class);
            } else {
                vb = (RuleEditViewBean) getViewBean(RuleWithPrefixEditViewBean.class);
            }
            setPageSessionAttribute(RuleOpViewBeanBase.WITH_RESOURCE, Boolean.TRUE);
        }
        unlockPageTrail();
        passPgSessionMap(vb);
        vb.forwardTo(getRequestContext());
    } catch (NameNotFoundException e) {
        setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", getModel().getErrorString(e));
        forwardTo();
    } catch (AMConsoleException e) {
        debug.warning("PolicyOpViewBeanBase.handleTblRulesEditLinkRequest", e);
        redirectToStartURL();
    }
}
Also used : Policy(com.sun.identity.policy.Policy) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) NameNotFoundException(com.sun.identity.policy.NameNotFoundException) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) PolicyModel(com.sun.identity.console.policy.model.PolicyModel) Rule(com.sun.identity.policy.Rule) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Example 13 with Rule

use of com.sun.identity.policy.Rule in project OpenAM by OpenRock.

the class RuleAddViewBean method handleButton2Request.

/**
     * Handles create policy request.
     *
     * @param event Request invocation event
     */
public void handleButton2Request(RequestInvocationEvent event) throws ModelControlException {
    submitCycle = true;
    Rule rule = createRule();
    if (rule != null) {
        try {
            CachedPolicy cachedPolicy = getCachedPolicy();
            Policy policy = cachedPolicy.getPolicy();
            policy.addRule(rule);
            backTrail();
            cachedPolicy.setPolicyModified(true);
            forwardToPolicyViewBean();
        } catch (NameAlreadyExistsException e) {
            setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", getModel().getErrorString(e));
            forwardTo();
        } catch (InvalidNameException e) {
            setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", getModel().getErrorString(e));
            forwardTo();
        } catch (AMConsoleException e) {
            debug.warning("RuleAddViewBean.handleButton2Request", e);
            redirectToStartURL();
        }
    } else {
        forwardTo();
    }
}
Also used : Policy(com.sun.identity.policy.Policy) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) InvalidNameException(com.sun.identity.policy.InvalidNameException) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) NameAlreadyExistsException(com.sun.identity.policy.NameAlreadyExistsException) Rule(com.sun.identity.policy.Rule) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Example 14 with Rule

use of com.sun.identity.policy.Rule in project OpenAM by OpenRock.

the class RuleEditViewBean method handleButton1Request.

/**
     * Handles create policy request.
     *
     * @param event Request invocation event
     */
public void handleButton1Request(RequestInvocationEvent event) throws ModelControlException {
    submitCycle = true;
    boolean forwarded = false;
    Rule rule = createRule();
    if (rule != null) {
        try {
            CachedPolicy cachedPolicy = getCachedPolicy();
            Policy policy = cachedPolicy.getPolicy();
            String origRuleName = (String) getPageSessionAttribute(EDIT_RULE_NAME);
            policy.removeRule(origRuleName);
            policy.addRule(rule);
            setInlineAlertMessage(CCAlert.TYPE_INFO, "message.information", "policy.rule.updated");
            cachedPolicy.setPolicyModified(true);
        } catch (NameAlreadyExistsException e) {
            setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", getModel().getErrorString(e));
        } catch (InvalidNameException e) {
            setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", getModel().getErrorString(e));
        } catch (AMConsoleException e) {
            debug.warning("RuleEditViewBean.handleButton1Request", e);
            redirectToStartURL();
            forwarded = true;
        }
    }
    if (!forwarded) {
        forwardTo();
    }
}
Also used : Policy(com.sun.identity.policy.Policy) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) InvalidNameException(com.sun.identity.policy.InvalidNameException) CachedPolicy(com.sun.identity.console.policy.model.CachedPolicy) NameAlreadyExistsException(com.sun.identity.policy.NameAlreadyExistsException) Rule(com.sun.identity.policy.Rule) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Example 15 with Rule

use of com.sun.identity.policy.Rule in project OpenAM by OpenRock.

the class RuleEditViewBean method isActionSelected.

public boolean isActionSelected(ActionSchema as) {
    boolean selected = false;
    if (actionValues != null) {
        Set values = (Set) actionValues.get(as.getName());
        selected = (values != null) && !values.isEmpty();
    } else {
        try {
            Rule rule = getRule();
            Set actionNames = rule.getActionNames();
            selected = (actionNames != null) && actionNames.contains(as.getName());
        } catch (NameNotFoundException e) {
            selected = false;
        } catch (AMConsoleException e) {
            debug.warning("RuleEditViewBean.isActionSelected", e);
            selected = false;
        }
    }
    return selected;
}
Also used : Set(java.util.Set) NameNotFoundException(com.sun.identity.policy.NameNotFoundException) Rule(com.sun.identity.policy.Rule) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Aggregations

Rule (com.sun.identity.policy.Rule)28 Policy (com.sun.identity.policy.Policy)15 HashSet (java.util.HashSet)12 Set (java.util.Set)12 PolicyException (com.sun.identity.policy.PolicyException)9 SSOException (com.iplanet.sso.SSOException)8 Subject (com.sun.identity.policy.interfaces.Subject)8 AMException (com.iplanet.am.sdk.AMException)6 InvalidAuthContextException (com.sun.identity.authentication.internal.InvalidAuthContextException)6 ConfigurationException (com.sun.identity.common.configuration.ConfigurationException)6 UnknownPropertyNameException (com.sun.identity.common.configuration.UnknownPropertyNameException)6 AMConsoleException (com.sun.identity.console.base.model.AMConsoleException)6 NameNotFoundException (com.sun.identity.policy.NameNotFoundException)6 SMSException (com.sun.identity.sm.SMSException)6 FileNotFoundException (java.io.FileNotFoundException)6 IOException (java.io.IOException)6 HashMap (java.util.HashMap)6 Map (java.util.Map)6 LoginException (javax.security.auth.login.LoginException)6 ByteString (org.forgerock.opendj.ldap.ByteString)6