use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class PolicyOpViewBeanBase method populateConditionsTable.
protected void populateConditionsTable() throws AMConsoleException {
tblConditionsModel.clearAll();
CachedPolicy cachedPolicy = getCachedPolicy();
Policy policy = cachedPolicy.getPolicy();
Set conditionNames = policy.getConditionNames();
if ((conditionNames != null) && !conditionNames.isEmpty()) {
PolicyModel model = (PolicyModel) getModel();
String realmName = (String) getPageSessionAttribute(AMAdminConstants.CURRENT_REALM);
Map localizedCndTypeNames = model.getActiveConditionTypes(realmName);
boolean firstEntry = true;
for (Iterator iter = conditionNames.iterator(); iter.hasNext(); ) {
if (firstEntry) {
firstEntry = false;
} else {
tblConditionsModel.appendRow();
}
try {
String name = (String) iter.next();
Condition condition = policy.getCondition(name);
tblConditionsModel.setValue(TBL_CONDITIONS_DATA_NAME, name);
String cndTypeName = model.getConditionTypeName(realmName, condition);
String displayName = (String) localizedCndTypeNames.get(cndTypeName);
if (displayName == null) {
displayName = cndTypeName;
}
tblConditionsModel.setValue(TBL_CONDITIONS_DATA_TYPE, displayName);
tblConditionsModel.setValue(TBL_CONDITIONS_ACTION_HREF, stringToHex(name));
} catch (NameNotFoundException e) {
debug.warning("PolicyOpViewBeanBase.populateConditionsTable", e);
}
}
}
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class ReferralEditViewBean method handleButton1Request.
private void handleButton1Request(CachedPolicy cachedPolicy) throws ModelControlException {
Referral deleted = null;
String origName = (String) getPageSessionAttribute(EDIT_REFERRAL_NAME);
Policy policy = cachedPolicy.getPolicy();
try {
Referral referral = createReferral();
if (referral != null) {
String name = (String) propertySheetModel.getValue(REFERRAL_NAME);
if (origName.equals(name)) {
policy.replaceReferral(name, referral);
} else {
deleted = policy.removeReferral(origName);
policy.addReferral(name, referral);
}
deleted = null;
setInlineAlertMessage(CCAlert.TYPE_INFO, "message.information", "policy.referral.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 (NameNotFoundException e) {
setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", getModel().getErrorString(e));
} catch (AMConsoleException e) {
setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", e.getMessage());
} finally {
if (deleted != null) {
try {
policy.addReferral(origName, deleted);
} catch (NameAlreadyExistsException e) {
debug.warning("ReferralEditViewBean.handleButton1Request", e);
} catch (InvalidNameException e) {
debug.warning("ReferralEditViewBean.handleButton1Request", e);
}
}
}
forwardTo();
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class ReferralOpViewBeanBase method getCachedPolicy.
protected CachedPolicy getCachedPolicy() throws AMConsoleException {
CachedPolicy policy = null;
String cacheID = (String) getPageSessionAttribute(ProfileViewBeanBase.PG_SESSION_POLICY_CACHE_ID);
if (cacheID != null) {
PolicyCache cache = PolicyCache.getInstance();
PolicyModel model = (PolicyModel) getModel();
policy = model.getCachedPolicy(cacheID);
}
return policy;
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class PolicyOpViewBeanBase method handleTblRulesButtonDeleteRequest.
/**
* Handles delete rule request.
*
* @param event Request Invocation Event.
*/
public void handleTblRulesButtonDeleteRequest(RequestInvocationEvent event) throws ModelControlException {
CCActionTable table = (CCActionTable) getChild(TBL_RULES);
table.restoreStateData();
try {
CachedPolicy cachedPolicy = getCachedPolicy();
Policy policy = cachedPolicy.getPolicy();
Integer[] selected = tblRulesModel.getSelectedRows();
for (int i = 0; i < selected.length; i++) {
tblRulesModel.setRowIndex(selected[i].intValue());
String ruleName = (String) tblRulesModel.getValue(TBL_RULES_DATA_NAME);
policy.removeRule(ruleName);
}
cachedPolicy.setPolicyModified(true);
forwardTo();
} catch (AMConsoleException e) {
debug.warning("PolicyOpViewBeanBase.handleTblRulesButtonDeleteRequest", e);
redirectToStartURL();
}
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class PolicyOpViewBeanBase method handleTblSubjectsEditLinkRequest.
public void handleTblSubjectsEditLinkRequest(RequestInvocationEvent event) throws ModelControlException {
PolicyModel model = (PolicyModel) getModel();
String name = hexToString((String) getDisplayFieldValue(TBL_SUBJECTS_ACTION_HREF));
setPageSessionAttribute(SubjectEditViewBean.CALLING_VIEW_BEAN, getClass().getName());
setPageSessionAttribute(SubjectEditViewBean.EDIT_SUBJECT_NAME, name);
try {
CachedPolicy cachedPolicy = getCachedPolicy();
Policy policy = cachedPolicy.getPolicy();
Subject subject = policy.getSubject(name);
String realmName = (String) getPageSessionAttribute(AMAdminConstants.CURRENT_REALM);
String subjectType = model.getSubjectTypeName(realmName, subject);
String viewBeanURL = model.getSubjectViewBeanURL(realmName, subjectType);
unlockPageTrail();
if ((viewBeanURL != null) && (viewBeanURL.trim().length() > 0)) {
forwardToSubjectURL(viewBeanURL, name, subjectType, realmName, "edit");
} else {
forwardToSubjectEditViewBean(model, realmName, name, subjectType);
}
} catch (NameNotFoundException e) {
setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", model.getErrorString(e));
forwardTo();
} catch (AMConsoleException e) {
debug.warning("PolicyOpViewBeanBase.handleTblSubjectsEditLinkRequest", e);
redirectToStartURL();
}
}
Aggregations