Mercurial > hg > openjdk > jdk6 > jdk
changeset 1501:c4a790ecf18a
7017818: NLS: JConsoleResources.java cannot be handled by translation team
Reviewed-by: mchung, mfang
line wrap: on
line diff
--- a/make/netbeans/jconsole/build.xml Sat Dec 03 22:30:28 2016 +0000 +++ b/make/netbeans/jconsole/build.xml Sun Dec 04 00:19:27 2016 +0000 @@ -50,6 +50,7 @@ <fileset dir="${classes.dir}"> <include name="sun/tools/jconsole/**/*.class"/> <include name="com/sun/tools/jconsole/**/*.class"/> + <include name="sun/tools/jconsole/resources/*.properties"/> <include name="sun/tools/jconsole/resources/*.gif"/> <include name="sun/tools/jconsole/resources/*.png"/> </fileset>
--- a/make/sun/jconsole/FILES.gmk Sat Dec 03 22:30:28 2016 +0000 +++ b/make/sun/jconsole/FILES.gmk Sun Dec 04 00:19:27 2016 +0000 @@ -30,17 +30,22 @@ MANIFEST = sun/tools/jconsole/manifest PNG_FILES = \ - sun/tools/jconsole/resources/brandlogo.png \ - sun/tools/jconsole/resources/collapse-winlf.png \ - sun/tools/jconsole/resources/connected16.png \ - sun/tools/jconsole/resources/connected24.png \ - sun/tools/jconsole/resources/disconnected16.png \ - sun/tools/jconsole/resources/disconnected24.png \ - sun/tools/jconsole/resources/expand-winlf.png \ - sun/tools/jconsole/resources/masthead-left.png \ - sun/tools/jconsole/resources/masthead-right.png + sun/tools/jconsole/resources/brandlogo.png \ + sun/tools/jconsole/resources/collapse-winlf.png \ + sun/tools/jconsole/resources/connected16.png \ + sun/tools/jconsole/resources/connected24.png \ + sun/tools/jconsole/resources/disconnected16.png \ + sun/tools/jconsole/resources/disconnected24.png \ + sun/tools/jconsole/resources/expand-winlf.png \ + sun/tools/jconsole/resources/masthead-left.png \ + sun/tools/jconsole/resources/masthead-right.png GIF_FILES = \ - sun/tools/jconsole/resources/mbean.gif \ - sun/tools/jconsole/resources/mbeanserverdelegate.gif \ - sun/tools/jconsole/resources/xobject.gif + sun/tools/jconsole/resources/mbean.gif \ + sun/tools/jconsole/resources/mbeanserverdelegate.gif \ + sun/tools/jconsole/resources/xobject.gif + +PROP_FILES = \ + sun/tools/jconsole/resources/messages.properties \ + sun/tools/jconsole/resources/messages_ja.properties \ + sun/tools/jconsole/resources/messages_zh_CN.properties
--- a/make/sun/jconsole/Makefile Sat Dec 03 22:30:28 2016 +0000 +++ b/make/sun/jconsole/Makefile Sun Dec 04 00:19:27 2016 +0000 @@ -46,21 +46,21 @@ FILES_png = $(PNG_FILES:%.png=$(CLASSBINDIR)/%.png) FILES_gif = $(GIF_FILES:%.gif=$(CLASSBINDIR)/%.gif) - +FILES_prop = $(PROP_FILES:%.properties=$(CLASSBINDIR)/%.properties) build: $(GENSRCDIR)/sun/tools/jconsole/Version.java # # Resources # LOCALE_SET_DEFINITION = jdk -RESOURCE_BUNDLES_JAVA = $(PKGDIR)/resources/JConsoleResources.java +RESOURCE_BUNDLES_UNCOMPILED_PROPERTIES = $(PKGDIR)/resources/messages.properties # # Rules. # include $(BUILDDIR)/common/Classes.gmk -build: $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest $(JARFILE) +build: $(FILES_png) $(FILES_gif) $(FILES_prop) $(TEMPDIR)/manifest $(JARFILE) $(GENSRCDIR)/sun/tools/jconsole/Version.java: \ $(SHARE_SRC)/classes/sun/tools/jconsole/Version.java.template @@ -78,7 +78,7 @@ # Extra rule to build jconsole.jar # -$(JARFILE): $(LIBDIR) $(FILES_class) $(FILES_png) $(FILES_gif) $(TEMPDIR)/manifest +$(JARFILE): $(LIBDIR) $(FILES_class) $(FILES_png) $(FILES_gif) $(FILES_prop) $(TEMPDIR)/manifest $(BOOT_JAR_CMD) -cfm $(JARFILE) $(TEMPDIR)/manifest \ -C $(CLASSBINDIR) sun/tools/jconsole \ -C $(CLASSBINDIR) com/sun/tools/jconsole \
--- a/src/share/classes/sun/tools/jconsole/AboutDialog.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/AboutDialog.java Sun Dec 04 00:19:27 2016 +0000 @@ -30,13 +30,12 @@ import java.beans.PropertyVetoException; import java.net.URI; -import javax.accessibility.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.event.*; + import static java.awt.BorderLayout.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -47,7 +46,7 @@ private static final Color borderColor = Color.black; private Icon mastheadIcon = - new MastheadIcon(getText("Help.AboutDialog.masthead.title")); + new MastheadIcon(Messages.HELP_ABOUT_DIALOG_MASTHEAD_TITLE); private static AboutDialog aboutDialog; @@ -55,10 +54,9 @@ private Action closeAction; public AboutDialog(JConsole jConsole) { - super(jConsole, Resources.getText("Help.AboutDialog.title"), false); + super(jConsole, Messages.HELP_ABOUT_DIALOG_TITLE, false); - setAccessibleDescription(this, - getText("Help.AboutDialog.accessibleDescription")); + setAccessibleDescription(this, Messages.HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION); setDefaultCloseOperation(HIDE_ON_CLOSE); setResizable(false); JComponent cp = (JComponent)getContentPane(); @@ -67,7 +65,7 @@ JLabel mastheadLabel = new JLabel(mastheadIcon); setAccessibleName(mastheadLabel, - getText("Help.AboutDialog.masthead.accessibleName")); + Messages.HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME); JPanel mainPanel = new TPanel(0, 0); mainPanel.add(mastheadLabel, NORTH); @@ -75,7 +73,7 @@ String jConsoleVersion = Version.getVersion(); String vmName = System.getProperty("java.vm.name"); String vmVersion = System.getProperty("java.vm.version"); - String urlStr = getText("Help.AboutDialog.userGuideLink.url"); + String urlStr = Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL; if (isBrowseSupported()) { urlStr = "<a style='color:#35556b' href=\"" + urlStr + "\">" + urlStr + "</a>"; } @@ -86,9 +84,9 @@ String colorStr = String.format("%06x", textColor.getRGB() & 0xFFFFFF); JEditorPane helpLink = new JEditorPane("text/html", "<html><font color=#"+ colorStr + ">" + - getText("Help.AboutDialog.jConsoleVersion", jConsoleVersion) + - "<p>" + getText("Help.AboutDialog.javaVersion", (vmName +", "+ vmVersion)) + - "<p>" + getText("Help.AboutDialog.userGuideLink", urlStr) + + Resources.format(Messages.HELP_ABOUT_DIALOG_JCONSOLE_VERSION, jConsoleVersion) + + "<p>" + Resources.format(Messages.HELP_ABOUT_DIALOG_JAVA_VERSION, (vmName +", "+ vmVersion)) + + "<p>" + Resources.format(Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK, urlStr) + "</html>"); helpLink.setOpaque(false); helpLink.setEditable(false); @@ -155,7 +153,7 @@ } static void browseUserGuide(JConsole jConsole) { - getAboutDialog(jConsole).browse(getText("Help.AboutDialog.userGuideLink.url")); + getAboutDialog(jConsole).browse(Messages.HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL); } static boolean isBrowseSupported() { @@ -176,7 +174,7 @@ } private void createActions() { - closeAction = new AbstractAction(getText("Close")) { + closeAction = new AbstractAction(Messages.CLOSE) { public void actionPerformed(ActionEvent ev) { setVisible(false); statusBar.setText("");
--- a/src/share/classes/sun/tools/jconsole/BorderedComponent.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/BorderedComponent.java Sun Dec 04 00:19:27 2016 +0000 @@ -33,11 +33,10 @@ import javax.swing.plaf.*; import javax.swing.plaf.basic.BasicGraphicsUtils; + import static javax.swing.SwingConstants.*; import static sun.tools.jconsole.JConsole.*; -import static sun.tools.jconsole.Resources.*; -import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") public class BorderedComponent extends JPanel implements ActionListener { @@ -47,8 +46,6 @@ JComponent comp; boolean collapsed = false; - private JPopupMenu popupMenu; - private Icon collapseIcon; private Icon expandIcon; @@ -100,7 +97,7 @@ moreOrLessButton.setMargin(new Insets(0, 0, 0, 0)); moreOrLessButton.addActionListener(this); String toolTip = - getText("BorderedComponent.moreOrLessButton.toolTip"); + Messages.BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP; moreOrLessButton.setToolTipText(toolTip); borderLabel.add(moreOrLessButton); borderLabel.setSize(borderLabel.getPreferredSize()); @@ -136,7 +133,8 @@ public void setValueLabel(String str) { this.valueLabelStr = str; if (label != null) { - label.setText(Resources.getText("Current value",valueLabelStr)); + label.setText(Resources.format(Messages.CURRENT_VALUE, + valueLabelStr)); } } @@ -151,8 +149,8 @@ remove(comp); if (valueLabelStr != null) { if (label == null) { - label = new JLabel(Resources.getText("Current value", - valueLabelStr)); + label = new JLabel(Resources.format(Messages.CURRENT_VALUE, + valueLabelStr)); } add(label); } @@ -439,8 +437,6 @@ * @param insets the object to be reinitialized */ public Insets getBorderInsets(Component c, Insets insets) { - int height = 16; - Border border = getBorder(); if (border != null) { if (border instanceof AbstractBorder) {
--- a/src/share/classes/sun/tools/jconsole/ClassTab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/ClassTab.java Sun Dec 04 00:19:27 2016 +0000 @@ -33,17 +33,11 @@ import javax.swing.*; import javax.swing.border.*; -import javax.swing.event.*; -import javax.swing.text.*; -import java.util.*; -import java.util.List; + import java.util.concurrent.*; -import sun.awt.*; - import static sun.tools.jconsole.Formatter.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @@ -58,13 +52,9 @@ private static final String loadedPlotterKey = "loaded"; private static final String totalLoadedPlotterKey = "totalLoaded"; - private static final String loadedPlotterName = Resources.getText("Loaded"); - private static final String totalLoadedPlotterName = Resources.getText("Total Loaded"); private static final Color loadedPlotterColor = Plotter.defaultColor; private static final Color totalLoadedPlotterColor = Color.red; - private static final String infoLabelFormat = "ClassTab.infoLabelFormat"; - /* Hierarchy of panels and layouts for this tab: @@ -88,7 +78,7 @@ */ public static String getTabName() { - return Resources.getText("Classes"); + return Messages.CLASSES; } public ClassTab(VMPanel vmPanel) { @@ -108,40 +98,40 @@ JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 5)); topPanel.add(controlPanel, BorderLayout.CENTER); - verboseCheckBox = new JCheckBox(Resources.getText("Verbose Output")); + verboseCheckBox = new JCheckBox(Messages.VERBOSE_OUTPUT); verboseCheckBox.addActionListener(this); - verboseCheckBox.setToolTipText(getText("Verbose Output.toolTip")); + verboseCheckBox.setToolTipText(Messages.VERBOSE_OUTPUT_TOOLTIP); JPanel topRightPanel = new JPanel(); topRightPanel.setBorder(new EmptyBorder(0, 65-8, 0, 70)); topRightPanel.add(verboseCheckBox); topPanel.add(topRightPanel, BorderLayout.AFTER_LINE_ENDS); - loadedClassesMeter = new PlotterPanel(Resources.getText("Number of Loaded Classes"), + loadedClassesMeter = new PlotterPanel(Messages.NUMBER_OF_LOADED_CLASSES, Plotter.Unit.NONE, false); loadedClassesMeter.plotter.createSequence(loadedPlotterKey, - loadedPlotterName, + Messages.LOADED, loadedPlotterColor, true); loadedClassesMeter.plotter.createSequence(totalLoadedPlotterKey, - totalLoadedPlotterName, + Messages.TOTAL_LOADED, totalLoadedPlotterColor, true); setAccessibleName(loadedClassesMeter.plotter, - getText("ClassTab.loadedClassesPlotter.accessibleName")); + Messages.CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME); plotterPanel.add(loadedClassesMeter); timeComboBox = new TimeComboBox(loadedClassesMeter.plotter); - controlPanel.add(new LabeledComponent(Resources.getText("Time Range:"), - getMnemonicInt("Time Range:"), + controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON, + Resources.getMnemonicInt(Messages.TIME_RANGE_COLON), timeComboBox)); LabeledComponent.layout(plotterPanel); - bottomPanel.setBorder(new CompoundBorder(new TitledBorder(Resources.getText("Details")), - new EmptyBorder(10, 10, 10, 10))); + bottomPanel.setBorder(new CompoundBorder(new TitledBorder(Messages.DETAILS), + new EmptyBorder(10, 10, 10, 10))); details = new HTMLPane(); - setAccessibleName(details, getText("Details")); + setAccessibleName(details, Messages.DETAILS); JScrollPane scrollPane = new JScrollPane(details); scrollPane.setPreferredSize(new Dimension(0, 150)); bottomPanel.add(scrollPane, BorderLayout.SOUTH); @@ -226,10 +216,10 @@ long time = System.currentTimeMillis(); String timeStamp = formatDateTime(time); - text += newRow(Resources.getText("Time"), timeStamp); - text += newRow(Resources.getText("Current classes loaded"), justify(clCount, 5)); - text += newRow(Resources.getText("Total classes loaded"), justify(ctCount, 5)); - text += newRow(Resources.getText("Total classes unloaded"), justify(cuCount, 5)); + text += newRow(Messages.TIME, timeStamp); + text += newRow(Messages.CURRENT_CLASSES_LOADED, justify(clCount, 5)); + text += newRow(Messages.TOTAL_CLASSES_LOADED, justify(ctCount, 5)); + text += newRow(Messages.TOTAL_CLASSES_UNLOADED, justify(cuCount, 5)); return text; } @@ -246,12 +236,13 @@ private static class ClassOverviewPanel extends OverviewPanel { ClassOverviewPanel() { - super(getText("Classes"), loadedPlotterKey, loadedPlotterName, null); + super(Messages.CLASSES, loadedPlotterKey, Messages.LOADED, null); } private void updateClassInfo(long total, long loaded) { long unloaded = (total - loaded); - getInfoLabel().setText(getText(infoLabelFormat, loaded, unloaded, total)); + getInfoLabel().setText(Resources.format(Messages.CLASS_TAB_INFO_LABEL_FORMAT, + loaded, unloaded, total)); } } }
--- a/src/share/classes/sun/tools/jconsole/ConnectDialog.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/ConnectDialog.java Sun Dec 04 00:19:27 2016 +0000 @@ -29,23 +29,17 @@ import java.awt.*; import java.awt.event.*; import java.util.*; -import java.net.MalformedURLException; -import java.io.IOException; -import javax.accessibility.*; import javax.swing.*; -import javax.swing.Timer; import javax.swing.border.*; import javax.swing.event.*; import javax.swing.plaf.basic.BasicRadioButtonUI; import javax.swing.table.*; -import javax.management.remote.JMXServiceURL; -import javax.management.remote.JMXConnector; + import static java.awt.BorderLayout.*; import static javax.swing.ListSelectionModel.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -66,7 +60,7 @@ JPanel radioButtonPanel; private Icon mastheadIcon = - new MastheadIcon(getText("ConnectDialog.masthead.title")); + new MastheadIcon(Messages.CONNECT_DIALOG_MASTHEAD_TITLE); private Color hintTextColor, disabledTableCellColor; // The table of managed VM (local process) @@ -79,11 +73,11 @@ public ConnectDialog(JConsole jConsole) { - super(jConsole, Resources.getText("ConnectDialog.title"), true); + super(jConsole, Messages.CONNECT_DIALOG_TITLE, true); this.jConsole = jConsole; setAccessibleDescription(this, - getText("ConnectDialog.accessibleDescription")); + Messages.CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION); setDefaultCloseOperation(HIDE_ON_CLOSE); setResizable(false); Container cp = (JComponent)getContentPane(); @@ -95,7 +89,7 @@ statusBar = new JLabel(" ", JLabel.CENTER); setAccessibleName(statusBar, - getText("ConnectDialog.statusBar.accessibleName")); + Messages.CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME); Font normalLabelFont = statusBar.getFont(); Font boldLabelFont = normalLabelFont.deriveFont(Font.BOLD); @@ -103,7 +97,7 @@ JLabel mastheadLabel = new JLabel(mastheadIcon); setAccessibleName(mastheadLabel, - getText("ConnectDialog.masthead.accessibleName")); + Messages.CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME); cp.add(mastheadLabel, NORTH); cp.add(radioButtonPanel, CENTER); @@ -117,7 +111,7 @@ remoteTF.addFocusListener(this); remoteTF.setPreferredSize(remoteTF.getPreferredSize()); setAccessibleName(remoteTF, - getText("Remote Process.textField.accessibleName")); + Messages.REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME); // // If the VM supports the local attach mechanism (is: Sun @@ -141,8 +135,8 @@ TableColumn cmdLineColumn = columnModel.getColumn(COL_NAME); cmdLineColumn.setResizable(false); - localRadioButton = new JRadioButton(getText("Local Process:")); - localRadioButton.setMnemonic(getMnemonicInt("Local Process:")); + localRadioButton = new JRadioButton(Messages.LOCAL_PROCESS_COLON); + localRadioButton.setMnemonic(Resources.getMnemonicInt(Messages.LOCAL_PROCESS_COLON)); localRadioButton.setFont(boldLabelFont); localRadioButton.addItemListener(this); radioButtonGroup.add(localRadioButton); @@ -167,8 +161,8 @@ localTablePanel.add(localMessageLabel, SOUTH); } - remoteRadioButton = new JRadioButton(getText("Remote Process:")); - remoteRadioButton.setMnemonic(getMnemonicInt("Remote Process:")); + remoteRadioButton = new JRadioButton(Messages.REMOTE_PROCESS_COLON); + remoteRadioButton.setMnemonic(Resources.getMnemonicInt(Messages.REMOTE_PROCESS_COLON)); remoteRadioButton.setFont(boldLabelFont); radioButtonGroup.add(remoteRadioButton); @@ -207,7 +201,7 @@ remoteTFPanel.add(remoteTF, NORTH); - remoteMessageLabel = new JLabel("<html>" + getText("remoteTF.usage")); + remoteMessageLabel = new JLabel("<html>" + Messages.REMOTE_TF_USAGE + "</html>"); remoteMessageLabel.setFont(smallLabelFont); remoteMessageLabel.setForeground(hintTextColor); remoteTFPanel.add(remoteMessageLabel, CENTER); @@ -222,11 +216,10 @@ userNameTF.getDocument().addDocumentListener(this); userNameTF.addFocusListener(this); setAccessibleName(userNameTF, - getText("Username.accessibleName")); - String labelKey = "Username: "; + Messages.USERNAME_ACCESSIBLE_NAME); LabeledComponent lc; - lc = new LabeledComponent(getText(labelKey), - getMnemonicInt(labelKey), + lc = new LabeledComponent(Messages.USERNAME_COLON_, + Resources.getMnemonicInt(Messages.USERNAME_COLON_), userNameTF); lc.label.setFont(boldLabelFont); userPwdPanel.add(lc); @@ -238,10 +231,10 @@ passwordTF.getDocument().addDocumentListener(this); passwordTF.addFocusListener(this); setAccessibleName(passwordTF, - getText("Password.accessibleName")); - labelKey = "Password: "; - lc = new LabeledComponent(getText(labelKey), - getMnemonicInt(labelKey), + Messages.PASSWORD_ACCESSIBLE_NAME); + + lc = new LabeledComponent(Messages.PASSWORD_COLON_, + Resources.getMnemonicInt(Messages.PASSWORD_COLON_), passwordTF); lc.setBorder(new EmptyBorder(0, 12, 0, 0)); // Left padding lc.label.setFont(boldLabelFont); @@ -250,7 +243,7 @@ remoteTFPanel.add(userPwdPanel, SOUTH); String connectButtonToolTipText = - getText("ConnectDialog.connectButton.toolTip"); + Messages.CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP; connectButton = new JButton(connectAction); connectButton.setToolTipText(connectButtonToolTipText); @@ -288,7 +281,7 @@ String colorStr = String.format("%06x", hintTextColor.getRGB() & 0xFFFFFF); remoteMessageLabel.setText("<html><font color=#" + colorStr + ">" + - getText("remoteTF.usage")); + Messages.REMOTE_TF_USAGE); } if (localMessageLabel != null) { localMessageLabel.setForeground(hintTextColor); @@ -300,9 +293,9 @@ } private void createActions() { - connectAction = new AbstractAction(getText("Connect")) { + connectAction = new AbstractAction(Messages.CONNECT) { /* init */ { - putValue(Action.MNEMONIC_KEY, getMnemonicInt("Connect")); + putValue(Action.MNEMONIC_KEY, Resources.getMnemonicInt(Messages.CONNECT)); } public void actionPerformed(ActionEvent ev) { @@ -321,7 +314,6 @@ try { if (txt.startsWith(JConsole.ROOT_URL)) { String url = txt; - String msg = null; jConsole.addUrl(url, userName, password, false); remoteTF.setText(JConsole.ROOT_URL); return; @@ -361,7 +353,7 @@ } }; - cancelAction = new AbstractAction(getText("Cancel")) { + cancelAction = new AbstractAction(Messages.CANCEL) { public void actionPerformed(ActionEvent ev) { setVisible(false); statusBar.setText(""); @@ -588,9 +580,9 @@ LocalVirtualMachine lvm = vmModel.vmAt(row); if (!lvm.isManageable()) { if (lvm.isAttachable()) { - labelText = getText("Management Will Be Enabled"); + labelText = Messages.MANAGEMENT_WILL_BE_ENABLED; } else { - labelText = getText("Management Not Enabled"); + labelText = Messages.MANAGEMENT_NOT_ENABLED; } } } @@ -650,8 +642,8 @@ // Represents the list of managed VMs as a tabular data model. private static class ManagedVmTableModel extends AbstractTableModel { private static String[] columnNames = { - Resources.getText("Column.Name"), - Resources.getText("Column.PID"), + Messages.COLUMN_NAME, + Messages.COLUMN_PID, }; private List<LocalVirtualMachine> vmList; @@ -678,7 +670,7 @@ } } - public Class getColumnClass(int column) { + public Class<?> getColumnClass(int column) { switch (column) { case COL_NAME: return String.class; case COL_PID: return Integer.class; @@ -706,13 +698,6 @@ } } - - // Convenience method - private static String getText(String key) { - return Resources.getText(key); - } - - // A blank component that takes up as much space as the // button part of a JRadioButton. private static class Padder extends JPanel { @@ -721,7 +706,7 @@ Padder(JRadioButton radioButton) { this.radioButton = radioButton; - setAccessibleName(this, getText("Blank")); + setAccessibleName(this, Messages.BLANK); } public Dimension getPreferredSize() { @@ -758,7 +743,6 @@ if (g == null) { return null; } - String clippedText = SwingUtilities.layoutCompoundLabel(button, g.getFontMetrics(), text,
--- a/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/CreateMBeanDialog.java Sun Dec 04 00:19:27 2016 +0000 @@ -32,16 +32,14 @@ import java.util.Comparator; import javax.swing.*; -import javax.swing.Timer; import javax.swing.border.*; -import javax.swing.event.*; import javax.management.MBeanServerConnection; import javax.management.ObjectName; import javax.management.InstanceAlreadyExistsException; import javax.management.InstanceNotFoundException; -import static sun.tools.jconsole.Resources.*; + import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -60,7 +58,7 @@ this.jConsole = jConsole; setAccessibleDescription(this, - getText("Hotspot MBeans.dialog.accessibleDescription")); + Messages.HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION); Container cp = getContentPane(); ((JComponent)cp).setBorder(new EmptyBorder(10, 10, 4, 10)); @@ -74,9 +72,7 @@ connections = new JComboBox(); updateConnections(); - centerPanel.add(new LabeledComponent(Resources. - getText("Manage Hotspot MBeans "+ - "in: "), + centerPanel.add(new LabeledComponent(Resources.format(Messages.MANAGE_HOTSPOT_MBEANS_IN_COLON_), connections)); JPanel bottomPanel = new JPanel(new BorderLayout()); @@ -85,11 +81,11 @@ JPanel buttonPanel = new JPanel(); bottomPanel.add(buttonPanel, BorderLayout.NORTH); buttonPanel.add(createMBeanButton = - new JButton(Resources.getText("Create"))); + new JButton(Messages.CREATE)); buttonPanel.add(unregisterMBeanButton = - new JButton(Resources.getText("Unregister"))); + new JButton(Messages.UNREGISTER)); buttonPanel.add(cancelButton = - new JButton(Resources.getText("Cancel"))); + new JButton(Messages.CANCEL)); statusBar = new JLabel(" ", JLabel.CENTER); bottomPanel.add(statusBar, BorderLayout.SOUTH); @@ -144,7 +140,6 @@ new Thread("CreateMBeanDialog.actionPerformed") { public void run() { try { - StringBuffer buff = null; Object c = connections.getSelectedItem(); if(c == null) return; if(ev.getSource() == createMBeanButton) { @@ -163,13 +158,9 @@ } return; } catch(InstanceAlreadyExistsException e) { - statusBar.setText(Resources. - getText("Error: MBeans already " - + "exist")); + statusBar.setText(Messages.ERROR_COLON_MBEANS_ALREADY_EXIST); } catch(InstanceNotFoundException e) { - statusBar.setText(Resources. - getText("Error: MBeans do not " - + "exist")); + statusBar.setText(Messages.ERROR_COLON_MBEANS_DO_NOT_EXIST); } catch(Exception e) { statusBar.setText(e.toString()); }
--- a/src/share/classes/sun/tools/jconsole/Formatter.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/Formatter.java Sun Dec 04 00:19:27 2016 +0000 @@ -28,7 +28,6 @@ import java.text.*; import java.util.*; -import static sun.tools.jconsole.Resources.*; class Formatter { final static long SECOND = 1000; @@ -48,7 +47,7 @@ String str; if (t < 1 * MINUTE) { String seconds = String.format("%.3f", t / (double)SECOND); - str = Resources.getText("DurationSeconds", seconds); + str = Resources.format(Messages.DURATION_SECONDS, seconds); } else { long remaining = t; long days = remaining / DAY; @@ -58,13 +57,13 @@ long minutes = remaining / MINUTE; if (t >= 1 * DAY) { - str = Resources.getText("DurationDaysHoursMinutes", - days, hours, minutes); + str = Resources.format(Messages.DURATION_DAYS_HOURS_MINUTES, + days, hours, minutes); } else if (t >= 1 * HOUR) { - str = Resources.getText("DurationHoursMinutes", - hours, minutes); + str = Resources.format(Messages.DURATION_HOURS_MINUTES, + hours, minutes); } else { - str = Resources.getText("DurationMinutes", minutes); + str = Resources.format(Messages.DURATION_MINUTES, minutes); } } return str; @@ -88,8 +87,7 @@ return dateDF.format(time) + " " + timeWithSecondsDF.format(time); } - static DateFormat getDateTimeFormat(String key) { - String dtfStr = getText(key); + static DateFormat getDateTimeFormat(String dtfStr) { int dateStyle = -1; int timeStyle = -1; @@ -153,18 +151,18 @@ } String[] strings = formatLongs(bytes); for (int i = 0; i < n; i++) { - strings[i] = getText("kbytes", strings[i]); + strings[i] = Resources.format(Messages.KBYTES, strings[i]); } return strings; } static String formatKBytes(long bytes) { if (bytes == -1) { - return getText("kbytes", "-1"); + return Resources.format(Messages.KBYTES, "-1"); } long kb = bytes / 1024; - return getText("kbytes", justify(kb, 10)); + return Resources.format(Messages.KBYTES, justify(kb, 10)); } @@ -182,13 +180,13 @@ int exp = (int)Math.log10((double)vMax); if (exp < 3) { - s = Resources.getText("Size Bytes", v); + s = Resources.format(Messages.SIZE_BYTES, v); } else if (exp < 6) { - s = Resources.getText("Size Kb", trimDouble(v / Math.pow(10.0, 3))); + s = Resources.format(Messages.SIZE_KB, trimDouble(v / Math.pow(10.0, 3))); } else if (exp < 9) { - s = Resources.getText("Size Mb", trimDouble(v / Math.pow(10.0, 6))); + s = Resources.format(Messages.SIZE_MB, trimDouble(v / Math.pow(10.0, 6))); } else { - s = Resources.getText("Size Gb", trimDouble(v / Math.pow(10.0, 9))); + s = Resources.format(Messages.SIZE_GB, trimDouble(v / Math.pow(10.0, 9))); } if (html) { s = s.replace(" ", " ");
--- a/src/share/classes/sun/tools/jconsole/HTMLPane.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/HTMLPane.java Sun Dec 04 00:19:27 2016 +0000 @@ -25,8 +25,6 @@ package sun.tools.jconsole; -import java.awt.Color; - import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*;
--- a/src/share/classes/sun/tools/jconsole/InternalDialog.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/InternalDialog.java Sun Dec 04 00:19:27 2016 +0000 @@ -30,8 +30,8 @@ import javax.swing.*; + import static javax.swing.JLayeredPane.*; -import static sun.tools.jconsole.Resources.*; /** * Used instead of JDialog in a JDesktopPane/JInternalFrame environment. @@ -73,7 +73,7 @@ private ImageIcon rightIcon = new ImageIcon(InternalDialog.class.getResource("resources/masthead-right.png")); - private Font font = Font.decode(getText("Masthead.font")); + private Font font = Font.decode(Messages.MASTHEAD_FONT); private int gap = 10; private String title;
--- a/src/share/classes/sun/tools/jconsole/JConsole.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/JConsole.java Sun Dec 04 00:19:27 2016 +0000 @@ -29,7 +29,6 @@ import java.awt.event.*; import java.beans.*; import java.io.*; -import java.lang.reflect.InvocationTargetException; import java.net.*; import java.util.*; import java.util.List; @@ -38,8 +37,6 @@ import javax.swing.border.*; import javax.swing.event.*; import javax.swing.plaf.*; -import javax.management.remote.JMXServiceURL; -import javax.management.remote.JMXConnector; import javax.security.auth.login.FailedLoginException; import javax.net.ssl.SSLHandshakeException; @@ -47,7 +44,6 @@ import sun.net.util.IPAddressUtil; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -68,7 +64,7 @@ try { UIManager.setLookAndFeel(systemLaF); } catch (Exception e) { - System.err.println(Resources.getText("JConsole: ", e.getMessage())); + System.err.println(Resources.format(Messages.JCONSOLE_COLON_, e.getMessage())); } } } @@ -87,7 +83,7 @@ private final static String title = - Resources.getText("Java Monitoring & Management Console"); + Messages.JAVA_MONITORING___MANAGEMENT_CONSOLE; public final static String ROOT_URL = "service:jmx:"; @@ -116,7 +112,7 @@ setRootPane(new FixedJRootPane()); setAccessibleDescription(this, - getText("JConsole.accessibleDescription")); + Messages.JCONSOLE_ACCESSIBLE_DESCRIPTION); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); menuBar = new JMenuBar(); @@ -124,12 +120,12 @@ // TODO: Use Actions ! - JMenu connectionMenu = new JMenu(getText("Connection")); - connectionMenu.setMnemonic(getMnemonicInt("Connection")); + JMenu connectionMenu = new JMenu(Messages.CONNECTION); + connectionMenu.setMnemonic(Resources.getMnemonicInt(Messages.CONNECTION)); menuBar.add(connectionMenu); if(hotspot) { - hotspotMI = new JMenuItem(getText("Hotspot MBeans...")); - hotspotMI.setMnemonic(getMnemonicInt("Hotspot MBeans...")); + hotspotMI = new JMenuItem(Messages.HOTSPOT_MBEANS_ELLIPSIS); + hotspotMI.setMnemonic(Resources.getMnemonicInt(Messages.HOTSPOT_MBEANS_ELLIPSIS)); hotspotMI.setAccelerator(KeyStroke. getKeyStroke(KeyEvent.VK_H, InputEvent.CTRL_MASK)); @@ -139,8 +135,8 @@ connectionMenu.addSeparator(); } - connectMI = new JMenuItem(Resources.getText("New Connection...")); - connectMI.setMnemonic(getMnemonicInt("New Connection...")); + connectMI = new JMenuItem(Messages.NEW_CONNECTION_ELLIPSIS); + connectMI.setMnemonic(Resources.getMnemonicInt(Messages.NEW_CONNECTION_ELLIPSIS)); connectMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK)); connectMI.addActionListener(this); @@ -148,27 +144,27 @@ connectionMenu.addSeparator(); - exitMI = new JMenuItem(Resources.getText("Exit")); - exitMI.setMnemonic(getMnemonicInt("Exit")); + exitMI = new JMenuItem(Messages.EXIT); + exitMI.setMnemonic(Resources.getMnemonicInt(Messages.EXIT)); exitMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, InputEvent.ALT_MASK)); exitMI.addActionListener(this); connectionMenu.add(exitMI); - JMenu helpMenu = new JMenu(getText("HelpMenu.title")); - helpMenu.setMnemonic(getMnemonicInt("HelpMenu.title")); + JMenu helpMenu = new JMenu(Messages.HELP_MENU_TITLE); + helpMenu.setMnemonic(Resources.getMnemonicInt(Messages.HELP_MENU_TITLE)); menuBar.add(helpMenu); if (AboutDialog.isBrowseSupported()) { - userGuideMI = new JMenuItem(getText("HelpMenu.UserGuide.title")); - userGuideMI.setMnemonic(getMnemonicInt("HelpMenu.UserGuide.title")); + userGuideMI = new JMenuItem(Messages.HELP_MENU_USER_GUIDE_TITLE); + userGuideMI.setMnemonic(Resources.getMnemonicInt(Messages.HELP_MENU_USER_GUIDE_TITLE)); userGuideMI.addActionListener(this); helpMenu.add(userGuideMI); helpMenu.addSeparator(); } - aboutMI = new JMenuItem(getText("HelpMenu.About.title")); - aboutMI.setMnemonic(getMnemonicInt("HelpMenu.About.title")); + aboutMI = new JMenuItem(Messages.HELP_MENU_ABOUT_TITLE); + aboutMI.setMnemonic(Resources.getMnemonicInt(Messages.HELP_MENU_ABOUT_TITLE)); aboutMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0)); aboutMI.addActionListener(this); helpMenu.add(aboutMI); @@ -191,8 +187,8 @@ ((BorderLayout)cp.getLayout()). getLayoutComponent(BorderLayout.CENTER); - windowMenu = new WindowMenu(Resources.getText("Window")); - windowMenu.setMnemonic(getMnemonicInt("Window")); + windowMenu = new WindowMenu(Messages.WINDOW); + windowMenu.setMnemonic(Resources.getMnemonicInt(Messages.WINDOW)); // Add Window menu before Help menu menuBar.add(windowMenu, menuBar.getComponentCount() - 1); @@ -219,25 +215,25 @@ WindowMenu(String text) { super(text); - cascadeMI = new JMenuItem(Resources.getText("Cascade")); - cascadeMI.setMnemonic(getMnemonicInt("Cascade")); + cascadeMI = new JMenuItem(Messages.CASCADE); + cascadeMI.setMnemonic(Resources.getMnemonicInt(Messages.CASCADE)); cascadeMI.addActionListener(JConsole.this); add(cascadeMI); - tileMI = new JMenuItem(Resources.getText("Tile")); - tileMI.setMnemonic(getMnemonicInt("Tile")); + tileMI = new JMenuItem(Messages.TILE); + tileMI.setMnemonic(Resources.getMnemonicInt(Messages.TILE)); tileMI.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK)); tileMI.addActionListener(JConsole.this); add(tileMI); - minimizeAllMI = new JMenuItem(Resources.getText("Minimize All")); - minimizeAllMI.setMnemonic(getMnemonicInt("Minimize All")); + minimizeAllMI = new JMenuItem(Messages.MINIMIZE_ALL); + minimizeAllMI.setMnemonic(Resources.getMnemonicInt(Messages.MINIMIZE_ALL)); minimizeAllMI.addActionListener(JConsole.this); add(minimizeAllMI); - restoreAllMI = new JMenuItem(Resources.getText("Restore All")); - restoreAllMI.setMnemonic(getMnemonicInt("Restore All")); + restoreAllMI = new JMenuItem(Messages.RESTORE_ALL); + restoreAllMI.setMnemonic(Resources.getMnemonicInt(Messages.RESTORE_ALL)); restoreAllMI.addActionListener(JConsole.this); add(restoreAllMI); @@ -721,7 +717,7 @@ } private String errorMessage(Exception ex) { - String msg = Resources.getText("Connection failed"); + String msg = Messages.CONNECTION_FAILED; if (ex instanceof IOException || ex instanceof SecurityException) { Throwable cause = null; Throwable c = ex.getCause(); @@ -732,7 +728,7 @@ if (cause instanceof ConnectException) { return msg + ": " + cause.getMessage(); } else if (cause instanceof UnknownHostException) { - return Resources.getText("Unknown Host", cause.getMessage()); + return Resources.format(Messages.UNKNOWN_HOST, cause.getMessage()); } else if (cause instanceof NoRouteToHostException) { return msg + ": " + cause.getMessage(); } else if (cause instanceof FailedLoginException) { @@ -741,7 +737,7 @@ return msg + ": "+ cause.getMessage(); } } else if (ex instanceof MalformedURLException) { - return Resources.getText("Invalid URL", ex.getMessage()); + return Resources.format(Messages.INVALID_URL, ex.getMessage()); } return msg + ": " + ex.getMessage(); } @@ -770,7 +766,7 @@ private static void usage() { - System.err.println(Resources.getText("zz usage text", "jconsole")); + System.err.println(Resources.format(Messages.ZZ_USAGE_TEXT, "jconsole")); } private static void mainInit(final List<String> urls, @@ -1003,13 +999,13 @@ pluginService = plugins; } catch (ServiceConfigurationError e) { // Error occurs during initialization of plugin - System.out.println(Resources.getText("Fail to load plugin", + System.out.println(Resources.format(Messages.FAIL_TO_LOAD_PLUGIN, e.getMessage())); } catch (MalformedURLException e) { if (JConsole.isDebug()) { e.printStackTrace(); } - System.out.println(Resources.getText("Invalid plugin path", + System.out.println(Resources.format(Messages.INVALID_PLUGIN_PATH, e.getMessage())); } }
--- a/src/share/classes/sun/tools/jconsole/LabeledComponent.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/LabeledComponent.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,7 +26,6 @@ package sun.tools.jconsole; import java.awt.*; -import java.awt.event.*; import javax.swing.*;
--- a/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java Sun Dec 04 00:19:27 2016 +0000 @@ -39,7 +39,6 @@ // Sun private import sun.management.ConnectorAddressLink; import sun.jvmstat.monitor.HostIdentifier; -import sun.jvmstat.monitor.Monitor; import sun.jvmstat.monitor.MonitoredHost; import sun.jvmstat.monitor.MonitoredVm; import sun.jvmstat.monitor.MonitoredVmUtil; @@ -131,7 +130,7 @@ private static void getMonitoredVMs(Map<Integer, LocalVirtualMachine> map) { MonitoredHost host; - Set vms; + Set<Integer> vms; try { host = MonitoredHost.getMonitoredHost(new HostIdentifier((String)null)); vms = host.activeVms();
--- a/src/share/classes/sun/tools/jconsole/MBeansTab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/MBeansTab.java Sun Dec 04 00:19:27 2016 +0000 @@ -49,7 +49,7 @@ private XDataViewer viewer; public static String getTabName() { - return Resources.getText("MBeans"); + return Messages.MBEANS; } public MBeansTab(final VMPanel vmPanel) {
--- a/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/MaximizableInternalFrame.java Sun Dec 04 00:19:27 2016 +0000 @@ -222,7 +222,7 @@ static { if (JConsole.IS_WIN) { try { - Class Part = + Class<?> Part = Class.forName("com.sun.java.swing.plaf.windows.TMSchema$Part"); if (Part != null) { WP_MINBUTTON = Part.getField("WP_MINBUTTON").get(null);
--- a/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/MemoryPoolProxy.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,7 +26,6 @@ package sun.tools.jconsole; import javax.management.ObjectName; -import java.lang.management.ManagementFactory; import java.lang.management.MemoryPoolMXBean; import java.lang.management.MemoryUsage; import com.sun.management.GarbageCollectorMXBean; @@ -34,21 +33,18 @@ import java.util.HashMap; import java.util.Set; import java.util.Map; -import java.util.Map.Entry; import static java.lang.management.ManagementFactory.*; public class MemoryPoolProxy { private String poolName; private ProxyClient client; - private ObjectName objName; private MemoryPoolMXBean pool; private Map<ObjectName,Long> gcMBeans; private GcInfo lastGcInfo; public MemoryPoolProxy(ProxyClient client, ObjectName poolName) throws java.io.IOException { this.client = client; - this.objName = objName; this.pool = client.getMXBean(poolName, MemoryPoolMXBean.class); this.poolName = this.pool.getName(); this.gcMBeans = new HashMap<ObjectName,Long>(); @@ -73,10 +69,6 @@ return (gcMBeans.size() != 0); } - public ObjectName getObjectName() { - return objName; - } - public MemoryPoolStat getStat() throws java.io.IOException { long usageThreshold = (pool.isUsageThresholdSupported() ? pool.getUsageThreshold()
--- a/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/MemoryPoolStat.java Sun Dec 04 00:19:27 2016 +0000 @@ -128,6 +128,6 @@ * null if no GC occurs. */ public MemoryUsage getAfterGcUsage() { - return beforeGcUsage; + return afterGcUsage; } }
--- a/src/share/classes/sun/tools/jconsole/MemoryTab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/MemoryTab.java Sun Dec 04 00:19:27 2016 +0000 @@ -38,13 +38,9 @@ import javax.management.openmbean.CompositeData; import javax.swing.*; import javax.swing.border.*; -import javax.swing.text.*; -import sun.management.*; import static sun.tools.jconsole.Formatter.*; -import static sun.tools.jconsole.OverviewPanel.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -67,19 +63,11 @@ private static final String committedKey = "committed"; private static final String maxKey = "max"; private static final String thresholdKey = "threshold"; - - private static final String usedName = Resources.getText("Used"); - private static final String committedName = Resources.getText("Committed"); - private static final String maxName = Resources.getText("Max"); - private static final String thresholdName = Resources.getText("Threshold"); - private static final Color usedColor = Plotter.defaultColor; private static final Color committedColor = null; private static final Color maxColor = null; private static final Color thresholdColor = Color.red; - private static final String infoLabelFormat = "MemoryTab.infoLabelFormat"; - /* Hierarchy of panels and layouts for this tab: @@ -105,7 +93,7 @@ public static String getTabName() { - return getText("Memory"); + return Messages.MEMORY; } public MemoryTab(VMPanel vmPanel) { @@ -127,30 +115,30 @@ // Plotter choice plotterChoice = new JComboBox(); plotterChoice.addItemListener(this); - controlPanel.add(new LabeledComponent(getText("Chart:"), - getMnemonicInt("Chart:"), + controlPanel.add(new LabeledComponent(Messages.CHART_COLON, + Resources.getMnemonicInt(Messages.CHART_COLON), plotterChoice)); // Range control timeComboBox = new TimeComboBox(); - controlPanel.add(new LabeledComponent(getText("Time Range:"), - getMnemonicInt("Time Range:"), + controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON, + Resources.getMnemonicInt(Messages.TIME_RANGE_COLON), timeComboBox)); - gcButton = new JButton(getText("Perform GC")); - gcButton.setMnemonic(getMnemonicInt("Perform GC")); + gcButton = new JButton(Messages.PERFORM_GC); + gcButton.setMnemonic(Resources.getMnemonicInt(Messages.PERFORM_GC)); gcButton.addActionListener(this); - gcButton.setToolTipText(getText("Perform GC.toolTip")); + gcButton.setToolTipText(Messages.PERFORM_GC_TOOLTIP); JPanel topRightPanel = new JPanel(); topRightPanel.setBorder(new EmptyBorder(0, 65-8, 0, 70)); topRightPanel.add(gcButton); topPanel.add(topRightPanel, BorderLayout.AFTER_LINE_ENDS); - bottomPanel.setBorder(new CompoundBorder(new TitledBorder(getText("Details")), + bottomPanel.setBorder(new CompoundBorder(new TitledBorder(Messages.DETAILS), new EmptyBorder(10, 10, 10, 10))); details = new HTMLPane(); - setAccessibleName(details, getText("Details")); + setAccessibleName(details, Messages.DETAILS); bottomPanel.add(new JScrollPane(details), BorderLayout.CENTER); poolChart = new PoolChart(); @@ -165,31 +153,31 @@ heapPlotter = new Plotter(Plotter.Unit.BYTES) { public String toString() { - return Resources.getText("Heap Memory Usage"); + return Messages.HEAP_MEMORY_USAGE; } }; proxyClient.addWeakPropertyChangeListener(heapPlotter); nonHeapPlotter = new Plotter(Plotter.Unit.BYTES) { public String toString() { - return Resources.getText("Non-Heap Memory Usage"); + return Messages.NON_HEAP_MEMORY_USAGE; } }; setAccessibleName(heapPlotter, - getText("MemoryTab.heapPlotter.accessibleName")); + Messages.MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME); setAccessibleName(nonHeapPlotter, - getText("MemoryTab.nonHeapPlotter.accessibleName")); + Messages.MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME); proxyClient.addWeakPropertyChangeListener(nonHeapPlotter); - heapPlotter.createSequence(usedKey, usedName, usedColor, true); - heapPlotter.createSequence(committedKey, committedName, committedColor, false); - heapPlotter.createSequence(maxKey, maxName, maxColor, false); + heapPlotter.createSequence(usedKey, Messages.USED, usedColor, true); + heapPlotter.createSequence(committedKey, Messages.COMMITTED, committedColor, false); + heapPlotter.createSequence(maxKey, Messages.MAX, maxColor, false); - nonHeapPlotter.createSequence(usedKey, usedName, usedColor, true); - nonHeapPlotter.createSequence(committedKey, committedName, committedColor, false); - nonHeapPlotter.createSequence(maxKey, maxName, maxColor, false); + nonHeapPlotter.createSequence(usedKey, Messages.USED, usedColor, true); + nonHeapPlotter.createSequence(committedKey, Messages.COMMITTED, committedColor, false); + nonHeapPlotter.createSequence(maxKey, Messages.MAX, maxColor, false); plotterList.add(heapPlotter); plotterList.add(nonHeapPlotter); @@ -202,8 +190,8 @@ for (ObjectName objectName : objectNames) { String type = objectName.getKeyProperty("type"); if (type.equals("MemoryPool")) { - String name = getText("MemoryPoolLabel", - objectName.getKeyProperty("name")); + String name = Resources.format(Messages.MEMORY_POOL_LABEL, + objectName.getKeyProperty("name")); // Heap or non-heap? boolean isHeap = false; AttributeList al = @@ -215,10 +203,10 @@ PoolPlotter poolPlotter = new PoolPlotter(objectName, name, isHeap); proxyClient.addWeakPropertyChangeListener(poolPlotter); - poolPlotter.createSequence(usedKey, usedName, usedColor, true); - poolPlotter.createSequence(committedKey, committedName, committedColor, false); - poolPlotter.createSequence(maxKey, maxName, maxColor, false); - poolPlotter.createSequence(thresholdKey, thresholdName, thresholdColor, false); + poolPlotter.createSequence(usedKey, Messages.USED, usedColor, true); + poolPlotter.createSequence(committedKey, Messages.COMMITTED, committedColor, false); + poolPlotter.createSequence(maxKey, Messages.MAX, maxColor, false); + poolPlotter.createSequence(thresholdKey, Messages.THRESHOLD, thresholdColor, false); poolPlotter.setUseDashedTransitions(thresholdKey, true); if (isHeap) { @@ -286,7 +274,6 @@ max = new long[n]; threshold = new long[n]; timeStamp = System.currentTimeMillis(); - int poolCount = 0; for (int i = 0; i < n; i++) { Plotter plotter = plotterList.get(i); @@ -400,22 +387,22 @@ //long time = plotter.getLastTimeStamp(); long time = System.currentTimeMillis(); String timeStamp = formatDateTime(time); - text += newRow(getText("Time"), timeStamp); + text += newRow(Messages.TIME, timeStamp); long used = plotter.getLastValue(usedKey); long committed = plotter.getLastValue(committedKey); long max = plotter.getLastValue(maxKey); long threshold = plotter.getLastValue(thresholdKey); - text += newRow(getText("Used"), formatKBytes(used)); + text += newRow(Messages.USED, formatKBytes(used)); if (committed > 0L) { - text += newRow(getText("Committed"), formatKBytes(committed)); + text += newRow(Messages.COMMITTED, formatKBytes(committed)); } if (max > 0L) { - text += newRow(getText("Max"), formatKBytes(max)); + text += newRow(Messages.MAX, formatKBytes(max)); } if (threshold > 0L) { - text += newRow(getText("Usage Threshold"), formatKBytes(threshold)); + text += newRow(Messages.USAGE_THRESHOLD, formatKBytes(threshold)); } try { @@ -427,11 +414,11 @@ String gcName = garbageCollectorMBean.getName(); long gcCount = garbageCollectorMBean.getCollectionCount(); long gcTime = garbageCollectorMBean.getCollectionTime(); - String str = getText("GC time details", justify(formatTime(gcTime), 14), - gcName, - String.format("%,d",gcCount)); + String str = Resources.format(Messages.GC_TIME_DETAILS, justify(formatTime(gcTime), 14), + gcName, + String.format("%,d",gcCount)); if (!descPrinted) { - text += newRow(getText("GC time"), str); + text += newRow(Messages.GC_TIME, str); descPrinted = true; } else { text += newRow(null, str); @@ -465,8 +452,8 @@ this.isHeap = isHeap; setAccessibleName(this, - getText("MemoryTab.poolPlotter.accessibleName", - name)); + Resources.format(Messages.MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME, + name)); } @@ -627,7 +614,7 @@ g.setColor(nonHeapColor); g.fillRect(nonHeapRect.x + 1, nonHeapRect.y + 1, nonHeapRect.width - 1, nonHeapRect.height - 1); - String str = getText("Heap"); + String str = Messages.HEAP; int stringWidth = fm.stringWidth(str); int x = heapRect.x + (heapRect.width - stringWidth) / 2; int y = heapRect.y + heapRect.height - 6; @@ -639,7 +626,7 @@ g.setColor(Color.black); g.drawString(str, x, y); - str = getText("Non-Heap"); + str = Messages.NON_HEAP; stringWidth = fm.stringWidth(str); x = nonHeapRect.x + (nonHeapRect.width - stringWidth) / 2; y = nonHeapRect.y + nonHeapRect.height - 6; @@ -728,26 +715,26 @@ protected class AccessiblePoolChart extends AccessibleJPanel { public String getAccessibleName() { - String name = getText("MemoryTab.poolChart.accessibleName"); + String name = Messages.MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME; String keyValueList = ""; for (PoolPlotter poolPlotter : poolPlotters) { String value = (poolPlotter.value * 100 / poolPlotter.max) + "%"; // Assume format string ends with newline keyValueList += - getText("Plotter.accessibleName.keyAndValue", - poolPlotter.toString(), value); + Resources.format(Messages.PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE, + poolPlotter.toString(), value); if (poolPlotter.threshold > 0L) { String threshold = (poolPlotter.threshold * 100 / poolPlotter.max) + "%"; if (poolPlotter.value > poolPlotter.threshold) { keyValueList += - getText("MemoryTab.poolChart.aboveThreshold", - threshold); + Resources.format(Messages.MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD, + threshold); } else { keyValueList += - getText("MemoryTab.poolChart.belowThreshold", - threshold); + Resources.format(Messages.MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD, + threshold); } } } @@ -767,14 +754,14 @@ private static class MemoryOverviewPanel extends OverviewPanel { MemoryOverviewPanel() { - super(getText("Heap Memory Usage"), usedKey, usedName, Plotter.Unit.BYTES); + super(Messages.HEAP_MEMORY_USAGE, usedKey, Messages.USED, Plotter.Unit.BYTES); } private void updateMemoryInfo(long used, long committed, long max) { - getInfoLabel().setText(getText(infoLabelFormat, - formatBytes(used, true), - formatBytes(committed, true), - formatBytes(max, true))); + getInfoLabel().setText(Resources.format(Messages.MEMORY_TAB_INFO_LABEL_FORMAT, + formatBytes(used, true), + formatBytes(committed, true), + formatBytes(max, true))); } } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/classes/sun/tools/jconsole/Messages.java Sun Dec 04 00:19:27 2016 +0000 @@ -0,0 +1,319 @@ +/* + * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +package sun.tools.jconsole; + + +/** + * Class that contains localized messages. + * + */ +final public class Messages { + private static final String BUNDLE_NAME = "sun.tools.jconsole.resources.messages"; + + static { + Resources.initializeMessages(Messages.class, BUNDLE_NAME); + } + // TODO: + // The names of some of the constants below looks strange. + // That's because they were generated programmatically + // from the messages. They should be cleaned up, + // ___ should be removed etc. + public static String ONE_DAY; + public static String ONE_HOUR; + public static String ONE_MIN; + public static String ONE_MONTH; + public static String ONE_YEAR; + public static String TWO_HOURS; + public static String THREE_HOURS; + public static String THREE_MONTHS; + public static String FIVE_MIN; + public static String SIX_HOURS; + public static String SIX_MONTHS; + public static String SEVEN_DAYS; + public static String TEN_MIN; + public static String TWELVE_HOURS; + public static String THIRTY_MIN; + public static String LESS_THAN; + public static String A_LOT_LESS_THAN; + public static String GREATER_THAN; + public static String ACTION_CAPITALIZED; + public static String ACTION_INFO_CAPITALIZED; + public static String ALL; + public static String ARCHITECTURE; + public static String ATTRIBUTE; + public static String ATTRIBUTE_VALUE; + public static String ATTRIBUTE_VALUES; + public static String ATTRIBUTES; + public static String BLANK; + public static String BLOCKED_COUNT_WAITED_COUNT; + public static String BOOT_CLASS_PATH; + public static String BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP; + public static String CPU_USAGE; + public static String CPU_USAGE_FORMAT; + public static String CANCEL; + public static String CASCADE; + public static String CHART_COLON; + public static String CLASS_PATH; + public static String CLASS_NAME; + public static String CLASS_TAB_INFO_LABEL_FORMAT; + public static String CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME; + public static String CLASSES; + public static String CLOSE; + public static String COLUMN_NAME; + public static String COLUMN_PID; + public static String COMMITTED_MEMORY; + public static String COMMITTED_VIRTUAL_MEMORY; + public static String COMMITTED; + public static String CONNECT; + public static String CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP; + public static String CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION; + public static String CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME; + public static String CONNECT_DIALOG_MASTHEAD_TITLE; + public static String CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME; + public static String CONNECT_DIALOG_TITLE; + public static String CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_; + public static String CONNECTION_FAILED; + public static String CONNECTION; + public static String CONNECTION_NAME; + public static String CONNECTION_NAME__DISCONNECTED_; + public static String CONSTRUCTOR; + public static String CURRENT_CLASSES_LOADED; + public static String CURRENT_HEAP_SIZE; + public static String CURRENT_VALUE; + public static String CREATE; + public static String DAEMON_THREADS; + public static String DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_; + public static String DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE; + public static String DOUBLE_CLICK_TO_VISUALIZE; + public static String DESCRIPTION; + public static String DESCRIPTOR; + public static String DETAILS; + public static String DETECT_DEADLOCK; + public static String DETECT_DEADLOCK_TOOLTIP; + public static String DIMENSION_IS_NOT_SUPPORTED_COLON; + public static String DISCARD_CHART; + public static String DURATION_DAYS_HOURS_MINUTES; + public static String DURATION_HOURS_MINUTES; + public static String DURATION_MINUTES; + public static String DURATION_SECONDS; + public static String EMPTY_ARRAY; + public static String ERROR; + public static String ERROR_COLON_MBEANS_ALREADY_EXIST; + public static String ERROR_COLON_MBEANS_DO_NOT_EXIST; + public static String EVENT; + public static String EXIT; + public static String FAIL_TO_LOAD_PLUGIN; + public static String FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION; + public static String FILE_CHOOSER_FILE_EXISTS_MESSAGE; + public static String FILE_CHOOSER_FILE_EXISTS_OK_OPTION; + public static String FILE_CHOOSER_FILE_EXISTS_TITLE; + public static String FILE_CHOOSER_SAVED_FILE; + public static String FILE_CHOOSER_SAVE_FAILED_MESSAGE; + public static String FILE_CHOOSER_SAVE_FAILED_TITLE; + public static String FREE_PHYSICAL_MEMORY; + public static String FREE_SWAP_SPACE; + public static String GARBAGE_COLLECTOR; + public static String GC_INFO; + public static String GC_TIME; + public static String GC_TIME_DETAILS; + public static String HEAP_MEMORY_USAGE; + public static String HEAP; + public static String HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION; + public static String HELP_ABOUT_DIALOG_JCONSOLE_VERSION; + public static String HELP_ABOUT_DIALOG_JAVA_VERSION; + public static String HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME; + public static String HELP_ABOUT_DIALOG_MASTHEAD_TITLE; + public static String HELP_ABOUT_DIALOG_TITLE; + public static String HELP_ABOUT_DIALOG_USER_GUIDE_LINK; + public static String HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL; + public static String HELP_MENU_ABOUT_TITLE; + public static String HELP_MENU_USER_GUIDE_TITLE; + public static String HELP_MENU_TITLE; + public static String HOTSPOT_MBEANS_ELLIPSIS; + public static String HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION; + public static String IMPACT; + public static String INFO; + public static String INFO_CAPITALIZED; + public static String INVALID_PLUGIN_PATH; + public static String INVALID_URL; + public static String IS; + public static String JAVA_MONITORING___MANAGEMENT_CONSOLE; + public static String JCONSOLE_COLON_; + public static String JCONSOLE_VERSION; // in version template + public static String JCONSOLE_ACCESSIBLE_DESCRIPTION; + public static String JIT_COMPILER; + public static String LIBRARY_PATH; + public static String LIVE_THREADS; + public static String LOADED; + public static String LOCAL_PROCESS_COLON; + public static String MASTHEAD_FONT; + public static String MANAGEMENT_NOT_ENABLED; + public static String MANAGEMENT_WILL_BE_ENABLED; + public static String MBEAN_ATTRIBUTE_INFO; + public static String MBEAN_INFO; + public static String MBEAN_NOTIFICATION_INFO; + public static String MBEAN_OPERATION_INFO; + public static String MBEANS; + public static String MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON; + public static String MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP; + public static String MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE; + public static String MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE; + public static String MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON; + public static String MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP; + public static String MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON; + public static String MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP; + public static String MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE; + public static String MBEANS_TAB_TABULAR_NAVIGATION_SINGLE; + public static String MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON; + public static String MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP; + public static String MANAGE_HOTSPOT_MBEANS_IN_COLON_; + public static String MAX; + public static String MAXIMUM_HEAP_SIZE; + public static String MEMORY; + public static String MEMORY_POOL_LABEL; + public static String MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME; + public static String MEMORY_TAB_INFO_LABEL_FORMAT; + public static String MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME; + public static String MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD; + public static String MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME; + public static String MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD; + public static String MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME; + public static String MESSAGE; + public static String METHOD_SUCCESSFULLY_INVOKED; + public static String MINIMIZE_ALL; + public static String MONITOR_LOCKED; + public static String NAME; + public static String NAME_STATE; + public static String NAME_STATE_LOCK_NAME; + public static String NAME_STATE_LOCK_NAME_LOCK_OWNER; + public static String NAME_AND_BUILD;// in version template + public static String NEW_CONNECTION_ELLIPSIS; + public static String NO_DEADLOCK_DETECTED; + public static String NON_HEAP_MEMORY_USAGE; + public static String NON_HEAP; + public static String NOTIFICATION; + public static String NOTIFICATION_BUFFER; + public static String NOTIFICATIONS; + public static String NOTIF_TYPES; + public static String NUMBER_OF_THREADS; + public static String NUMBER_OF_LOADED_CLASSES; + public static String NUMBER_OF_PROCESSORS; + public static String OBJECT_NAME; + public static String OPERATING_SYSTEM; + public static String OPERATION; + public static String OPERATION_INVOCATION; + public static String OPERATION_RETURN_VALUE; + public static String OPERATIONS; + public static String OVERVIEW; + public static String OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME; + public static String PARAMETER; + public static String PASSWORD_COLON_; + public static String PASSWORD_ACCESSIBLE_NAME; + public static String PEAK; + public static String PERFORM_GC; + public static String PERFORM_GC_TOOLTIP; + public static String PLOTTER_ACCESSIBLE_NAME; + public static String PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE; + public static String PLOTTER_ACCESSIBLE_NAME_NO_DATA; + public static String PLOTTER_SAVE_AS_MENU_ITEM; + public static String PLOTTER_TIME_RANGE_MENU; + public static String PROBLEM_ADDING_LISTENER; + public static String PROBLEM_DISPLAYING_MBEAN; + public static String PROBLEM_INVOKING; + public static String PROBLEM_REMOVING_LISTENER; + public static String PROBLEM_SETTING_ATTRIBUTE; + public static String PROCESS_CPU_TIME; + public static String READABLE; + public static String RECONNECT; + public static String INSECURE; + public static String REMOTE_PROCESS_COLON; + public static String REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME; + public static String RESTORE_ALL; + public static String RETURN_TYPE; + public static String SEQ_NUM; + public static String SIZE_BYTES; + public static String SIZE_GB; + public static String SIZE_KB; + public static String SIZE_MB; + public static String SOURCE; + public static String STACK_TRACE; + public static String SUMMARY_TAB_HEADER_DATE_TIME_FORMAT; + public static String SUMMARY_TAB_PENDING_FINALIZATION_LABEL; + public static String SUMMARY_TAB_PENDING_FINALIZATION_VALUE; + public static String SUMMARY_TAB_TAB_NAME; + public static String SUMMARY_TAB_VM_VERSION; + public static String THREADS; + public static String THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME; + public static String THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME; + public static String THRESHOLD; + public static String TILE; + public static String TIME_RANGE_COLON; + public static String TIME; + public static String TIME_STAMP; + public static String TOTAL_LOADED; + public static String TOTAL_CLASSES_LOADED; + public static String TOTAL_CLASSES_UNLOADED; + public static String TOTAL_COMPILE_TIME; + public static String TOTAL_PHYSICAL_MEMORY; + public static String TOTAL_THREADS_STARTED; + public static String TOTAL_SWAP_SPACE; + public static String TYPE; + public static String UNAVAILABLE; + public static String UNKNOWN_CAPITALIZED; + public static String UNKNOWN_HOST; + public static String UNREGISTER; + public static String UPTIME; + public static String USAGE_THRESHOLD; + public static String REMOTE_TF_USAGE; + public static String USED; + public static String USERNAME_COLON_; + public static String USERNAME_ACCESSIBLE_NAME; + public static String USER_DATA; + public static String VIRTUAL_MACHINE; + public static String VM_ARGUMENTS; + public static String VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION; + public static String VALUE; + public static String VENDOR; + public static String VERBOSE_OUTPUT; + public static String VERBOSE_OUTPUT_TOOLTIP; + public static String VIEW; + public static String WINDOW; + public static String WINDOWS; + public static String WRITABLE; + public static String CONNECTION_FAILED1; + public static String CONNECTION_FAILED2; + public static String CONNECTION_LOST1; + public static String CONNECTION_INSECURE1; + public static String CONNECTION_INSECURE2; + public static String CONNECTING_TO1; + public static String CONNECTING_TO2; + public static String DEADLOCK_TAB; + public static String DEADLOCK_TAB_N; + public static String EXPAND; + public static String KBYTES; + public static String PLOT; + public static String VISUALIZE; + public static String ZZ_USAGE_TEXT; +}
--- a/src/share/classes/sun/tools/jconsole/OverviewPanel.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/OverviewPanel.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,14 +26,12 @@ package sun.tools.jconsole; import java.awt.*; -import java.awt.event.*; import javax.swing.*; -import javax.swing.border.*; + import static javax.swing.SwingConstants.*; import static sun.tools.jconsole.JConsole.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @@ -68,7 +66,7 @@ } plotter.createSequence(plotterKey, plotterName, PLOTTER_COLOR, true); setAccessibleName(plotter, - getText("OverviewPanel.plotter.accessibleName", + Resources.format(Messages.OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME, title)); setPlotter(plotter); }
--- a/src/share/classes/sun/tools/jconsole/OverviewTab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/OverviewTab.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,15 +26,11 @@ package sun.tools.jconsole; import java.awt.*; -import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import javax.swing.*; import javax.swing.border.*; -import static sun.tools.jconsole.JConsole.*; -import static sun.tools.jconsole.Resources.*; - @SuppressWarnings("serial") class OverviewTab extends Tab { @@ -42,7 +38,7 @@ TimeComboBox timeComboBox; public static String getTabName() { - return getText("Overview"); + return Messages.OVERVIEW; } public OverviewTab(VMPanel vmPanel) { @@ -58,8 +54,8 @@ topPanel.add(controlPanel, BorderLayout.CENTER); timeComboBox = new TimeComboBox(); - LabeledComponent lc = new LabeledComponent(Resources.getText("Time Range:"), - getMnemonicInt("Time Range:"), + LabeledComponent lc = new LabeledComponent(Messages.TIME_RANGE_COLON, + Resources.getMnemonicInt(Messages.TIME_RANGE_COLON), timeComboBox); controlPanel.add(lc);
--- a/src/share/classes/sun/tools/jconsole/Plotter.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/Plotter.java Sun Dec 04 00:19:27 2016 +0000 @@ -40,15 +40,12 @@ import javax.swing.filechooser.*; import javax.swing.filechooser.FileFilter; + import com.sun.tools.jconsole.JConsoleContext; import com.sun.tools.jconsole.JConsoleContext.ConnectionState; -import static com.sun.tools.jconsole.JConsoleContext.ConnectionState.*; - import static sun.tools.jconsole.Formatter.*; import static sun.tools.jconsole.ProxyClient.*; -import static sun.tools.jconsole.Resources.*; -import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") public class Plotter extends JComponent @@ -59,22 +56,22 @@ } static final String[] rangeNames = { - Resources.getText(" 1 min"), - Resources.getText(" 5 min"), - Resources.getText("10 min"), - Resources.getText("30 min"), - Resources.getText(" 1 hour"), - Resources.getText(" 2 hours"), - Resources.getText(" 3 hours"), - Resources.getText(" 6 hours"), - Resources.getText("12 hours"), - Resources.getText(" 1 day"), - Resources.getText(" 7 days"), - Resources.getText(" 1 month"), - Resources.getText(" 3 months"), - Resources.getText(" 6 months"), - Resources.getText(" 1 year"), - Resources.getText("All") + Messages.ONE_MIN, + Messages.FIVE_MIN, + Messages.TEN_MIN, + Messages.THIRTY_MIN, + Messages.ONE_HOUR, + Messages.TWO_HOURS, + Messages.THREE_HOURS, + Messages.SIX_HOURS, + Messages.TWELVE_HOURS, + Messages.ONE_DAY, + Messages.SEVEN_DAYS, + Messages.ONE_MONTH, + Messages.THREE_MONTHS, + Messages.SIX_MONTHS, + Messages.ONE_YEAR, + Messages.ALL }; static final int[] rangeValues = { @@ -242,9 +239,9 @@ public JPopupMenu getComponentPopupMenu() { if (popupMenu == null) { - popupMenu = new JPopupMenu(Resources.getText("Chart:")); - timeRangeMenu = new JMenu(Resources.getText("Plotter.timeRangeMenu")); - timeRangeMenu.setMnemonic(getMnemonicInt("Plotter.timeRangeMenu")); + popupMenu = new JPopupMenu(Messages.CHART_COLON); + timeRangeMenu = new JMenu(Messages.PLOTTER_TIME_RANGE_MENU); + timeRangeMenu.setMnemonic(Resources.getMnemonicInt(Messages.PLOTTER_TIME_RANGE_MENU)); popupMenu.add(timeRangeMenu); menuRBs = new JRadioButtonMenuItem[rangeNames.length]; ButtonGroup rbGroup = new ButtonGroup(); @@ -260,8 +257,8 @@ popupMenu.addSeparator(); - saveAsMI = new JMenuItem(getText("Plotter.saveAsMenuItem")); - saveAsMI.setMnemonic(getMnemonicInt("Plotter.saveAsMenuItem")); + saveAsMI = new JMenuItem(Messages.PLOTTER_SAVE_AS_MENU_ITEM); + saveAsMI.setMnemonic(Resources.getMnemonicInt(Messages.PLOTTER_SAVE_AS_MENU_ITEM)); saveAsMI.addActionListener(this); popupMenu.add(saveAsMI); } @@ -313,9 +310,9 @@ out.close(); JOptionPane.showMessageDialog(this, - getText("FileChooser.savedFile", - file.getAbsolutePath(), - file.length())); + Resources.format(Messages.FILE_CHOOSER_SAVED_FILE, + file.getAbsolutePath(), + file.length())); } catch (IOException ex) { String msg = ex.getLocalizedMessage(); String path = file.getAbsolutePath(); @@ -323,9 +320,10 @@ msg = msg.substring(path.length()).trim(); } JOptionPane.showMessageDialog(this, - getText("FileChooser.saveFailed.message", - path, msg), - getText("FileChooser.saveFailed.title"), + Resources.format(Messages.FILE_CHOOSER_SAVE_FAILED_MESSAGE, + path, + msg), + Messages.FILE_CHOOSER_SAVE_FAILED_TITLE, JOptionPane.ERROR_MESSAGE); } } @@ -1012,13 +1010,13 @@ } if (file.exists()) { - String okStr = getText("FileChooser.fileExists.okOption"); - String cancelStr = getText("FileChooser.fileExists.cancelOption"); + String okStr = Messages.FILE_CHOOSER_FILE_EXISTS_OK_OPTION; + String cancelStr = Messages.FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION; int ret = JOptionPane.showOptionDialog(this, - getText("FileChooser.fileExists.message", - file.getName()), - getText("FileChooser.fileExists.title"), + Resources.format(Messages.FILE_CHOOSER_FILE_EXISTS_MESSAGE, + file.getName()), + Messages.FILE_CHOOSER_FILE_EXISTS_TITLE, JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, @@ -1043,7 +1041,7 @@ protected class AccessiblePlotter extends AccessibleJComponent { protected AccessiblePlotter() { - setAccessibleName(getText("Plotter.accessibleName")); + setAccessibleName(Messages.PLOTTER_ACCESSIBLE_NAME); } public String getAccessibleName() { @@ -1056,7 +1054,7 @@ String value = "null"; if (seq.size > 0) { if (unit == Unit.BYTES) { - value = getText("Size Bytes", seq.value(seq.size - 1)); + value = Resources.format(Messages.SIZE_BYTES, seq.value(seq.size - 1)); } else { value = getFormattedValue(seq.value(seq.size - 1), false) + @@ -1065,13 +1063,13 @@ } // Assume format string ends with newline keyValueList += - getText("Plotter.accessibleName.keyAndValue", + Resources.format(Messages.PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE, seq.key, value); } } name += "\n" + keyValueList + "."; } else { - name += "\n" + getText("Plotter.accessibleName.noData"); + name += "\n" + Messages.PLOTTER_ACCESSIBLE_NAME_NO_DATA; } return name; }
--- a/src/share/classes/sun/tools/jconsole/PlotterPanel.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/PlotterPanel.java Sun Dec 04 00:19:27 2016 +0000 @@ -25,7 +25,6 @@ package sun.tools.jconsole; -import java.awt.*; import java.awt.event.*; import javax.accessibility.*;
--- a/src/share/classes/sun/tools/jconsole/ProxyClient.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/ProxyClient.java Sun Dec 04 00:19:27 2016 +0000 @@ -27,7 +27,6 @@ import com.sun.management.HotSpotDiagnosticMXBean; import com.sun.tools.jconsole.JConsoleContext; -import com.sun.tools.jconsole.JConsoleContext.ConnectionState; import java.awt.Component; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeEvent; @@ -526,7 +525,7 @@ public String toString() { if (!isConnected()) { - return Resources.getText("ConnectionName (disconnected)", displayName); + return Resources.format(Messages.CONNECTION_NAME__DISCONNECTED_, displayName); } else { return displayName; } @@ -613,10 +612,10 @@ assert(false); } } - Set mbeans = server.queryNames(name, null); + Set<ObjectName> mbeans = server.queryNames(name, null); Map<ObjectName,MBeanInfo> result = new HashMap<ObjectName,MBeanInfo>(mbeans.size()); - Iterator iterator = mbeans.iterator(); + Iterator<ObjectName> iterator = mbeans.iterator(); while (iterator.hasNext()) { Object object = iterator.next(); if (object instanceof ObjectName) { @@ -722,10 +721,10 @@ // should not reach here assert(false); } - Set mbeans = server.queryNames(poolName, null); + Set<ObjectName> mbeans = server.queryNames(poolName, null); if (mbeans != null) { memoryPoolProxies = new ArrayList<MemoryPoolProxy>(); - Iterator iterator = mbeans.iterator(); + Iterator<ObjectName> iterator = mbeans.iterator(); while (iterator.hasNext()) { ObjectName objName = (ObjectName) iterator.next(); MemoryPoolProxy p = new MemoryPoolProxy(this, objName); @@ -748,10 +747,10 @@ // should not reach here assert(false); } - Set mbeans = server.queryNames(gcName, null); + Set<ObjectName> mbeans = server.queryNames(gcName, null); if (mbeans != null) { garbageCollectorMBeans = new ArrayList<GarbageCollectorMXBean>(); - Iterator iterator = mbeans.iterator(); + Iterator<ObjectName> iterator = mbeans.iterator(); while (iterator.hasNext()) { ObjectName on = (ObjectName) iterator.next(); String name = GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE +
--- a/src/share/classes/sun/tools/jconsole/Resources.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/Resources.java Sun Dec 04 00:19:27 2016 +0000 @@ -25,89 +25,195 @@ package sun.tools.jconsole; +import java.awt.event.KeyEvent; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.text.MessageFormat; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import java.util.MissingResourceException; import java.util.ResourceBundle; -import sun.tools.jconsole.resources.JConsoleResources; - /** - * Provides resource support for jconsole. + * Toolkit that provides resource support for JConsole. */ public final class Resources { + private static Map<String, Integer> MNEMONIC_LOOKUP = Collections + .synchronizedMap(new HashMap<String, Integer>()); - private static final Object lock = new Object(); - private static JConsoleResources resources = null; - static { + private Resources() { + throw new AssertionError(); + } + + /** + * Convenience method for {@link MessageFormat#format(String, Object...)}. + * + * @param pattern the pattern + * @param objects the arguments for the pattern + * + * @return a formatted string + */ + public static String format(String pattern, Object... arguments) { + return MessageFormat.format(pattern, arguments); + } + + /** + * Returns the mnemonic for a message. + * + * @param message the message + * + * @return the mnemonic <code>int</code> + */ + public static int getMnemonicInt(String message) { + Integer integer = MNEMONIC_LOOKUP.get(message); + if (integer != null) { + return integer.intValue(); + } + return 0; + } + + /** + * Initializes all non-final public static fields in the given class with + * messages from a {@link ResourceBundle}. + * + * @param clazz the class containing the fields + */ + public static void initializeMessages(Class<?> clazz, String rbName) { + ResourceBundle rb = null; try { - resources = - (JConsoleResources)ResourceBundle.getBundle("sun.tools.jconsole.resources.JConsoleResources"); - } catch (MissingResourceException e) { - // gracefully handle this later + rb = ResourceBundle.getBundle(rbName); + } catch (MissingResourceException mre) { + // fall through, handled later + } + for (Field field : clazz.getFields()) { + if (isWritableField(field)) { + String key = field.getName(); + String message = getMessage(rb, key); + int mnemonicInt = findMnemonicInt(message); + message = removeMnemonicAmpersand(message); + message = replaceWithPlatformLineFeed(message); + setFieldValue(field, message); + MNEMONIC_LOOKUP.put(message, mnemonicInt); + } } } - private Resources() { throw new AssertionError(); } + private static boolean isWritableField(Field field) { + int modifiers = field.getModifiers(); + return Modifier.isPublic(modifiers) && Modifier.isStatic(modifiers) + && !Modifier.isFinal(modifiers); + } /** - * Returns the text of the jconsole resource for the specified key - * formatted with the specified arguments. + * Returns the message corresponding to the key in the bundle or a text + * describing it's missing. * + * @param rb the resource bundle + * @param key the key + * + * @return the message */ - public static String getText(String key, Object... args) { - String format = getString(key); - if (format == null) { - format = "missing resource key: key = \"" + key + "\", " + - "arguments = \"{0}\", \"{1}\", \"{2}\""; + private static String getMessage(ResourceBundle rb, String key) { + if (rb == null) { + return "missing resource bundle"; } - return formatMessage(format, args); + try { + return rb.getString(key); + } catch (MissingResourceException mre) { + return "missing message for key = \"" + key + + "\" in resource bundle "; + } } - static String formatMessage(String format, Object... args) { - String ss = null; - synchronized (lock) { - /* - * External synchronization required for safe use of - * java.text.MessageFormat: - */ - ss = MessageFormat.format(format, args); + private static void setFieldValue(Field field, String value) { + try { + field.set(null, value); + } catch (IllegalArgumentException e) { + throw new Error("Unable to access or set message for field " + field.getName()); + } catch (IllegalAccessException e) { + throw new Error("Unable to access or set message for field " + field.getName()); } - return ss; + } + + /** + * Returns a {@link String} where all <code>\n</code> in the <text> have + * been replaced with the line separator for the platform. + * + * @param text the to be replaced + * + * @return the replaced text + */ + private static String replaceWithPlatformLineFeed(String text) { + return text.replace("\n", System.getProperty("line.separator")); } /** - * Returns the mnemonic keycode int of the jconsole resource for the specified key. + * Removes the mnemonic identifier (<code>&</code>) from a string unless + * it's escaped by <code>&&</code> or placed at the end. * + * @param message the message + * + * @return a message with the mnemonic identifier removed */ - public static int getMnemonicInt(String key) { - int mnemonic = 0; - if (resources != null) { - Object obj = resources.getObject(key+".mnemonic"); - if (obj instanceof Character) { - mnemonic = (int)(Character)obj; - if (mnemonic >= 'a' && mnemonic <='z') { - mnemonic -= ('a' - 'A'); - } - } else if (obj instanceof Integer) { - mnemonic = (Integer)obj; + private static String removeMnemonicAmpersand(String message) { + StringBuilder s = new StringBuilder(); + for (int i = 0; i < message.length(); i++) { + char current = message.charAt(i); + if (current != '&' || i == message.length() - 1 + || message.charAt(i + 1) == '&') { + s.append(current); } } - return mnemonic; + return s.toString(); } /** - * Returns the jconsole resource string for the specified key. + * Finds the mnemonic character in a message. * + * The mnemonic character is the first character followed by the first + * <code>&</code> that is not followed by another <code>&</code>. + * + * @return the mnemonic as an <code>int</code>, or <code>0</code> if it + * can't be found. */ - private static String getString(String key) { - if (resources != null) { - try { - return resources.getString(key); - } catch (MissingResourceException e) { - return null; + private static int findMnemonicInt(String s) { + for (int i = 0; i < s.length() - 1; i++) { + if (s.charAt(i) == '&') { + if (s.charAt(i + 1) != '&') { + return lookupMnemonicInt(s.substring(i + 1, i + 2)); + } else { + i++; + } } } - return "missing resource bundle: key = \"" + key + "\", " + - "arguments = \"{0}\", \"{1}\", \"{2}\""; + return 0; + } + + /** + * Lookups the mnemonic for a key in the {@link KeyEvent} class. + * + * @param c the character to lookup + * + * @return the mnemonic as an <code>int</code>, or <code>0</code> if it + * can't be found. + */ + private static int lookupMnemonicInt(String c) { + try { + return KeyEvent.class.getDeclaredField("VK_" + c.toUpperCase()) + .getInt(null); + } catch (IllegalArgumentException e) { + // Missing VK is okay + return 0; + } catch (IllegalAccessException e) { + // Missing VK is okay + return 0; + } catch (NoSuchFieldException e) { + // Missing VK is okay + return 0; + } catch (SecurityException e) { + // Missing VK is okay + return 0; + } } }
--- a/src/share/classes/sun/tools/jconsole/SummaryTab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/SummaryTab.java Sun Dec 04 00:19:27 2016 +0000 @@ -29,24 +29,19 @@ import java.io.*; import java.lang.management.*; import java.lang.reflect.*; -import java.net.URL; import java.text.*; import java.util.*; import java.util.concurrent.*; import javax.swing.*; -import javax.swing.event.*; -import javax.swing.text.*; + import static sun.tools.jconsole.Formatter.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") class SummaryTab extends Tab { private static final String cpuUsageKey = "cpu"; - private static final String cpuUsageName = getText("CPU Usage"); - private static final String cpuUsageFormat = "CPUUsageFormat"; private static final String newDivider = "<tr><td colspan=4><font size =-1><hr>"; private static final String newTable = "<tr><td colspan=4 align=left><table cellpadding=1>"; @@ -70,7 +65,7 @@ } public static String getTabName() { - return Resources.getText("SummaryTab.tabName"); + return Messages.SUMMARY_TAB_TAB_NAME; } public SummaryTab(VMPanel vmPanel) { @@ -83,7 +78,7 @@ add(new JScrollPane(info)); headerDateTimeFormat = - getDateTimeFormat("SummaryTab.headerDateTimeFormat"); + Formatter.getDateTimeFormat(Messages.SUMMARY_TAB_HEADER_DATE_TIME_FORMAT); } public SwingWorker<?, ?> newSwingWorker() { @@ -138,7 +133,7 @@ proxyClient.getSunOperatingSystemMXBean(); append("<tr><td colspan=4>"); - append("<center><b>" + getText("SummaryTab.tabName") + "</b></center>"); + append("<center><b>" + Messages.SUMMARY_TAB_TAB_NAME + "</b></center>"); String dateTime = headerDateTimeFormat.format(System.currentTimeMillis()); append("<center>" + dateTime + "</center>"); @@ -147,30 +142,30 @@ { // VM info append(newLeftTable); - append("Connection name", vmPanel.getDisplayName()); - append("Virtual Machine", - getText("SummaryTab.vmVersion", - rmBean.getVmName(), rmBean.getVmVersion())); - append("Vendor", rmBean.getVmVendor()); - append("Name", rmBean.getName()); + append(Messages.CONNECTION_NAME, vmPanel.getDisplayName()); + append(Messages.VIRTUAL_MACHINE, + Resources.format(Messages.SUMMARY_TAB_VM_VERSION, + rmBean.getVmName(), rmBean.getVmVersion())); + append(Messages.VENDOR, rmBean.getVmVendor()); + append(Messages.NAME, rmBean.getName()); append(endTable); append(newRightTable); result.upTime = rmBean.getUptime(); - append("Uptime", formatTime(result.upTime)); + append(Messages.UPTIME, formatTime(result.upTime)); if (sunOSMBean != null) { result.processCpuTime = sunOSMBean.getProcessCpuTime(); - append("Process CPU time", formatNanoTime(result.processCpuTime)); + append(Messages.PROCESS_CPU_TIME, formatNanoTime(result.processCpuTime)); } if (cmpMBean != null) { - append("JIT compiler", cmpMBean.getName()); - append("Total compile time", + append(Messages.JIT_COMPILER, cmpMBean.getName()); + append(Messages.TOTAL_COMPILE_TIME, cmpMBean.isCompilationTimeMonitoringSupported() ? formatTime(cmpMBean.getTotalCompilationTime()) - : getText("Unavailable")); + : Messages.UNAVAILABLE); } else { - append("JIT compiler", getText("Unavailable")); + append(Messages.JIT_COMPILER, Messages.UNAVAILABLE); } append(endTable); } @@ -185,10 +180,10 @@ long ttCount = tmBean.getTotalStartedThreadCount(); String[] strings1 = formatLongs(tlCount, tpCount, tdCount, ttCount); - append("Live Threads", strings1[0]); - append("Peak", strings1[1]); - append("Daemon threads", strings1[2]); - append("Total threads started", strings1[3]); + append(Messages.LIVE_THREADS, strings1[0]); + append(Messages.PEAK, strings1[1]); + append(Messages.DAEMON_THREADS, strings1[2]); + append(Messages.TOTAL_THREADS_STARTED, strings1[3]); append(endTable); append(newRightTable); @@ -196,9 +191,9 @@ long cuCount = clMBean.getUnloadedClassCount(); long ctCount = clMBean.getTotalLoadedClassCount(); String[] strings2 = formatLongs(clCount, cuCount, ctCount); - append("Current classes loaded", strings2[0]); - append("Total classes loaded", strings2[2]); - append("Total classes unloaded", strings2[1]); + append(Messages.CURRENT_CLASSES_LOADED, strings2[0]); + append(Messages.TOTAL_CLASSES_LOADED, strings2[2]); + append(Messages.TOTAL_CLASSES_UNLOADED, strings2[1]); append(null, ""); append(endTable); } @@ -210,16 +205,16 @@ append(newLeftTable); String[] strings1 = formatKByteStrings(u.getUsed(), u.getMax()); - append("Current heap size", strings1[0]); - append("Maximum heap size", strings1[1]); + append(Messages.CURRENT_HEAP_SIZE, strings1[0]); + append(Messages.MAXIMUM_HEAP_SIZE, strings1[1]); append(endTable); append(newRightTable); String[] strings2 = formatKByteStrings(u.getCommitted()); - append("Committed memory", strings2[0]); - append("SummaryTab.pendingFinalization.label", - getText("SummaryTab.pendingFinalization.value", - memoryBean.getObjectPendingFinalizationCount())); + append(Messages.COMMITTED_MEMORY, strings2[0]); + append(Messages.SUMMARY_TAB_PENDING_FINALIZATION_LABEL, + Messages.SUMMARY_TAB_PENDING_FINALIZATION_VALUE, + memoryBean.getObjectPendingFinalizationCount()); append(endTable); append(newTable); @@ -230,10 +225,10 @@ long gcCount = garbageCollectorMBean.getCollectionCount(); long gcTime = garbageCollectorMBean.getCollectionTime(); - append("Garbage collector", - getText("GcInfo", gcName, gcCount, - (gcTime >= 0) ? formatTime(gcTime) - : getText("Unavailable")), + append(Messages.GARBAGE_COLLECTOR, + Resources.format(Messages.GC_INFO, gcName, gcCount, + (gcTime >= 0) ? formatTime(gcTime) + : Messages.UNAVAILABLE), 4); } append(endTable); @@ -247,9 +242,9 @@ String osVersion = osMBean.getVersion(); String osArch = osMBean.getArch(); result.nCPUs = osMBean.getAvailableProcessors(); - append("Operating System", osName + " " + osVersion); - append("Architecture", osArch); - append("Number of processors", result.nCPUs+""); + append(Messages.OPERATING_SYSTEM, osName + " " + osVersion); + append(Messages.ARCHITECTURE, osArch); + append(Messages.NUMBER_OF_PROCESSORS, result.nCPUs+""); if (pathSeparator == null) { // Must use separator of remote OS, not File.pathSeparator @@ -268,14 +263,14 @@ sunOSMBean.getTotalSwapSpaceSize(), sunOSMBean.getFreeSwapSpaceSize()); - append("Committed virtual memory", kbStrings1[0]); + append(Messages.COMMITTED_VIRTUAL_MEMORY, kbStrings1[0]); append(endTable); append(newRightTable); - append("Total physical memory", kbStrings2[0]); - append("Free physical memory", kbStrings2[1]); - append("Total swap space", kbStrings2[2]); - append("Free swap space", kbStrings2[3]); + append(Messages.TOTAL_PHYSICAL_MEMORY, kbStrings2[0]); + append(Messages.FREE_PHYSICAL_MEMORY, kbStrings2[1]); + append(Messages.TOTAL_SWAP_SPACE, kbStrings2[2]); + append(Messages.FREE_SWAP_SPACE, kbStrings2[3]); } append(endTable); @@ -290,13 +285,13 @@ for (String arg : inputArguments) { args += arg + " "; } - append("VM arguments", args, 4); - append("Class path", rmBean.getClassPath(), 4); - append("Library path", rmBean.getLibraryPath(), 4); - append("Boot class path", + append(Messages.VM_ARGUMENTS, args, 4); + append(Messages.CLASS_PATH, rmBean.getClassPath(), 4); + append(Messages.LIBRARY_PATH, rmBean.getLibraryPath(), 4); + append(Messages.BOOT_CLASS_PATH, rmBean.isBootClassPathSupported() ? rmBean.getBootClassPath() - : getText("Unavailable"), + : Messages.UNAVAILABLE, 4); append(endTable); } @@ -327,7 +322,7 @@ } void append(String label, String value) { - append(newRow((label != null) ? getText(label) : label, value)); + append(newRow(label, value)); } private void append(String label, String value, int columnPerRow) { @@ -335,13 +330,7 @@ value = value.replace(pathSeparator, "<b></b>" + pathSeparator); } - append(newRow(getText(label), value, columnPerRow)); - } - - void append(String label1, String value1, - String label2, String value2) { - append(newRow(getText(label1), value1, - getText(label2), value2)); + append(newRow(label, value, columnPerRow)); } OverviewPanel[] getOverviewPanels() { @@ -355,7 +344,7 @@ private long prevUpTime, prevProcessCpuTime; CPUOverviewPanel() { - super(getText("CPU Usage"), cpuUsageKey, cpuUsageName, Plotter.Unit.PERCENT); + super(Messages.CPU_USAGE, cpuUsageKey, Messages.CPU_USAGE, Plotter.Unit.PERCENT); getPlotter().setDecimals(CPU_DECIMALS); } @@ -373,14 +362,11 @@ getPlotter().addValues(result.timeStamp, Math.round(cpuUsage * Math.pow(10.0, CPU_DECIMALS))); - getInfoLabel().setText(getText(cpuUsageFormat, + getInfoLabel().setText(Resources.format(Messages.CPU_USAGE_FORMAT, String.format("%."+CPU_DECIMALS+"f", cpuUsage))); } this.prevUpTime = result.upTime; this.prevProcessCpuTime = result.processCpuTime; } } - - - }
--- a/src/share/classes/sun/tools/jconsole/Tab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/Tab.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,9 +26,6 @@ package sun.tools.jconsole; import java.awt.*; -import java.awt.event.*; -import java.beans.*; - import javax.swing.*; public abstract class Tab extends JPanel {
--- a/src/share/classes/sun/tools/jconsole/ThreadTab.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/ThreadTab.java Sun Dec 04 00:19:27 2016 +0000 @@ -35,14 +35,11 @@ import javax.swing.border.*; import javax.swing.event.*; + import java.util.*; import java.util.concurrent.*; import java.util.List; -import sun.awt.*; - -import static sun.tools.jconsole.OverviewPanel.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @@ -64,9 +61,6 @@ private static final String threadCountKey = "threadCount"; private static final String peakKey = "peak"; - private static final String threadCountName = Resources.getText("Live Threads"); - private static final String peakName = Resources.getText("Peak"); - private static final Color threadCountColor = Plotter.defaultColor; private static final Color peakColor = Color.red; @@ -93,7 +87,7 @@ public static String getTabName() { - return Resources.getText("Threads"); + return Messages.THREADS; } public ThreadTab(VMPanel vmPanel) { @@ -111,18 +105,18 @@ JPanel controlPanel = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 5)); topPanel.add(controlPanel, BorderLayout.CENTER); - threadMeter = new PlotterPanel(Resources.getText("Number of Threads"), + threadMeter = new PlotterPanel(Messages.NUMBER_OF_THREADS, Plotter.Unit.NONE, true); - threadMeter.plotter.createSequence(threadCountKey, threadCountName, threadCountColor, true); - threadMeter.plotter.createSequence(peakKey, peakName, peakColor, true); + threadMeter.plotter.createSequence(threadCountKey, Messages.LIVE_THREADS, threadCountColor, true); + threadMeter.plotter.createSequence(peakKey, Messages.PEAK, peakColor, true); setAccessibleName(threadMeter.plotter, - getText("ThreadTab.threadPlotter.accessibleName")); + Messages.THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME); plotterPanel.add(threadMeter); timeComboBox = new TimeComboBox(threadMeter.plotter); - controlPanel.add(new LabeledComponent(Resources.getText("Time Range:"), - getMnemonicInt("Time Range:"), + controlPanel.add(new LabeledComponent(Messages.TIME_RANGE_COLON, + Resources.getMnemonicInt(Messages.TIME_RANGE_COLON), timeComboBox)); listModel = new DefaultListModel(); @@ -131,8 +125,8 @@ textArea.setBorder(thinEmptyBorder); textArea.setEditable(false); setAccessibleName(textArea, - getText("ThreadTab.threadInfo.accessibleName")); - JList list = new ThreadJList(listModel, textArea); + Messages.THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME); + ThreadJList list = new ThreadJList(listModel, textArea); Dimension di = new Dimension(super.getPreferredSize()); di.width = Math.min(di.width, 200); @@ -165,11 +159,11 @@ filterTF.getPreferredSize().height)); firstTabToolPanel.add(separator); - JButton detectDeadlockButton = new JButton(Resources.getText("Detect Deadlock")); - detectDeadlockButton.setMnemonic(getMnemonicInt("Detect Deadlock")); + JButton detectDeadlockButton = new JButton(Messages.DETECT_DEADLOCK); + detectDeadlockButton.setMnemonic(Resources.getMnemonicInt(Messages.DETECT_DEADLOCK)); detectDeadlockButton.setActionCommand("detectDeadlock"); detectDeadlockButton.addActionListener(this); - detectDeadlockButton.setToolTipText(getText("Detect Deadlock.toolTip")); + detectDeadlockButton.setToolTipText(Messages.DETECT_DEADLOCK_TOOLTIP); firstTabToolPanel.add(detectDeadlockButton); messageLabel = new JLabel(); @@ -177,7 +171,7 @@ firstTabPanel.add(threadsSplitPane, BorderLayout.CENTER); firstTabPanel.add(firstTabToolPanel, BorderLayout.SOUTH); - threadListTabbedPane.addTab(Resources.getText("Threads"), firstTabPanel); + threadListTabbedPane.addTab(Messages.THREADS, firstTabPanel); plotterPanel.add(threadListTabbedPane); } @@ -356,32 +350,32 @@ } if (ti != null) { if (ti.getLockName() == null) { - sb.append(Resources.getText("Name State", + sb.append(Resources.format(Messages.NAME_STATE, ti.getThreadName(), ti.getThreadState().toString())); } else if (ti.getLockOwnerName() == null) { - sb.append(Resources.getText("Name State LockName", + sb.append(Resources.format(Messages.NAME_STATE_LOCK_NAME, ti.getThreadName(), ti.getThreadState().toString(), ti.getLockName())); } else { - sb.append(Resources.getText("Name State LockName LockOwner", + sb.append(Resources.format(Messages.NAME_STATE_LOCK_NAME_LOCK_OWNER, ti.getThreadName(), ti.getThreadState().toString(), ti.getLockName(), ti.getLockOwnerName())); } - sb.append(Resources.getText("BlockedCount WaitedCount", + sb.append(Resources.format(Messages.BLOCKED_COUNT_WAITED_COUNT, ti.getBlockedCount(), ti.getWaitedCount())); - sb.append(Resources.getText("Stack trace")); + sb.append(Messages.STACK_TRACE); int index = 0; for (StackTraceElement e : ti.getStackTrace()) { sb.append(e.toString()+"\n"); if (monitors != null) { for (MonitorInfo mi : monitors) { if (mi.getLockedStackDepth() == index) { - sb.append(Resources.getText("Monitor locked", mi.toString())); + sb.append(Resources.format(Messages.MONITOR_LOCKED, mi.toString())); } } } @@ -429,7 +423,7 @@ try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { - String msg = Resources.getText("No deadlock detected"); + String msg = Messages.NO_DEADLOCK_DETECTED; messageLabel.setText(msg); threadListTabbedPane.revalidate(); } @@ -464,8 +458,8 @@ textArea.setBorder(thinEmptyBorder); textArea.setEditable(false); setAccessibleName(textArea, - getText("ThreadTab.threadInfo.accessibleName")); - JList list = new ThreadJList(listModel, textArea); + Messages.THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME); + ThreadJList list = new ThreadJList(listModel, textArea); JScrollPane threadlistSP = new JScrollPane(list); JScrollPane textAreaSP = new JScrollPane(textArea); threadlistSP.setBorder(null); @@ -477,9 +471,9 @@ splitPane.setDividerLocation(threadsSplitPane.getDividerLocation()); String tabName; if (deadlockedThreads.length > 1) { - tabName = Resources.getText("deadlockTabN", i+1); + tabName = Resources.format(Messages.DEADLOCK_TAB_N, i+1); } else { - tabName = Resources.getText("deadlockTab"); + tabName = Messages.DEADLOCK_TAB; } threadListTabbedPane.addTab(tabName, splitPane); @@ -691,12 +685,12 @@ private static class ThreadOverviewPanel extends OverviewPanel { ThreadOverviewPanel() { - super(getText("Threads"), threadCountKey, threadCountName, null); + super(Messages.THREADS, threadCountKey, Messages.LIVE_THREADS, null); } private void updateThreadsInfo(long tlCount, long tpCount, long ttCount, long timeStamp) { getPlotter().addValues(timeStamp, tlCount); - getInfoLabel().setText(getText(infoLabelFormat, tlCount, tpCount, ttCount)); + getInfoLabel().setText(Resources.format(infoLabelFormat, tlCount, tpCount, ttCount)); } } }
--- a/src/share/classes/sun/tools/jconsole/VMInternalFrame.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/VMInternalFrame.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,16 +26,9 @@ package sun.tools.jconsole; import java.awt.*; -import java.awt.event.*; -import java.io.*; -import java.util.*; +import javax.swing.*; -import javax.swing.*; -import javax.swing.Timer; -import javax.swing.border.*; -import javax.swing.event.*; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -47,7 +40,7 @@ this.vmPanel = vmPanel; setAccessibleDescription(this, - getText("VMInternalFrame.accessibleDescription")); + Messages.VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION); getContentPane().add(vmPanel, BorderLayout.CENTER); pack(); vmPanel.updateFrameTitle();
--- a/src/share/classes/sun/tools/jconsole/VMPanel.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/VMPanel.java Sun Dec 04 00:19:27 2016 +0000 @@ -28,18 +28,16 @@ import java.awt.*; import java.awt.event.*; import java.beans.*; -import java.io.*; import java.lang.reflect.*; import java.util.*; import java.util.List; import java.util.Timer; - import javax.swing.*; import javax.swing.plaf.*; + import com.sun.tools.jconsole.JConsolePlugin; import com.sun.tools.jconsole.JConsoleContext; -import static com.sun.tools.jconsole.JConsoleContext.ConnectionState.*; import static sun.tools.jconsole.ProxyClient.*; @@ -50,7 +48,6 @@ private int updateInterval; private String hostName; private int port; - private int vmid; private String userName; private String password; private String url; @@ -103,7 +100,6 @@ this.updateInterval = updateInterval; this.hostName = proxyClient.getHostName(); this.port = proxyClient.getPort(); - this.vmid = proxyClient.getVmid(); this.userName = proxyClient.getUserName(); this.password = proxyClient.getPassword(); this.url = proxyClient.getUrl(); @@ -192,9 +188,9 @@ public String getToolTipText(MouseEvent event) { if (connectedIconBounds.contains(event.getPoint())) { if (isConnected()) { - return getText("Connected. Click to disconnect."); + return Messages.CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_; } else { - return getText("Disconnected. Click to connect."); + return Messages.DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_; } } else { return super.getToolTipText(event); @@ -225,7 +221,7 @@ private Tab instantiate(TabInfo tabInfo) { try { - Constructor con = tabInfo.tabClass.getConstructor(VMPanel.class); + Constructor<?> con = tabInfo.tabClass.getConstructor(VMPanel.class); return (Tab)con.newInstance(this); } catch (Exception ex) { System.err.println(ex); @@ -363,7 +359,7 @@ private void onConnecting() { time0 = System.currentTimeMillis(); - final JConsole jc = (JConsole)SwingUtilities.getWindowAncestor(this); + SwingUtilities.getWindowAncestor(this); String connectionName = getConnectionName(); progressBar = new JProgressBar(); @@ -372,9 +368,9 @@ progressPanel.add(progressBar); Object[] message = { - "<html><h3>" + getText("connectingTo1", connectionName) + "</h3></html>", + "<html><h3>" + Resources.format(Messages.CONNECTING_TO1, connectionName) + "</h3></html>", progressPanel, - "<html><b>" + getText("connectingTo2", connectionName) + "</b></html>" + "<html><b>" + Resources.format(Messages.CONNECTING_TO2, connectionName) + "</b></html>" }; @@ -383,7 +379,7 @@ message, JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, - new String[] { getText("Cancel") }, + new String[]{Messages.CANCEL}, 0); @@ -418,7 +414,7 @@ if (vmIF != null) { String displayName = getDisplayName(); if (!proxyClient.isConnected()) { - displayName = getText("ConnectionName (disconnected)", displayName); + displayName = Resources.format(Messages.CONNECTION_NAME__DISCONNECTED_, displayName); } vmIF.setTitle(displayName); } @@ -467,30 +463,22 @@ private void vmPanelDied() { disconnect(); - final JConsole jc = (JConsole)SwingUtilities.getWindowAncestor(this); - JOptionPane optionPane; - - final String connectStr = getText("Connect"); - final String reconnectStr = getText("Reconnect"); - final String insecureStr = getText("Insecure"); - final String cancelStr = getText("Cancel"); - String msgTitle, msgExplanation, buttonStr; if (wasConnected) { wasConnected = false; - msgTitle = getText("connectionLost1"); - msgExplanation = getText("connectionLost2", getConnectionName()); - buttonStr = reconnectStr; + msgTitle = Messages.CONNECTION_LOST1; + msgExplanation = Resources.format(Messages.CONNECTING_TO2, getConnectionName()); + buttonStr = Messages.RECONNECT; } else if (shouldUseSSL) { - msgTitle = getText("connectionFailedSSL1"); - msgExplanation = getText("connectionFailedSSL2", getConnectionName()); - buttonStr = insecureStr; + msgTitle = Messages.CONNECTION_INSECURE1; + msgExplanation = Resources.format(Messages.CONNECTION_INSECURE2, getConnectionName()); + buttonStr = Messages.INSECURE; } else { - msgTitle = getText("connectionFailed1"); - msgExplanation = getText("connectionFailed2", getConnectionName()); - buttonStr = connectStr; + msgTitle = Messages.CONNECTION_FAILED1; + msgExplanation = Resources.format(Messages.CONNECTION_FAILED2, getConnectionName()); + buttonStr = Messages.CONNECT; } optionPane = @@ -499,7 +487,7 @@ "<b>" + msgExplanation + "</b>", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, - new String[] { buttonStr, cancelStr }, + new String[]{buttonStr, Messages.CANCEL}, 0); optionPane.addPropertyChangeListener(new PropertyChangeListener() { @@ -507,9 +495,9 @@ if (event.getPropertyName().equals(JOptionPane.VALUE_PROPERTY)) { Object value = event.getNewValue(); - if (value == reconnectStr || value == connectStr) { + if (value == Messages.RECONNECT || value == Messages.CONNECT) { connect(); - } else if (value == insecureStr) { + } else if (value == Messages.INSECURE) { shouldUseSSL = false; connect(); } else if (!everConnected) { @@ -656,11 +644,6 @@ } } - // Convenience methods - private static String getText(String key, Object... args) { - return Resources.getText(key, args); - } - private void createPluginTabs() { // add plugin tabs if not done if (!pluginTabsAdded) {
--- a/src/share/classes/sun/tools/jconsole/VariableGridLayout.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/VariableGridLayout.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,7 +26,6 @@ package sun.tools.jconsole; import java.awt.*; -import java.util.*; import javax.swing.*;
--- a/src/share/classes/sun/tools/jconsole/Version.java.template Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/Version.java.template Sun Dec 04 00:19:27 2016 +0000 @@ -26,6 +26,7 @@ package sun.tools.jconsole; import java.io.PrintStream; +import sun.tools.jconsole.Messages; public class Version { private static final String jconsole_version = @@ -34,19 +35,19 @@ public static void print(PrintStream ps) { printFullVersion(ps); - ps.println(Resources.getText("Name and Build", - System.getProperty("java.runtime.name"), - System.getProperty("java.runtime.version"))); + ps.println(Resources.format(Messages.NAME_AND_BUILD, + System.getProperty("java.runtime.name"), + System.getProperty("java.runtime.version"))); - ps.println(Resources.getText("Name Build and Mode", - System.getProperty("java.vm.name"), - System.getProperty("java.vm.version"), - System.getProperty("java.vm.info"))); + ps.println(Resources.format(Messages.NAME_AND_BUILD, + System.getProperty("java.vm.name"), + System.getProperty("java.vm.version"), + System.getProperty("java.vm.info"))); } public static void printFullVersion(PrintStream ps) { - ps.println(Resources.getText("JConsole version", jconsole_version)); + ps.println(Resources.format(Messages.JCONSOLE_VERSION, jconsole_version)); } static String getVersion() {
--- a/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/OperationEntry.java Sun Dec 04 00:19:27 2016 +0000 @@ -25,30 +25,14 @@ package sun.tools.jconsole.inspector; -// java import import java.awt.*; -import java.awt.event.*; -import java.awt.dnd.*; -import java.lang.reflect.*; -import java.io.*; -// - -// swing import -import javax.swing.border.*; -import javax.swing.event.*; import javax.swing.*; -// - -// jmx import import javax.management.*; -// - @SuppressWarnings("serial") public class OperationEntry extends JPanel { private MBeanOperationInfo operation; private JComboBox sigs; - private Dimension preferredSize; private XTextField inputs[]; public OperationEntry (MBeanOperationInfo operation, @@ -61,26 +45,10 @@ setPanel(isCallable, button, xoperations); } - /** - * This method chops off the throws exceptions, removes "java.lang". - */ - private String preProcessSignature(String signature) { - int index; - if ((index=signature.indexOf(" throws"))>0) { - signature = signature.substring(0,index); - } - while ((index = signature.indexOf("java.lang."))>0) { - signature = signature.substring(0,index)+ - signature.substring(index+10,signature.length()); - } - return signature; - } - - private void setPanel(boolean isCallable, + private void setPanel(boolean isCallable, JButton button, XOperations xoperations) { try { - String defaultVal; MBeanParameterInfo params[] = operation.getSignature(); add(new JLabel("(",JLabel.CENTER)); inputs = new XTextField[params.length];
--- a/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/ThreadDialog.java Sun Dec 04 00:19:27 2016 +0000 @@ -27,7 +27,6 @@ // java import import java.awt.*; import javax.swing.*; -import java.io.*; // public class ThreadDialog implements Runnable {
--- a/src/share/classes/sun/tools/jconsole/inspector/Utils.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/Utils.java Sun Dec 04 00:19:27 2016 +0000 @@ -283,7 +283,7 @@ */ public static Object newStringConstructor(String type, String param) throws Exception { - Constructor c = Utils.getClass(type).getConstructor(String.class); + Constructor<?> c = Utils.getClass(type).getConstructor(String.class); try { return c.newInstance(param); } catch (InvocationTargetException e) {
--- a/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XArrayDataViewer.java Sun Dec 04 00:19:27 2016 +0000 @@ -46,9 +46,9 @@ if (isViewableValue(value)) { Object[] arr; if (value instanceof Collection) { - arr = ((Collection) value).toArray(); + arr = ((Collection<?>) value).toArray(); } else if (value instanceof Map) { - arr = ((Map) value).entrySet().toArray(); + arr = ((Map<?,?>) value).entrySet().toArray(); } else if (value instanceof Object[]) { arr = (Object[]) value; } else {
--- a/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XDataViewer.java Sun Dec 04 00:19:27 2016 +0000 @@ -33,7 +33,7 @@ import java.awt.Container; import sun.tools.jconsole.MBeansTab; -import sun.tools.jconsole.Resources; +import sun.tools.jconsole.Messages; public class XDataViewer { @@ -99,10 +99,10 @@ public static String getActionLabel(int type) { if(type == ARRAY || type == OPEN) - return Resources.getText("visualize"); + return Messages.VISUALIZE; if(type == NUMERIC) - return Resources.getText("plot"); - return Resources.getText("expand"); + return Messages.PLOT; + return Messages.EXPAND; } public Component createOperationViewer(Object value,
--- a/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XMBeanAttributes.java Sun Dec 04 00:19:27 2016 +0000 @@ -47,10 +47,10 @@ import javax.management.openmbean.CompositeData; import javax.management.openmbean.TabularData; -import sun.tools.jconsole.Resources; import sun.tools.jconsole.MBeansTab; import sun.tools.jconsole.Plotter; import sun.tools.jconsole.JConsole; +import sun.tools.jconsole.Messages; import sun.tools.jconsole.ProxyClient.SnapshotMBeanServerConnection; /*IMPORTANT : @@ -62,8 +62,8 @@ @SuppressWarnings("serial") public class XMBeanAttributes extends XTable { private final static String[] columnNames = - {Resources.getText("Name"), - Resources.getText("Value")}; + {Messages.NAME, + Messages.VALUE}; private boolean editable = true; @@ -228,7 +228,7 @@ public boolean isColumnEditable(int column) { if (column < getColumnCount()) { - return getColumnName(column).equals(Resources.getText("Value")); + return getColumnName(column).equals(Messages.VALUE); } else { return false; @@ -272,7 +272,7 @@ if (value != null) { tip = value.toString(); if(isAttributeViewable(row, VALUE_COLUMN)) - tip = Resources.getText("Double click to expand/collapse")+ + tip = Messages.DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE+ ". " + tip; } @@ -504,7 +504,7 @@ comp, rowMinHeight); - mbeansTab.getDataViewer().registerForMouseEvent( + XDataViewer.registerForMouseEvent( comp, mouseListener); } else return cell; @@ -583,7 +583,7 @@ mbeansTab.getDataViewer().createAttributeViewer( value, mbean, attribute, XMBeanAttributes.this); cell.init(cell.getMinRenderer(), comp, cell.getMinHeight()); - mbeansTab.getDataViewer().registerForMouseEvent(comp, mouseListener); + XDataViewer.registerForMouseEvent(comp, mouseListener); } } else { cell = new ZoomedCell(value); @@ -594,7 +594,7 @@ } } - //will be called in a synchronzed block + //will be called in a synchronized block protected void addTableData(DefaultTableModel tableModel, XMBean mbean, MBeanAttributeInfo[] attributesInfo, @@ -608,7 +608,7 @@ for (int i = 0; i < attributesInfo.length; i++) { rowData[0] = (attributesInfo[i].getName()); if (unavailableAttributes.containsKey(rowData[0])) { - rowData[1] = Resources.getText("Unavailable"); + rowData[1] = Messages.UNAVAILABLE; } else if (viewableAttributes.containsKey(rowData[0])) { rowData[1] = viewableAttributes.get(rowData[0]); if (!attributesInfo[i].isWritable() || @@ -881,7 +881,7 @@ String message = (ex.getMessage() != null) ? ex.getMessage() : ex.toString(); EventQueue.invokeLater(new ThreadDialog(component, message+"\n", - Resources.getText("Problem setting attribute"), + Messages.PROBLEM_SETTING_ATTRIBUTE, JOptionPane.ERROR_MESSAGE)); } refreshAttributes();
--- a/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XMBeanInfo.java Sun Dec 04 00:19:27 2016 +0000 @@ -37,7 +37,8 @@ import javax.swing.table.*; import javax.swing.tree.*; import sun.tools.jconsole.JConsole; -import sun.tools.jconsole.Resources; + +import sun.tools.jconsole.Messages; import sun.tools.jconsole.inspector.XNodeInfo.Type; import static sun.tools.jconsole.Utilities.*; @@ -51,8 +52,8 @@ private final int VALUE_COLUMN = 1; private final String[] columnNames = { - Resources.getText("Name"), - Resources.getText("Value") + Messages.NAME, + Messages.VALUE }; private JTable infoTable = new JTable(); @@ -164,7 +165,7 @@ descTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); JScrollPane descTableScrollPane = new JScrollPane(descTable); descBorderPanel.setBorder( - BorderFactory.createTitledBorder(Resources.getText("Descriptor"))); + BorderFactory.createTitledBorder(Messages.DESCRIPTOR)); descBorderPanel.add(descTableScrollPane); // Add the two tables to the grid // @@ -227,20 +228,20 @@ emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( - Resources.getText("MBeanInfo")); - String text = Resources.getText("Info") + ":"; + Messages.MBEAN_INFO); + String text = Messages.INFO + ":"; DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); - rowData[0] = Resources.getText("ObjectName"); + rowData[0] = Messages.OBJECT_NAME; rowData[1] = mbean.getObjectName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("ClassName"); + rowData[0] = Messages.CLASS_NAME; rowData[1] = mbeanInfo.getClassName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Description"); + rowData[0] = Messages.DESCRIPTION; rowData[1] = mbeanInfo.getDescription(); tableModel.addRow(rowData); addDescriptor(mbeanInfo.getDescriptor(), text); @@ -249,13 +250,13 @@ int i = 0; for (MBeanConstructorInfo mbci : mbeanInfo.getConstructors()) { addMBeanConstructorInfo(mbci, - Resources.getText("Constructor") + "-" + i + ":"); + Messages.CONSTRUCTOR + "-" + i + ":"); // MBeanParameterInfo // int j = 0; for (MBeanParameterInfo mbpi : mbci.getSignature()) { addMBeanParameterInfo(mbpi, - Resources.getText("Parameter") + "-" + i + "-" + j + ":"); + Messages.PARAMETER + "-" + i + "-" + j + ":"); j++; } i++; @@ -267,29 +268,29 @@ emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( - Resources.getText("MBeanAttributeInfo")); - String text = Resources.getText("Attribute") + ":"; + Messages.MBEAN_ATTRIBUTE_INFO); + String text = Messages.ATTRIBUTE + ":"; DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Name"); + rowData[0] = Messages.NAME; rowData[1] = mbai.getName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Description"); + rowData[0] = Messages.DESCRIPTION; rowData[1] = mbai.getDescription(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Readable"); + rowData[0] = Messages.READABLE; rowData[1] = mbai.isReadable(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Writable"); + rowData[0] = Messages.WRITABLE; rowData[1] = mbai.isWritable(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Is"); + rowData[0] = Messages.IS; rowData[1] = mbai.isIs(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Type"); + rowData[0] = Messages.TYPE; rowData[1] = mbai.getType(); tableModel.addRow(rowData); addDescriptor(mbai.getDescriptor(), text); @@ -300,36 +301,36 @@ emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( - Resources.getText("MBeanOperationInfo")); - String text = Resources.getText("Operation") + ":"; + Messages.MBEAN_OPERATION_INFO); + String text = Messages.OPERATION + ":"; DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Name"); + rowData[0] = Messages.NAME; rowData[1] = mboi.getName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Description"); + rowData[0] = Messages.DESCRIPTION; rowData[1] = mboi.getDescription(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Impact"); + rowData[0] = Messages.IMPACT; switch (mboi.getImpact()) { case MBeanOperationInfo.INFO: - rowData[1] = Resources.getText("INFO"); + rowData[1] = Messages.INFO_CAPITALIZED; break; case MBeanOperationInfo.ACTION: - rowData[1] = Resources.getText("ACTION"); + rowData[1] = Messages.ACTION_CAPITALIZED; break; case MBeanOperationInfo.ACTION_INFO: - rowData[1] = Resources.getText("ACTION_INFO"); + rowData[1] = Messages.ACTION_INFO_CAPITALIZED; break; case MBeanOperationInfo.UNKNOWN: - rowData[1] = Resources.getText("UNKNOWN"); + rowData[1] = Messages.UNKNOWN_CAPITALIZED; break; } tableModel.addRow(rowData); - rowData[0] = Resources.getText("ReturnType"); + rowData[0] = Messages.RETURN_TYPE; rowData[1] = mboi.getReturnType(); tableModel.addRow(rowData); addDescriptor(mboi.getDescriptor(), text); @@ -338,7 +339,7 @@ int i = 0; for (MBeanParameterInfo mbpi : mboi.getSignature()) { addMBeanParameterInfo(mbpi, - Resources.getText("Parameter") + "-" + i++ + ":"); + Messages.PARAMETER + "-" + i++ + ":"); } tableModel.newDataAvailable(new TableModelEvent(tableModel)); } @@ -347,20 +348,20 @@ emptyInfoTable(); emptyDescTable(); ((TitledBorder) infoBorderPanel.getBorder()).setTitle( - Resources.getText("MBeanNotificationInfo")); - String text = Resources.getText("Notification") + ":"; + Messages.MBEAN_NOTIFICATION_INFO); + String text = Messages.NOTIFICATION + ":"; DefaultTableModel tableModel = (DefaultTableModel) infoTable.getModel(); Object rowData[] = new Object[2]; rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Name"); + rowData[0] = Messages.NAME; rowData[1] = mbni.getName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Description"); + rowData[0] = Messages.DESCRIPTION; rowData[1] = mbni.getDescription(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("NotifTypes"); + rowData[0] = Messages.NOTIF_TYPES; rowData[1] = Arrays.toString(mbni.getNotifTypes()); tableModel.addRow(rowData); addDescriptor(mbni.getDescriptor(), text); @@ -373,10 +374,10 @@ rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Name"); + rowData[0] = Messages.NAME; rowData[1] = mbci.getName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Description"); + rowData[0] = Messages.DESCRIPTION; rowData[1] = mbci.getDescription(); tableModel.addRow(rowData); addDescriptor(mbci.getDescriptor(), text); @@ -389,13 +390,13 @@ rowData[0] = new TableRowDivider(text); rowData[1] = new TableRowDivider(""); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Name"); + rowData[0] = Messages.NAME; rowData[1] = mbpi.getName(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Description"); + rowData[0] = Messages.DESCRIPTION; rowData[1] = mbpi.getDescription(); tableModel.addRow(rowData); - rowData[0] = Resources.getText("Type"); + rowData[0] = Messages.TYPE; rowData[1] = mbpi.getType(); tableModel.addRow(rowData); addDescriptor(mbpi.getDescriptor(), text); @@ -425,7 +426,7 @@ if (ai != null && ai.length > 0) { DefaultMutableTreeNode attributes = new DefaultMutableTreeNode(); XNodeInfo attributesUO = new XNodeInfo(Type.ATTRIBUTES, mbean, - Resources.getText("Attributes"), null); + Messages.ATTRIBUTES, null); attributes.setUserObject(attributesUO); root.add(attributes); for (MBeanAttributeInfo mbai : ai) { @@ -441,7 +442,7 @@ if (oi != null && oi.length > 0) { DefaultMutableTreeNode operations = new DefaultMutableTreeNode(); XNodeInfo operationsUO = new XNodeInfo(Type.OPERATIONS, mbean, - Resources.getText("Operations"), null); + Messages.OPERATIONS, null); operations.setUserObject(operationsUO); root.add(operations); for (MBeanOperationInfo mboi : oi) { @@ -473,7 +474,7 @@ if (mbean.isBroadcaster()) { DefaultMutableTreeNode notifications = new DefaultMutableTreeNode(); XNodeInfo notificationsUO = new XNodeInfo(Type.NOTIFICATIONS, mbean, - Resources.getText("Notifications"), null); + Messages.NOTIFICATIONS, null); notifications.setUserObject(notificationsUO); root.add(notifications); if (ni != null && ni.length > 0) {
--- a/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XMBeanNotifications.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,7 +26,6 @@ package sun.tools.jconsole.inspector; import javax.swing.*; -import javax.swing.event.*; import javax.swing.table.*; import javax.swing.tree.*; import java.awt.BorderLayout; @@ -49,19 +48,20 @@ import javax.management.openmbean.CompositeData; import javax.management.openmbean.TabularData; -import sun.tools.jconsole.Resources; +import sun.tools.jconsole.Messages; @SuppressWarnings("serial") public class XMBeanNotifications extends JTable implements NotificationListener { private final static String[] columnNames = { - Resources.getText("TimeStamp"), - Resources.getText("Type"), - Resources.getText("UserData"), - Resources.getText("SeqNum"), - Resources.getText("Message"), - Resources.getText("Event"), - Resources.getText("Source")}; + Messages.TIME_STAMP, + Messages.TYPE, + Messages.USER_DATA, + Messages.SEQ_NUM, + Messages.MESSAGE, + Messages.EVENT, + Messages.SOURCE + }; private HashMap<ObjectName, XMBeanNotificationsListener> listeners = new HashMap<ObjectName, XMBeanNotificationsListener>(); @@ -178,7 +178,7 @@ } if(cell != null) - toolTip = Resources.getText("Double click to expand/collapse")+". " + toolTip = Messages.DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE+". " + cell.toString(); else { Object val = @@ -564,7 +564,6 @@ } class XMBeanNotificationsListener implements NotificationListener { - private String[] columnNames; private XMBean xmbean; private DefaultMutableTreeNode node; private long received; @@ -578,7 +577,6 @@ this.notifications = notifications; this.xmbean = xmbean; this.node = node; - this.columnNames = columnNames; register(node); }
--- a/src/share/classes/sun/tools/jconsole/inspector/XObject.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XObject.java Sun Dec 04 00:19:27 2016 +0000 @@ -27,17 +27,6 @@ // java import import javax.swing.*; -// - -// java import -import java.io.*; -import java.awt.*; -import java.awt.dnd.*; -import java.awt.datatransfer.*; -import java.net.*; -// - - /** * This provides a wrapper to the Object class to allow it to be displayed/manipulated as a GUI object.
--- a/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XOpenTypeViewer.java Sun Dec 04 00:19:27 2016 +0000 @@ -28,32 +28,20 @@ import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; -import javax.swing.tree.*; -import javax.swing.border.*; import java.awt.BorderLayout; -import java.awt.GridLayout; import java.awt.FlowLayout; import java.awt.Component; -import java.awt.EventQueue; import java.awt.Color; import java.awt.Font; -import java.awt.Rectangle; import java.awt.event.*; -import java.awt.Insets; import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; import java.util.*; -import java.io.*; import java.lang.reflect.Array; -import javax.management.*; import javax.management.openmbean.*; +import sun.tools.jconsole.Messages; import sun.tools.jconsole.Resources; -import sun.tools.jconsole.BorderedComponent; -import sun.tools.jconsole.LabeledComponent; -import sun.tools.jconsole.VariableGridLayout; @SuppressWarnings("serial") public class XOpenTypeViewer extends JPanel implements ActionListener { @@ -64,9 +52,9 @@ XOpenTypeDataListener listener = new XOpenTypeDataListener(); private static final String compositeNavigationSingle = - Resources.getText("MBeansTab.compositeNavigationSingle"); + Messages.MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE; private static final String tabularNavigationSingle = - Resources.getText("MBeansTab.tabularNavigationSingle"); + Messages.MBEANS_TAB_TABULAR_NAVIGATION_SINGLE; private static TableCellEditor editor = new Utils.ReadOnlyTableCellEditor(new JTextField()); @@ -120,7 +108,6 @@ static abstract class XOpenTypeData extends JTable { XOpenTypeData parent; - private Color defaultColor; protected int col1Width = -1; protected int col2Width = -1; private boolean init; @@ -138,7 +125,7 @@ Object value = getModel().getValueAt(row, col); if (value != null) { if(isClickableElement(value)) - return Resources.getText("Double click to visualize") + return Messages.DOUBLE_CLICK_TO_VISUALIZE + ". " + value.toString(); else return value.toString(); @@ -323,7 +310,7 @@ static class XCompositeData extends XOpenTypeData { protected final String[] columnNames = { - Resources.getText("Name"), Resources.getText("Value") + Messages.NAME, Messages.VALUE }; CompositeData composite; @@ -363,8 +350,8 @@ private void load(CompositeData data) { CompositeType type = data.getCompositeType(); - Set keys = type.keySet(); - Iterator it = keys.iterator(); + Set<String> keys = type.keySet(); + Iterator<String> it = keys.iterator(); Object[] rowData = new Object[2]; while (it.hasNext()) { String key = (String) it.next(); @@ -373,13 +360,13 @@ if (val == null) { rowData[1] = ""; } else { - OpenType openType = type.getType(key); + OpenType<?> openType = type.getType(key); if (openType instanceof CompositeType) { rowData[1] = new XCompositeData(this, (CompositeData) val); } else if (openType instanceof ArrayType) { rowData[1] = - new XArrayData(this, (ArrayType) openType, val); + new XArrayData(this, (ArrayType<?>) openType, val); } else if (openType instanceof SimpleType) { rowData[1] = val; } else if (openType instanceof TabularType) { @@ -418,21 +405,21 @@ private int dimension; private int size; - private OpenType elemType; + private OpenType<?> elemType; private Object val; private boolean isCompositeType; private boolean isTabularType; private int currentIndex; private CompositeData[] elements; - private final String[] arrayColumns = {Resources.getText("Value")}; + private final String[] arrayColumns = {Messages.VALUE}; private Font normalFont, boldFont; - XArrayData(XOpenTypeData parent, ArrayType type, Object val) { + XArrayData(XOpenTypeData parent, ArrayType<?> type, Object val) { this(parent, type.getDimension(), type.getElementOpenType(), val); } XArrayData(XOpenTypeData parent, int dimension, - OpenType elemType, Object val) { + OpenType<?> elemType, Object val) { super(parent); this.dimension = dimension; this.elemType = elemType; @@ -451,10 +438,9 @@ public void viewed(XOpenTypeViewer viewer) throws Exception { if (size == 0) - throw new Exception(Resources.getText("Empty array")); + throw new Exception(Messages.EMPTY_ARRAY); if (dimension > 1) - throw new Exception(Resources.getText("Dimension is not " + - "supported:") + + throw new Exception(Messages.DIMENSION_IS_NOT_SUPPORTED_COLON + dimension); super.viewed(viewer); } @@ -530,7 +516,7 @@ public String toString() { if (dimension > 1) { - return Resources.getText("Dimension is not supported:") + + return Messages.DIMENSION_IS_NOT_SUPPORTED_COLON + dimension; } else { return elemType.getTypeName() + "[" + size + "]"; @@ -656,7 +642,7 @@ tabular.canIncrement() || tabular.canDecrement(); if (hasMoreThanOneElement) { tabularLabel.setText( - Resources.getText("MBeansTab.tabularNavigationMultiple", + Resources.format(Messages.MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE, String.format("%d", tabular.getSelectedElementIndex() + 1), String.format("%d", tabular.getElementCount()))); } else { @@ -679,7 +665,7 @@ array.canIncrement() || array.canDecrement(); if (hasMoreThanOneElement) { compositeLabel.setText( - Resources.getText("MBeansTab.compositeNavigationMultiple", + Resources.format(Messages.MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE, String.format("%d", array.getSelectedElementIndex() + 1), String.format("%d", array.getElementCount()))); } else { @@ -743,8 +729,8 @@ JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); JPanel buttons = new JPanel(new FlowLayout(FlowLayout.LEFT)); - tabularPrev = new JButton(Resources.getText("<")); - tabularNext = new JButton(Resources.getText(">")); + tabularPrev = new JButton(Messages.LESS_THAN); + tabularNext = new JButton(Messages.GREATER_THAN); JPanel tabularButtons = new JPanel(new FlowLayout(FlowLayout.LEFT)); tabularButtons.add(tabularPrev); tabularPrev.addActionListener(this); @@ -755,13 +741,13 @@ tabularNext.addActionListener(this); tabularButtons.setBackground(Color.white); - prev = new JButton(Resources.getText("<<")); + prev = new JButton(Messages.A_LOT_LESS_THAN); prev.addActionListener(this); buttons.add(prev); - incr = new JButton(Resources.getText(">")); + incr = new JButton(Messages.GREATER_THAN); incr.addActionListener(this); - decr = new JButton(Resources.getText("<")); + decr = new JButton(Messages.LESS_THAN); decr.addActionListener(this); JPanel array = new JPanel();
--- a/src/share/classes/sun/tools/jconsole/inspector/XOperations.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XOperations.java Sun Dec 04 00:19:27 2016 +0000 @@ -26,9 +26,6 @@ package sun.tools.jconsole.inspector; import javax.swing.*; -import javax.swing.event.*; -import javax.swing.table.*; -import javax.swing.tree.*; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.FlowLayout; @@ -38,13 +35,12 @@ import java.awt.Insets; import java.awt.Dimension; import java.util.*; -import java.io.*; import javax.management.*; -import sun.tools.jconsole.Resources; import sun.tools.jconsole.MBeansTab; import sun.tools.jconsole.JConsole; +import sun.tools.jconsole.Messages; public abstract class XOperations extends JPanel implements ActionListener { @@ -169,8 +165,8 @@ else EventQueue.invokeLater(new ThreadDialog( button, - Resources.getText("Method successfully invoked"), - Resources.getText("Info"), + Messages.METHOD_SUCCESSFULLY_INVOKED, + Messages.INFO, JOptionPane.INFORMATION_MESSAGE)); } catch (Throwable ex) { if (JConsole.isDebug()) { @@ -180,9 +176,9 @@ String message = ex.toString(); EventQueue.invokeLater(new ThreadDialog( button, - Resources.getText("Problem invoking") + " " + + Messages.PROBLEM_INVOKING + " " + button.getText() + " : " + message, - Resources.getText("Error"), + Messages.ERROR, JOptionPane.ERROR_MESSAGE)); } }
--- a/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XPlotter.java Sun Dec 04 00:19:27 2016 +0000 @@ -25,7 +25,6 @@ package sun.tools.jconsole.inspector; import sun.tools.jconsole.Plotter; import javax.swing.JTable; -import java.awt.Graphics; @SuppressWarnings("serial") public class XPlotter extends Plotter {
--- a/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XPlottingViewer.java Sun Dec 04 00:19:27 2016 +0000 @@ -48,10 +48,7 @@ new HashMap<String, XPlottingViewer>(); private static HashMap<String, Timer> timerCache = new HashMap<String, Timer>(); - private JPanel bordered; - private Number value; private MBeansTab tab; - private XMBean mbean; private String attributeName; private String key; private JTable table; @@ -65,7 +62,6 @@ this.tab = tab; this.key = key; - this.mbean = mbean; this.table = table; this.attributeName = attributeName; Plotter plotter = createPlotter(mbean, attributeName, key, table); @@ -73,9 +69,9 @@ } static void dispose(MBeansTab tab) { - Iterator it = plotterCache.keySet().iterator(); + Iterator<String> it = plotterCache.keySet().iterator(); while(it.hasNext()) { - String key = (String) it.next(); + String key = it.next(); if(key.startsWith(String.valueOf(tab.hashCode()))) { it.remove(); } @@ -187,7 +183,7 @@ //setLayout(new GridLayout(2,0)); GridBagLayout gbl = new GridBagLayout(); setLayout(gbl); - plotButton = new JButton(Resources.getText("Discard chart")); + plotButton = new JButton(Messages.DISCARD_CHART); plotButton.addActionListener(this); plotButton.setEnabled(true);
--- a/src/share/classes/sun/tools/jconsole/inspector/XSheet.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XSheet.java Sun Dec 04 00:19:27 2016 +0000 @@ -36,7 +36,6 @@ import sun.tools.jconsole.*; import sun.tools.jconsole.inspector.XNodeInfo.Type; -import static sun.tools.jconsole.Resources.*; import static sun.tools.jconsole.Utilities.*; @SuppressWarnings("serial") @@ -94,28 +93,24 @@ southPanel = new JPanel(); add(southPanel, BorderLayout.SOUTH); // create the refresh button - String refreshButtonKey = "MBeansTab.refreshAttributesButton"; - refreshButton = new JButton(getText(refreshButtonKey)); - refreshButton.setMnemonic(getMnemonicInt(refreshButtonKey)); - refreshButton.setToolTipText(getText(refreshButtonKey + ".toolTip")); + refreshButton = new JButton(Messages.MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON); + refreshButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON)); + refreshButton.setToolTipText(Messages.MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP); refreshButton.addActionListener(this); // create the clear button - String clearButtonKey = "MBeansTab.clearNotificationsButton"; - clearButton = new JButton(getText(clearButtonKey)); - clearButton.setMnemonic(getMnemonicInt(clearButtonKey)); - clearButton.setToolTipText(getText(clearButtonKey + ".toolTip")); + clearButton = new JButton(Messages.MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON); + clearButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON)); + clearButton.setToolTipText(Messages.MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP); clearButton.addActionListener(this); // create the subscribe button - String subscribeButtonKey = "MBeansTab.subscribeNotificationsButton"; - subscribeButton = new JButton(getText(subscribeButtonKey)); - subscribeButton.setMnemonic(getMnemonicInt(subscribeButtonKey)); - subscribeButton.setToolTipText(getText(subscribeButtonKey + ".toolTip")); + subscribeButton = new JButton(Messages.MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON); + subscribeButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON)); + subscribeButton.setToolTipText(Messages.MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP); subscribeButton.addActionListener(this); // create the unsubscribe button - String unsubscribeButtonKey = "MBeansTab.unsubscribeNotificationsButton"; - unsubscribeButton = new JButton(getText(unsubscribeButtonKey)); - unsubscribeButton.setMnemonic(getMnemonicInt(unsubscribeButtonKey)); - unsubscribeButton.setToolTipText(getText(unsubscribeButtonKey + ".toolTip")); + unsubscribeButton = new JButton(Messages.MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON); + unsubscribeButton.setMnemonic(Resources.getMnemonicInt(Messages.MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON)); + unsubscribeButton.setToolTipText(Messages.MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP); unsubscribeButton.addActionListener(this); // create XMBeanAttributes container mbeanAttributes = new XMBeanAttributes(mbeansTab); @@ -188,7 +183,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, ex.getMessage(), - Resources.getText("Problem displaying MBean"), + Messages.PROBLEM_DISPLAYING_MBEAN, JOptionPane.ERROR_MESSAGE)); return; } @@ -228,7 +223,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, e.getMessage(), - Resources.getText("Problem displaying MBean"), + Messages.PROBLEM_DISPLAYING_MBEAN, JOptionPane.ERROR_MESSAGE)); return; } @@ -242,7 +237,7 @@ new JPanel(new BorderLayout()); attributeBorderPanel.setBorder( BorderFactory.createTitledBorder( - Resources.getText("Attribute value"))); + Messages.ATTRIBUTE_VALUE)); JPanel attributeValuePanel = new JPanel(new BorderLayout()); attributeValuePanel.setBorder( @@ -286,7 +281,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, e.getMessage(), - Resources.getText("Problem displaying MBean"), + Messages.PROBLEM_DISPLAYING_MBEAN, JOptionPane.ERROR_MESSAGE)); return; } @@ -295,7 +290,7 @@ JPanel operationPanel = new JPanel(new BorderLayout()); JPanel operationBorderPanel = new JPanel(new BorderLayout()); operationBorderPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getText("Operation invocation"))); + Messages.OPERATION_INVOCATION)); operationBorderPanel.add(new JScrollPane(mbo)); operationPanel.add(operationBorderPanel, BorderLayout.NORTH); mbi.addMBeanOperationInfo(mboi); @@ -336,7 +331,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, ex.getMessage(), - Resources.getText("Problem displaying MBean"), + Messages.PROBLEM_DISPLAYING_MBEAN, JOptionPane.ERROR_MESSAGE)); return; } @@ -346,7 +341,7 @@ mainPanel.removeAll(); JPanel borderPanel = new JPanel(new BorderLayout()); borderPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getText("Attribute values"))); + Messages.ATTRIBUTE_VALUES)); borderPanel.add(new JScrollPane(mba)); mainPanel.add(borderPanel, BorderLayout.CENTER); // add the refresh button to the south panel @@ -378,7 +373,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, ex.getMessage(), - Resources.getText("Problem displaying MBean"), + Messages.PROBLEM_DISPLAYING_MBEAN, JOptionPane.ERROR_MESSAGE)); return; } @@ -388,7 +383,7 @@ mainPanel.removeAll(); JPanel borderPanel = new JPanel(new BorderLayout()); borderPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getText("Operation invocation"))); + Messages.OPERATION_INVOCATION)); borderPanel.add(new JScrollPane(mbo)); mainPanel.add(borderPanel, BorderLayout.CENTER); southPanel.setVisible(false); @@ -419,7 +414,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, ex.getMessage(), - Resources.getText("Problem displaying MBean"), + Messages.PROBLEM_DISPLAYING_MBEAN, JOptionPane.ERROR_MESSAGE)); return; } @@ -429,7 +424,7 @@ mainPanel.removeAll(); JPanel borderPanel = new JPanel(new BorderLayout()); borderPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getText("Notification buffer"))); + Messages.NOTIFICATION_BUFFER)); borderPanel.add(new JScrollPane(mbn)); mainPanel.add(borderPanel, BorderLayout.CENTER); // add the subscribe/unsubscribe/clear buttons to @@ -505,7 +500,7 @@ */ private void updateReceivedNotifications( DefaultMutableTreeNode emitter, long received, boolean bold) { - String text = Resources.getText("Notifications") + "[" + received + "]"; + String text = Messages.NOTIFICATIONS + "[" + received + "]"; DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) mbeansTab.getTree().getLastSelectedPathComponent(); if (bold && emitter != selectedNode) { @@ -519,7 +514,7 @@ */ private void clearNotifications() { updateNotificationsNodeLabel(node, - Resources.getText("Notifications")); + Messages.NOTIFICATIONS); } /** @@ -527,7 +522,7 @@ */ private void clearNotifications0() { updateNotificationsNodeLabel(node, - Resources.getText("Notifications") + "[0]"); + Messages.NOTIFICATIONS + "[0]"); } /** @@ -631,7 +626,7 @@ EventQueue.invokeLater(new ThreadDialog( (Component) e.getSource(), message, - Resources.getText("Operation return value"), + Messages.OPERATION_RETURN_VALUE, JOptionPane.INFORMATION_MESSAGE)); } // Got notification @@ -674,7 +669,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, ex.getMessage(), - Resources.getText("Problem adding listener"), + Messages.PROBLEM_ADDING_LISTENER, JOptionPane.ERROR_MESSAGE)); } } @@ -692,7 +687,7 @@ EventQueue.invokeLater(new ThreadDialog( XSheet.this, ex.getMessage(), - Resources.getText("Problem removing listener"), + Messages.PROBLEM_REMOVING_LISTENER, JOptionPane.ERROR_MESSAGE)); } }
--- a/src/share/classes/sun/tools/jconsole/inspector/XTable.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTable.java Sun Dec 04 00:19:27 2016 +0000 @@ -32,7 +32,7 @@ public abstract class XTable extends JTable { static final int NAME_COLUMN = 0; static final int VALUE_COLUMN = 1; - private Color defaultColor, editableColor, droppableColor, errorColor; + private Color defaultColor, editableColor, errorColor; private Font normalFont, boldFont; public XTable () { @@ -124,7 +124,6 @@ if (defaultColor == null) { defaultColor = tcr.getForeground(); editableColor = Color.blue; - droppableColor = Color.green; errorColor = Color.red; // this sometimes happens for some reason if (defaultColor == null) {
--- a/src/share/classes/sun/tools/jconsole/inspector/XTextField.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTextField.java Sun Dec 04 00:19:27 2016 +0000 @@ -25,12 +25,7 @@ package sun.tools.jconsole.inspector; import java.awt.*; -import java.awt.dnd.*; import java.awt.event.*; -import java.awt.datatransfer.*; -import java.io.*; -import java.util.*; -import javax.swing.plaf.*; import javax.swing.event.*; import javax.swing.*; @@ -43,16 +38,8 @@ implements DocumentListener, ActionListener { - private static final Color selF = Color.red; - private static final Color selB = Color.yellow; - private Color fore=null, back=null; - private HashMap items = null; //used for popup menu selection private XObject selectedObject; - private XObject currentObject; - private Class expectedClass; - private Object value; protected JTextField textField; - private JButton browseObjects; private static boolean allowNullSelection = false; @@ -80,13 +67,12 @@ } public XTextField(Object value, - Class expectedClass, + Class<?> expectedClass, int colWidth, boolean isCallable, JButton button, XOperations operation) { super(new BorderLayout()); - this.expectedClass = expectedClass; this.button = button; this.operation = operation; add(textField = new JTextField(value.toString(),colWidth), @@ -111,17 +97,13 @@ return allowNullSelection; } - protected void init(Object value, Class expectedClass) { - this.expectedClass = expectedClass; - this.value = value; - boolean fieldEditable = Utils.isEditableType(expectedClass.getName()); + protected void init(Object value, Class<?> expectedClass) { + boolean fieldEditable = Utils.isEditableType(expectedClass.getName()); clearObject(); if (value != null) { - currentObject = new XObject(value); textField.setText(value.toString()); } else { - currentObject = XObject.NULL_OBJECT; //null String value for the moment textField.setText(""); } @@ -139,35 +121,12 @@ } } - - - - - private synchronized void setObject(XObject object) { - clearObject(); - selectedObject = object; - currentObject = object; - setSelectedColors(); - textField.setText(object.getText()); - textField.getDocument().addDocumentListener(this); - paintImmediately(getVisibleRect()); - } - private synchronized void clearObject() { textField.getDocument().removeDocumentListener(this); selectedObject = null; - currentObject = null; setDefaultColors(); } - private synchronized void setSelectedColors() { - // fore = textField.getForeground(); - // back = textField.getBackground(); - - //textField.setForeground(Color.red); - // textField.setBackground(Color.yellow); - } - private synchronized void setDefaultColors() { // if (fore != null) textField.setForeground(fore); // if (back != null) textField.setBackground(back); @@ -193,12 +152,6 @@ } } - private JPopupMenu buildEditPopupMenu() { - JPopupMenu menu = new JPopupMenu(); - return menu; - } - - // ACTIONLISTENER IMPLEMENTATION public void actionPerformed(ActionEvent e) { if (e.getSource() instanceof JTextField) {
--- a/src/share/classes/sun/tools/jconsole/inspector/XTree.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTree.java Sun Dec 04 00:19:27 2016 +0000 @@ -32,7 +32,7 @@ import javax.swing.tree.*; import sun.tools.jconsole.JConsole; import sun.tools.jconsole.MBeansTab; -import sun.tools.jconsole.Resources; +import sun.tools.jconsole.Messages; import sun.tools.jconsole.inspector.XNodeInfo; import sun.tools.jconsole.inspector.XNodeInfo.Type; @@ -197,7 +197,7 @@ * Returns true if any of the children nodes is an MBean. */ private boolean hasMBeanChildren(DefaultMutableTreeNode node) { - for (Enumeration e = node.children(); e.hasMoreElements(); ) { + for (Enumeration<?> e = node.children(); e.hasMoreElements();) { DefaultMutableTreeNode n = (DefaultMutableTreeNode) e.nextElement(); if (((XNodeInfo) n.getUserObject()).getType().equals(Type.MBEAN)) { return true;
--- a/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java Sat Dec 03 22:30:28 2016 +0000 +++ b/src/share/classes/sun/tools/jconsole/inspector/XTreeRenderer.java Sun Dec 04 00:19:27 2016 +0000 @@ -30,8 +30,6 @@ import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeCellRenderer; -import sun.tools.jconsole.Resources; -import sun.tools.jconsole.inspector.XNodeInfo.Type; @SuppressWarnings("serial") public class XTreeRenderer extends DefaultTreeCellRenderer {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/classes/sun/tools/jconsole/resources/messages.properties Sun Dec 04 00:19:27 2016 +0000 @@ -0,0 +1,276 @@ +ONE_DAY=\ 1 day +ONE_HOUR=\ 1 hour +ONE_MIN=\ 1 min +ONE_MONTH=\ 1 month +ONE_YEAR=\ 1 year +TWO_HOURS=\ 2 hours +THREE_HOURS=\ 3 hours +THREE_MONTHS=\ 3 months +FIVE_MIN=\ 5 min +SIX_HOURS=\ 6 hours +SIX_MONTHS=\ 6 months +SEVEN_DAYS=\ 7 days +TEN_MIN=10 min +TWELVE_HOURS=12 hours +THIRTY_MIN=30 min +LESS_THAN=< +A_LOT_LESS_THAN=<< +GREATER_THAN=> +ACTION_CAPITALIZED=ACTION +ACTION_INFO_CAPITALIZED=ACTION_INFO +ALL=All +ARCHITECTURE=Architecture +ATTRIBUTE=Attribute +ATTRIBUTE_VALUE=Attribute value +ATTRIBUTE_VALUES=Attribute values +ATTRIBUTES=Attributes +BLANK=Blank +BLOCKED_COUNT_WAITED_COUNT=Total blocked: {0} Total waited: {1}\n +BOOT_CLASS_PATH=Boot class path +BORDERED_COMPONENT_MORE_OR_LESS_BUTTON_TOOLTIP=Toggle to show more or less information +CPU_USAGE=CPU Usage +CPU_USAGE_FORMAT=CPU Usage: {0}% +CANCEL=Cancel +CASCADE=&Cascade +CHART_COLON=&Chart: +CLASS_PATH=Class path +CLASS_NAME=ClassName +CLASS_TAB_INFO_LABEL_FORMAT=<html>Loaded: {0} Unloaded: {1} Total: {2}</html> +CLASS_TAB_LOADED_CLASSES_PLOTTER_ACCESSIBLE_NAME=Chart for Loaded Classes. +CLASSES=Classes +CLOSE=Close +COLUMN_NAME=Name +COLUMN_PID=PID +COMMITTED_MEMORY=Committed memory +COMMITTED_VIRTUAL_MEMORY=Committed virtual memory +COMMITTED=Committed +CONNECT=&Connect +CONNECT_DIALOG_CONNECT_BUTTON_TOOLTIP=Connect to Java Virtual Machine +CONNECT_DIALOG_ACCESSIBLE_DESCRIPTION=Dialog for making a new connection to a local or remote Java Virtual Machine +CONNECT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=Masthead Graphic +CONNECT_DIALOG_MASTHEAD_TITLE=New Connection +CONNECT_DIALOG_STATUS_BAR_ACCESSIBLE_NAME=Status Bar +CONNECT_DIALOG_TITLE=JConsole: New Connection +CONNECTED_PUNCTUATION_CLICK_TO_DISCONNECT_=Connected. Click to disconnect. +CONNECTION_FAILED=Connection failed +CONNECTION=&Connection +CONNECTION_NAME=Connection name +CONNECTION_NAME__DISCONNECTED_={0} (disconnected) +CONSTRUCTOR=Constructor +CURRENT_CLASSES_LOADED=Current classes loaded +CURRENT_HEAP_SIZE=Current heap size +CURRENT_VALUE=Current value: {0} +CREATE=Create +DAEMON_THREADS=Daemon threads +DISCONNECTED_PUNCTUATION_CLICK_TO_CONNECT_=Disconnected. Click to connect. +DOUBLE_CLICK_TO_EXPAND_FORWARD_SLASH_COLLAPSE=Double click to expand/collapse +DOUBLE_CLICK_TO_VISUALIZE=Double click to visualize +DESCRIPTION=Description +DESCRIPTOR=Descriptor +DETAILS=Details +DETECT_DEADLOCK=&Detect Deadlock +DETECT_DEADLOCK_TOOLTIP=Detect deadlocked threads +DIMENSION_IS_NOT_SUPPORTED_COLON=Dimension is not supported: +DISCARD_CHART=Discard chart +DURATION_DAYS_HOURS_MINUTES={0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes} +DURATION_HOURS_MINUTES={0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes} +DURATION_MINUTES={0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes} +DURATION_SECONDS={0} seconds +EMPTY_ARRAY=Empty array +ERROR=Error +ERROR_COLON_MBEANS_ALREADY_EXIST=Error: MBeans already exist +ERROR_COLON_MBEANS_DO_NOT_EXIST=Error: MBeans do not exist +EVENT=Event +EXIT=E&xit +FAIL_TO_LOAD_PLUGIN=Warning: Fail to load plugin: {0} +FILE_CHOOSER_FILE_EXISTS_CANCEL_OPTION=Cancel +FILE_CHOOSER_FILE_EXISTS_MESSAGE=<html><center>File already exists:<br>{0}<br>Do you want to replace it? +FILE_CHOOSER_FILE_EXISTS_OK_OPTION=Replace +FILE_CHOOSER_FILE_EXISTS_TITLE=File Exists +FILE_CHOOSER_SAVED_FILE=<html>Saved to file:<br>{0}<br>({1} bytes) +FILE_CHOOSER_SAVE_FAILED_MESSAGE=<html><center>Save to file failed:<br>{0}<br>{1} +FILE_CHOOSER_SAVE_FAILED_TITLE=Save Failed +FREE_PHYSICAL_MEMORY=Free physical memory +FREE_SWAP_SPACE=Free swap space +GARBAGE_COLLECTOR=Garbage collector +GC_INFO=Name = ''{0}'', Collections = {1,choice,-1#Unavailable|0#{1,number,integer}}, Total time spent = {2} +GC_TIME=GC time +GC_TIME_DETAILS={0} on {1} ({2} collections) +HEAP_MEMORY_USAGE=Heap Memory Usage +HEAP=Heap +HELP_ABOUT_DIALOG_ACCESSIBLE_DESCRIPTION=Dialog containing information about JConsole and JDK versions +HELP_ABOUT_DIALOG_JCONSOLE_VERSION=JConsole version:<br>{0} +HELP_ABOUT_DIALOG_JAVA_VERSION=Java VM version:<br>{0} +HELP_ABOUT_DIALOG_MASTHEAD_ACCESSIBLE_NAME=Masthead Graphic +HELP_ABOUT_DIALOG_MASTHEAD_TITLE=About JConsole +HELP_ABOUT_DIALOG_TITLE=JConsole: About +HELP_ABOUT_DIALOG_USER_GUIDE_LINK=JConsole &User Guide:<br>{0} +HELP_ABOUT_DIALOG_USER_GUIDE_LINK_URL=http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html +HELP_MENU_ABOUT_TITLE=&About JConsole +HELP_MENU_USER_GUIDE_TITLE=Online &User Guide +HELP_MENU_TITLE=&Help +HOTSPOT_MBEANS_ELLIPSIS=&Hotspot MBeans... +HOTSPOT_MBEANS_DIALOG_ACCESSIBLE_DESCRIPTION=Dialog for managing Hotspot MBeans +IMPACT=Impact +INFO=Info +INFO_CAPITALIZED=INFO +INVALID_PLUGIN_PATH=Warning: Invalid plugin path: {0} +INVALID_URL=Invalid URL: {0} +IS=Is +JAVA_MONITORING___MANAGEMENT_CONSOLE=Java Monitoring && Management Console +JCONSOLE_COLON_=JConsole: {0} +JCONSOLE_VERSION=JConsole version "{0}" +JCONSOLE_ACCESSIBLE_DESCRIPTION=Java Monitoring && Management Console +JIT_COMPILER=JIT compiler +LIBRARY_PATH=Library path +LIVE_THREADS=Live threads +LOADED=Loaded +LOCAL_PROCESS_COLON=&Local Process: +MASTHEAD_FONT=Dialog-PLAIN-25 +MANAGEMENT_NOT_ENABLED=<b>Note</b>: The management agent is not enabled on this process. +MANAGEMENT_WILL_BE_ENABLED=<b>Note</b>: The management agent will be enabled on this process. +MBEAN_ATTRIBUTE_INFO=MBeanAttributeInfo +MBEAN_INFO=MBeanInfo +MBEAN_NOTIFICATION_INFO=MBeanNotificationInfo +MBEAN_OPERATION_INFO=MBeanOperationInfo +MBEANS=MBeans +MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON=&Clear +MBEANS_TAB_CLEAR_NOTIFICATIONS_BUTTON_TOOLTIP=Clear notifications +MBEANS_TAB_COMPOSITE_NAVIGATION_MULTIPLE=Composite Navigation {0}/{1} +MBEANS_TAB_COMPOSITE_NAVIGATION_SINGLE=Composite Navigation +MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON=&Refresh +MBEANS_TAB_REFRESH_ATTRIBUTES_BUTTON_TOOLTIP=Refresh attributes +MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON=&Subscribe +MBEANS_TAB_SUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=Start listening for notifications +MBEANS_TAB_TABULAR_NAVIGATION_MULTIPLE=Tabular Navigation {0}/{1} +MBEANS_TAB_TABULAR_NAVIGATION_SINGLE=Tabular Navigation +MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON=&Unsubscribe +MBEANS_TAB_UNSUBSCRIBE_NOTIFICATIONS_BUTTON_TOOLTIP=Stop listening for notifications +MANAGE_HOTSPOT_MBEANS_IN_COLON_=Manage Hotspot MBeans in: +MAX=Max +MAXIMUM_HEAP_SIZE=Maximum heap size +MEMORY=Memory +MEMORY_POOL_LABEL=Memory Pool "{0}" +MEMORY_TAB_HEAP_PLOTTER_ACCESSIBLE_NAME=Memory usage chart for heap. +MEMORY_TAB_INFO_LABEL_FORMAT=<html>Used: {0} Committed: {1} Max: {2}</html> +MEMORY_TAB_NON_HEAP_PLOTTER_ACCESSIBLE_NAME=Memory usage chart for non heap. +MEMORY_TAB_POOL_CHART_ABOVE_THRESHOLD=which is above the threshold of {0}.\n +MEMORY_TAB_POOL_CHART_ACCESSIBLE_NAME=Memory Pool Usage Chart. +MEMORY_TAB_POOL_CHART_BELOW_THRESHOLD=which is below the threshold of {0}.\n +MEMORY_TAB_POOL_PLOTTER_ACCESSIBLE_NAME=Memory usage chart for {0}. +MESSAGE=Message +METHOD_SUCCESSFULLY_INVOKED=Method successfully invoked +MINIMIZE_ALL=&Minimize All +MONITOR_LOCKED=\ \ \ - locked {0}\n +NAME=Name +NAME_AND_BUILD={0} (build {1}) +NAME_STATE=Name: {0}\nState: {1}\n +NAME_STATE_LOCK_NAME=Name: {0}\nState: {1} on {2}\n +NAME_STATE_LOCK_NAME_LOCK_OWNER=Name: {0}\nState: {1} on {2} owned by: {3}\n +NEW_CONNECTION_ELLIPSIS=&New Connection... +NO_DEADLOCK_DETECTED=No deadlock detected +NON_HEAP_MEMORY_USAGE=Non-Heap Memory Usage +NON_HEAP=Non-Heap +NOTIFICATION=Notification +NOTIFICATION_BUFFER=Notification buffer +NOTIFICATIONS=Notifications +NOTIF_TYPES=NotifTypes +NUMBER_OF_THREADS=Number of Threads +NUMBER_OF_LOADED_CLASSES=Number of Loaded Classes +NUMBER_OF_PROCESSORS=Number of processors +OBJECT_NAME=ObjectName +OPERATING_SYSTEM=Operating System +OPERATION=Operation +OPERATION_INVOCATION=Operation invocation +OPERATION_RETURN_VALUE=Operation return value +OPERATIONS=Operations +OVERVIEW=Overview +OVERVIEW_PANEL_PLOTTER_ACCESSIBLE_NAME=Chart for {0}. +PARAMETER=Parameter +PASSWORD_ACCESSIBLE_NAME=Password +PASSWORD_COLON_=&Password: +PEAK=Peak +PERFORM_GC=Perform &GC +PERFORM_GC_TOOLTIP=Request Garbage Collection +PLOTTER_ACCESSIBLE_NAME=Chart +PLOTTER_ACCESSIBLE_NAME_KEY_AND_VALUE={0}={1}\n +PLOTTER_ACCESSIBLE_NAME_NO_DATA=No data plotted. +PLOTTER_SAVE_AS_MENU_ITEM=Save data &as... +PLOTTER_TIME_RANGE_MENU=&Time Range +PROBLEM_ADDING_LISTENER=Problem adding listener +PROBLEM_DISPLAYING_MBEAN=Problem displaying MBean +PROBLEM_INVOKING=Problem invoking +PROBLEM_REMOVING_LISTENER=Problem removing listener +PROBLEM_SETTING_ATTRIBUTE=Problem setting attribute +PROCESS_CPU_TIME=Process CPU time +READABLE=Readable +RECONNECT=Reconnect +INSECURE=Insecure +REMOTE_PROCESS_COLON=&Remote Process: +REMOTE_PROCESS_TEXT_FIELD_ACCESSIBLE_NAME=Remote Process +RESTORE_ALL=&Restore All +RETURN_TYPE=ReturnType +SEQ_NUM=SeqNum +SIZE_BYTES={0,number,integer} bytes +SIZE_GB={0} Gb +SIZE_KB={0} Kb +SIZE_MB={0} Mb +SOURCE=Source +STACK_TRACE=\nStack trace: \n +SUMMARY_TAB_HEADER_DATE_TIME_FORMAT=FULL,FULL +SUMMARY_TAB_PENDING_FINALIZATION_LABEL=Pending finalization +SUMMARY_TAB_PENDING_FINALIZATION_VALUE={0} objects +SUMMARY_TAB_TAB_NAME=VM Summary +SUMMARY_TAB_VM_VERSION={0} version {1} +THREADS=Threads +THREAD_TAB_THREAD_INFO_ACCESSIBLE_NAME=Thread Information +THREAD_TAB_THREAD_PLOTTER_ACCESSIBLE_NAME=Chart for number of threads. +THRESHOLD=Threshold +TILE=&Tile +TIME_RANGE_COLON=&Time Range: +TIME=Time +TIME_STAMP=TimeStamp +TOTAL_LOADED=Total Loaded +TOTAL_CLASSES_LOADED=Total classes loaded +TOTAL_CLASSES_UNLOADED=Total classes unloaded +TOTAL_COMPILE_TIME=Total compile time +TOTAL_PHYSICAL_MEMORY=Total physical memory +TOTAL_THREADS_STARTED=Total threads started +TOTAL_SWAP_SPACE=Total swap space +TYPE=Type +UNAVAILABLE=Unavailable +UNKNOWN_CAPITALIZED=UNKNOWN +UNKNOWN_HOST=Unknown Host: {0} +UNREGISTER=Unregister +UPTIME=Uptime +USAGE_THRESHOLD=Usage Threshold +REMOTE_TF_USAGE=<b>Usage</b>: <hostname>:<port> OR service:jmx:<protocol>:<sap> +USED=Used +USERNAME_COLON_=&Username: +USERNAME_ACCESSIBLE_NAME=User Name +USER_DATA=UserData +VIRTUAL_MACHINE=Virtual Machine +VM_ARGUMENTS=VM arguments +VMINTERNAL_FRAME_ACCESSIBLE_DESCRIPTION=Internal frame for monitoring a Java Virtual Machine +VALUE=Value +VENDOR=Vendor +VERBOSE_OUTPUT=Verbose Output +VERBOSE_OUTPUT_TOOLTIP=Enable verbose output for class loading system +VIEW=View +WINDOW=&Window +WINDOWS=Windows +WRITABLE=Writable +CONNECTION_FAILED1=Connection Failed: Retry? +CONNECTION_FAILED2=The connection to {0} did not succeed.<br>Would you like to try again? +CONNECTION_LOST1=Connection Lost: Reconnect? +CONNECTION_INSECURE1=ConnectionFailedSSL1 +CONNECTION_INSECURE2=ConnectionFailedSSL2 +CONNECTING_TO1=Connecting to {0} +CONNECTING_TO2=You are currently being connected to {0}.<br>This will take a few moments. +DEADLOCK_TAB=Deadlock +DEADLOCK_TAB_N=Deadlock {0} +EXPAND=expand +KBYTES={0} kbytes +PLOT=plot +VISUALIZE=visualize +ZZ_USAGE_TEXT=Usage: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval Set the update interval to n seconds (default is 4 seconds)\n -notile Do not tile windows initially (for two or more connections)\n -pluginpath Specify the path that jconsole uses to look up the plugins\n -version Print program version\n\n connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n pid The process id of a target process\n host A remote host name or IP address\n port The port number for the remote connection\n\n -J Specify the input arguments to the Java virtual machine\n on which jconsole is running
--- a/test/sun/tools/jconsole/ImmutableResourceTest.java Sat Dec 03 22:30:28 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/** - * - * - * This isn't the test case: ImmutableResourceTest.sh is. - * Refer to ImmutableResourceTest.sh when running this test. - * - * @bug 6287579 - * @summary SubClasses of ListResourceBundle should fix getContents() - */ -import java.util.ResourceBundle; - -public class ImmutableResourceTest { - - public static void main(String[] args) throws Exception { - - /* Reach under the covers and get the message strings */ - sun.tools.jconsole.resources.JConsoleResources jcr = - new sun.tools.jconsole.resources.JConsoleResources (); - Object [][] testData = jcr.getContents(); - - /* Shred our copy of the message strings */ - for (int ii = 0; ii < testData.length; ii++) { - testData[ii][0] = "xxx"; - testData[ii][1] = "yyy"; - } - - /* - * Try a lookup for the shredded key. - * If this is successful we have a problem. - */ - String ss = sun.tools.jconsole.Resources.getText("xxx"); - if ("yyy".equals(ss)) { - throw new Exception ("SubClasses of ListResourceBundle should fix getContents()"); - } - System.out.println("...Finished."); - } -}
--- a/test/sun/tools/jconsole/ImmutableResourceTest.sh Sat Dec 03 22:30:28 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -# -# Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# @test -# @bug 6287579 -# @summary SubClasses of ListResourceBundle should fix getContents() -# -# @run shell ImmutableResourceTest.sh - -# Beginning of subroutines: -status=1 - -#Call this from anywhere to fail the test with an error message -# usage: fail "reason why the test failed" -fail() - { echo "The test failed :-(" - echo "$*" 1>&2 - echo "exit status was $status" - exit $status - } #end of fail() - -#Call this from anywhere to pass the test with a message -# usage: pass "reason why the test passed if applicable" -pass() - { echo "The test passed!!!" - echo "$*" 1>&2 - exit 0 - } #end of pass() - -# end of subroutines - -# The beginning of the script proper - -OS=`uname -s` -case "$OS" in - SunOS | Linux ) - PATHSEP=":" - ;; - - Windows* | CYGWIN*) - PATHSEP=";" - ;; - - # catch all other OSs - * ) - echo "Unrecognized system! $OS" - fail "Unrecognized system! $OS" - ;; -esac - -TARGETCLASS="ImmutableResourceTest" -if [ -z "${TESTJAVA}" ] ; then - # TESTJAVA is not set, so the test is running stand-alone. - # TESTJAVA holds the path to the root directory of the build of the JDK - # to be tested. That is, any java files run explicitly in this shell - # should use TESTJAVA in the path to the java interpreter. - # So, we'll set this to the JDK spec'd on the command line. If none - # is given on the command line, tell the user that and use a default. - # THIS IS THE JDK BEING TESTED. - if [ -n "$1" ] ; then - TESTJAVA=$1 - else - TESTJAVA=$JAVA_HOME - fi - TESTSRC=. - TESTCLASSES=. - #Deal with .class files: -fi -# -echo "JDK under test is: $TESTJAVA" -# -CP="-classpath ${TESTCLASSES}${PATHSEP}${TESTJAVA}/lib/jconsole.jar" -# Compile the test class using the classpath we need: -# -env -# -set -vx -# -#Compile. jconsole.jar is required on the classpath. -${TESTJAVA}/bin/javac -d "${TESTCLASSES}" ${CP} -g \ - "${TESTSRC}"/"${TARGETCLASS}".java -# -#Run the test class, again with the classpath we need: -${TESTJAVA}/bin/java ${CP} ${TARGETCLASS} -status=$? -echo "test status was: $status" -if [ $status -eq "0" ]; - then pass "" - - else fail "unspecified test failure" -fi