components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java
author Lokanath Das <Lokanath.Das@Oracle.COM>
Thu, 28 Jun 2012 11:14:48 -0700
changeset 894 8e0753ec3941
parent 843 190d2b5889a8
child 1305 d11b04684351
child 2805 4888f6212f94
permissions -rw-r--r--
7179164 usermgr: ldap search takes too long
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     1
/*
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     2
 * CDDL HEADER START
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     3
 *
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     5
 * Common Development and Distribution License (the "License").
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     6
 * You may not use this file except in compliance with the License.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     7
 *
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     8
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
     9
 * or http://www.opensolaris.org/os/licensing.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    10
 * See the License for the specific language governing permissions
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    11
 * and limitations under the License.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    12
 *
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    13
 * When distributing Covered Code, include this CDDL HEADER in each
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    14
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    15
 * If applicable, add the following below this CDDL HEADER, with the
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    16
 * fields enclosed by brackets "[]" replaced with your own identifying
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    17
 * information: Portions Copyright [yyyy] [name of copyright owner]
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    18
 *
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    19
 * CDDL HEADER END
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    20
 */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    21
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    22
/*
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    23
 * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    24
 */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    25
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    26
package com.oracle.solaris.vp.panels.usermgr.client.swing;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    27
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    28
import java.util.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    29
import java.util.logging.Level;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    30
import javax.management.ObjectName;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    31
import javax.swing.Icon;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    32
import com.oracle.solaris.adr.Stability;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    33
import com.oracle.solaris.rad.ObjectException;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    34
import com.oracle.solaris.vp.panel.common.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    35
import com.oracle.solaris.vp.panel.common.action.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    36
import com.oracle.solaris.vp.panel.common.api.panel.MBeanUtil;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    37
import com.oracle.solaris.vp.panel.common.control.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    38
import com.oracle.solaris.vp.panel.common.model.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    39
import com.oracle.solaris.vp.panel.swing.control.PanelFrameControl;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    40
import com.oracle.solaris.vp.panel.swing.model.SwingPanelDescriptor;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    41
import com.oracle.solaris.rad.usermgr.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    42
import com.oracle.solaris.vp.util.misc.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    43
import com.oracle.solaris.vp.util.misc.finder.Finder;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    44
import com.oracle.solaris.vp.util.misc.property.*;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    45
import com.oracle.solaris.vp.util.swing.HasIcons;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    46
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    47
public class UserMgrPanelDescriptor
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    48
    extends AbstractPanelDescriptor<UserManagedObject>
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    49
    implements SwingPanelDescriptor<UserManagedObject>, HasIcons,
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    50
    ConnectionListener {
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    51
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    52
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    53
    // Static data
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    54
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    55
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    56
    // Constants needed for registering the MBean
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    57
    public static final String INTERFACE_NAME =
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    58
    	"com.oracle.solaris.rad.usermgr";
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    59
    public static final ObjectName OBJECT_NAME =
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    60
        MBeanUtil.makeObjectName(INTERFACE_NAME, "UserMgr");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    61
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    62
    public static final String USER_TYPE_NORMAL = "normal";
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    63
    public static final String SCOPE_FILES = "files";
894
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
    64
    public static final String MATCH_ALL = "";
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    65
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    66
    public static final String PASSWORD = "PASSWORD";
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    67
    public static final String NOTACTIVATED = "NOTACTIVATED";
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    68
    public static final String LOCKED = "LOCKED";
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    69
    public static final String UNKNOWN = "UNKNOWN";
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    70
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    71
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    72
    // Instance data
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    73
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    74
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    75
    private MainControl mc;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    76
    private DefaultControl control;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    77
    private MXBeanTracker<UserMgrMXBean> beanTracker;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    78
    private UserType uType;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    79
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    80
    private String scopeStr = SCOPE_FILES;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    81
    private String typeStr = USER_TYPE_NORMAL;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    82
    private String matchStr = MATCH_ALL;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    83
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    84
    // Assignable lists
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    85
    private List<String> scopeList = null;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    86
    private List<String> shellList = null;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    87
    private List<Group> groupList = null;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    88
    private List<String> profileList = null;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    89
    private List<String> authList = null;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    90
    private List<String> roleList = null;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    91
    private List<String> supplgroups = null;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    92
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
    93
    private User defUser = null;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    94
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    95
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    96
    // Constructors
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    97
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    98
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
    99
    /**
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   100
     * Constructs a {@code UserMgrPanelDescriptor}.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   101
     *
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   102
     * @param	    id
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   103
     *		    a unique identifier for this Panel, taken from the panel
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   104
     *		    registration
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   105
     *
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   106
     * @param	    context
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   107
     *		    a handle to interact with the Visual Panels client
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   108
     */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   109
    public UserMgrPanelDescriptor(String id, ClientContext context)
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   110
	throws TrackerException, ActionFailedException {
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   111
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   112
        super(id, context);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   113
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   114
	beanTracker = new MXBeanTracker<UserMgrMXBean>(
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   115
	    OBJECT_NAME, UserMgrMXBean.class, Stability.PRIVATE, context);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   116
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   117
	setComparator(SimpleHasId.COMPARATOR);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   118
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   119
	// Initialize list of users
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   120
	initUsers(SCOPE_FILES, USER_TYPE_NORMAL, MATCH_ALL);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   121
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   122
        control = new PanelFrameControl<UserMgrPanelDescriptor>(this);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   123
        mc = new MainControl(this);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   124
	control.addChildren(mc);
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   125
	context.addConnectionListener(this);
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   126
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   127
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   128
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   129
    // PanelDescriptor methods
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   130
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   131
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   132
    /**
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   133
     * Returns the top-most Control for this PanelDescriptor.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   134
     */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   135
    @Override
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   136
    public Control getControl() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   137
        return control;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   138
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   139
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   140
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   141
    // HasIcons methods
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   142
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   143
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   144
    /**
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   145
     * Returns a list of icons.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   146
     */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   147
    @Override
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   148
    public List<? extends Icon> getIcons() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   149
	return UserManagedObject.userIcons;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   150
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   151
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   152
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   153
    // ManagedObject methods
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   154
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   155
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   156
    /**
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   157
     * Stops monitoring the connection to the remote host.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   158
     */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   159
    @Override
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   160
    public void dispose() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   161
	beanTracker.dispose();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   162
	super.dispose();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   163
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   164
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   165
    /**
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   166
     * Returns the name of this Managed Object.
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   167
     */
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   168
    @Override
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   169
    public String getName() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   170
	return Finder.getString("panel.usermgr.name");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   171
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   172
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   173
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   174
    // AbstractManagedObject methods
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   175
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   176
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   177
    @Override
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   178
    public void addChildren(UserManagedObject... toAdd) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   179
	super.addChildren(toAdd);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   180
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   181
	ChangeableAggregator aggregator = getChangeableAggregator();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   182
	for (UserManagedObject umo : toAdd) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   183
	    aggregator.addChangeables(umo.getChangeableAggregator());
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   184
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   185
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   186
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   187
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   188
    // UserMgrPanelDescriptor methods
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   189
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   190
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   191
    public void removeChildren(UserManagedObject toRemove) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   192
	super.removeChildren(toRemove);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   193
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   194
	ChangeableAggregator aggregator = getChangeableAggregator();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   195
	aggregator.removeChangeable(toRemove.getChangeableAggregator());
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   196
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   197
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   198
    public void removeAllChildren() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   199
	super.clearChildren();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   200
	ChangeableAggregator aggregator = getChangeableAggregator();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   201
	aggregator.reset();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   202
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   203
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   204
    public UserMgrMXBean getUserMgrBean() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   205
        return beanTracker.getBean();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   206
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   207
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   208
    public UserManagedObject getUserManagedObject(String id) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   209
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   210
	SimpleHasId tmpHasId = new SimpleHasId();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   211
	synchronized (children) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   212
	    tmpHasId.setId(id);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   213
	    int index = Collections.binarySearch(children, tmpHasId,
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   214
		SimpleHasId.COMPARATOR);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   215
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   216
	    if (index >= 0) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   217
		return children.get(index);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   218
	    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   219
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   220
	    return null;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   221
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   222
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   223
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   224
    public void deleteUserManagedObject(UserManagedObject toRemove) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   225
	removeChildren(toRemove);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   226
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   227
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   228
    public void addUserManagedObject(UserManagedObject toAdd) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   229
	addChildren(toAdd);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   230
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   231
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   232
    public void saveDeletedUser(UserManagedObject umo)
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   233
        throws ActionAbortedException,
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   234
	ActionFailedException, ActionUnauthorizedException {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   235
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   236
	try {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   237
	    getUserMgrBean().deleteUser(umo.getName());
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   238
	    deleteUserManagedObject(umo);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   239
	} catch (SecurityException se) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   240
	    throw new ActionUnauthorizedException(se);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   241
	} catch (ObjectException e) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   242
	    UserMgrError ume = e.getPayload(UserMgrError.class);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   243
	    String msg = Finder.getString("usermgr.error.invalidData");
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   244
	    String err = Finder.getString(
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   245
		"usermgr.error.delete", umo.getUsername());
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   246
	    getLog().log(Level.SEVERE, err + msg, e);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   247
	    throw new ActionFailedException(err + msg);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   248
	// Any other remaining exceptions
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   249
	} catch (Exception e) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   250
	    String msg = Finder.getString("usermgr.error.system");
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   251
	    String err = Finder.getString(
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   252
		"usermgr.error.delete", umo.getUsername());
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   253
	    getLog().log(Level.SEVERE, err + msg, e);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   254
	    throw new ActionFailedException(err + msg);
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   255
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   256
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   257
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   258
    public void saveAddedUser(UserManagedObject umo)
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   259
        throws ActionAbortedException,
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   260
	ActionFailedException, ActionUnauthorizedException {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   261
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   262
	try {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   263
	    char[] password = umo.getPassword();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   264
	    User user = getUserMgrBean().addUser(umo.getNewUser(), password);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   265
	    addUserManagedObject(umo);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   266
	    Arrays.fill(password, (char)0);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   267
	    umo.updateUser(user);
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   268
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   269
	} catch (SecurityException se) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   270
	    throw new ActionUnauthorizedException(se);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   271
	} catch (ObjectException e) {
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   272
		UserMgrError ume = e.getPayload(UserMgrError.class);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   273
		String msg;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   274
		UserMgrErrorType error = (ume != null) ?
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   275
		    ume.getErrorCode() : UserMgrErrorType.INVALIDDATA;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   276
		switch (error) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   277
		    case USEREXISTS:
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   278
			msg = Finder.getString("usermgr.error.userExists");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   279
			break;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   280
		    case PASSERROR:
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   281
			msg = Finder.getString("usermgr.error.passError");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   282
			break;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   283
		    default: // Invalid Data
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   284
			msg = Finder.getString("usermgr.error.invalidData");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   285
			break;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   286
		}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   287
		String err = Finder.getString("usermgr.error.add",
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   288
		    umo.getUsername());
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   289
		getLog().log(Level.SEVERE, err + msg, e);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   290
    		deleteUserManagedObject(umo);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   291
		throw new ActionFailedException(err + msg);
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   292
	// Any other remaining exceptions
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   293
	} catch (Exception e) {
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   294
		String msg = Finder.getString("usermgr.error.system");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   295
		String err = Finder.getString(
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   296
		    "usermgr.error.add", umo.getUsername());
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   297
		getLog().log(Level.SEVERE, err + msg, e);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   298
		throw new ActionFailedException(err + msg);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   299
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   300
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   301
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   302
    public void saveModifiedUsers() throws ActionAbortedException,
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   303
	ActionFailedException, ActionUnauthorizedException {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   304
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   305
	List<UserManagedObject> kids = getChildren();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   306
	for (UserManagedObject umo : kids) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   307
	    if (umo.getChangeableAggregator().isChanged()) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   308
		User user = umo.getModifiedUser();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   309
		UserChangeFields changes = umo.getModifiedChanges();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   310
		try {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   311
		    if (user != null) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   312
			char[] password = null;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   313
			if (umo.getPassProperty().isChanged())
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   314
			    password = umo.getPassword();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   315
			getUserMgrBean().modifyUser(user, password, changes);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   316
			if (password != null)
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   317
			    Arrays.fill(password, (char)0);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   318
		    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   319
		} catch (SecurityException se) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   320
		    throw new ActionUnauthorizedException(se);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   321
		} catch (ObjectException e) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   322
		    UserMgrError ume = e.getPayload(UserMgrError.class);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   323
		    String msg;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   324
		    UserMgrErrorType error = (ume != null) ?
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   325
			ume.getErrorCode() : UserMgrErrorType.INVALIDDATA;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   326
		    switch (error) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   327
			case PASSERROR:
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   328
			    msg = Finder.getString("usermgr.error.passError");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   329
			    break;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   330
			default:
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   331
			    msg = Finder.getString("usermgr.error.invalidData");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   332
			    break;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   333
		    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   334
		    String err = Finder.getString(
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   335
			"usermgr.error.modify", umo.getUsername());
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   336
		    getLog().log(Level.SEVERE, err + msg, e);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   337
		    throw new ActionFailedException(err + msg);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   338
		// Any other remaining exceptions
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   339
		} catch (Exception e) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   340
		    String msg = Finder.getString("usermgr.error.system");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   341
		    String err = Finder.getString(
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   342
			"usermgr.error.modify", umo.getUsername());
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   343
		    getLog().log(Level.SEVERE, err + msg, e);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   344
		    throw new ActionFailedException(err + msg);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   345
		}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   346
		umo.getChangeableAggregator().save();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   347
	    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   348
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   349
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   350
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   351
    public List<Group> getGroups() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   352
	return groupList;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   353
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   354
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   355
    public List<String> getSupplGroups() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   356
	return supplgroups;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   357
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   358
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   359
    public List<String> getShells() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   360
        return shellList;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   361
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   362
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   363
    public List<String> getScopes() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   364
        return scopeList;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   365
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   366
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   367
    public List<String> getProfiles() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   368
        return profileList;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   369
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   370
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   371
    public List<String> getAuths() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   372
        return authList;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   373
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   374
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   375
    public List<String> getRoles() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   376
        return roleList;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   377
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   378
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   379
    public UserImpl getDefaultUser() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   380
	UserImpl defaultUser = new UserImpl(
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   381
		"", 0L, defUser.getGroupID(),
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   382
		"", "", defUser.getDefaultShell(),
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   383
		0, 0, 0, 0,
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   384
		"", "", "", "", "", "",
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   385
		"", "", "", "", "", "",
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   386
		null, null, null, null, null, null);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   387
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   388
        return defaultUser;
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   389
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   390
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   391
    public void initUsers(String scopeStr,
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   392
    		String typeStr, String matchStr)
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   393
		throws ActionFailedException {
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   394
	int count = 0;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   395
	String statusStr;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   396
	String listTitle;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   397
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   398
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   399
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   400
	statusStr = Finder.getString("usermgr.status.scope") +
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   401
	    " " + scopeStr;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   402
	if (typeStr.equals(USER_TYPE_NORMAL)) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   403
	    uType = UserType.NORMAL;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   404
	    listTitle = Finder.getString("usermgr.list.title.user");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   405
	} else {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   406
	    uType = UserType.ROLE;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   407
	    listTitle = Finder.getString("usermgr.list.title.role");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   408
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   409
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   410
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   411
	removeAllChildren();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   412
	try {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   413
	    UserMgrMXBean bean = getUserMgrBean();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   414
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   415
	    // Set scope only if the scope changed
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   416
	    if (scopeStr.equals(this.scopeStr) == false) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   417
		ScopeType sType;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   418
		if (scopeStr.equals(SCOPE_FILES)) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   419
		    sType = ScopeType.FILES;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   420
		} else {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   421
		    sType = ScopeType.LDAP;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   422
		}
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   423
		bean.selectScope(sType);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   424
		this.scopeStr = scopeStr;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   425
	    }
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   426
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   427
	    setFilter(uType, matchStr);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   428
	    this.typeStr = typeStr;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   429
	    this.matchStr = matchStr;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   430
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   431
	    List<User> users = getUsers();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   432
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   433
	    boolean uTypeSet = false;
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   434
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   435
	    for (User user : users) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   436
		String username = user.getUsername();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   437
		if (uTypeSet == false) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   438
		    uType = bean.getUserType(username);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   439
		    uTypeSet = true;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   440
		}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   441
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   442
		UserManagedObject umo = new UserManagedObject(this,
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   443
		    user, uType, null, false);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   444
		addChildren(umo);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   445
	    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   446
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   447
	    // Get Assignable Lists
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   448
	    scopeList = bean.getscopes();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   449
	    groupList = bean.getgroups();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   450
	    shellList = bean.getshells();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   451
	    authList = bean.getauths();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   452
	    profileList = bean.getprofiles();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   453
	    roleList = bean.getroles();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   454
	    supplgroups = bean.getsupplGroups();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   455
	    defUser = bean.getdefaultUser();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   456
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   457
	} catch (Exception e) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   458
	    String msg = Finder.getString("usermgr.error.system");
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   459
	    throw new ActionFailedException(msg);
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   460
	} finally {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   461
	    setStatusText(statusStr);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   462
	    if (mc != null) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   463
		mc.setListTitle(listTitle);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   464
	    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   465
        }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   466
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   467
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   468
    /*
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   469
     * Solaris provides 3 levels of password change:
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   470
     *  1. Can change any password
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   471
     *  2. Can only set initial password
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   472
     *  3. Cannot change any password
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   473
     */
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   474
    public boolean canChangePassword(UserManagedObject umo) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   475
	String statusStr =  defUser.getAccountStatus();
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   476
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   477
	if (statusStr.equals(PASSWORD)) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   478
	    return true;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   479
	} else if (statusStr.equals(LOCKED)) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   480
            return false;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   481
	} else if (statusStr.equals(NOTACTIVATED) && (umo == null ||
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   482
		umo.getAccountStatus().equals(UNKNOWN) ||
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   483
		umo.getAccountStatus().equals(NOTACTIVATED))) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   484
	    return true;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   485
	}
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   486
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   487
        return false;
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   488
    }
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   489
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   490
    public boolean isTypeRole() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   491
        return (uType == UserType.ROLE ? true : false);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   492
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   493
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   494
    public String getTypeString() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   495
        return (uType == UserType.ROLE ? "role" : "user");
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   496
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   497
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   498
    public String getScope() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   499
        return (scopeStr);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   500
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   501
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   502
    public String getType() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   503
        return (typeStr);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   504
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   505
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   506
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   507
    public String getMatch() {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   508
        return (matchStr);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   509
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   510
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   511
    /*
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   512
     * Connection Listener interfaces
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   513
     */
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   514
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   515
    /*
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   516
     * If a role assumption or user change occurs because
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   517
     * of permission/auth failure, initialize the users list
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   518
     */
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   519
    public void connectionChanged(ConnectionEvent ce) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   520
	try {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   521
	    initUsers(scopeStr, typeStr, matchStr);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   522
        } catch (Exception e) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   523
            getLog().log(Level.SEVERE, "Error setting filter.", e);
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   524
	}
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   525
    }
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   526
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   527
    public void connectionFailed(ConnectionEvent ce) {
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   528
	setStatusText(Finder.getString("usermgr.error.connfailed"));
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   529
    }
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   530
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   531
    //
