Example usage for com.mongodb DBCollection find

List of usage examples for com.mongodb DBCollection find

Introduction

In this page you can find the example usage for com.mongodb DBCollection find.

Prototype

public DBCursor find(final DBObject query) 

Source Link

Document

Select documents in collection and get a cursor to the selected documents.

Usage

From source file:TeacherSection.java

private void formComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentResized
    // TODO add your handling code here:

    DBCollection coll = db.getCollection("user");
    BasicDBObject andQuery = new BasicDBObject();
    List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
    String username = login.user;
    obj.add(new BasicDBObject("user", username));
    andQuery.put("$and", obj);

    DBCursor cursor = coll.find(andQuery);
    while (cursor.hasNext()) {
        lastname = cursor.next().get("lastname").toString();
    }/*from w  w  w  .j a  v  a  2 s.  c o m*/

    DBCollection coll1 = db.getCollection("teacher");

    BasicDBObject andQuery1 = new BasicDBObject();
    List<BasicDBObject> obj1 = new ArrayList<BasicDBObject>();
    obj1.add(new BasicDBObject("firstname", firstname));
    obj1.add(new BasicDBObject("lastname", lastname));
    andQuery1.put("$and", obj1);
    cursor = coll1.find(andQuery1);

    while (cursor.hasNext()) {

        BasicDBList teache = (BasicDBList) cursor.next().get("teach");
        String data[] = new String[teache.size()];

        for (int j = 0; j < teache.size(); ++j) {
            BasicDBObject teach = (BasicDBObject) teache.get(j);
            String val = teach.getString("grade") + "-" + teach.getString("section");
            data[j] = val;

        }
        GradeList.setListData(data);
    }

}

From source file:TeacherSection.java

private void GradeListValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_GradeListValueChanged
    // TODO add your handling code here:
    if (!evt.getValueIsAdjusting()) {
        String selected = GradeList.getSelectedValue();
        int grade = 0;
        int section = 0;
        for (int i = 0; i < selected.length(); ++i) {
            if (selected.charAt(i) == '-') {

                grade = (int) Double.parseDouble(selected.substring(0, i));
                section = (int) Double.parseDouble(selected.substring(i + 1));
            }/*from   w  ww . j a v  a  2s  .  c o m*/
        }

        DBCollection coll = db.getCollection("student");
        BasicDBObject andQuery = new BasicDBObject();
        List<BasicDBObject> obj = new ArrayList<BasicDBObject>();

        obj.add(new BasicDBObject("grade", grade));
        obj.add(new BasicDBObject("section", section));

        andQuery.put("$and", obj);
        DBCursor cursor = coll.find(andQuery);
        while (cursor.hasNext()) {

            DBObject object = cursor.next();
            this.FirstnameField.setText(object.get("firstname").toString());
            this.MidnameField.setText(object.get("mid_name").toString());
            LastnameField.setText(object.get("lastname").toString());

            BasicDBList marks = (BasicDBList) object.get("marks");
            for (int i = 0; i < marks.size(); ++i) {
                BasicDBObject mark = (BasicDBObject) marks.get(i);
                if (mark.getString("teacher").equals(firstname)) {

                    if (mark.get("mid") == null) {

                        MidField.setText("-1");
                        FinalField.setText("-1");

                    } else if (mark.get("mid") != null && mark.get("final") == null) {

                        MidField.setText(mark.getString("mid"));
                        FinalField.setText("-1");
                    } else {

                        MidField.setText(mark.getString("mid"));
                        FinalField.setText(mark.getString("final"));

                    }

                    break;
                }

            }
            int reply = JOptionPane.showConfirmDialog(null, "if you want to update press yes", "Update or Skip",
                    JOptionPane.YES_NO_OPTION);
            if (reply == JOptionPane.YES_OPTION) {
                int midmark = Integer.parseInt(JOptionPane.showInputDialog("Please input mark for mid: "));
                int finalmark = Integer.parseInt(JOptionPane.showInputDialog("Please input mark for final: "));
                BasicDBObject andQuery1 = new BasicDBObject();
                List<BasicDBObject> obj1 = new ArrayList<BasicDBObject>();
                obj1.add(new BasicDBObject("firstname", FirstnameField.getText()));
                obj1.add(new BasicDBObject("mid_name", MidnameField.getText()));
                obj1.add(new BasicDBObject("lastname", LastnameField.getText()));
                obj1.add(new BasicDBObject("grade", grade));
                obj1.add(new BasicDBObject("section", section));
                obj1.add(new BasicDBObject("marks.teacher", firstname));
                andQuery1.put("$and", obj1);
                BasicDBObject data = new BasicDBObject();
                if (midmark == -1 && finalmark == -1) {
                    JOptionPane.showMessageDialog(null, "No data was updated!");
                } else if (midmark != -1 && finalmark != -1) {
                    data.put("marks.$.mid", midmark);
                    JOptionPane.showMessageDialog(null, "data was updated .");
                } else {
                    data.put("marks.$.mid", midmark);
                    data.put("marks.$.final", finalmark);
                    JOptionPane.showMessageDialog(null, "data was updated .");

                }
                BasicDBObject command = new BasicDBObject();
                command.put("$set", data);
                coll.update(andQuery1, command);

            }

        }

    }

}

