Example usage for com.mongodb DBCursor hasNext

List of usage examples for com.mongodb DBCursor hasNext

Introduction

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

Prototype

@Override
public boolean hasNext() 

Source Link

Document

Checks if there is another object available.

Usage

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);//from  w ww .  ja  v a2 s  .co m

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

private void update_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_update_buttonActionPerformed
    // TODO add your handling code here:

    try {//from   www .  j  av  a  2  s  .co  m
        userid = userid_field.getText();
        int flag = 0;
        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);

        DBCursor cursor = collection.find(query, field);
        while (cursor.hasNext()) {
            DBObject obj = (DBObject) cursor.next();
            userid_db = obj.get("_id").toString();

            if (userid.equals(userid_db)) {

                flag = 1;
                setVisible(false);
                new admin_update_Emp(userid).setVisible(true);
                break;
            }
        }
        if (flag == 0) {
            JOptionPane.showMessageDialog(null, "UserID invalid");
        }

    } catch (Exception e) {

    }

}

From source file:admin_change_Emp.java

private void delete_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_delete_buttonActionPerformed
    // TODO add your handling code here:

    try {// ww w.  j  a  v  a 2  s.  co m
        userid = userid_field.getText();
        int flag = 0;

        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);

        DBCursor cursor = collection.find(query, field);
        while (cursor.hasNext()) {
            DBObject obj = (DBObject) cursor.next();
            userid_db = obj.get("_id").toString();

            if (userid.equals(userid_db)) {

                flag = 1;

                BasicDBObject deleteObject = new BasicDBObject();
                deleteObject.put("_id", userid);
                DBCursor findQuery = collection.find(deleteObject);
                collection.remove(deleteObject);

                JOptionPane.showMessageDialog(null, "Employee Entry Deleted !!!");

                setVisible(false);
                new Admin_rights().setVisible(true);
                break;
            }
        }
        if (flag == 0) {
            JOptionPane.showMessageDialog(null, "UserID invalid");
        }
    } catch (Exception e) {

    }
}

From source file:UserHistoryGUI.java

/**
 * @param args the command line arguments
 * @throws ParseException //from   w w  w  .ja v  a 2s. c  o  m
 */

private void initScores() throws ParseException {
    DBCollection collection = db.getCollection("Users");

    DBObject query = new BasicDBObject();
    query.put("Info.Username", username);
    DBObject fields = new BasicDBObject();
    fields.put("Beginner", 1);
    fields.put("Easy", 1);
    fields.put("Medium", 1);
    fields.put("Hard", 1);
    fields.put("Last", 1);

    DBCursor scoreCursor = collection.find(query, fields);
    JSONParser parser = new JSONParser();
    int totalScore = 0;
    int totalAnswered = 0;
    int totalCorrect = 0;

    while (scoreCursor.hasNext()) {
        String json = scoreCursor.next().toString();
        JSONObject jsonFile = (JSONObject) parser.parse(json);

        //beginner scores
        JSONObject beginner = (JSONObject) jsonFile.get("Beginner");
        int beginnerTotal = Integer.parseInt(beginner.get("Total").toString());
        totalAnswered += beginnerTotal;
        int beginnerCorrect = Integer.parseInt(beginner.get("Correct").toString());
        totalCorrect += beginnerCorrect;
        totalScore += beginnerCorrect * 10;
        float beginnerRate = 0.0f;
        if (beginnerTotal != 0) {
            beginnerRate = (float) beginnerCorrect / beginnerTotal;
        }

        //easy scores
        JSONObject easy = (JSONObject) jsonFile.get("Easy");
        int easyTotal = Integer.parseInt(easy.get("Total").toString());
        int easyCorrect = Integer.parseInt(easy.get("Correct").toString());
        totalAnswered += easyTotal;
        totalCorrect += easyCorrect;
        totalScore += easyCorrect * 20;

        float easyRate = 0.0f;
        if (easyTotal != 0) {
            easyRate = (float) easyCorrect / easyTotal;
        }

        //med scores
        JSONObject med = (JSONObject) jsonFile.get("Medium");
        int medTotal = Integer.parseInt(med.get("Total").toString());
        int medCorrect = Integer.parseInt(med.get("Correct").toString());

        totalAnswered += medTotal;
        totalCorrect += medCorrect;
        totalScore += medCorrect * 30;

        float medRate = 0.0f;
        if (medTotal != 0) {
            medRate = (float) medCorrect / medTotal;
        }

        // hard scores
        JSONObject hard = (JSONObject) jsonFile.get("Hard");
        int hardTotal = Integer.parseInt(hard.get("Total").toString());
        int hardCorrect = Integer.parseInt(hard.get("Correct").toString());

        totalAnswered += hardTotal;
        totalCorrect += hardCorrect;
        totalScore += hardCorrect * 50;

        float hardRate = 0.0f;
        if (hardTotal != 0) {
            hardRate = (float) hardCorrect / hardTotal;
        }

        // Question
        JSONObject q = (JSONObject) jsonFile.get("Last");
        String question = q.get("Question").toString();
        String answer = q.get("Answer").toString();
        String correct = q.get("Correct").toString();

        BeginnerTotal.setText("" + beginnerTotal);
        BeginnerCorrect.setText("" + beginnerCorrect);
        BeginnerRate.setText("" + beginnerRate);

        EasyTotal.setText("" + easyTotal);
        EasyCorrect.setText("" + easyCorrect);
        EasyRate.setText("" + easyRate);

        MedTotal.setText("" + medTotal);
        MedCorrect.setText("" + medCorrect);
        MedRate.setText("" + medRate);

        HardTotal.setText("" + hardTotal);
        HardCorrect.setText("" + hardCorrect);
        HardRate.setText("" + hardRate);

        TotalScore.setText("" + totalScore);
        jTextArea2.setText(question);
        Answer.setText(answer);
        CorrectorNo.setText(correct);
    }

}

