diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-11-16 14:49:07 -0500 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-11-16 14:49:07 -0500 |
commit | 340886aa0e34e47099009c155d0de48522b25a87 (patch) | |
tree | cdac947ca5add954e84c103e02fd13b30905d9c1 /java/demo/Freeze/transform/ReadNew.java | |
parent | Merge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff) | |
download | ice-340886aa0e34e47099009c155d0de48522b25a87.tar.bz2 ice-340886aa0e34e47099009c155d0de48522b25a87.tar.xz ice-340886aa0e34e47099009c155d0de48522b25a87.zip |
Recreate implementation in Java
Diffstat (limited to 'java/demo/Freeze/transform/ReadNew.java')
-rw-r--r-- | java/demo/Freeze/transform/ReadNew.java | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/java/demo/Freeze/transform/ReadNew.java b/java/demo/Freeze/transform/ReadNew.java new file mode 100644 index 00000000000..0f9400bee4a --- /dev/null +++ b/java/demo/Freeze/transform/ReadNew.java @@ -0,0 +1,97 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +import Demo.*; +import Freeze.*; + +class ReadNew extends Ice.Application +{ + public int + run(String[] args) + { + if(args.length > 0) + { + System.err.println(appName() + ": too many arguments"); + return 1; + } + + Connection connection = Util.createConnection(communicator(), "dbnew"); + + final java.util.Comparator less = + new java.util.Comparator() + { + public int compare(Object o1, Object o2) + { + if(o1 == o2) + { + return 0; + } + else if(o1 == null) + { + return -((Comparable)o2).compareTo(o1); + } + else + { + return ((Comparable)o1).compareTo(o2); + } + } + }; + + java.util.Map indexComparators = new java.util.HashMap(); + indexComparators.put("phoneNumber", less); + + try + { + boolean createDb = true; + NewContacts contacts = new NewContacts(connection, "contacts", createDb, less, indexComparators); + + System.out.println("All contacts (default order)"); + java.util.Iterator p = contacts.entrySet().iterator(); + while(p.hasNext()) + { + java.util.Map.Entry entry = (java.util.Map.Entry)p.next(); + NewContactData data = (NewContactData)entry.getValue(); + + System.out.println((String)entry.getKey() + ":\t\t" + + data.phoneNumber + " " + data.emailAddress); + } + + System.out.println("\nAll contacts (ordered by phone number)"); + java.util.SortedMap phoneNumberMap = contacts.mapForIndex("phoneNumber"); + p = phoneNumberMap.values().iterator(); + while(p.hasNext()) + { + java.util.Set entries = (java.util.Set)p.next(); + java.util.Iterator q = entries.iterator(); + while(q.hasNext()) + { + java.util.Map.Entry entry = (java.util.Map.Entry)q.next(); + NewContactData data = (NewContactData)entry.getValue(); + + System.out.println((String)entry.getKey() + ":\t\t" + + data.phoneNumber + " " + data.emailAddress); + + } + } + } + finally + { + connection.close(); + } + + return 0; + } + + static public void + main(String[] args) + { + ReadNew app = new ReadNew(); + app.main("test.Freeze.transform.ReadNew", args); + } +} |