com.hangum.tadpole.mongodb.core.test.MongoTestReferenceCollection.java Source code

Java tutorial

Introduction

Here is the source code for com.hangum.tadpole.mongodb.core.test.MongoTestReferenceCollection.java

Source

/*******************************************************************************
 * Copyright (c) 2013 hangum.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Lesser Public License v2.1
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 * 
 * Contributors:
 *     hangum - initial API and implementation
 ******************************************************************************/
package com.hangum.tadpole.mongodb.core.test;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.WriteResult;
import com.mongodb.util.JSON;

/**
 * create collection (ref1, ref2)
 * ref1 and ref2- reference collection
 * 
 * 
 * see http://docs.mongodb.org/manual/applications/database-references/
 * 
 * @author hangum
 * 
 */
public class MongoTestReferenceCollection {
    public static String REF_1 = "TEST_REF1";
    public static String REF_2 = "TEST_REF2";

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {

        ConAndAuthentication testMongoCls = new ConAndAuthentication();
        Mongo mongo = testMongoCls.connection(ConAndAuthentication.serverurl, ConAndAuthentication.port);
        DB db = mongo.getDB("test");

        DBObject colInformation = (DBObject) JSON.parse("{capped:true, size:100000}");
        DBCollection ref1Coll = db.getCollection(REF_1);
        if (ref1Coll != null)
            ref1Coll.drop();
        ref1Coll = db.createCollection(REF_1, colInformation);

        DBObject dbObjRef1 = (DBObject) JSON.parse("{ 'name' : 'cho'}");//"{'names': {'First': 'Gonza', 'Last': 'Vieira'}}");
        WriteResult wr = ref1Coll.insert(dbObjRef1);

        DBObject retDBObj = ref1Coll.findOne();
        createRef1Collection(db, retDBObj.get("_id"));

        mongo.close();
    }

    public static void createRef1Collection(DB db, Object objId) {
        DBObject colInformation = (DBObject) JSON.parse("{capped:true, size:100000}");
        DBCollection ref2Coll = db.getCollection(REF_2);
        if (ref2Coll != null)
            ref2Coll.drop();
        ref2Coll = db.createCollection(REF_2, colInformation);

        BasicDBObject insertObj = new BasicDBObject();
        insertObj.put(REF_1 + "_id", objId);

        DBObject addField = new BasicDBObject();
        addField.put("name", "Reference id");

        insertObj.putAll(addField);

        //      DBObject dbObjRef2 = (DBObject) JSON.parse("{'ref1_id': 50f9437cf023f820730a3b42,  {'names': {'First': 'Gonza', 'Last': 'Vieira'}}}");
        ref2Coll.insert(insertObj);
    }

}