894
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   532
    // Get the user for the given user name
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   533
    //
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   534
    public User getUser(String name) {
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   535
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   536
	User user = null;
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   537
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   538
	try {
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   539
	    user = getUserMgrBean().getUser(name);
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   540
        } catch (ObjectException e) {
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   541
            getLog().log(Level.SEVERE, "Error getting user " +
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   542
		name + " : ", e);
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   543
	}
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   544
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   545
	return user;
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   546
    }
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   547
8e0753ec3941 7179164 usermgr: ldap search takes too long
Lokanath Das <Lokanath.Das@Oracle.COM>
parents: 843
diff changeset
   548
    //
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   549
    // Private methods
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   550
    //
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   551
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   552
    private List<User> getUsers() {
843
190d2b5889a8 7164778 usermgr: Remove Advanced settings button from New User dialog in User Manager GUI
Lokanath Das <Lokanath.Das@Sun.COM>
parents: 827
diff changeset
   553
827
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   554
	List<User> users = null;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   555
	try {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   556
	    users = getUserMgrBean().getusers();
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   557
        } catch (ObjectException e) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   558
            getLog().log(Level.SEVERE, "Error getting user list.", e);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   559
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   560
	return users;
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   561
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   562
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   563
    private void setFilter(UserType utype, String search) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   564
	try {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   565
	    getUserMgrBean().setFilter(utype, search);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   566
        } catch (Exception e) {
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   567
            getLog().log(Level.SEVERE, "Error setting filter.", e);
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   568
	}
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   569
    }
0944d8c0158b 7169052 Integrate Visual Panels into Userland
Dan Labrecque <dan.labrecque@oracle.com>
parents:
diff changeset
   570
}