1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
package wrappers;
import java.io.BufferedReader;
import java.io.Console;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Date;
public class TestInsert2 {
static boolean DEBUG = true;
static final Console c = System.console();
static Mongo2Interface jdi = null;
public static void main(String[] args) {
int rc;
String[] parms = new String[4];
jdi = new Mongo2Interface(DEBUG);
parms[0] = getLine("URI: ", false);
parms[1] = getLine("Database: ", false);
parms[2] = null;
parms[3] = null;
if (parms[0] == null)
parms[0] = "mongodb://localhost:27017";
if (parms[1] == null)
parms[1] = "test";
rc = jdi.MongoConnect(parms);
if (rc == 0) {
Object bdoc = jdi.MakeDocument();
if (jdi.DocAdd(bdoc, "_id", (Object) 1, 0))
System.out.println(jdi.GetErrmsg());
if (jdi.DocAdd(bdoc, "Name", (Object) "Smith", 0))
System.out.println(jdi.GetErrmsg());
if (jdi.DocAdd(bdoc, "Age", (Object) 39, 0))
System.out.println(jdi.GetErrmsg());
if (jdi.DocAdd(bdoc, "Pi", (Object) 3.14, 0))
System.out.println(jdi.GetErrmsg());
if (jdi.DocAdd(bdoc, "Phone", (Object) "{\"ext\":[4,5,7]}", 1))
System.out.println(jdi.GetErrmsg());
if (jdi.DocAdd(bdoc, "Scores", (Object) "[24,2,13]", 2))
System.out.println(jdi.GetErrmsg());
Object bar = jdi.MakeArray();
for (int i = 1; i < 3; i++)
if (jdi.ArrayAdd(bar, i, (Object) (Math.random() * 10.0), 0))
System.out.println(jdi.GetErrmsg());
if (jdi.DocAdd(bdoc, "Prices", bar, 0))
System.out.println(jdi.GetErrmsg());
Object dat = new Date();
if (jdi.DocAdd(bdoc, "Date", dat, 0))
System.out.println(jdi.GetErrmsg());
System.out.println(bdoc);
// Try to update
if (!jdi.GetCollection("updtest") && !jdi.FindColl(null, null)) {
if (jdi.CollDelete(true) < 0)
System.out.println(jdi.GetErrmsg());
if (jdi.CollInsert(bdoc))
System.out.println(jdi.GetErrmsg());
Object updlist = jdi.MakeDocument();
if (jdi.DocAdd(updlist, "Age", (Object) 45, 0))
System.out.println(jdi.GetErrmsg());
Object upd = jdi.MakeDocument();
if (jdi.DocAdd(upd, "$set", updlist, 0))
System.out.println(jdi.GetErrmsg());
if (jdi.ReadNext() > 0 && jdi.CollUpdate(upd) < 0)
System.out.println(jdi.GetErrmsg());
if (!jdi.Rewind() && jdi.ReadNext() > 0)
System.out.println(jdi.GetDoc());
else
System.out.println("Failed Rewind");
} // endif n
} // endif rc
} // end of main
// ==================================================================
private static String getLine(String p, boolean b) {
String response;
if (c != null) {
// Standard console mode
if (b) {
response = new String(c.readPassword(p));
} else
response = c.readLine(p);
} else {
// For instance when testing from Eclipse
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print(p);
try {
// Cannot suppress echo for password entry
response = in.readLine();
} catch (IOException e) {
response = "";
} // end of try/catch
} // endif c
return (response.isEmpty()) ? null : response;
} // end of getLine
}
|