1 /* 2 * Copyright (c) 2003, 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 /* 25 * @test 26 * @bug 4635618 27 * @summary Support for manipulating LDAP Names 28 */ 29 30 import javax.naming.ldap.*; 31 import javax.naming.InvalidNameException; 32 import java.util.*; 33 import javax.naming.directory.*; 34 import java.io.*; 35 36 /** 37 * Miscelleneous tests of Rdn methods and serialization test 38 */ 39 public class RdnMisc { 40 main(String args[])41 public static void main(String args[]) 42 throws Exception { 43 Attributes attrs = new BasicAttributes(); 44 attrs.put("a", "Mango"); 45 attrs.put("l", "Yellow<right"); 46 attrs.put("b", "Juicy, Fruit"); 47 attrs.put("k", "Orange>ripe"); 48 attrs.put("c", "Favourite+Fruit"); 49 attrs.put("j", "Green#raw"); 50 attrs.put("d", "Tropical\\Fruit"); 51 attrs.put("i", "Alfanso;expensive"); 52 attrs.put("e", "Seasonal\"Fruit"); 53 attrs.put("h", "Summer"); 54 attrs.put("f", "Smell=Great"); 55 attrs.put("g", "Taste==Yummy"); 56 57 byte[] mangoJuice = new byte[6]; 58 for (int i = 0; i < mangoJuice.length; i++) { 59 mangoJuice[i] = (byte) i; 60 } 61 attrs.put("m", mangoJuice); 62 Rdn rdn = new Rdn(attrs); 63 64 System.out.println(); 65 System.out.println("size:" + rdn.size()); 66 System.out.println("toString():" + rdn.toString()); 67 System.out.println("getType(): " + rdn.getType()); 68 System.out.println("getValue(): " + rdn.getValue()); 69 70 // test toAttributes 71 System.out.println(); 72 System.out.println("toAttributes(): " + rdn.toAttributes()); 73 74 // serialization test 75 Rdn rdn2 = new Rdn("cn=Juicy\\, Fruit"); 76 System.out.println("Serializing rdn:" + rdn2); 77 ObjectOutputStream out = new ObjectOutputStream( 78 new FileOutputStream("rdn.ser")); 79 out.writeObject(rdn2); 80 out.close(); 81 82 ObjectInputStream in = new ObjectInputStream( 83 new FileInputStream("rdn.ser")); 84 85 System.out.println(); 86 System.out.println("Deserialized RDN:" + in.readObject()); 87 in.close(); 88 } 89 } 90