summaryrefslogtreecommitdiff
path: root/java/demo/Freeze/transform/ReadNew.java
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-11-16 14:49:07 -0500
committerBernard Normier <bernard@zeroc.com>2007-11-16 14:49:07 -0500
commit340886aa0e34e47099009c155d0de48522b25a87 (patch)
treecdac947ca5add954e84c103e02fd13b30905d9c1 /java/demo/Freeze/transform/ReadNew.java
parentMerge branch 'master' of ssh://cvs.zeroc.com/home/git/ice (diff)
downloadice-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.java97
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);
+ }
+}