ConfigureOAuth2ViewBean.java revision 8b6198b1170e3128c5df83267597f0058d07c70d
286N/Apackage com.sun.identity.console.task;
286N/A
286N/Aimport java.text.MessageFormat;
286N/Aimport java.util.Set;
286N/A
286N/Aimport javax.servlet.http.HttpServletRequest;
286N/A
286N/Aimport com.iplanet.jato.view.View;
286N/Aimport com.iplanet.jato.view.event.ChildContentDisplayEvent;
286N/Aimport com.iplanet.jato.view.event.DisplayEvent;
286N/Aimport com.sun.identity.console.base.AMPrimaryMastHeadViewBean;
286N/Aimport com.sun.identity.console.base.AMPropertySheet;
286N/Aimport com.sun.identity.console.base.model.AMConsoleException;
286N/Aimport com.sun.identity.console.base.model.AMModel;
286N/Aimport com.sun.identity.console.base.model.AMPropertySheetModel;
286N/Aimport com.sun.identity.console.task.model.OAuth2Model;
286N/Aimport com.sun.identity.console.task.model.OAuth2ModelImpl;
286N/Aimport com.sun.identity.console.task.model.TaskModel;
286N/Aimport com.sun.web.ui.model.CCActionTableModel;
286N/Aimport com.sun.web.ui.model.CCPageTitleModel;
286N/Aimport com.sun.web.ui.view.alert.CCAlert;
286N/Aimport com.sun.web.ui.view.html.CCDropDownMenu;
286N/Aimport com.sun.web.ui.view.pagetitle.CCPageTitle;
286N/A
286N/Apublic class ConfigureOAuth2ViewBean
286N/A extends AMPrimaryMastHeadViewBean
286N/A{
286N/A public static final String DEFAULT_DISPLAY_URL =
286N/A "/console/task/ConfigureOAuth2.jsp";
286N/A private static final String PAGETITLE = "pgtitle";
286N/A private static final String PROPERTY_ATTRIBUTE = "propertyAttributes";
286N/A private static final String REALM = "tfRealm";
286N/A private static final String TITLE_MESSAGE = "configure.oauth2profile.title.message";
286N/A
286N/A private CCPageTitleModel ptModel;
286N/A private CCActionTableModel tableModel;
286N/A private AMPropertySheetModel propertySheetModel;
286N/A
286N/A
286N/A //public void forwardTo(RequestContext rc) {
286N/A //}
286N/A
286N/A public ConfigureOAuth2ViewBean() {
286N/A super("ConfigureOAuth2");
286N/A setDefaultDisplayURL(DEFAULT_DISPLAY_URL);
286N/A createPageTitleModel();
286N/A createPropertyModel();
286N/A registerChildren();
286N/A }
286N/A
286N/A protected void registerChildren() {
286N/A //ptModel.registerChildren(this);
286N/A propertySheetModel.registerChildren(this);
286N/A registerChild(PAGETITLE, CCPageTitle.class);
286N/A super.registerChildren();
286N/A }
286N/A
286N/A protected View createChild(String name) {
286N/A View view = null;
286N/A
286N/A if (name.equals(PAGETITLE)) {
286N/A view = new CCPageTitle(this, ptModel, name);
286N/A } else if (ptModel.isChildSupported(name)) {
286N/A view = ptModel.createChild(this, name);
286N/A } else if (name.equals(PROPERTY_ATTRIBUTE)) {
286N/A view = new AMPropertySheet(this, propertySheetModel, name);
286N/A } else if (propertySheetModel.isChildSupported(name)) {
286N/A view = propertySheetModel.createChild(this, name, getModel());
286N/A } else {
286N/A view = super.createChild(name);
286N/A }
286N/A
286N/A return view;
286N/A }
286N/A
286N/A private void createPageTitleModel() {
286N/A ptModel = new CCPageTitleModel(
286N/A getClass().getClassLoader().getResourceAsStream(
286N/A "com/sun/identity/console/twoBtnsPageTitle.xml"));
286N/A ptModel.setValue("button1", "button.create");
286N/A ptModel.setValue("button2", "button.cancel");
286N/A }
286N/A
286N/A private void createPropertyModel() {
286N/A propertySheetModel = new AMPropertySheetModel(
286N/A getClass().getClassLoader().getResourceAsStream(
286N/A "com/sun/identity/console/propertyConfigureOAuth2.xml"));
286N/A propertySheetModel.clear();
286N/A }
286N/A
286N/A protected AMModel getModelInternal() {
286N/A HttpServletRequest req = getRequestContext().getRequest();
286N/A return new OAuth2ModelImpl(req, getPageSessionAttributes());
286N/A }
286N/A
286N/A public void beginDisplay(DisplayEvent e) {
286N/A try {
286N/A OAuth2Model model = (OAuth2Model) getModel();
286N/A Set realms = model.getRealms();
286N/A CCDropDownMenu menuRealm = (CCDropDownMenu) getChild(REALM);
286N/A menuRealm.setOptions(createOptionList(realms));
286N/A
286N/A String realm = getRequestContext().getRequest().getParameter("realm");
286N/A if (realm != null && !realm.trim().isEmpty()) {
286N/A setDisplayFieldValue(REALM, realm);
286N/A }
286N/A final String titleMessage = model.getLocalizedString(TITLE_MESSAGE);
286N/A ptModel.setPageTitleText(MessageFormat.format(titleMessage, model.getDisplayName()));
286N/A ptModel.setPageTitleHelpMessage(model.getLocalizedHelpMessage());
286N/A } catch (AMConsoleException ex) {
286N/A setInlineAlertMessage(CCAlert.TYPE_ERROR, "message.error",
286N/A ex.getMessage());
286N/A }
286N/A }
286N/A
286N/A public String endPropertyAttributesDisplay(
286N/A ChildContentDisplayEvent event
286N/A ) {
286N/A String html = event.getContent();
286N/A return html;
286N/A }
286N/A
286N/A static String removeSortHref(String html) {
286N/A return html;
286N/A }
286N/A}
286N/A