18 * |
18 * |
19 * CDDL HEADER END |
19 * CDDL HEADER END |
20 */ |
20 */ |
21 |
21 |
22 /* |
22 /* |
23 * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. |
23 * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. |
24 */ |
24 */ |
25 |
25 |
26 package com.oracle.solaris.vp.panels.time.client.swing; |
26 package com.oracle.solaris.vp.panels.time.client.swing; |
27 |
27 |
28 import java.io.IOException; |
28 import java.io.IOException; |
29 import java.util.List; |
29 import java.util.List; |
30 import javax.management.*; |
|
31 import javax.swing.*; |
30 import javax.swing.*; |
32 import com.oracle.solaris.adr.Stability; |
|
33 import com.oracle.solaris.scf.common.ScfException; |
31 import com.oracle.solaris.scf.common.ScfException; |
34 import com.oracle.solaris.vp.panel.common.*; |
32 import com.oracle.solaris.vp.panel.common.*; |
35 import com.oracle.solaris.vp.panel.common.api.panel.MBeanUtil; |
|
36 import com.oracle.solaris.vp.panel.common.api.smf_old.SmfState; |
33 import com.oracle.solaris.vp.panel.common.api.smf_old.SmfState; |
37 import com.oracle.solaris.vp.panel.common.api.time.HasTimeMXBean; |
34 import com.oracle.solaris.vp.panel.common.api.time.HasTimeBean; |
38 import com.oracle.solaris.vp.panel.common.control.*; |
35 import com.oracle.solaris.vp.panel.common.control.*; |
39 import com.oracle.solaris.vp.panel.common.model.*; |
36 import com.oracle.solaris.vp.panel.common.model.*; |
40 import com.oracle.solaris.vp.panel.common.smf.*; |
37 import com.oracle.solaris.vp.panel.common.smf.*; |
41 import com.oracle.solaris.vp.panel.swing.control.PanelFrameControl; |
38 import com.oracle.solaris.vp.panel.swing.control.PanelFrameControl; |
42 import com.oracle.solaris.vp.panel.swing.model.SwingPanelDescriptor; |
39 import com.oracle.solaris.vp.panel.swing.model.SwingPanelDescriptor; |
45 import com.oracle.solaris.vp.util.swing.HasIcons; |
42 import com.oracle.solaris.vp.util.swing.HasIcons; |
46 |
43 |
47 @SuppressWarnings({"serial"}) |
44 @SuppressWarnings({"serial"}) |
48 public class TimePanelDescriptor |
45 public class TimePanelDescriptor |
49 extends ServicePanelDescriptor<ManagedObject> |
46 extends ServicePanelDescriptor<ManagedObject> |
50 implements SwingPanelDescriptor<ManagedObject>, HasIcons, HasTimeMXBean { |
47 implements SwingPanelDescriptor<ManagedObject>, HasIcons, HasTimeBean { |
51 |
48 |
52 // |
49 // |
53 // Static data |
50 // Static data |
54 // |
51 // |
55 |
52 |
65 // |
62 // |
66 // Instance data |
63 // Instance data |
67 // |
64 // |
68 |
65 |
69 private DefaultControl control; |
66 private DefaultControl control; |
70 private MXBeanTracker<TimeMXBean> beanTracker; |
67 private BeanTracker<Time> beanTracker; |
71 private boolean hasFullPrivs; |
68 private boolean hasFullPrivs; |
72 |
69 |
73 // |
70 // |
74 // Constructors |
71 // Constructors |
75 // |
72 // |
76 |
73 |
77 public TimePanelDescriptor(String id, ClientContext context) |
74 public TimePanelDescriptor(String id, ClientContext context) |
78 throws IOException, InstanceNotFoundException, ScfException, |
75 throws IOException, ScfException, |
79 InvalidScfDataException, MissingScfDataException, |
76 InvalidScfDataException, MissingScfDataException, |
80 TrackerException { |
77 TrackerException { |
81 |
78 |
82 super(id, context, SERVICE, INSTANCE); |
79 super(id, context, SERVICE, INSTANCE); |
83 |
80 |
84 ObjectName oName = MBeanUtil.makeObjectName( |
81 beanTracker = new BeanTracker<Time>( |
85 MBeanUtil.VP_PANEL_DOMAIN + ".time", "Time"); |
82 (new Time()).getName(), Time.class, context); |
86 beanTracker = new MXBeanTracker<TimeMXBean>( |
|
87 oName, TimeMXBean.class, Stability.PRIVATE, context); |
|
88 |
83 |
89 hasFullPrivs = getTimeMXBean().issufficientlyPrivileged(); |
84 hasFullPrivs = getTimeBean().issufficientlyPrivileged(); |
90 |
85 |
91 refresh(true); |
86 refresh(true); |
92 control = new PanelFrameControl<TimePanelDescriptor>(this); |
87 control = new PanelFrameControl<TimePanelDescriptor>(this); |
93 control.addChildren(new MainControl(this)); |
88 control.addChildren(new MainControl(this)); |
94 } |
89 } |