use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class SubjectOpViewBeanBase 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 SubjectEditViewBean method handleButton1Request.
private void handleButton1Request(CachedPolicy cachedPolicy) throws ModelControlException {
submitCycle = true;
Subject deleted = null;
String origName = (String) getPageSessionAttribute(EDIT_SUBJECT_NAME);
Policy policy = cachedPolicy.getPolicy();
try {
Subject subject = createSubject();
if (subject != null) {
String name = (String) propertySheetModel.getValue(SUBJECT_NAME);
if (origName.equals(name)) {
policy.replaceSubject(name, subject, isExclusive());
} else {
deleted = policy.removeSubject(origName);
policy.addSubject(name, subject, isExclusive());
}
deleted = null;
setInlineAlertMessage(CCAlert.TYPE_INFO, "message.information", "policy.subject.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.addSubject(origName, deleted);
} catch (NameAlreadyExistsException e) {
debug.warning("SubjectEditViewBean.handleButton1Request", e);
} catch (InvalidNameException e) {
debug.warning("SubjectEditViewBean.handleButton1Request", e);
}
}
}
forwardTo();
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class PolicyOpViewBeanBase method handleTblSubjectsButtonDeleteRequest.
/**
* Handles delete subject request.
*
* @param event Request Invocation Event.
*/
public void handleTblSubjectsButtonDeleteRequest(RequestInvocationEvent event) throws ModelControlException {
CCActionTable table = (CCActionTable) getChild(TBL_SUBJECTS);
table.restoreStateData();
try {
CachedPolicy cachedPolicy = getCachedPolicy();
Policy policy = cachedPolicy.getPolicy();
Integer[] selected = tblSubjectsModel.getSelectedRows();
for (int i = 0; i < selected.length; i++) {
tblSubjectsModel.setRowIndex(selected[i].intValue());
String subjectName = (String) tblSubjectsModel.getValue(TBL_SUBJECTS_DATA_NAME);
policy.removeSubject(subjectName);
}
cachedPolicy.setPolicyModified(true);
populateSubjectsTable();
forwardTo();
} catch (AMConsoleException e) {
debug.warning("PolicyOpViewBeanBase.handleTblSubjectsButtonDeleteRequest", e);
redirectToStartURL();
}
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class PolicyOpViewBeanBase method reconstructPolicyGeneral.
private boolean reconstructPolicyGeneral(PolicyModel model) throws AMConsoleException {
boolean bError = false;
String policyName = (String) propertySheetModel.getValue(PolicyModel.TF_NAME);
policyName = policyName.trim();
String description = (String) propertySheetModel.getValue(ATTR_DESCRIPTION);
description = description.trim();
String isActive = (String) propertySheetModel.getValue(ATTR_ISACTIVE);
boolean active = (isActive != null) && isActive.equals("true");
if (policyName.length() == 0) {
setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", "policy.missing.policyName");
bError = true;
return bError;
}
CachedPolicy cachedPolicy = getCachedPolicy();
Policy policy = cachedPolicy.getPolicy();
try {
policy.setDescription(description);
policy.setActive(active);
policy.setName(policyName);
} catch (InvalidNameException e) {
setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error", model.getErrorString(e));
bError = true;
}
return bError;
}
use of com.sun.identity.console.policy.model.CachedPolicy in project OpenAM by OpenRock.
the class PolicyOpViewBeanBase method populateSubjectsTable.
protected void populateSubjectsTable() throws AMConsoleException {
tblSubjectsModel.clearAll();
CachedPolicy cachedPolicy = getCachedPolicy();
Policy policy = cachedPolicy.getPolicy();
Set subjectsNames = policy.getSubjectNames();
if ((subjectsNames != null) && !subjectsNames.isEmpty()) {
PolicyModel model = (PolicyModel) getModel();
String realmName = (String) getPageSessionAttribute(AMAdminConstants.CURRENT_REALM);
QueryResults queryResults = model.getActiveSubjectTypes(realmName);
Map localizedSbjTypeNames = (Map) queryResults.getResults();
boolean firstEntry = true;
for (Iterator iter = subjectsNames.iterator(); iter.hasNext(); ) {
if (firstEntry) {
firstEntry = false;
} else {
tblSubjectsModel.appendRow();
}
try {
String name = (String) iter.next();
Subject subject = policy.getSubject(name);
tblSubjectsModel.setValue(TBL_SUBJECTS_DATA_NAME, name);
String sbjTypeName = model.getSubjectTypeName(realmName, subject);
String displayName = (String) localizedSbjTypeNames.get(sbjTypeName);
if (displayName == null) {
displayName = sbjTypeName;
}
tblSubjectsModel.setValue(TBL_SUBJECTS_DATA_TYPE, displayName);
tblSubjectsModel.setValue(TBL_SUBJECTS_ACTION_HREF, stringToHex(name));
} catch (NameNotFoundException e) {
debug.warning("PolicyOpViewBeanBase.populateSubjectsTable", e);
}
}
}
}
Aggregations