Blame | Last modification | View Log | RSS feed
package com.hotspotstore.storage;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.Calendar;import java.util.List;import org.json.JSONArray;import org.json.JSONObject;import com.google.gson.Gson;import com.hotspotstore.model.Banner;import com.hotspotstore.model.Snippet;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;import com.mongodb.MongoClient;import com.mongodb.util.JSON;public class Mongo {private static MongoClient mongo;private static final String HOTSPOT_DB = "Hotspot";private static final String BANNERS = "Banners";private static final String CONTENT ="CONTENT";private static final String SITE_CONTENT = "siteContent";private static final String HOTSPOT_ENTITES = "HotspotEntity";private static final String SNIPPETS = "Snippets";static {try {mongo = new MongoClient( "localhost" , 27017 );} catch (UnknownHostException e) {e.printStackTrace();}}public static void addBanner(Banner b){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(BANNERS);BasicDBObject orderBy = new BasicDBObject();orderBy.put("_id", -1);DBCursor cursor = collection.find().sort(orderBy).limit(1);long id = 1l;while (cursor.hasNext()) {Gson gson = new Gson();Banner bannerObj = gson.fromJson(cursor.next().toString(), Banner.class);id = bannerObj.get_id() + 1;}b.set_id(id);Gson gs = new Gson();DBObject dbObject = (DBObject) JSON.parse(gs.toJson(b));collection.insert(dbObject);}public static Banner getBannerById(long id) throws Exception{DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(BANNERS);BasicDBObject obj = new BasicDBObject();obj.append("_id", id);DBObject result = collection.findOne(obj);if (result==null){throw new Exception();}Gson gson = new Gson();Banner banner = gson.fromJson(result.toString(), Banner.class);return banner;}public static ArrayList<Banner> getAllBanners(){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(BANNERS);ArrayList<Banner> banners = new ArrayList<Banner>();DBCursor result = collection.find();Gson gson = new Gson();while (result.hasNext()) {Banner banner = gson.fromJson(result.next().toString(), Banner.class);banners.add(banner);}return banners;}public static ArrayList<Banner> getAllActiveBanners(){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(BANNERS);ArrayList<Banner> banners = new ArrayList<Banner>();BasicDBObject obj = new BasicDBObject();obj.append("active", true);BasicDBObject orderBy = new BasicDBObject();orderBy.put("priority", 1);DBCursor result = collection.find(obj).sort(orderBy);Gson gson = new Gson();while (result.hasNext()) {Banner banner = gson.fromJson(result.next().toString(), Banner.class);banners.add(banner);}return banners;}public static void deleteBanner(long id){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(BANNERS);BasicDBObject obj = new BasicDBObject();obj.append("_id", id);collection.remove(obj);}public static void updateBanner(Banner b){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(BANNERS);Gson gs = new Gson();DBObject dbObject = (DBObject) JSON.parse(gs.toJson(b));collection.update(new BasicDBObject().append("_id", b.get_id()), dbObject);}public static JSONObject getEntityById(long id) throws Exception{DB db = mongo.getDB(CONTENT);DBCollection collection = db.getCollection(SITE_CONTENT);BasicDBObject obj = new BasicDBObject();obj.append("_id", id);DBObject result = collection.findOne(obj);if (result==null){throw new Exception();}return new JSONObject(JSON.serialize(result));}public static void addEntityToHotspot(long entityId, String title){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(HOTSPOT_ENTITES);BasicDBObject obj = new BasicDBObject();obj.append("_id", entityId);obj.append("title", title);collection.insert(obj);}public static void addSnippetInfo(Snippet s){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(SNIPPETS);Gson gs = new Gson();DBObject dbObject = (DBObject) JSON.parse(gs.toJson(s));collection.insert(dbObject);}public static JSONObject getHotspotEntity(Long entityId) throws Exception{DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(HOTSPOT_ENTITES);BasicDBObject obj = new BasicDBObject();obj.append("_id", entityId);DBObject result = collection.findOne(obj);if (result==null){throw new Exception();}return new JSONObject(JSON.serialize(result));}public static List<Snippet> getSnippets(){DB db = mongo.getDB(HOTSPOT_DB);DBCollection collection = db.getCollection(SNIPPETS);ArrayList<Snippet> snippets = new ArrayList<Snippet>();DBCursor result = collection.find();Gson gson = new Gson();while (result.hasNext()) {Snippet snippet = gson.fromJson(result.next().toString(), Snippet.class);snippets.add(snippet);}return snippets;}public static JSONArray getTermsForAutoSuggest(){DB db = mongo.getDB(CONTENT);DBCollection collection = db.getCollection(SITE_CONTENT);BasicDBObject obj = new BasicDBObject();obj.append("title", 1);JSONArray jsonArray = new JSONArray();DBCursor result = collection.find(new BasicDBObject(),obj);System.out.println(result.getQuery());while (result.hasNext()) {jsonArray.put(result);}return jsonArray;}public static void main(String[] args) throws Exception{JSONArray x = getTermsForAutoSuggest();System.out.println(x);}}