From source file:Parent.java

private void formComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentResized
    // TODO add your handling code here:

    DBCollection coll = db.getCollection("parent");
    BasicDBObject andQuery = new BasicDBObject();
    List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
    obj.add(new BasicDBObject("firstname", firstname));
    obj.add(new BasicDBObject("lastname", lastname));

    andQuery.put("$and", obj);
    DBCursor cursor = coll.find(andQuery);
    while (cursor.hasNext()) {
        BasicDBList sons = (BasicDBList) cursor.next().get("sons");
        String data[] = new String[sons.size()];
        for (int j = 0; j < sons.size(); ++j) {
            BasicDBObject son = (BasicDBObject) sons.get(j);
            data[j] = son.get("name").toString();

        }//  w w w . j a  v  a 2  s.c om

        SonList.setListData(data);

    }
}

From source file:Parent.java

private void SonListValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_SonListValueChanged
    // TODO add your handling code here:
    if (!evt.getValueIsAdjusting()) {
        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
        model.setRowCount(0);/*ww  w . j  a  v a2 s  .c  om*/

        String selected = SonList.getSelectedValue();
        DBCollection coll = db.getCollection("student");
        BasicDBObject andQuery = new BasicDBObject();
        List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
        obj.add(new BasicDBObject("firstname", selected));
        obj.add(new BasicDBObject("mid_name", firstname));
        obj.add(new BasicDBObject("lastname", lastname));
        andQuery.put("$and", obj);
        DBCursor cursor = coll.find(andQuery);
        while (cursor.hasNext()) {

            BasicDBList marks = (BasicDBList) cursor.next().get("marks");
            for (int j = 0; j < marks.size(); ++j) {
                BasicDBObject mark = (BasicDBObject) marks.get(j);
                String material = mark.get("course").toString();
                String teacher = mark.get("teacher").toString();
                if (mark.get("mid") == null) {

                    Object[] row = { material, teacher, "not readay", "not ready" };
                    model.addRow(row);

                } else if (mark.get("mid") != null && mark.get("final") == null) {

                    Object[] row = { material, teacher, mark.get("mid"), "not ready" };
                    model.addRow(row);
                } else {

                    Object[] row = { material, teacher, mark.get("mid"), mark.get("final") };
                    model.addRow(row);

                }
            }
        }
    }

}