From source file:fList.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.// w w w.  j  ava2s  .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 pw = 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");

        DBCursor cursor = User.find();

        while (cursor.hasNext()) {
            DBObject result = cursor.next();
            String s = result.get("username").toString();
            if (!s.equals(username)) {
                response.getWriter().write(s);
                response.getWriter().write(" ");
            }

        }

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

From source file:filterFriends.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./* ww w  .j  a  v a2s.  c  o m*/
 *
 * @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 pw = response.getWriter();
    response.setContentType("text/html");

    String username = request.getParameter("username");
    String filtered_name = request.getParameter("filtered");

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

        DBCursor cursor = User.find();

        while (cursor.hasNext()) {
            DBObject result = cursor.next();
            String s = result.get("username").toString();
            if (s.equals(filtered_name)) {
                response.getWriter().write(s);
                response.getWriter().write(" ");
            }

        }

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

From source file:UnitTest3.java

License:Open Source License

public static int testgridfs() {

    long time1;//w ww.  j ava2s  .c  o m
    long time2;
    long time3;
    long time4;

    try {

        MongoClient mongo = new MongoClient("localhost", 27017);
        DB db = mongo.getDB("JFileDB");

        // TODO JFileMetaDataTable should be in MetaDB database
        DBCollection collection = db.getCollection("JFileMetaDataTable");

        String newFileName = "com.dilmus.scabi.testdata.in.App.class";

        File jFile = new File("/home/anees/workspace/testdata/in/App.class");

        // create a JFileTable namespace
        GridFS gfsj = new GridFS(db, "JFileTable");

        // get file from local drive
        GridFSInputFile gfsFile = gfsj.createFile(jFile);

        // set a new filename for identify purpose
        gfsFile.setFilename(newFileName);
        gfsFile.setContentType("class"); // jar, zip, war
        // save the image file into mongoDB
        gfsFile.save();

        // Let's create a new JSON document with some "metadata" information
        BasicDBObject info = new BasicDBObject();
        info.put("DBHost", "localhost");
        info.put("DBPort", "27017");
        info.put("JFileName", newFileName);
        info.put("JFileID", gfsFile.getId());
        info.put("JFileMD5", gfsFile.getMD5());
        collection.insert(info, WriteConcern.ACKNOWLEDGED);

        // print the result
        DBCursor cursor = gfsj.getFileList();
        while (cursor.hasNext()) {
            System.out.println(cursor.next());
        }

        DBCursor cursor2 = collection.find();

        while (cursor2.hasNext()) {
            System.out.println(cursor2.next());
        }

        // get file by it's filename
        GridFSDBFile jForOutput = gfsj.findOne(newFileName);

        // save it into a new image file
        jForOutput.writeTo("/home/anees/workspace/testdata/out/AppOut.class");

        // remove the file from mongoDB
        // gfsj.remove(gfsj.findOne(newFileName));

        System.out.println("Done");
        mongo.close();
    } catch (UnknownHostException e) {
        e.printStackTrace();
    } catch (MongoException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return 0;
}

From source file:HW4.java

/**
 * Creates new form dbGui/*from ww w. j  a v a2  s.  com*/
 */
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;
            }//from   www.  j  ava  2s.c  om

            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();/*from w  w w  .  j ava 2  s  .  c om*/

    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);
    }

}