test/jdk/javax/management/mxbean/MXBeanInteropTest2.java
author lfoltan
Tue, 20 Feb 2018 07:46:40 -0500
changeset 49026 844bf1deff1a
parent 47216 71c04702a3d5
permissions -rw-r--r--
8196884: VS2017 Multiple Type Cast Conversion Compilation Errors Summary: Change the type of symbolic constant badAddressVal and introduce specific casts to fix multiple type cast conversion compilation errors. Reviewed-by: coleenp, kbarrett
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34827
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     1
/*
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     2
 * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     4
 *
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     7
 * published by the Free Software Foundation.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     8
 *
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    13
 * accompanied this code).
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    14
 *
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    18
 *
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    21
 * questions.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    22
 */
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    23
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    24
/*
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    25
 * @test
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    26
 * @bug 8058865
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    27
 * @summary Checks access to test MXBean
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    28
 * @author Olivier Lagneau
43503
bc7f8619ab70 8173607: JMX RMI connector should be in its own module
dfuchs
parents: 34827
diff changeset
    29
 * @modules java.management.rmi
34827
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    30
 * @library /lib/testlibrary
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    31
 * @compile Basic.java
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    32
 * @run main/othervm/timeout=300 -DDEBUG_STANDARD MXBeanInteropTest2
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    33
 */
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    34
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    35
import java.util.Iterator;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    36
import java.util.Map;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    37
import java.util.Set;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    38
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    39
import javax.management.Attribute;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    40
import javax.management.JMX;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    41
import javax.management.MBeanAttributeInfo;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    42
import javax.management.MBeanConstructorInfo;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    43
import javax.management.MBeanServer;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    44
import java.lang.management.ManagementFactory;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    45
import javax.management.MBeanInfo;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    46
import javax.management.MBeanNotificationInfo;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    47
import javax.management.MBeanOperationInfo;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    48
import javax.management.MBeanServerConnection;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    49
import javax.management.ObjectName;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    50
import javax.management.remote.JMXConnector;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    51
import javax.management.remote.JMXConnectorFactory;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    52
import javax.management.remote.JMXConnectorServer;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    53
import javax.management.remote.JMXConnectorServerFactory;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    54
import javax.management.remote.JMXServiceURL;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    55
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    56
public class MXBeanInteropTest2 {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    57
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    58
    private static String BASIC_MXBEAN_CLASS_NAME = "Basic";
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    59
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    60
    /*
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    61
     * First Debug properties and arguments are collect in expected
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    62
     * map  (argName, value) format, then calls original test's run method.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    63
     */
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    64
    public static void main(String args[]) throws Exception {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    65
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    66
        System.out.println("=================================================");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    67
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    68
        // Parses parameters
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    69
        Utils.parseDebugProperties();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    70
        Map<String, Object> map = Utils.parseParameters(args) ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    71
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    72
        // Run test
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    73
        MXBeanInteropTest2 test = new MXBeanInteropTest2();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    74
        test.run(map);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    75
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    76
    }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    77
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    78
    public void run(Map<String, Object> args) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    79
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    80
        System.out.println("MXBeanInteropTest2::run: Start") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    81
        int errorCount = 0 ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    82
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    83
        try {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    84
            // JMX MbeanServer used inside single VM as if remote.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    85
            MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    86
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    87
            JMXServiceURL url = new JMXServiceURL("rmi", null, 0);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    88
            JMXConnectorServer cs =
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    89
                JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    90
            cs.start();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    91
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    92
            JMXServiceURL addr = cs.getAddress();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    93
            JMXConnector cc = JMXConnectorFactory.connect(addr);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    94
            MBeanServerConnection mbsc = cc.getMBeanServerConnection();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    95
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    96
            // Prints all MBeans whatever the domain is.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    97
            printMBeans(mbsc) ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    98
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
    99
            // Call test body
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   100
            errorCount += doBasicMXBeanTest(mbsc) ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   101
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   102
            // Terminate the JMX Client
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   103
            cc.close();
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   104
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   105
        } catch(Exception e) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   106
            Utils.printThrowable(e, true) ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   107
            throw new RuntimeException(e);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   108
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   109
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   110
        if ( errorCount == 0 ) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   111
            System.out.println("MXBeanInteropTest2::run: Done without any error") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   112
        } else {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   113
            System.out.println("MXBeanInteropTest2::run: Done with "
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   114
                    + errorCount
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   115
                    + " error(s)") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   116
            throw new RuntimeException("errorCount = " + errorCount);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   117
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   118
    }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   119
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   120
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   121
    /**
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   122
     * Prints all MBeans whatever the domain is.
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   123
     */
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   124
    private static void printMBeans(MBeanServerConnection mbsc) throws Exception {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   125
        Set<ObjectName> set = mbsc.queryNames(null, null);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   126
        System.out.println("---- MBeans found :");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   127
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   128
        for (Iterator<ObjectName> iter = set.iterator(); iter.hasNext(); ) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   129
            System.out.println(iter.next().toString());
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   130
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   131
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   132
        System.out.println("\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   133
    }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   134
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   135
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   136
    private final int doBasicMXBeanTest(MBeanServerConnection mbsc) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   137
        int errorCount = 0 ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   138
        System.out.println("---- doBasicMXBeanTest") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   139
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   140
        try {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   141
            ObjectName objName =
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   142
                    new ObjectName("sqe:type=BasicMXBean") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   143
            mbsc.createMBean(BASIC_MXBEAN_CLASS_NAME, objName);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   144
            MBeanInfo mbInfo = mbsc.getMBeanInfo(objName);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   145
            printMBeanInfo(mbInfo);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   146
            System.out.println("---- OK\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   147
            System.out.println("getMBeanInfo\t\t"
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   148
                    + mbInfo);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   149
            System.out.println("---- OK\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   150
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   151
            System.out.println("Check mxbean field in the MBeanInfo");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   152
            String mxbeanField =
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   153
                    (String)mbInfo.getDescriptor().getFieldValue(JMX.MXBEAN_FIELD);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   154
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   155
            if ( mxbeanField == null || ! mxbeanField.equals("true")) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   156
                System.out.println("---- ERROR : Improper mxbean field value "
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   157
                        + mxbeanField);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   158
                errorCount++;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   159
            }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   160
            System.out.println("---- OK\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   161
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   162
            System.out.println("Set attribute ObjectNameAtt");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   163
            Attribute att = new Attribute("ObjectNameAtt", objName);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   164
            mbsc.setAttribute(objName, att);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   165
            ObjectName value =
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   166
                    (ObjectName)mbsc.getAttribute(objName, "ObjectNameAtt");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   167
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   168
            if ( ! value.equals(objName) ) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   169
                errorCount++;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   170
                System.out.println("---- ERROR : setAttribute failed, got "
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   171
                        + value
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   172
                        + " while expecting "
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   173
                        + objName);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   174
            }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   175
            System.out.println("---- OK\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   176
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   177
            System.out.println("Call operation doNothing");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   178
            mbsc.invoke(objName,  "doNothing", null, null);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   179
            System.out.println("---- OK\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   180
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   181
            System.out.println("Call operation getWeather");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   182
            Object weather = mbsc.invoke(objName,
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   183
                    "getWeather",
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   184
                    new Object[]{Boolean.TRUE},
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   185
                    new String[]{"boolean"});
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   186
            System.out.println("Weather is " + weather);
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   187
            System.out.println("---- OK\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   188
        } catch (Exception e) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   189
            Utils.printThrowable(e, true) ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   190
            errorCount++ ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   191
            System.out.println("---- ERROR\n") ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   192
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   193
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   194
        return errorCount ;
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   195
    }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   196
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   197
    private void printMBeanInfo(MBeanInfo mbInfo) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   198
        System.out.println("Description " + mbInfo.getDescription());
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   199
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   200
        for (MBeanConstructorInfo ctor : mbInfo.getConstructors()) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   201
            System.out.println("Constructor " + ctor.getName());
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   202
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   203
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   204
        for (MBeanAttributeInfo att : mbInfo.getAttributes()) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   205
            System.out.println("Attribute " + att.getName()
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   206
            + " [" + att.getType() + "]");
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   207
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   208
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   209
        for (MBeanOperationInfo oper : mbInfo.getOperations()) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   210
            System.out.println("Operation " + oper.getName());
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   211
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   212
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   213
        for (MBeanNotificationInfo notif : mbInfo.getNotifications()) {
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   214
            System.out.println("Notification " + notif.getName());
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   215
        }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   216
    }
de746e7eb1e3 8058865: JMX Test Refactoring
olagneau
parents:
diff changeset
   217
}