From source file:tweetList.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from  w  ww .  ja  v  a 2 s  . com
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    response.setContentType("text/html");
    String username = request.getParameter("username");

    try {
        MongoClient mongo = new MongoClient("localhost", 27017);
        DB db = mongo.getDB("test");
        System.out.println("Connection established");
        DBCollection User = db.getCollection("User");
        DBCollection Tweet = db.getCollection("Tweet");

        BasicDBObject query = new BasicDBObject("username", username);
        DBCursor curssc = User.find(query);
        // out.println(curssc.size());
        DBObject result = curssc.next();
        ArrayList<String> arr2 = new ArrayList();
        arr2 = (ArrayList<String>) result.get("tweet_id");

        ArrayList<String> e = new ArrayList();
        e = (ArrayList<String>) result.get("following_username");
        ArrayList<String> texts = new ArrayList();
        //out.println(e.size());
        //out.println(e.get(0));

        if (e.size() > 0 || arr2.size() > 0) {
            for (int i = e.size() - 1; i >= 0; i--) {
                BasicDBObject query2 = new BasicDBObject("username", e.get(i));
                DBCursor curssc2 = User.find(query2);
                if (curssc2.size() == 1) {
                    DBObject res = curssc2.next();
                    ArrayList<String> arr = new ArrayList();
                    arr = (ArrayList<String>) res.get("tweet_id");

                    texts.addAll(arr);

                }

            }
            texts.addAll(arr2);
            Collections.sort(texts);
            for (int j = texts.size() - 1; j >= 0; j--) {
                BasicDBObject query3 = new BasicDBObject("tweet_id", texts.get(j));
                DBCursor curssc3 = Tweet.find(query3);
                DBObject result1 = curssc3.next();
                response.getWriter().write(result1.get("username").toString());
                response.getWriter().write(":  ");
                response.getWriter().write(result1.get("tweet_text").toString());
                response.getWriter().write("\n");
            }

        } else {
            response.getWriter().write("No tweet");
        }

    } catch (Exception e) {
        System.err.println(e.getClass().getName() + ": " + e.getMessage());
    }
}

From source file:HW4.java

/**
 * Creates new form dbGui//from w ww .  ja  v a2 s . c o  m
 */
