usr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/RolesSettings.java
author Stephen Talley <stephen.talley@oracle.com>
Fri, 27 Apr 2012 00:52:26 -0400
changeset 847 a8e124b894b8
permissions -rw-r--r--
7095663 A GUI needed for User Management 7158462 modify RAD usermgr module to support user/role cmds functionality
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
847
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     1
/*
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     2
 * CDDL HEADER START
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     3
 *
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     5
 * Common Development and Distribution License (the "License").
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     6
 * You may not use this file except in compliance with the License.
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     7
 *
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     8
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
     9
 * or http://www.opensolaris.org/os/licensing.
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    10
 * See the License for the specific language governing permissions
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    11
 * and limitations under the License.
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    12
 *
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    13
 * When distributing Covered Code, include this CDDL HEADER in each
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    14
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    15
 * If applicable, add the following below this CDDL HEADER, with the
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    16
 * fields enclosed by brackets "[]" replaced with your own identifying
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    17
 * information: Portions Copyright [yyyy] [name of copyright owner]
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    18
 *
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    19
 * CDDL HEADER END
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    20
 */
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    21
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    22
/*
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    23
 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    24
 */
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    25
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    26
package com.oracle.solaris.vp.panels.usermgr.client.swing;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    27
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    28
import javax.swing.*;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    29
import com.oracle.solaris.vp.util.misc.finder.Finder;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    30
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    31
/**
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    32
 * Implements Advanced Settings for Roles
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    33
 */
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    34
public class RolesSettings extends AdvancedSettings {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    35
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    36
    private static final String NAME =
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    37
    	Finder.getString("usermgr.advanced.roles");
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    38
    private static final Icon ICON = Finder.getIcon(
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    39
	"images/roles-24.png");
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    40
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    41
    private UserMgrPanelDescriptor panelDesc = null;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    42
    private UserManagedObject userObj = null;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    43
    private RolesPanel panel = null;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    44
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    45
    public RolesSettings() {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    46
	super(NAME, ICON);
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    47
    }
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    48
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    49
    public void setUser(UserManagedObject userObj) {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    50
	if (panel == null) {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    51
		panel = new RolesPanel(panelDesc, userObj);
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    52
	}
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    53
	panel.setUser(userObj);
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    54
	String roleStr = userObj.getRoles();
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    55
	if (roleStr == null) {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    56
	    roleStr = "";
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    57
	}
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    58
	getProperty().update(roleStr, true);
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    59
    }
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    60
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    61
    public void updateUser() {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    62
	userObj = panel.updateUser();
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    63
	String roleStr = userObj.getRoles();
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    64
	if (roleStr == null) {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    65
	    roleStr = "";
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    66
	}
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    67
	getProperty().setValue(roleStr);
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    68
    }
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    69
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    70
    public boolean isChanged() {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    71
        if (userObj != null) {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    72
	    return (userObj.getRolesProperty().isChanged());
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    73
	} else {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    74
	    return false;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    75
	}
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    76
    }
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    77
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    78
    public void init(UserMgrPanelDescriptor panelDesc) {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    79
	this.panelDesc = panelDesc;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    80
    }
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    81
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    82
    public JPanel getPanel() {
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    83
    	return panel;
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    84
    }
a8e124b894b8 7095663 A GUI needed for User Management
Stephen Talley <stephen.talley@oracle.com>
parents:
diff changeset
    85
}