jdk/test/com/sun/corba/5036554/README
changeset 21349 2033e0b90321
equal deleted inserted replaced
21348:e30c5696b4c5 21349:2033e0b90321
       
     1 /*
       
     2  * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
       
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4  *
       
     5  * This code is free software; you can redistribute it and/or modify it
       
     6  * under the terms of the GNU General Public License version 2 only, as
       
     7  * published by the Free Software Foundation.
       
     8  *
       
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
       
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12  * version 2 for more details (a copy is included in the LICENSE file that
       
    13  * accompanied this code).
       
    14  *
       
    15  * You should have received a copy of the GNU General Public License version
       
    16  * 2 along with this work; if not, write to the Free Software Foundation,
       
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18  *
       
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    20  * or visit www.oracle.com if you need additional information or have any
       
    21  * questions.
       
    22  */
       
    23 
       
    24 Bug # 5036554 unmarshal error on CORBA alias type in CORBA any
       
    25 
       
    26 Platform : ALL 
       
    27 
       
    28 Testcase directory :  <.../corba>
       
    29 
       
    30 Test Procedure : <STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
       
    31 Step 1: create a file bug.idl with the following content:
       
    32 
       
    33 // IDL file bug.idl
       
    34 module bug {
       
    35     typedef string myString;
       
    36 };
       
    37 
       
    38 Step 2: Translate bug.idl with the command: idlj bug.idl
       
    39 This will create the file bug/myStringHelper.java
       
    40 
       
    41 Step 3:
       
    42 Create the file JavaBug.java in directory bug with the following content:
       
    43 
       
    44 // Java file JavaBug.java
       
    45 package bug;
       
    46 
       
    47 public class JavaBug {
       
    48     public static void main(String[] args) {
       
    49         try {
       
    50             org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
       
    51             org.omg.CORBA.Any any = orb.create_any();
       
    52             myStringHelper.insert(any, "hello");
       
    53             System.out.println("Any: " + myStringHelper.extract(any));
       
    54         } catch( Exception e ) {
       
    55             e.printStackTrace();
       
    56         }
       
    57     }
       
    58 }  
       
    59 
       
    60 Step 4:
       
    61 Compile all java files with the command: javac -d . bug\*.java
       
    62 
       
    63 Step 5:
       
    64 Execute the program with the command: java -cp . bug/JavaBug
       
    65 
       
    66 Step 6: Note the null pointer exception in the the output!
       
    67 
       
    68 
       
    69 Without Fix behaviour :  <java.lang.NullPointerException
       
    70         at com.sun.corba.se.internal.corba.TCUtility.unmarshalIn(TCUtility.java:290)
       
    71         at com.sun.corba.se.internal.corba.AnyImpl.read_value(AnyImpl.java:561)
       
    72         at bug.myStringHelper.insert(myStringHelper.java:20)
       
    73         at bug.JavaBug.main(JavaBug.java:8)>
       
    74         
       
    75 With Fix behaviour :  <The output message printed on the console: "Any: hello">
       
    76 
       
    77 Other Comments :  <Test case is automated.>