public HW4() throws SQLException {
    initComponents();

    label = true;
    finalCat = new ArrayList<>();
    fromCheckin = "";
    fromCheckinHour = "";
    toCheckin = "";
    toCheckinHour = "";
    operationCheckin = "";
    valueCheckin = "";
    operationStar = "";
    operationVote = "";
    valueStar = "";
    valueVote = "";
    fromReview = "";
    toReview = "";
    memberSince = "";
    operReviewCount = "";
    operNoOfFriends = "";
    operAvgStar = "";
    valueReviewCount = "";
    valueNoOfFriends = "";
    valueAvgStar = "";
    andOrAttribute = "";
    Address = "";
    proximity = "";
    searchFor = "";
    latitude = 0.0;
    longitude = 0.0;
    operNoOfVotes = "";
    valueNoOfVotes = "";

    //        checkinList = new ArrayList<CheckinDetail>();
    mongoClient = new MongoClient("localhost", 27017);
    memberSinceDateBox.setEnabled(false);
    reviewCountComboBox.setEnabled(false);
    reviewCountValueTextField.setEnabled(false);
    numberOfFriendsComboBox.setEnabled(false);
    numberOfFriendsValueTextField.setEnabled(false);
    avgStarComboBox.setEnabled(false);
    avgStarValueTextField.setEnabled(false);
    andOrComboBox.setEnabled(false);
    model = (DefaultListModel) jList1.getModel();

    checkinValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueCheckin = checkinValueTextField.getText();
            //System.out.println(valueCheckin);
        }

    });
    starsValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueStar = starsValueTextField.getText();
            //System.out.println(valueStar);
        }

    });

    votesValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueVote = votesValueTextField.getText();
            //System.out.println(valueVote);
        }

    });
    reviewCountValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueReviewCount = reviewCountValueTextField.getText();
            //System.out.println(valueCheckin);
        }

    });

    numberOfFriendsValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueNoOfFriends = numberOfFriendsValueTextField.getText();
            //System.out.println(valueCheckin);
        }

    });

    avgStarValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueAvgStar = avgStarValueTextField.getText();
            //System.out.println(valueCheckin);
        }

    });

    noOfVotesValueTextField.getDocument().addDocumentListener(new DocumentListener() {

        @Override
        public void insertUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            text();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            text();
        }

        public void text() {
            valueNoOfVotes = noOfVotesValueTextField.getText();
            System.out.println(valueNoOfVotes);
        }

    });

    //fromReview = ((JTextField) fromReviewDate.getDateEditor().getUiComponent()).getText();
    //System.out.println(fromReview);
    resultTable.addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(java.awt.event.MouseEvent evt) {

            int row = resultTable.rowAtPoint(evt.getPoint());
            int col = resultTable.columnAtPoint(evt.getPoint());
            DB dbReview = mongoClient.getDB("review");
            DBCollection collReview = dbReview.getCollection("review");
            JTable im = new JTable();
            DefaultTableModel reviewModel = new DefaultTableModel(0, 0);
            im.setModel(reviewModel);

            String header[] = new String[] { "Name", "Review" };
            reviewModel.setColumnIdentifiers(header);
            //im.setRowHeight(50);

            if (!memberSince.isEmpty() || !operReviewCount.isEmpty() || !operNoOfFriends.isEmpty()
                    || !operAvgStar.isEmpty() || !valueReviewCount.isEmpty() || !valueNoOfFriends.isEmpty()
                    || !valueAvgStar.isEmpty() || !andOrAttribute.isEmpty()) {

                if (row >= 0 && col == 0) {
                    String tableValue = resultTable.getValueAt(row, col).toString();
                    String name = resultTable.getValueAt(row, col + 1).toString();

                    BasicDBObject whereQuery = new BasicDBObject();
                    whereQuery.put("user_id", tableValue);
                    DBCursor cursor = collReview.find(whereQuery);
                    while (cursor.hasNext()) {
                        Object[] rowReview = new Object[2];
                        rowReview[0] = name;
                        rowReview[1] = cursor.next().get("text").toString();

                        reviewModel.addRow(rowReview);
                    }

                    mydialog = new JDialog();
                    mydialog.setSize(new Dimension(1000, 1000));
                    mydialog.setTitle("Reviews By User");
                    mydialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL); // prevent user from doing something else
                    mydialog.add(im);
                    mydialog.setVisible(true);
                    mydialog.setResizable(true);

                    //                    JOptionPane.showConfirmDialog(null,
                    //                        getPanel(tableValue));
                }

            } else {

                if (row >= 0 && col == 0) {
                    String tableValue = resultTable.getValueAt(row, col).toString();
                    //String name= resultTable.getValueAt(row, col+1).toString();

                    BasicDBObject whereQuery = new BasicDBObject();
                    whereQuery.put("business_id", tableValue);
                    DBCursor cursor = collReview.find(whereQuery);
                    while (cursor.hasNext()) {
                        Object[] rowReview = new Object[1];
                        //rowReview[0] =name;
                        rowReview[0] = cursor.next().get("text").toString();

                        reviewModel.addRow(rowReview);
                    }
                    mydialog = new JDialog();
                    mydialog.setSize(new Dimension(1000, 1000));
                    mydialog.setTitle("Reviews By User");
                    mydialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL); // prevent user from doing something else
                    mydialog.add(im);
                    mydialog.setVisible(true);
                    mydialog.setResizable(true);

                    //                    JOptionPane.showConfirmDialog(null,
                    //                        getPanel(tableValue));
                }
            }
        }
    });
}

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;
            }//  w  ww.  j a  v  a2s . com

            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:Session_details.java

