List of usage examples for com.mongodb BasicDBList BasicDBList
BasicDBList
From source file:MashUp.java
public String queryDatabaseApi(String Year, String Protocol, String Category, String Tags, String Keywords, Double Rating) {/*from ww w . jav a2 s. c o m*/ String temp = ""; BasicDBObject gtQuery = new BasicDBObject(); BasicDBObject ltQuery = new BasicDBObject(); BasicDBObject eqQuery = new BasicDBObject(); if (!Rating.equals(0.0)) { /* greater than */ temp = temp + "\n"; temp = temp + "Greater than " + Rating + "\n" + "\n"; temp = temp + "\n"; if (!Year.equals("")) { gtQuery.put("updated", new BasicDBObject("$regex", ".*" + Year + ".*")); } if (!Protocol.equals("")) { gtQuery.put("protocols", Protocol); } if (!Category.equals("")) { gtQuery.put("category", Category); } if (!Tags.equals("")) { gtQuery.put("Tags", new BasicDBObject("$regex", ".*" + Tags + ".*")); } if (!Keywords.equals("")) { DBObject clause1 = new BasicDBObject("summary", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause2 = new BasicDBObject("description", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause3 = new BasicDBObject("title", new BasicDBObject("$regex", ".*" + Keywords + ".*")); BasicDBList or = new BasicDBList(); or.add(clause1); or.add(clause3); or.add(clause2); gtQuery.put("$or", or); //DBObject query = new BasicDBObject("$or", or); //System.out.println(query); } gtQuery.put("rating", new BasicDBObject("$gt", Rating)); DBCursor cursor = table1.find(gtQuery); while (cursor.hasNext()) { DBObject temp1 = cursor.next(); if (!temp.contains(temp1.get("name").toString())) temp = temp + " " + temp1.get("name") + "\n"; } /* lower than */ temp = temp + "\n"; temp = temp + "Lower than " + Rating + "\n" + "\n"; temp = temp + "\n"; if (!Year.equals("")) { ltQuery.put("updated", new BasicDBObject("$regex", ".*" + Year + ".*")); } if (!Protocol.equals("")) { ltQuery.put("protocols", Protocol); } if (!Category.equals("")) { ltQuery.put("category", Category); } if (!Tags.equals("")) { ltQuery.put("Tags", new BasicDBObject("$regex", ".*" + Tags + ".*")); } if (!Keywords.equals("")) { DBObject clause1 = new BasicDBObject("summary", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause2 = new BasicDBObject("description", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause3 = new BasicDBObject("title", new BasicDBObject("$regex", ".*" + Keywords + ".*")); BasicDBList or = new BasicDBList(); or.add(clause1); or.add(clause3); or.add(clause2); ltQuery.put("$or", or); //DBObject query = new BasicDBObject("$or", or); //System.out.println(query); } ltQuery.put("rating", new BasicDBObject("$lt", Rating)); DBCursor cursor2 = table1.find(ltQuery); while (cursor2.hasNext()) { DBObject temp1 = cursor2.next(); if (!temp.contains(temp1.get("name").toString())) temp = temp + " " + temp1.get("name") + "\n"; } /* equal to */ temp = temp + "\n"; temp = temp + "Equal to " + Rating + "\n" + "\n"; temp = temp + "\n"; if (!Year.equals("")) { eqQuery.put("updated", new BasicDBObject("$regex", ".*" + Year + ".*")); } if (!Protocol.equals("")) { eqQuery.put("protocols", Protocol); } if (!Category.equals("")) { eqQuery.put("category", Category); } if (!Tags.equals("")) { eqQuery.put("Tags", new BasicDBObject("$regex", ".*" + Tags + ".*")); } if (!Keywords.equals("")) { DBObject clause1 = new BasicDBObject("summary", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause2 = new BasicDBObject("description", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause3 = new BasicDBObject("title", new BasicDBObject("$regex", ".*" + Keywords + ".*")); BasicDBList or = new BasicDBList(); or.add(clause1); or.add(clause3); or.add(clause2); eqQuery.put("$or", or); //DBObject query = new BasicDBObject("$or", or); //System.out.println(query); } eqQuery.put("rating", new BasicDBObject("$eq", Rating)); DBCursor cursor3 = table1.find(eqQuery); while (cursor3.hasNext()) { DBObject temp1 = cursor3.next(); if (!temp.contains(temp1.get("name").toString())) temp = temp + " " + temp1.get("name") + "\n"; } } else { BasicDBObject test = new BasicDBObject(); if (!Year.equals("")) { test.put("updated", new BasicDBObject("$regex", ".*" + Year + ".*")); } if (!Protocol.equals("")) { test.put("protocols", Protocol); } if (!Category.equals("")) { test.put("category", Category); } if (!Tags.equals("")) { test.put("Tags", new BasicDBObject("$regex", ".*" + Tags + ".*")); } if (!Keywords.equals("")) { DBObject clause1 = new BasicDBObject("summary", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause2 = new BasicDBObject("description", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause3 = new BasicDBObject("title", new BasicDBObject("$regex", ".*" + Keywords + ".*")); BasicDBList or = new BasicDBList(); or.add(clause1); or.add(clause3); or.add(clause2); test.put("$or", or); //DBObject query = new BasicDBObject("$or", or); //System.out.println(query); } DBCursor cursor = table1.find(test); while (cursor.hasNext()) { DBObject temp1 = cursor.next(); if (!temp.contains(temp1.get("name").toString())) temp = temp + " " + temp1.get("name") + "\n"; } } /* if(!Year.equals("")){ //gtQuery.put("rating", new BasicDBObject("$gt", "4")); gtQuery.put("updated",new BasicDBObject("$regex",".*"+Year+".*")); } if(!Protocol.equals("")){ gtQuery.put("protocols",Protocol); } if(!Category.equals("")){ gtQuery.put("category",Category); } if(!Tags.equals("")){ gtQuery.put("Tags",new BasicDBObject("$regex",".*"+Tags+".*") ); } if(!Keywords.equals("")){ DBObject clause1 = new BasicDBObject("summary", new BasicDBObject("$regex",".*"+Keywords+".*")); DBObject clause2 = new BasicDBObject("description", new BasicDBObject("$regex",".*"+Keywords+".*")); DBObject clause3 = new BasicDBObject("title", new BasicDBObject("$regex",".*"+Keywords+".*")); BasicDBList or = new BasicDBList(); or.add(clause1);or.add(clause3); or.add(clause2); gtQuery.put("$or", or); //DBObject query = new BasicDBObject("$or", or); //System.out.println(query); } //gtQuery.put("rating", new BasicDBObject("$gt", "4").append("$lt", "5")); // gtQuery.put("updated", "2012-12-17T09:51:40Z"); DBCursor cursor = table1.find(gtQuery); String temp=""; if(!Rating.equals(0.0)){ gtQuery.put("rating",new BasicDBObject("$gt",Rating)); temp="Greater than "+Rating+"\n"+"\n"; while(cursor.hasNext()) { DBObject temp1 = cursor.next(); temp=temp+" "+temp1.get("name")+"\n"; } gtQuery.remove("rating"); temp=temp+"\n"; gtQuery.put("rating",new BasicDBObject("$lt",Rating)); temp= temp+"Lesser than "+Rating+"\n"+"\n"; while(cursor.hasNext()) { DBObject temp1 = cursor.next(); temp=temp+" "+temp1.get("name")+"\n"; } gtQuery.remove("rating"); temp=temp+"\n"; gtQuery.put("rating",new BasicDBObject("$eq",Rating)); temp=temp+"Equal to "+Rating+"\n"+"\n"; while(cursor.hasNext()) { DBObject temp1 = cursor.next(); temp=temp+" "+temp1.get("name")+"\n"; } }else{ while(cursor.hasNext()) { DBObject temp1 = cursor.next(); temp=temp+" "+temp1.get("name")+"\n"; } } */ return temp; }
From source file:MashUp.java
public String queryDatabaseMashUp(String Year, String UsedApi, String Tags, String Keywords) { BasicDBObject gtQuery = new BasicDBObject(); if (!Year.equals("")) { //gtQuery.put("rating", new BasicDBObject("$gt", "4")); gtQuery.put("updated", new BasicDBObject("$regex", ".*" + Year + ".*")); }/*from www. j av a 2 s .c o m*/ if (!UsedApi.equals("")) { System.out.println("UsedApi " + UsedApi); // DBObject clause1 = new BasicDBObject("APIS", new BasicDBObject("$regex",".*"+UsedApi+".*")); // gtQuery.put("APIs",new BasicDBObject("APIs", new BasicDBObject("$regex",".*"+UsedApi+".*"))); gtQuery.put("APIs", new BasicDBObject("$regex", ".*" + UsedApi + ".*")); } if (!Tags.equals("")) { gtQuery.put("Tags", new BasicDBObject("$regex", ".*" + Tags + ".*")); } if (!Keywords.equals("")) { DBObject clause1 = new BasicDBObject("summary", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause2 = new BasicDBObject("description", new BasicDBObject("$regex", ".*" + Keywords + ".*")); DBObject clause3 = new BasicDBObject("title", new BasicDBObject("$regex", ".*" + Keywords + ".*")); BasicDBList or = new BasicDBList(); or.add(clause1); or.add(clause3); or.add(clause2); gtQuery.put("$or", or); //DBObject query = new BasicDBObject("$or", or); //System.out.println(query); } //gtQuery.put("rating", new BasicDBObject("$gt", "4").append("$lt", "5")); // gtQuery.put("updated", "2012-12-17T09:51:40Z"); DBCursor cursor = table2.find(gtQuery); String temp = ""; while (cursor.hasNext()) { DBObject temp1 = cursor.next(); temp = temp + " " + temp1.get("name") + "\n"; } return temp; }
From source file:HW4.java
@SuppressWarnings("empty-statement") private void executeQueryButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_executeQueryButtonActionPerformed DefaultTableModel dtm = new DefaultTableModel(0, 0); //nothing is selected if (finalCat.isEmpty()) { if (!Address.isEmpty() && !proximity.isEmpty()) { if (Address.contains("3799 S Las Vegas Blvd Eastside Las Vegas, NV 89119")) { longitude = -115.16768879999999; latitude = 36.103017899999998; }//from ww w .j a v a 2 s . c o m if (Address.equalsIgnoreCase("6002 S Durango Dr Ste 100 Spring Valley Las Vegas, NV 89113")) { longitude = -115.27906539999999; latitude = 36.079256100000002; } if (Address.equalsIgnoreCase("1801 E Baseline Rd, #101 Ste 101 Tempe, AZ 85283")) { longitude = -111.90860979259; latitude = 33.377052104372098; } if (Address.equalsIgnoreCase("1033 S Park St Bay Creek Madison, WI 53715")) { longitude = -89.397478300000003; latitude = 43.055539400000001; } if (Address.equalsIgnoreCase("University Center II Lot Phoenix, AZ 85008")) { longitude = -112.02540759999999; latitude = 33.451857400000002; } DB dbBusiness = mongoClient.getDB("business"); DBCollection collBusiness = dbBusiness.getCollection("business"); BasicDBList geoCoord = new BasicDBList(); geoCoord.add(longitude); geoCoord.add(latitude); BasicDBList geoParams = new BasicDBList(); geoParams.add(geoCoord); geoParams.add(Integer.parseInt(proximity) / 1018.59); BasicDBObject query = new BasicDBObject("loc", new BasicDBObject("$geoWithin", new BasicDBObject("$center", geoParams))); resultTable.setModel(dtm); String header[] = new String[] { "B_ID", "Business", "City", "State", "Stars" }; dtm.setColumnIdentifiers(header); DBCursor cursorForBusiness = collBusiness.find(query); while (cursorForBusiness.hasNext()) { //pointInterest.add(cursorForBusiness.next()); Object[] row = new Object[5]; row[0] = cursorForBusiness.next().get("business_id"); row[1] = cursorForBusiness.next().get("name"); row[2] = cursorForBusiness.next().get("city"); row[3] = cursorForBusiness.next().get("state"); row[4] = cursorForBusiness.next().get("stars"); dtm.addRow(row); } } if (!memberSince.isEmpty() || !operReviewCount.isEmpty() || !operNoOfFriends.isEmpty() || !operAvgStar.isEmpty() || !valueReviewCount.isEmpty() || !valueNoOfFriends.isEmpty() || !valueAvgStar.isEmpty() || !andOrAttribute.isEmpty() || !operNoOfVotes.isEmpty() || !valueNoOfVotes.isEmpty()) { DB dbUser = mongoClient.getDB("user"); DBCollection collUser = dbUser.getCollection("user"); BasicDBObject andQuery = new BasicDBObject(); List<BasicDBObject> obj = new ArrayList<BasicDBObject>(); try { if (!memberSince.isEmpty()) { obj.add(new BasicDBObject("yelping_since", memberSince)); } if (!valueReviewCount.isEmpty()) { int vrc = Integer.parseInt(valueReviewCount); BasicDBObject rCount = null; if (operReviewCount.equals(">")) { rCount = new BasicDBObject("review_count", new BasicDBObject("$gt", vrc)); //rCount = new BasicDBObject("$where", "review_count >" + vrc); } if (operReviewCount.equals("<")) { rCount = new BasicDBObject("review_count", new BasicDBObject("$lt", vrc)); //rCount = new BasicDBObject("$where", "review_count <" + vrc); } if (operReviewCount.equals("=")) { rCount = new BasicDBObject("review_count", vrc); // rCount = new BasicDBObject("$where", "review_count =" + vrc); } obj.add(new BasicDBObject(rCount)); } if (!valueNoOfFriends.isEmpty()) { int vnf = Integer.parseInt(valueNoOfFriends); BasicDBObject vFriends = null; if (operNoOfFriends.equals(">")) { vFriends = new BasicDBObject("$where", "this.friends.length >" + vnf); } if (operNoOfFriends.equals("<")) { vFriends = new BasicDBObject("$where", "this.friends.length <" + vnf); } if (operNoOfFriends.equals("=")) { vFriends = new BasicDBObject("$where", "this.friends.length =" + vnf); } obj.add(new BasicDBObject(vFriends)); } if (!valueAvgStar.isEmpty()) { Double doubleValueAvgStar = Double.parseDouble(valueAvgStar); BasicDBObject avgStarValue = null; if (operAvgStar.equals(">")) { avgStarValue = new BasicDBObject("average_stars", new BasicDBObject("$gt", doubleValueAvgStar)); // avgStarValue = new BasicDBObject("$where", "average_stars >" + doubleValueAvgStar); } if (operAvgStar.equals("<")) { avgStarValue = new BasicDBObject("average_stars", new BasicDBObject("$lt", doubleValueAvgStar)); // avgStarValue = new BasicDBObject("$where", "average_stars <" + doubleValueAvgStar); } if (operAvgStar.equals("=")) { avgStarValue = new BasicDBObject("average_stars", doubleValueAvgStar); // avgStarValue = new BasicDBObject("$where", "average_stars =" + doubleValueAvgStar); } obj.add(new BasicDBObject(avgStarValue)); } if (!valueNoOfVotes.isEmpty()) { // BasicDBObject noOfVotesValue = null; // if (operNoOfVotes.equals(">")) { // noOfVotesValue = new BasicDBObject("average_stars", new BasicDBObject("$gt", valueNoOfVotes)); // } // if (operNoOfVotes.equals("<")) { // noOfVotesValue = new BasicDBObject("average_stars", new BasicDBObject("$lt", valueNoOfVotes)); // } // if (operNoOfVotes.equals("=")) { // noOfVotesValue = new BasicDBObject("average_stars", new BasicDBObject("$eq", valueNoOfVotes)); // } // // obj.add(new BasicDBObject(noOfVotesValue)); } System.out.println(andOrAttribute); if (andOrAttribute.equalsIgnoreCase("AND")) { System.out.println("Here"); andQuery.put("$and", obj); } else { andQuery.put("$or", obj); } queryLabel.setText("<html><p>" + andQuery.toString() + "</p></html>"); List<DBObject> outputMyList = new ArrayList<DBObject>(); DBCursor cursor = collUser.find(andQuery); while (cursor.hasNext()) { //System.out.println(cursor.next()); outputMyList.add(cursor.next()); } resultTable.setModel(dtm); String header[] = new String[] { "U_ID", "User Name", "Yelping Since", "Avg Stars", "Review Count" }; // add header in table model dtm.setColumnIdentifiers(header); for (DBObject temp : outputMyList) { //System.out.println("Business Name : " + temp.get("name") + " Category : " + temp.get("categories")); Object[] row = new Object[5]; row[0] = temp.get("user_id"); row[1] = temp.get("name"); row[2] = temp.get("yelping_since"); row[3] = temp.get("average_stars"); row[4] = temp.get("review_count"); dtm.addRow(row); } } catch (Exception e) { } } else { queryLabel.setText("Please select atleast one category from business"); } } //only cat selected //////////////////////////Business////////////////////////////////////////////////////////// if (finalCat.size() > 0) { DB dbBusiness = mongoClient.getDB("business"); DBCollection collBusiness = dbBusiness.getCollection("business"); if (!fromCheckin.isEmpty() && !fromCheckinHour.isEmpty() && !toCheckin.isEmpty() && !toCheckinHour.isEmpty() && !operationCheckin.isEmpty() && !valueCheckin.isEmpty()) { DB dbCheckin = mongoClient.getDB("checkin"); DBCollection collCheckin = dbCheckin.getCollection("checkin"); if (!fromReview.isEmpty() && !toReview.isEmpty() && !operationStar.isEmpty() && !valueStar.isEmpty() && !operationVote.isEmpty() && !valueVote.isEmpty()) { //////////////////////Category, Checkin and Review/////////////////////////////////////////////////// DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH); String fromDate1 = fromReview; String fromdate = fromDate1 + "T00:00:00Z"; String toDate1 = toReview; String todate = toDate1 + "T00:00:00Z"; int starValue = Integer.parseInt(valueStar); int voteValue = Integer.parseInt(valueVote); StringBuffer finalQuery = new StringBuffer(); DB dbReview = mongoClient.getDB("review"); DBCollection collReview = dbReview.getCollection("review"); int j = 0; int l = 0; HashMap<String, Integer> tempCheckin = new HashMap<String, Integer>(); ArrayList<String> finalCheckinBid = new ArrayList<String>(); ArrayList<CheckinDetail> checkinList = new ArrayList<CheckinDetail>(); //System.out.println("I am in checkin box"); String[] arrayDays = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; for (int i = 0; i < arrayDays.length; i++) { if (fromCheckin == arrayDays[i]) { j = i; } else if (toCheckin == arrayDays[i]) { l = i; } } ArrayList<Integer> days = new ArrayList<Integer>(); days.add(j); int temfromday = j; days.add(l); int difference = CheckForDay(fromCheckin, toCheckin); if (difference > 0) { for (int k = 0; k < difference; k++) { j = j + 1; if (j == 7) { j = 0; } days.add(j); } } List<DBObject> categoryIdList = new ArrayList<DBObject>(); for (String t : finalCat) { BasicDBObject whereQueryBusiness = new BasicDBObject(); BasicDBObject fieldsBusiness = new BasicDBObject(); fieldsBusiness.put("business_id", 1); whereQueryBusiness.put("categories", t); DBCursor cursorForBusiness = collBusiness.find(whereQueryBusiness, fieldsBusiness); finalQuery.append(whereQueryBusiness); while (cursorForBusiness.hasNext()) { int i = 1; categoryIdList.add(cursorForBusiness.next()); i++; } } //for FINALCAT List<DBObject> checkinCategoryIdList = new ArrayList<DBObject>(); for (DBObject s : categoryIdList) { //System.out.println(s.get("business_id")); BasicDBObject whereQueryCheckin = new BasicDBObject(); whereQueryCheckin.put("business_id", s.get("business_id")); DBCursor cursorForCheckin = collCheckin.find(whereQueryCheckin); while (cursorForCheckin.hasNext()) { int i = 1; checkinCategoryIdList.add(cursorForCheckin.next()); i++; } } //for DBObject s:categoryIdList for (DBObject u : checkinCategoryIdList) { String full = u.get("checkin_info").toString(); String a = full.replaceAll("[{}]", ""); String[] b = a.split(","); for (int x = 0; x < b.length; x++) { CheckinDetail objCheckin = new CheckinDetail(); String[] c = b[x].split(":"); String d = c[0].replaceAll("[\"]", ""); String[] e = d.split("-"); objCheckin.b_Id = u.get("business_id").toString(); objCheckin.fromTime = Integer.parseInt(e[0].replaceAll("\\s+", "")); objCheckin.checkinDay = Integer.parseInt(e[1].replaceAll("\\s+", "")); objCheckin.CountValue = Integer.parseInt(c[1].replaceAll("\\s+", "")); ; checkinList.add(objCheckin); } } for (CheckinDetail e : checkinList) { for (int f : days) { if ((f == temfromday && temfromday == e.checkinDay && Integer.parseInt(fromCheckinHour) <= e.fromTime) || (f == l && l == e.checkinDay && Integer.parseInt(toCheckinHour) >= e.fromTime) || (f == e.checkinDay && f != temfromday && f != l)) { // System.out.println(e.b_Id); // System.out.println(e.CountValue); if (tempCheckin.containsKey(e.b_Id)) { tempCheckin.put(e.b_Id, tempCheckin.get(e.b_Id) + e.CountValue); } else { tempCheckin.put(e.b_Id, e.CountValue); } } } } Iterator itr = tempCheckin.entrySet().iterator(); while (itr.hasNext()) { Map.Entry entry = (Map.Entry) itr.next(); if ((operationCheckin.contains("="))) { if (entry.getValue() == valueCheckin) { finalCheckinBid.add(entry.getKey().toString()); } } if ((operationCheckin.contains("<"))) { if (Integer.parseInt(entry.getValue().toString()) < Integer.parseInt(valueCheckin)) { finalCheckinBid.add(entry.getKey().toString()); //System.out.println("in <"); } } if ((operationCheckin.contains(">"))) { if (Integer.parseInt(entry.getValue().toString()) > Integer.parseInt(valueCheckin)) { finalCheckinBid.add(entry.getKey().toString()); //System.out.println("in >"); } } } //abhi tak ki bid is in finalCheckinBid // for(String a :finalCheckinBid){ // System.out.println(a); // } finalQuery.append( "Stage{name='$match', value=Or Filter{filters=[Operator Filter{fieldName='checkin_info.2-3', operator='$exists', value=BsonBoolean{value=true}}, Operator Filter{fieldName='checkin_info.2-4', operator='$exists', value=BsonBoolean{value=true}}]}}\n" + "Document{{$group=Document{{_id=$business_id, total1=Document{{$sum=$checkin_info.2-4}}, total2=Document{{$sum=$checkin_info.2-3}}}}}}\n" + "Stage{name='$match', value=Operator Filter{fieldName='totalCheckins', operator='$gt', value=4}}"); try { List<Object> reviewCategoryIdList = new ArrayList<Object>(); DBObject match = new BasicDBObject("$match", new BasicDBObject("date", new BasicDBObject("$gt", format.parse(fromdate)) .append("$lt", format.parse(todate)))); DBObject groupFields = new BasicDBObject("_id", "$business_id"); groupFields.put("total1", new BasicDBObject("$sum", "$votes.funny")); groupFields.put("total2", new BasicDBObject("$sum", "$votes.useful")); groupFields.put("total3", new BasicDBObject("$sum", "$votes.cool")); groupFields.put("totalStars", new BasicDBObject("$sum", "$stars")); DBObject group = new BasicDBObject("$group", groupFields); DBObject fields = new BasicDBObject("_id", 1); BasicDBList addFields = new BasicDBList(); addFields.add("$total1"); addFields.add("$total2"); addFields.add("$total3"); fields.put("totalVotes", new BasicDBObject("$sum", addFields)); fields.put("totalStars", 1); DBObject project = new BasicDBObject("$project", fields); BasicDBObject votes = null; BasicDBObject stars = null; if (operationStar.equals(">")) { stars = new BasicDBObject("totalStars", new BasicDBObject("$gt", starValue)); } if (operationStar.equals("<")) { stars = new BasicDBObject("totalStars", new BasicDBObject("$lt", starValue)); } if (operationStar.equals("=")) { stars = new BasicDBObject("totalStars", new BasicDBObject("$eq", starValue)); } if (operationVote.equals(">")) { votes = new BasicDBObject("totalVotes", new BasicDBObject("$gt", voteValue)); } if (operationVote.equals("<")) { votes = new BasicDBObject("totalVotes", new BasicDBObject("$lt", voteValue)); } if (operationVote.equals("=")) { votes = new BasicDBObject("totalVotes", new BasicDBObject("$eq", voteValue)); } List<BasicDBObject> list1 = new ArrayList<BasicDBObject>(); list1.add(new BasicDBObject(votes)); list1.add(new BasicDBObject(stars)); DBObject votesnStars = new BasicDBObject("$and", list1); DBObject match2 = new BasicDBObject("$match", votesnStars); AggregationOutput cursorForReview = collReview.aggregate(match, group, project, match2); String query33 = match + "\n" + group + "\n" + project + "\n" + match2; finalQuery.append(query33); Iterable<DBObject> list = cursorForReview.results(); Iterator<DBObject> resultSet1 = list.iterator(); while (resultSet1.hasNext()) { // System.out.println(resultSet1.next().get("_id")); reviewCategoryIdList.add(resultSet1.next().get("_id")); } // System.out.println(reviewCategoryIdList.size()); // System.out.println(finalCheckinBid.size()); reviewCategoryIdList.retainAll(finalCheckinBid); // System.out.println(reviewCategoryIdList.size()); // for (Object s : reviewCategoryIdList) { // System.out.println(s.toString()); // } if (!Address.isEmpty() && !proximity.isEmpty()) { if (Address.contains("3799 S Las Vegas Blvd Eastside Las Vegas, NV 89119")) { longitude = -115.16768879999999; latitude = 36.103017899999998; } if (Address.equalsIgnoreCase( "6002 S Durango Dr Ste 100 Spring Valley Las Vegas, NV 89113")) { longitude = -115.27906539999999; latitude = 36.079256100000002; } if (Address.equalsIgnoreCase("1801 E Baseline Rd, #101 Ste 101 Tempe, AZ 85283")) { longitude = -111.90860979259; latitude = 33.377052104372098; } if (Address.equalsIgnoreCase("1033 S Park St Bay Creek Madison, WI 53715")) { longitude = -89.397478300000003; latitude = 43.055539400000001; } if (Address.equalsIgnoreCase("University Center II Lot Phoenix, AZ 85008")) { longitude = -112.02540759999999; latitude = 33.451857400000002; } List<String> pointInterest = new ArrayList<String>(); BasicDBList geoCoord = new BasicDBList(); geoCoord.add(longitude); geoCoord.add(latitude); BasicDBList geoParams = new BasicDBList(); geoParams.add(geoCoord); geoParams.add(Integer.parseInt(proximity) / 1018.59); BasicDBObject query = new BasicDBObject("loc", new BasicDBObject("$geoWithin", new BasicDBObject("$center", geoParams))); DBCursor cursorForBusiness = collBusiness.find(query); finalQuery.append(query); while (cursorForBusiness.hasNext()) { pointInterest.add(cursorForBusiness.next().get("business_id").toString()); } // System.out.println(pointInterest.size()); // System.out.println(reviewCategoryIdList.size()); reviewCategoryIdList.retainAll(pointInterest); // System.out.println(reviewCategoryIdList.size()); } List<DBObject> outputMyList = new ArrayList<DBObject>(); BasicDBObject whereQuery = new BasicDBObject(); for (Object fianlBid2 : reviewCategoryIdList) { // System.out.println(fianlBid2); whereQuery.put("business_id", fianlBid2.toString()); DBCursor cursor = collBusiness.find(whereQuery); while (cursor.hasNext()) { //System.out.println(cursor.next()); outputMyList.add(cursor.next()); } } queryLabel.setText("<html><p>" + finalQuery + "</p></html>"); resultTable.setModel(dtm); String header[] = new String[] { "B_ID", "Business", "City", "State", "Stars" }; // add header in table model dtm.setColumnIdentifiers(header); for (DBObject temp : outputMyList) { //System.out.println("Business Name : " + temp.get("name") + " Category : " + temp.get("categories")); Object[] row = new Object[5]; row[0] = temp.get("business_id"); row[1] = temp.get("name"); row[2] = temp.get("city"); row[3] = temp.get("state"); row[4] = temp.get("stars"); dtm.addRow(row); } } catch (Exception e) { } } //review if ///////////////////////////////Category and Checkin/////////////////////////////// else {//Check in with cat not review int j = 0; int l = 0; HashMap<String, Integer> tempCheckin = new HashMap<String, Integer>(); ArrayList<String> finalCheckinBid = new ArrayList<String>(); StringBuffer finalQueryCatCheck = new StringBuffer(); ArrayList<CheckinDetail> checkinList = new ArrayList<CheckinDetail>(); //System.out.println("I am in checkin box"); String[] arrayDays = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; for (int i = 0; i < arrayDays.length; i++) { if (fromCheckin == arrayDays[i]) { j = i; } else if (toCheckin == arrayDays[i]) { l = i; } } ArrayList<Integer> days = new ArrayList<Integer>(); days.add(j); int temfromday = j; days.add(l); // System.out.println("Input Data "+j+" "+fromCheckinHour+" "+toCheckin+" "+toCheckinHour+" "+ // operationCheckin+" "+valueCheckin); // System.out.println(j); int difference = CheckForDay(fromCheckin, toCheckin); if (difference > 0) { for (int k = 0; k < difference; k++) { j = j + 1; if (j == 7) { j = 0; } days.add(j); } } // for(int q:days){ // System.out.println(q); // } List<DBObject> categoryIdList = new ArrayList<DBObject>(); for (String t : finalCat) { BasicDBObject whereQueryBusiness = new BasicDBObject(); BasicDBObject fieldsBusiness = new BasicDBObject(); fieldsBusiness.put("business_id", 1); whereQueryBusiness.put("categories", t); DBCursor cursorForBusiness = collBusiness.find(whereQueryBusiness, fieldsBusiness); finalQueryCatCheck.append(whereQueryBusiness); while (cursorForBusiness.hasNext()) { int i = 1; categoryIdList.add(cursorForBusiness.next()); i++; } } //for FINALCAT List<DBObject> checkinCategoryIdList = new ArrayList<DBObject>(); for (DBObject s : categoryIdList) { //System.out.println(s.get("business_id")); BasicDBObject whereQueryCheckin = new BasicDBObject(); whereQueryCheckin.put("business_id", s.get("business_id")); DBCursor cursorForCheckin = collCheckin.find(whereQueryCheckin); while (cursorForCheckin.hasNext()) { int i = 1; checkinCategoryIdList.add(cursorForCheckin.next()); i++; } } //for DBObject s:categoryIdList for (DBObject u : checkinCategoryIdList) { // System.out.println(s.get("business_id")); // System.out.println(u.get("checkin_info").toString()); String full = u.get("checkin_info").toString(); String a = full.replaceAll("[{}]", ""); String[] b = a.split(","); for (int x = 0; x < b.length; x++) { CheckinDetail objCheckin = new CheckinDetail(); String[] c = b[x].split(":"); String d = c[0].replaceAll("[\"]", ""); String[] e = d.split("-"); objCheckin.b_Id = u.get("business_id").toString(); // System.out.println(u.get("business_id").toString()); // System.out.println(e[0]);//from time objCheckin.fromTime = Integer.parseInt(e[0].replaceAll("\\s+", "")); // System.out.println(e[1]);//day objCheckin.checkinDay = Integer.parseInt(e[1].replaceAll("\\s+", "")); // System.out.println(c[1]);//value objCheckin.CountValue = Integer.parseInt(c[1].replaceAll("\\s+", "")); ; checkinList.add(objCheckin); //System.out.println(checkinList.size()); } } for (CheckinDetail e : checkinList) { for (int f : days) { if ((f == temfromday && temfromday == e.checkinDay && Integer.parseInt(fromCheckinHour) <= e.fromTime) || (f == l && l == e.checkinDay && Integer.parseInt(toCheckinHour) >= e.fromTime) || (f == e.checkinDay && f != temfromday && f != l)) { // System.out.println(e.b_Id); // System.out.println(e.CountValue); if (tempCheckin.containsKey(e.b_Id)) { tempCheckin.put(e.b_Id, tempCheckin.get(e.b_Id) + e.CountValue); } else { tempCheckin.put(e.b_Id, e.CountValue); } } } } Iterator itr = tempCheckin.entrySet().iterator(); while (itr.hasNext()) { Map.Entry entry = (Map.Entry) itr.next(); if ((operationCheckin.contains("="))) { if (entry.getValue() == valueCheckin) { finalCheckinBid.add(entry.getKey().toString()); } } if ((operationCheckin.contains("<"))) { if (Integer.parseInt(entry.getValue().toString()) < Integer.parseInt(valueCheckin)) { finalCheckinBid.add(entry.getKey().toString()); //System.out.println("in <"); } } if ((operationCheckin.contains(">"))) { if (Integer.parseInt(entry.getValue().toString()) > Integer.parseInt(valueCheckin)) { finalCheckinBid.add(entry.getKey().toString()); //System.out.println("in >"); } } // } finalQueryCatCheck.append( "Stage{name='$match', value=Or Filter{filters=[Operator Filter{fieldName='checkin_info.2-3', operator='$exists', value=BsonBoolean{value=true}}, Operator Filter{fieldName='checkin_info.2-4', operator='$exists', value=BsonBoolean{value=true}}]}}\n" + "Document{{$group=Document{{_id=$business_id, total1=Document{{$sum=$checkin_info.2-4}}, total2=Document{{$sum=$checkin_info.2-3}}}}}}\n" + "Stage{name='$match', value=Operator Filter{fieldName='totalCheckins', operator='$gt', value=4}}"); if (!Address.isEmpty() && !proximity.isEmpty()) { if (Address.contains("3799 S Las Vegas Blvd Eastside Las Vegas, NV 89119")) { longitude = -115.16768879999999; latitude = 36.103017899999998; } if (Address .equalsIgnoreCase("6002 S Durango Dr Ste 100 Spring Valley Las Vegas, NV 89113")) { longitude = -115.27906539999999; latitude = 36.079256100000002; } if (Address.equalsIgnoreCase("1801 E Baseline Rd, #101 Ste 101 Tempe, AZ 85283")) { longitude = -111.90860979259; latitude = 33.377052104372098; } if (Address.equalsIgnoreCase("1033 S Park St Bay Creek Madison, WI 53715")) { longitude = -89.397478300000003; latitude = 43.055539400000001; } if (Address.equalsIgnoreCase("University Center II Lot Phoenix, AZ 85008")) { longitude = -112.02540759999999; latitude = 33.451857400000002; } List<String> pointInterest = new ArrayList<String>(); BasicDBList geoCoord = new BasicDBList(); geoCoord.add(longitude); geoCoord.add(latitude); BasicDBList geoParams = new BasicDBList(); geoParams.add(geoCoord); geoParams.add(Integer.parseInt(proximity) / 1018.59); BasicDBObject query = new BasicDBObject("loc", new BasicDBObject("$geoWithin", new BasicDBObject("$center", geoParams))); DBCursor cursorForBusiness = collBusiness.find(query); finalQueryCatCheck.append(query); while (cursorForBusiness.hasNext()) { pointInterest.add(cursorForBusiness.next().get("business_id").toString()); } // System.out.println(pointInterest.size()); // System.out.println(reviewCategoryIdList.size()); finalCheckinBid.retainAll(pointInterest); // System.out.println(reviewCategoryIdList.size()); } resultTable.setModel(dtm); queryLabel.setText("<html><p>" + finalQueryCatCheck.toString() + "</p></html>"); String header[] = new String[] { "B_ID", "Business", "City", "State", "Stars" }; // add header in table model dtm.setColumnIdentifiers(header); List<DBObject> outputMyList = new ArrayList<DBObject>(); BasicDBObject whereQuery = new BasicDBObject(); for (String fianlBid2 : finalCheckinBid) { whereQuery.put("business_id", fianlBid2); DBCursor cursor = collBusiness.find(whereQuery); while (cursor.hasNext()) { int i = 1; //System.out.println(cursor.next()); outputMyList.add(cursor.next()); i++; } } for (DBObject temp : outputMyList) { //System.out.println("Business Name : " + temp.get("name") + " Category : " + temp.get("categories")); Object[] row = new Object[5]; row[0] = temp.get("business_id"); row[1] = temp.get("name"); row[2] = temp.get("city"); row[3] = temp.get("state"); row[4] = temp.get("stars"); dtm.addRow(row); } // } } //else with no review } //if for entire checkin check else {//only cat /////////////////////////////////////////Cat N Review///////////////////////////////////////////////////////////////////// if (!fromReview.isEmpty() && !toReview.isEmpty() && !operationStar.isEmpty() && !valueStar.isEmpty() && !operationVote.isEmpty() && !valueVote.isEmpty()) { StringBuffer finalQueryCatReview = new StringBuffer(); DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH); String fromDate1 = fromReview; String fromdate = fromDate1 + "T00:00:00Z"; String toDate1 = toReview; String todate = toDate1 + "T00:00:00Z"; int starValue = Integer.parseInt(valueStar); //int voteValue = 4; int voteValue = Integer.parseInt(valueVote); DB dbReview = mongoClient.getDB("review"); DBCollection collReview = dbReview.getCollection("review"); //abhi tak ki bid is in finalCheckinBid // for(String a :finalCheckinBid){ // System.out.println(a); // } try { List<Object> finalCatBid = new ArrayList<Object>(); List<Object> reviewCategoryIdList = new ArrayList<Object>(); for (String a : finalCat) { BasicDBObject whereQueryBusinessReview = new BasicDBObject(); //System.out.println(a); whereQueryBusinessReview.put("categories", a); DBCursor cursor = collBusiness.find(whereQueryBusinessReview); finalQueryCatReview.append(whereQueryBusinessReview); while (cursor.hasNext()) { int i = 1; //System.out.println(cursor.next()); finalCatBid.add(cursor.next().get("business_id")); i++; } } DBObject match = new BasicDBObject("$match", new BasicDBObject("date", new BasicDBObject("$gt", format.parse(fromdate)) .append("$lt", format.parse(todate)))); DBObject groupFields = new BasicDBObject("_id", "$business_id"); groupFields.put("total1", new BasicDBObject("$sum", "$votes.funny")); groupFields.put("total2", new BasicDBObject("$sum", "$votes.useful")); groupFields.put("total3", new BasicDBObject("$sum", "$votes.cool")); groupFields.put("totalStars", new BasicDBObject("$sum", "$stars")); DBObject group = new BasicDBObject("$group", groupFields); DBObject fields = new BasicDBObject("_id", 1); BasicDBList addFields = new BasicDBList(); addFields.add("$total1"); addFields.add("$total2"); addFields.add("$total3"); fields.put("totalVotes", new BasicDBObject("$sum", addFields)); fields.put("totalStars", 1); DBObject project = new BasicDBObject("$project", fields); BasicDBObject votes = null; BasicDBObject stars = null; if (operationStar.equals(">")) { stars = new BasicDBObject("totalStars", new BasicDBObject("$gt", starValue)); } if (operationStar.equals("<")) { stars = new BasicDBObject("totalStars", new BasicDBObject("$lt", starValue)); } if (operationStar.equals("=")) { stars = new BasicDBObject("totalStars", new BasicDBObject("$eq", starValue)); } if (operationVote.equals(">")) { votes = new BasicDBObject("totalVotes", new BasicDBObject("$gt", voteValue)); } if (operationVote.equals("<")) { votes = new BasicDBObject("totalVotes", new BasicDBObject("$lt", voteValue)); } if (operationVote.equals("=")) { votes = new BasicDBObject("totalVotes", new BasicDBObject("$eq", voteValue)); } List<BasicDBObject> list1 = new ArrayList<BasicDBObject>(); list1.add(new BasicDBObject(votes)); list1.add(new BasicDBObject(stars)); DBObject votesnStars = new BasicDBObject("$and", list1); DBObject match2 = new BasicDBObject("$match", votesnStars); AggregationOutput cursorForReview = collReview.aggregate(match, group, project, match2); String query33 = match + "\n" + group + "\n" + project + "\n" + match2; finalQueryCatReview.append(query33); Iterable<DBObject> list = cursorForReview.results(); Iterator<DBObject> resultSet1 = list.iterator(); while (resultSet1.hasNext()) { // System.out.println(resultSet1.next().get("_id")); reviewCategoryIdList.add(resultSet1.next().get("_id")); } //System.out.println(reviewCategoryIdList.size()); //System.out.println(finalCatBid.size()); reviewCategoryIdList.retainAll(finalCatBid); //System.out.println(reviewCategoryIdList.size()); // for (Object s : reviewCategoryIdList) { // System.out.println(s.toString()); // } if (!Address.isEmpty() && !proximity.isEmpty()) { if (Address.contains("3799 S Las Vegas Blvd Eastside Las Vegas, NV 89119")) { longitude = -115.16768879999999; latitude = 36.103017899999998; } if (Address.equalsIgnoreCase( "6002 S Durango Dr Ste 100 Spring Valley Las Vegas, NV 89113")) { longitude = -115.27906539999999; latitude = 36.079256100000002; } if (Address.equalsIgnoreCase("1801 E Baseline Rd, #101 Ste 101 Tempe, AZ 85283")) { longitude = -111.90860979259; latitude = 33.377052104372098; } if (Address.equalsIgnoreCase("1033 S Park St Bay Creek Madison, WI 53715")) { longitude = -89.397478300000003; latitude = 43.055539400000001; } if (Address.equalsIgnoreCase("University Center II Lot Phoenix, AZ 85008")) { longitude = -112.02540759999999; latitude = 33.451857400000002; } List<String> pointInterest = new ArrayList<String>(); BasicDBList geoCoord = new BasicDBList(); geoCoord.add(longitude); geoCoord.add(latitude); BasicDBList geoParams = new BasicDBList(); geoParams.add(geoCoord); geoParams.add(Integer.parseInt(proximity) / 1018.59); BasicDBObject query = new BasicDBObject("loc", new BasicDBObject("$geoWithin", new BasicDBObject("$center", geoParams))); DBCursor cursorForBusiness = collBusiness.find(query); finalQueryCatReview.append(query); while (cursorForBusiness.hasNext()) { pointInterest.add(cursorForBusiness.next().get("business_id").toString()); } // System.out.println(pointInterest.size()); // System.out.println(reviewCategoryIdList.size()); reviewCategoryIdList.retainAll(pointInterest); // System.out.println(reviewCategoryIdList.size()); } queryLabel.setText("<html><p>" + finalQueryCatReview.toString() + "</p></html>"); resultTable.setModel(dtm); String header[] = new String[] { "B_ID", "Business", "City", "State", "Stars" }; // add header in table model dtm.setColumnIdentifiers(header); List<DBObject> outputMyList = new ArrayList<DBObject>(); for (Object fianlBid2 : reviewCategoryIdList) { BasicDBObject whereQuery = new BasicDBObject(); // System.out.println(fianlBid2); whereQuery.put("business_id", fianlBid2.toString()); DBCursor cursor = collBusiness.find(whereQuery); while (cursor.hasNext()) { //System.out.println(cursor.next()); outputMyList.add(cursor.next()); } } for (DBObject temp : outputMyList) { //System.out.println("Business Name : " + temp.get("name") + " Category : " + temp.get("categories")); Object[] row = new Object[5]; row[0] = temp.get("business_id"); row[1] = temp.get("name"); row[2] = temp.get("city"); row[3] = temp.get("state"); row[4] = temp.get("stars"); dtm.addRow(row); } } catch (Exception e) { } } //////////////////////////////////////Only Category //////////////////////////////////////////// else { resultTable.setModel(dtm); String header[] = new String[] { "B_ID", "Business", "City", "State", "Stars", "Category" }; // add header in table model dtm.setColumnIdentifiers(header); StringBuffer catOnly = new StringBuffer(); if (!Address.isEmpty() && !proximity.isEmpty() && finalCat.size() > 0) { if (Address.contains("3799 S Las Vegas Blvd Eastside Las Vegas, NV 89119")) { longitude = -115.16768879999999; latitude = 36.103017899999998; } if (Address .equalsIgnoreCase("6002 S Durango Dr Ste 100 Spring Valley Las Vegas, NV 89113")) { longitude = -115.27906539999999; latitude = 36.079256100000002; } if (Address.equalsIgnoreCase("1801 E Baseline Rd, #101 Ste 101 Tempe, AZ 85283")) { longitude = -111.90860979259; latitude = 33.377052104372098; } if (Address.equalsIgnoreCase("1033 S Park St Bay Creek Madison, WI 53715")) { longitude = -89.397478300000003; latitude = 43.055539400000001; } if (Address.equalsIgnoreCase("University Center II Lot Phoenix, AZ 85008")) { longitude = -112.02540759999999; latitude = 33.451857400000002; } //BasicDBList category = new BasicDBList(); for (String a : finalCat) { BasicDBObject andQuery = new BasicDBObject(); List<BasicDBObject> obj = new ArrayList<BasicDBObject>(); List<DBObject> pointInterest = new ArrayList<DBObject>(); BasicDBList geoCoord = new BasicDBList(); geoCoord.add(longitude); geoCoord.add(latitude); BasicDBList geoParams = new BasicDBList(); geoParams.add(geoCoord); geoParams.add(Integer.parseInt(proximity) / 1018.59); BasicDBObject query = new BasicDBObject("loc", new BasicDBObject("$geoWithin", new BasicDBObject("$center", geoParams))); obj.add(query); obj.add(new BasicDBObject("categories", a)); andQuery.put("$and", obj); System.out.println(andQuery); DBCursor cursorForBusiness = collBusiness.find(andQuery); catOnly.append(andQuery); while (cursorForBusiness.hasNext()) { pointInterest.add(cursorForBusiness.next()); } for (DBObject temp : pointInterest) { Object[] row = new Object[6]; row[0] = temp.get("business_id"); row[1] = temp.get("name"); row[2] = temp.get("city"); row[3] = temp.get("state"); row[4] = temp.get("stars"); row[5] = a; dtm.addRow(row); } } } else { List<DBObject> testMyList = new ArrayList<DBObject>(); for (String a : finalCat) { BasicDBObject whereQuery = new BasicDBObject(); //System.out.println(a); whereQuery.put("categories", a); DBCursor cursor = collBusiness.find(whereQuery); catOnly.append(whereQuery); while (cursor.hasNext()) { testMyList.add(cursor.next()); } for (DBObject temp : testMyList) { //System.out.println("Business Name : " + temp.get("name") + " Category : " + temp.get("categories")); Object[] row = new Object[6]; row[0] = temp.get("business_id"); row[1] = temp.get("name"); row[2] = temp.get("city"); row[3] = temp.get("state"); row[4] = temp.get("stars"); row[5] = a; dtm.addRow(row); } } } queryLabel.setText("<html><p>" + catOnly.toString() + "</p></html>"); } } //else } //cat and subCat is selected }
From source file:loc.java
public void loc() { MongoClient mongoClient = new MongoClient("localhost", 27017); DB dbBusiness = mongoClient.getDB("business"); DBCollection collBusiness = dbBusiness.getCollection("business"); List<DBObject> categoryIdList = new ArrayList<DBObject>(); DBCursor cursorForBusiness = collBusiness.find(); while (cursorForBusiness.hasNext()) { categoryIdList.add(cursorForBusiness.next()); }//from w w w . ja va 2 s .co m for (DBObject s : categoryIdList) { System.out.println(s.get("business_id").toString()); System.out.println(s.get("longitude").toString()); System.out.println(s.get("latitude").toString()); BasicDBObject newDocument = new BasicDBObject(); BasicDBList addFields = new BasicDBList(); addFields.add(s.get("longitude").toString()); addFields.add(s.get("latitude").toString()); newDocument.append("$set", new BasicDBObject().append("loc", addFields)); BasicDBObject searchQuery = new BasicDBObject().append("business_id", s.get("business_id").toString()); collBusiness.update(searchQuery, newDocument); } }
From source file:act.installer.bing.UsageTermUrlSet.java
License:Open Source License
public BasicDBObject getBasicDBObject() { BasicDBObject usageTermUrlSetBasicDBObject = new BasicDBObject("usage_term", usageTerm); BasicDBList urlsBasicDBList = new BasicDBList(); for (String url : urlSet) { urlsBasicDBList.add(url);// w w w. jav a 2 s . c om } usageTermUrlSetBasicDBObject.put("urls", urlsBasicDBList); return usageTermUrlSetBasicDBObject; }
From source file:act.installer.metacyc.OrganismCompositionMongoWriter.java
License:Open Source License
private BasicDBList metaReferencesToDBList(String id, List<SmallMolMetaData> metas) { BasicDBList dbList = new BasicDBList(); for (SmallMolMetaData meta : metas) { DBObject metaObj = meta.getDBObject(); metaObj.put("id", id); dbList.add(metaObj);/* ww w. j av a2 s . c om*/ } return dbList; }
From source file:act.installer.reachablesexplorer.ReachablesProjectionUpdate.java
License:Open Source License
public void updateDatabase(DBCollection reachables) { for (String product : products) { // The query object for this product BasicDBObject newProductQuery = new BasicDBObject().append(INCHI_KEY, product); // DB list of the substrates of this projection BasicDBList substrateList = new BasicDBList(); substrateList.addAll(substrates); // DB list of the one RO associated with this projection BasicDBList roList = new BasicDBList(); roList.addAll(ros);/*w ww .j ava 2 s. c o m*/ // The full entry to be added to the product's precursor list BasicDBObject precursorEntry = new BasicDBObject().append(SUBSTRATES_KEY, substrateList).append(RO_KEY, roList); // The command to push the precursor entry onto the precursor list BasicDBObject precursors = new BasicDBObject(); precursors.append("$push", new BasicDBObject(PRECURSOR_KEY, precursorEntry)); // Do the update! reachables.update(newProductQuery, precursors, UPSERT, NO_MULTI); } }
From source file:act.server.BingCacheMongoDB.java
License:Open Source License
public void cacheNameSearchResult(NameSearchResults nameSearchResults) { BasicDBObject nameSearchResultDBObject = new BasicDBObject(); nameSearchResultDBObject.put("name", nameSearchResults.getName()); Long totalCountSearchResults = nameSearchResults.getTotalCountSearchResults(); if (totalCountSearchResults >= 0) { nameSearchResultDBObject.put("totalCountSearchResults", totalCountSearchResults); }// w ww . jav a 2 s.co m Set<SearchResult> topSearchResults = nameSearchResults.getTopSearchResults(); if (topSearchResults != null) { BasicDBList topSearchResultsList = new BasicDBList(); for (SearchResult topSearchResult : topSearchResults) { topSearchResultsList.add(topSearchResult.getBasicDBObject()); } nameSearchResultDBObject.put("topSearchResults", topSearchResultsList); } dbBingCache.save(nameSearchResultDBObject); }
From source file:act.server.BingCacheMongoDB.java
License:Open Source License
public void updateTopSearchResults(String formattedName, NameSearchResults nameSearchResults) { BasicDBObject whereQuery = new BasicDBObject(); whereQuery.put("name", formattedName); // Transform Set into BasicDBList for storage BasicDBList topSearchResultsList = new BasicDBList(); for (SearchResult topSearchResult : nameSearchResults.getTopSearchResults()) { topSearchResultsList.add(topSearchResult.getBasicDBObject()); }/*from w ww. j av a 2 s. c om*/ // Update the existing document in the cache BasicDBObject newTopSearchResults = new BasicDBObject(); newTopSearchResults.append("$set", new BasicDBObject().append("topSearchResults", topSearchResultsList)); dbBingCache.update(whereQuery, newTopSearchResults); }
From source file:act.server.MongoDB.java
License:Open Source License
private static BasicDBList compare(BasicDBList l, BasicDBList refl, boolean listsAreSet) { boolean different = false; BasicDBList diff = new BasicDBList(); if (!listsAreSet) { // lists are to be treated as ordered sets and so we can compare element by element for (int i = 0; i < l.size(); i++) { Object val = l.get(i); Object refv = refl.get(i); Object d;/*from w w w . j a v a 2s . c o m*/ if ((d = compare(val, refv, listsAreSet)) != null) { different = true; diff.add(d); } else { // elements at this index are identical, but we don't want to muck up the order // in case future elements are not identical... so add a null to the diff, // BUT IMP: do not set the flag that the list is different diff.add(null); } } } else { // lists are to be treated as unordered sets: we try to match each element best // effort to any one of the list elements, and if it does proceed greedily // we keep this as a list as opposed to a true set because the original (ref) // and the current (new) might have (identical) replicates, and so should not // be flagged different because of that. List<Object> refset = new ArrayList<Object>(); refset.addAll(refl); for (Object e : l) { boolean matches_some = false; for (Object eref : refset) { if (compare(e, eref, listsAreSet) == null) { // this object matches something, great, lets move to the next object // also remove the matched object from the ref list, so that we have // a 1-1 mapping between this and the ref list object matches_some = true; refset.remove(eref); break; } } if (!matches_some) { // if this object in new list could not be matched against something, // the lists are different different = true; diff.add(e); } } if (refset.size() != 0) { // still some elements remain in the ref list, i.e., sets different different = true; diff.addAll(refset); } } return different ? diff : null; }