public Session_details() {
    initComponents();/*www .ja v a  2 s  .  com*/

    try {

        String str = "stats", str2;
        MongoClient mc = new MongoClient("localhost", 27017);
        DB db = mc.getDB("parking_system");
        DBCollection collection = db.getCollection("statistics");

        BasicDBObject query = new BasicDBObject();
        BasicDBObject field = new BasicDBObject();
        field.put("_id", str);

        DBCursor cursor = collection.find(field);

        while (cursor.hasNext()) {
            DBObject obj = (DBObject) cursor.next();
            str2 = obj.get("_id").toString();

            if (str2.equals(str)) {
                wheeler2_cnt_field.setText(obj.get("2wheeler_count").toString());
                wheeler2_income_field.setText(obj.get("2wheeler_income").toString());
                wheeler4_cnt_field.setText(obj.get("4wheeler_count").toString());
                wheeler4_income_field.setText(obj.get("4wheeler_income").toString());
                other_cnt_field.setText(obj.get("other_count").toString());
                other_income_field.setText(obj.get("other_income").toString());
                time_field.setText(obj.get("time").toString());

                break;

            }

        }

    } catch (Exception e) {
        System.err.println(e);
    }

}

From source file:admin_update_Emp.java

public admin_update_Emp(String userid_new2) {
    initComponents();// w  w  w  .jav  a 2  s .  c om

    //userid_new = admin_change.userid;
    userid_new = userid_new2;

    try {

        MongoClient mc = new MongoClient("localhost", 27017);
        DB db = mc.getDB("parking_system");
        DBCollection collection = db.getCollection("employee_info");

        BasicDBObject query = new BasicDBObject();
        BasicDBObject field = new BasicDBObject();
        field.put("_id", userid_new);

        DBCursor cursor = collection.find(field);

        while (cursor.hasNext()) {
            DBObject obj = (DBObject) cursor.next();
            userid_db = obj.get("_id").toString();
            System.out.println(userid_db);

            if (userid_db.equals(userid_new)) {
                old_name_field.setText(obj.get("name").toString());
                old_lname_field.setText(obj.get("lname").toString());
                old_mobno_field.setText(obj.get("mobileno").toString());
                old_userid_field.setText(obj.get("_id").toString());
                old_password_field.setText(obj.get("password").toString());
                System.out.println("In if");
                break;

            }

        }

    } catch (Exception e) {

    }

}

From source file:JavaSimpleExample.java

License:MIT License

public static void main(String[] args) throws UnknownHostException {

    // Create seed data

    final BasicDBObject[] seedData = createSeedData();

    // Standard URI format: mongodb://[dbuser:dbpassword@]host:port/dbname

    MongoClientURI uri = new MongoClientURI("mongodb://user:pass@host:port/db");
    MongoClient client = new MongoClient(uri);
    DB db = client.getDB(uri.getDatabase());

    /*/*from  w  ww.  ja  v  a2  s  .  co m*/
     * First we'll add a few songs. Nothing is required to create the
     * songs collection; it is created automatically when we insert.
     */

    DBCollection songs = db.getCollection("songs");

    // Note that the insert method can take either an array or a document.

    songs.insert(seedData);

    /*
     * Then we need to give Boyz II Men credit for their contribution to
     * the hit "One Sweet Day".
     */

    BasicDBObject updateQuery = new BasicDBObject("song", "One Sweet Day");
    songs.update(updateQuery,
            new BasicDBObject("$set", new BasicDBObject("artist", "Mariah Carey ft. Boyz II Men")));

    /*
     * Finally we run a query which returns all the hits that spent 10 
     * or more weeks at number 1.
     */

    BasicDBObject findQuery = new BasicDBObject("weeksAtOne", new BasicDBObject("$gte", 10));
    BasicDBObject orderBy = new BasicDBObject("decade", 1);

    DBCursor docs = songs.find(findQuery).sort(orderBy);

    while (docs.hasNext()) {
        DBObject doc = docs.next();
        System.out.println("In the " + doc.get("decade") + ", " + doc.get("song") + " by " + doc.get("artist")
                + " topped the charts for " + doc.get("weeksAtOne") + " straight weeks.");
    }

    // Since this is an example, we'll clean up after ourselves.

    songs.drop();

    // Only close the connection when your app is terminating

    client.close();
}