Example usage for org.apache.commons.lang3.math NumberUtils isNumber

List of usage examples for org.apache.commons.lang3.math NumberUtils isNumber

Introduction

In this page you can find the example usage for org.apache.commons.lang3.math NumberUtils isNumber.

Prototype

public static boolean isNumber(final String str) 

Source Link

Document

Checks whether the String a valid Java number.

Valid numbers include hexadecimal marked with the 0x or 0X qualifier, octal numbers, scientific notation and numbers marked with a type qualifier (e.g.

Usage

From source file:org.yamj.core.service.metadata.online.ImdbScanner.java

private Set<AwardDTO> parseAwards(String imdbId) {
    HashSet<AwardDTO> awards = new HashSet<>();

    try {//from  w w w  .j  a  v  a 2 s .c  o m
        DigestedResponse response = httpClient.requestContent(getImdbUrl(imdbId, "awards"), charset);
        if (ResponseTools.isNotOK(response)) {
            LOG.warn("Requesting certifications failed with status {}: {}", response.getStatusCode(), imdbId);
        } else if (response.getContent().contains("<h1 class=\"header\">Awards</h1>")) {
            List<String> awardBlocks = HTMLTools.extractTags(response.getContent(),
                    "<h1 class=\"header\">Awards</h1>", "<div class=\"article\"", "<h3>", "</table>", false);

            for (String awardBlock : awardBlocks) {
                //String realEvent = awardBlock.substring(0, awardBlock.indexOf('<')).trim();
                String event = StringUtils.trimToEmpty(
                        HTMLTools.extractTag(awardBlock, "<span class=\"award_category\">", "</span>"));

                String tmpString = HTMLTools.extractTag(awardBlock, "<a href=", HTML_A_END).trim();
                tmpString = tmpString.substring(tmpString.indexOf('>') + 1).trim();
                int year = NumberUtils.isNumber(tmpString) ? Integer.parseInt(tmpString) : -1;

                System.err.println(awardBlock);
                boolean awardWon = true;
                for (String outcomeBlock : HTMLTools.extractHtmlTags(awardBlock, "<table class=", null, "<tr>",
                        "</tr>")) {
                    String outcome = HTMLTools.extractTag(outcomeBlock, "<b>", "</b>");

                    if (StringUtils.isNotBlank(outcome)) {
                        awardWon = outcome.equalsIgnoreCase("won");
                    }

                    String category = StringUtils.trimToEmpty(
                            HTMLTools.extractTag(outcomeBlock, "<td class=\"award_description\">", "<br />"));
                    // Check to see if there was a missing title and just the name in the result
                    if (category.contains("href=\"/name/")) {
                        category = StringUtils.trimToEmpty(HTMLTools.extractTag(outcomeBlock,
                                "<span class=\"award_category\">", "</span>"));
                    }

                    awards.add(new AwardDTO(event, category, year).setWon(awardWon).setNominated(!awardWon));
                }
            }
        }
    } catch (Exception ex) {
        LOG.error("Failed to retrieve awards: " + imdbId, ex);
    }
    return awards;
}

From source file:petascope.wcps2.metadata.Interval.java

/**
 * Indicates whether the interval bounds are numeric or not.
 * If one of the limits is *, the interval is still considered numeric.
 * They can be non-numeric in cases such as a[ i($x:$y)].
 *
 * @return//from w  w w  . j  a v a  2 s.c  o m
 */
public boolean isCrsComputable() {
    if (isFullInterval()) {
        return false;
    }
    boolean isFirstDimensionNumeric = (NumberUtils.isNumber(lowerLimit.toString())
            || lowerLimit.toString().equals(TrimDimensionInterval.WHOLE_DIMENSION_SYMBOL)
            || lowerLimit.toString().contains("-"));
    boolean isSecondDimensionNumeric = (NumberUtils.isNumber(upperLimit.toString())
            || upperLimit.toString().equals(TrimDimensionInterval.WHOLE_DIMENSION_SYMBOL)
            || upperLimit.toString().contains("-"));
    return isFirstDimensionNumeric && isSecondDimensionNumeric;
}

From source file:petascope.wcps2.translator.RangeSubsetting.java

@Override
public String toRasql() {
    String rangeField = this.rangeType.trim();
    if (!NumberUtils.isNumber(rangeField)) {
        try {/*from   w  w w  .j  av a2  s  . co m*/
            rangeField = getCoverage().getCoverageMetadata().getRangeIndexByName(this.rangeType.trim())
                    .toString();
        } catch (PetascopeException e) {
            throw new RangeFieldNotFound(this.rangeType.trim());
        }
    }
    String template = TEMPLATE.replace("$coverageExp", this.coverageExp.toRasql().trim()).replace("$rangeType",
            rangeField);
    return template;
}

From source file:petascope.wcps2.util.CrsComputer.java

/**
 * Replaces stars in the interval with the actual value
 *
 * @param dom the domain element corresponding to the axis
 * @return a new interval without stars/*from  w  w w.j  ava2  s  .  c o  m*/
 */
private Interval<String> replaceStarsWithRealValues(DomainElement dom) {
    if (subset.getLowerLimit().equals(MISSING_DIMENSION_SYMBOL)) {
        String coordinate = dom.getMinValue().toString();
        if (!NumberUtils.isNumber(subset.getUpperLimit())) {
            coordinate = numericIndicesToTime(coordinate, dom);
        }
        subset = new Interval<String>(coordinate, subset.getUpperLimit());
    }
    if (subset.getUpperLimit().equals(MISSING_DIMENSION_SYMBOL)) {
        String coordinate = dom.getMaxValue().toString();
        if (!NumberUtils.isNumber(subset.getLowerLimit())) {
            coordinate = numericIndicesToTime(coordinate, dom);
        }
        subset = new Interval<String>(subset.getLowerLimit(), coordinate);
    }
    return subset;
}

From source file:processview.GenerateDataForView.java

public void generateDataForView() {

    try {/*from   www. j  ava2 s. c o m*/
        //            System.out.println("topics: ");
        //            System.out.println(System.getProperty("user.dir")); 
        //            String outputJsonPath = "/Users/wangtianxia1/Documents/github/ProgrammerAssistor/Web/topics.json";
        String outputJsonPath = "/Users/u/Documents/github/ProgrammerAssistor/Web/topics.json";
        File outputJson = new File(outputJsonPath);
        if (outputJson.createNewFile()) {
            System.out.println(outputJson.getName() + " create successful...");
        }

        Map<String, Integer> topicMap = new HashMap<>();

        try (InputStream countIn = new FileInputStream(wordCountFilePath);
                BufferedReader countReader = new BufferedReader(new InputStreamReader(countIn));
                InputStream topicsIn = new FileInputStream(topicKeysFilePath);
                BufferedReader topicsReader = new BufferedReader(new InputStreamReader(topicsIn));
                BufferedWriter writer = new BufferedWriter(new FileWriter(outputJson))) {

            String countLine = "";
            while ((countLine = countReader.readLine()) != null) {
                String[] topics = countLine.split("\t| ");
                int count = 0;
                for (int i = 0; i < topics.length; ++i) {
                    if (topics[i].contains(":")) {
                        String[] label = topics[i].split(":");
                        count = count + Integer.parseInt(label[1]);
                    }
                }

                topicMap.put(topics[1], count);

            }

            json.put("name", "topics");

            JSONArray children = new JSONArray();
            json.put("children", children);

            String topicsLine = "";
            while ((topicsLine = topicsReader.readLine()) != null) {
                JSONObject topicGroup = new JSONObject();
                topicGroup.put("name", randomString(8));

                JSONArray topicArray = new JSONArray();
                topicGroup.put("children", topicArray);

                String[] topics = topicsLine.split("\\s");
                for (int i = 0; i < topics.length; ++i) {
                    if (topics.length > 2) {
                        if (!NumberUtils.isNumber(topics[i])) {
                            JSONObject topic = new JSONObject();
                            topic.put("name", topics[i]);
                            topic.put("size", topicMap.get(topics[i]));
                            topicArray.put(topic);
                        }
                    }
                }

                children.put(topicGroup);
            }

            json.write(writer);

        } catch (JSONException ex) {
            Logger.getLogger(GenerateDataForView.class.getName()).log(Level.SEVERE, null, ex);
        }

    } catch (IOException ex) {
        Logger.getLogger(GenerateDataForView.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:servlet.GenerateViewServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//w  w w  .  ja  v a  2 s  .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");

    String topic_keys_file_path = request.getParameter("topicKeys");
    String word_counts_file_path = request.getParameter("wordCounts");
    String view_styles = request.getParameter("viewStyle");

    File topic_keys_file = new File(topic_keys_file_path);
    File word_count_file = new File(word_counts_file_path);
    if (!topic_keys_file.exists() || !word_count_file.exists()) {
        request.getRequestDispatcher("./error.jsp").forward(request, response);
    } else {

        GenerateDataForView generateDataTool = new GenerateDataForView(topic_keys_file_path,
                word_counts_file_path);
        generateDataTool.generateDataForView();
        JSONObject namAndSizeJson = generateDataTool.getJson();

        request.setAttribute("sizeJson", namAndSizeJson.toString());

        try {
            try (InputStream topicsIn = new FileInputStream(topic_keys_file_path);
                    BufferedReader topicsReader = new BufferedReader(new InputStreamReader(topicsIn))) {

                JSONObject json = new JSONObject();
                JSONArray children = new JSONArray();
                json.put("parent", children);

                String topicsLine = "";
                while ((topicsLine = topicsReader.readLine()) != null) {
                    JSONObject topicGroup = new JSONObject();
                    JSONArray topicArray = new JSONArray();
                    topicGroup.put("children", topicArray);

                    String[] topics = topicsLine.split("\\s");
                    for (int i = 0; i < topics.length; ++i) {
                        if (topics.length > 2) {
                            if (!NumberUtils.isNumber(topics[i])) {
                                JSONObject topic = new JSONObject();
                                topic.put("name", topics[i]);
                                topicArray.put(topic);
                            }
                        }
                    }
                    children.put(topicGroup);
                }

                request.setAttribute("topicsJson", json.toString());
            } catch (JSONException ex) {
                Logger.getLogger(GenerateViewServlet.class.getName()).log(Level.SEVERE, null, ex);
            }

        } catch (IOException ex) {
            System.out.println("IOException: " + ex);
        }
        if (view_styles.equals("Table")) {
            request.getRequestDispatcher("./style_table.jsp").forward(request, response);
        } else if (view_styles.equals("Topics Frequency")) {
            request.getRequestDispatcher("./style_frequency.jsp").forward(request, response);
        } else if (view_styles.equals("Bubble Chart")) {
            request.getRequestDispatcher("./style_bubble.jsp").forward(request, response);
        }
    }
}

From source file:servlet.orders.AddToCart.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from   w w  w .  j a va2 s  . 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 {
    HttpSession session = request.getSession();
    int idBook = Integer.parseInt(request.getParameter("idBook"));
    System.out.println("AddToCart.java : idBook : " + idBook);
    Cart cart = (Cart) session.getAttribute("cart");
    String strSoLuong = request.getParameter("quantity");
    int soLuong;
    if (NumberUtils.isNumber(strSoLuong)) {
        soLuong = Integer.parseInt(strSoLuong);
    } else {
        System.out.println("AddToCart.java : so luong sach nhap vao la string");
        response.sendRedirect("/bookstore-war/index/book/detailBook.jsp?idBook=" + idBook);
        return;
    }

    if ((soLuong < 1)) {
        System.out.println("AddToCart.java : so luong sach < 1");
        response.sendRedirect("/bookstore-war/index/book/detailBook.jsp?idBook=" + idBook);
        return;
    }
    //        try {
    //            soLuong = Integer.parseInt(request.getParameter("quantity"));
    //        } catch (NumberFormatException | IllegalStateException e) {
    //            response.sendRedirect("/bookstore-war/index/book/detailBook.jsp?idBook=" + idBook);
    //            return;
    //        }
    Book book = bookFacade.find(idBook);
    BookOrder bookOrder = new BookOrder();
    bookOrder.setQuantity(soLuong);
    bookOrder.setTotalPrice(book.getOriginalprice() * soLuong);
    bookOrder.setIdBook(book);
    bookOrder.setIdCart(cart);

    List<BookOrder> listBookOrder = cart.getBookOrderList();

    //
    boolean trungPhanTu = false;
    for (int i = 0; i < listBookOrder.size(); i++) {
        if (listBookOrder.get(i).getIdBook().getIdBook() == idBook) {
            listBookOrder.set(i, bookOrder);
            trungPhanTu = true;
            break;
        }
    }

    if (trungPhanTu == false) {
        listBookOrder.add(bookOrder);
        cart.setBookOrderList(listBookOrder);
    }

    session.setAttribute("cart", cart);
    System.out.println("AddToCart.java : kich thuoc list BookOrder : " + listBookOrder.size());
    response.sendRedirect("/bookstore-war/index/book/detailBook.jsp?idBook=" + idBook);
}

From source file:sopho.Ofeloumenoi.AddOfeloumenoiController.java

@Override
public void initialize(URL url, ResourceBundle rb) {

    tekna.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {

        @Override/*from  ww w  . j  a  va 2  s. co  m*/
        public void handle(MouseEvent event) {
            if (prefs.getPrefs("tableTipOfeloumenoi").equals("true")) {
                sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                        "?",
                        "  ?       '?  '  ?  . ? ?    enter   ?  .         .",
                        "notify");
                cm.showAndWait();
                prefs.setPrefs("tableTipOfeloumenoi", "false");
            }
        }
    });

    anenergos.selectedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            if (newValue) {
                barcode.setStyle("-fx-background-color: #cc334a; -fx-text-fill:white;");
                if (showAnenergosTip.equals("true")) {
                    sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                            "?...",
                            "  ?   ?,    barcode      ?    ?   ? ?  ?? ?.        !",
                            "confirm");
                    cm.showAndWait();
                    prefs.setPrefs("showAnenergosTip", "false");
                }
            } else {
                barcode.setStyle("");
            }
        }
    });

    anergos.selectedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            epaggelma.setDisable(!newValue);//if the anergos checkbox is selected the epaggelma textFiels is disabled and vise versa
        }
    });

    //we use a listener to know if the user adds a photo using the TakePhoto class
    PhotoListener.strProperty().addListener(new ChangeListener() {
        @Override
        public void changed(ObservableValue o, Object oldVal, Object newVal) {
            if (PhotoListener.getStr() != null) {
                changePhotoButton.setText(" ?");
            }
            PhotoID = (String) newVal;

            BufferedImage bf = bfImage(PhotoID);

            if (bf != null) {
                Image im = SwingFXUtils.toFXImage(bf, null);
                image.setImage(im);
            }

        }
    });

    //initialzing tekna table
    data = getInitialTableData();

    tekna.setItems(data);
    tekna.setEditable(true);
    etosCol.setCellValueFactory(new PropertyValueFactory<tableManager, String>("etos"));

    //lets make the table cells editable
    etosCol.setCellFactory(TextFieldTableCell.forTableColumn());
    etosCol.setOnEditCommit(new EventHandler<CellEditEvent<tableManager, String>>() {

        @Override
        public void handle(CellEditEvent<tableManager, String> t) {
            if (!NumberUtils.isNumber(t.getNewValue())) {
                sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                        "?!",
                        "      ?  ?  ??. ?    ?  .",
                        "error");
                cm.showAndWait();
                ((tableManager) t.getTableView().getItems().get(t.getTablePosition().getRow()))
                        .setEtos("?  ");
            } else {
                ((tableManager) t.getTableView().getItems().get(t.getTablePosition().getRow()))
                        .setEtos(t.getNewValue());
            }
        }
    });

    tekna.getColumns().setAll(etosCol);
    //end of initialization of tekna table

    //initialize oikKatastasi combobox
    oikKatastasi.getItems().addAll("", "", "", "?");

    //initialize asfForeas comboBox
    asfForeas.getItems().addAll("", "", "", "", "",
            "", "", "", "  ", "");
}

From source file:sopho.Ofeloumenoi.AddOfeloumenoiController.java

@FXML
public void Save(ActionEvent event) {

    if (barcode.getText().isEmpty() || onoma.getText().isEmpty() || eponimo.getText().isEmpty()
            || patronimo.getText().isEmpty()) { //checking if the user has filled the required fields

        sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                "?!",
                "  ?   ? .  ?  ?   Barcode, ,   ? ?  ?  ?",
                "error");
        cm.showAndWait();//w ww  .ja  v a2s .c om

    } else if (!NumberUtils.isNumber(barcode.getText()) && !barcode.getText().isEmpty()) {
        sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                "?!",
                "  barcode ?  ?  ??. ?    ?  .",
                "error");
        cm.showAndWait();
    } else if (!NumberUtils.isNumber(eisodima.getText()) && !eisodima.getText().isEmpty()) {
        sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                "?!",
                "   ?  ?  ??. ?    ?  .",
                "error");
        cm.showAndWait();
    } else {//the user has filled the required fields. We can proceed.
        sopho.DBClass db = new sopho.DBClass();
        Connection conn = null;
        PreparedStatement pst = null;
        ResultSet rs = null;

        String teknaDB = ""; //we create a var to push data to db.
        for (int i = 0; i < tekna.getItems().size(); i++) {//we are converting the table rows to a single comma separated string to push it to the database in a single entry.
            tableManager tbl = (tableManager) tekna.getItems().get(i);
            if (!tbl.getEtos().equals("?  ")) { //we are checking if the user has actually entered a number
                teknaDB += tbl.getEtos() + ","; //we have to call getEtos from the tableManager class to get the actual value. We add the value to teknaDB and seperate with comma.
                arithmosTeknon++;
            }
        }
        if (arithmosTeknon > 0) {// we need to catch the case that the user has not added any data to the table.
            teknaDB = teknaDB.substring(0, teknaDB.length() - 1); // we have to remove the last comma.
        }
        conn = db.ConnectDB();

        //Now we will check if the user has already registered this ofeloumenos
        String sql = "SELECT * FROM ofeloumenoi WHERE barcode =?";
        try {
            pst = conn.prepareStatement(sql);
            pst.setString(1, barcode.getText());
            System.out.println("the query is:" + pst.toString());
            rs = pst.executeQuery();
            rs.last(); //i go to the last line of the result to find out the number of the line
            if (rs.getRow() > 0) {// ofeloumenos is already registered to the database
                sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                        "?!",
                        "?  ?    barcode.    ? ?   . Barcode:"
                                + rs.getString("barcode") + " : " + rs.getString("eponimo")
                                + " : " + rs.getString("onoma") + " ?: "
                                + rs.getString("patronimo"),
                        "error");
                cm.showAndWait();
            } else { // we can push the data to database...
                sql = "INSERT INTO ofeloumenoi (barcode, eponimo, onoma, patronimo, mitronimo, imGennisis, dieuthinsi, dimos, tilefono, anergos, epaggelma, eisodima, eksartiseis, photoID, afm, tautotita, ethnikotita, metanastis, roma, oikKatastasi, hasTekna, arithmosTeknon, ilikiesTeknon, politeknos, monogoneiki, mellousaMama, amea, asfForeas, xronios, pathisi, anoTon60, monaxikos, emfiliVia, spoudastis, anenergos, loipa, registerDate) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                pst = conn.prepareStatement(sql);
                //now we will set the values to the sql statement
                pst.setString(1, barcode.getText());
                pst.setString(2, eponimo.getText());
                pst.setString(3, onoma.getText());
                pst.setString(4, patronimo.getText());
                pst.setString(5, mitronimo.getText());
                //now we have to convert the imGennisis to a suitable format to be able to push it to the database
                if (imGennisis.getValue() != null) {
                    Date date = Date
                            .from(imGennisis.getValue().atStartOfDay(ZoneId.systemDefault()).toInstant());
                    java.sql.Date sqlDate = new java.sql.Date(date.getTime());
                    pst.setDate(6, sqlDate);
                } else {
                    pst.setDate(6, null);
                }
                pst.setString(7, dieuthinsi.getText());
                pst.setString(8, dimos.getText());
                pst.setString(9, tilefono.getText());
                pst.setInt(10, anergos.isSelected() ? 1 : 0); //set 1 if selected and 0 if not. We will use this method for all the checkboxes.
                pst.setString(11, epaggelma.getText());
                pst.setString(12, eisodima.getText());
                pst.setString(13, eksartiseis.getText());
                pst.setString(14, PhotoID);
                pst.setString(15, afm.getText());
                pst.setString(16, tautotita.getText());
                pst.setString(17, ethnikotita.getText());
                pst.setInt(18, metanastis.isSelected() ? 1 : 0);
                pst.setInt(19, roma.isSelected() ? 1 : 0);
                pst.setInt(20, (int) oikKatastasi.getSelectionModel().getSelectedIndex());//we are pushing to database the selected index
                pst.setInt(21, arithmosTeknon > 0 ? 1 : 0); //checking number of tekna. if >0 has tekna gets 1
                pst.setInt(22, arithmosTeknon);
                pst.setString(23, teknaDB); //here we use the converted to comma separated values variable in order to save the tableView data using only one field in database.
                pst.setInt(24, politeknos.isSelected() ? 1 : 0);
                pst.setInt(25, monogoneiki.isSelected() ? 1 : 0);
                pst.setInt(26, mellousaMama.isSelected() ? 1 : 0);
                pst.setInt(27, amea.isSelected() ? 1 : 0);
                pst.setInt(28, (int) asfForeas.getSelectionModel().getSelectedIndex());//we are pushing to database the selected index
                pst.setInt(29, xronios.isSelected() ? 1 : 0);
                pst.setString(30, pathisi.getText());
                pst.setInt(31, monaxiko.isSelected() ? 1 : 0);
                pst.setInt(32, anoTon60.isSelected() ? 1 : 0);
                pst.setInt(33, emfiliVia.isSelected() ? 1 : 0);
                pst.setInt(34, spoudastis.isSelected() ? 1 : 0);
                pst.setInt(35, anenergos.isSelected() ? 1 : 0);
                pst.setString(36, loipa.getText());
                //insert today's date as registerDate
                LocalDate now = LocalDate.now();
                java.sql.Date sqlToday = java.sql.Date.valueOf(now);
                pst.setDate(37, sqlToday);

                System.out.println("the query is:" + pst.toString());
                int linesAffected = pst.executeUpdate();

                //checking if the data were inserted to the database successfully
                if (linesAffected > 0) {
                    Stage stage = (Stage) barcode.getScene().getWindow();
                    try {
                        sl.StageLoad("/sopho/Ofeloumenoi/AddMore.fxml", stage, false, true); //resizable false, utility true
                    } catch (IOException ex) {
                        Logger.getLogger(AddOfeloumenoiController.class.getName()).log(Level.SEVERE, null, ex);
                    }
                } else {//problem inserting data...
                    sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                            "?!",
                            " ?  ?  ?   . ?  ...",
                            "error");
                    cm.showAndWait();
                }
            }

        } catch (SQLException e) {
            System.out.println(
                    "?     ?   ?  !"
                            + e);
        }

    }

}

From source file:sopho.Ofeloumenoi.EditOfeloumenoiController.java

@Override
public void initialize(URL url, ResourceBundle rb) {

    tekna.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {

        @Override//  ww w  . ja  v  a 2  s  .  c o m
        public void handle(MouseEvent event) {
            if (prefs.getPrefs("tableTipOfeloumenoi").equals("true")) {
                sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                        "?",
                        "  ?       '?  '  ?  . ? ?    enter   ?  .         .",
                        "notify");
                cm.showAndWait();
                prefs.setPrefs("tableTipOfeloumenoi", "false");
            }
        }
    });

    //initialize oikKatastasi combobox
    oikKatastasi.getItems().addAll("", "", "", "?");

    //initialize asfForeas comboBox
    asfForeas.getItems().addAll("", "", "", "", "",
            "", "", "", "  ", "");

    try {

        rs.first();//move the cursor to the first row
        if (selectedIndex > 0) {//only if we need to move from the first line
            rs.relative(selectedIndex);//move to the row that we selected at the previous scene
        }

        //keep the selected ofeloumenos id
        selID = rs.getInt("id");

        System.out.println("The selected rs row is " + rs.getRow());

        oldBarcode = rs.getString("barcode");

        //now we will set all the fields using the data from database
        barcode.setText(rs.getString("barcode"));
        eponimo.setText(rs.getString("eponimo"));
        onoma.setText(rs.getString("onoma"));
        patronimo.setText(rs.getString("patronimo"));
        mitronimo.setText(rs.getString("mitronimo"));

        if (rs.getDate("imGennisis") != null) {
            imGennisis.setValue(rs.getDate("imGennisis").toLocalDate());
        }

        dieuthinsi.setText(rs.getString("dieuthinsi"));
        dimos.setText(rs.getString("dimos"));
        tilefono.setText(rs.getString("tilefono"));
        anergos.setSelected((rs.getInt("anergos") != 0)); //if 0 set false, else set true
        epaggelma.setText(rs.getString("epaggelma"));
        eisodima.setText(rs.getString("eisodima"));
        eksartiseis.setText(rs.getString("eksartiseis"));

        PhotoID = rs.getString("PhotoID");
        if (PhotoID != null) {
            //we have a picture stored at the database.
            BufferedImage bf = bfImage(PhotoID);

            if (bf != null) {
                Image im = SwingFXUtils.toFXImage(bf, null);
                image.setImage(im);
            }

            //and we set the button bellow image to " ?"
            changePhotoButton.setText(" ?");
        }

        afm.setText(rs.getString("afm"));
        tautotita.setText(rs.getString("tautotita"));
        ethnikotita.setText(rs.getString("ethnikotita"));
        metanastis.setSelected(rs.getInt("metanastis") != 0);
        roma.setSelected(rs.getInt("roma") != 0);
        int oikKatIndex = rs.getInt("oikKatastasi");
        if (oikKatIndex >= 0) {
            oikKatastasi.getSelectionModel().select(oikKatIndex);
        }

        //we add data to tekna table using the tableManager class bellow

        politeknos.setSelected(rs.getInt("politeknos") != 0);
        monogoneiki.setSelected(rs.getInt("monogoneiki") != 0);
        mellousaMama.setSelected(rs.getInt("mellousaMama") != 0);
        amea.setSelected(rs.getInt("amea") != 0);
        int asfForeasIndex = rs.getInt("asfForeas");
        if (asfForeasIndex >= 0) {
            asfForeas.getSelectionModel().select(asfForeasIndex);
        }
        xronios.setSelected(rs.getInt("xronios") != 0);
        pathisi.setText(rs.getString("pathisi"));
        anoTon60.setSelected(rs.getInt("anoTon60") != 0);
        monaxiko.setSelected(rs.getInt("monaxikos") != 0);
        emfiliVia.setSelected(rs.getInt("emfiliVia") != 0);
        spoudastis.setSelected(rs.getInt("spoudastis") != 0);
        int anenergosFlag = rs.getInt("anenergos");
        if (anenergosFlag == 1) {
            barcode.setStyle("-fx-background-color: #cc334a; -fx-text-fill:white;");
        }
        anenergos.setSelected(anenergosFlag != 0);
        loipa.setText(rs.getString("loipa"));

    } catch (SQLException ex) {
        Logger.getLogger(EditOfeloumenoiController.class.getName()).log(Level.SEVERE, null, ex);
    }

    //adding a listener to anenergos checkbox to know if the user checks it
    anenergos.selectedProperty().addListener(new ChangeListener<Boolean>() {
        @Override
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
            if (newValue) {
                barcode.setStyle("-fx-background-color: #cc334a; -fx-text-fill:white;");
                if (showAnenergosTip.equals("true")) {
                    sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                            "?...",
                            "  ?   ?,    barcode      ?    ?   ? ?  ?? ?.        !",
                            "confirm");
                    cm.showAndWait();
                    prefs.setPrefs("showAnenergosTip", "false");
                }
            } else {
                barcode.setStyle("");
            }
        }
    });

    //we use a listener to know if the user adds a photo using the TakePhoto class
    PhotoListener.strProperty().addListener(new ChangeListener() {
        @Override
        public void changed(ObservableValue o, Object oldVal, Object newVal) {
            PhotoID = (String) newVal;
            BufferedImage bf = bfImage(PhotoID);

            if (bf != null) {
                Image im = SwingFXUtils.toFXImage(bf, null);
                image.setImage(im);
            }
        }
    });

    //initialzing tekna table
    data = getInitialTableData();

    tekna.setItems(data);
    tekna.setEditable(true);
    etosCol.setCellValueFactory(new PropertyValueFactory<tableManager, String>("etos"));

    //lets make the table cells editable
    etosCol.setCellFactory(TextFieldTableCell.forTableColumn());
    etosCol.setOnEditCommit(new EventHandler<CellEditEvent<tableManager, String>>() {

        @Override
        public void handle(CellEditEvent<tableManager, String> t) {
            if (!NumberUtils.isNumber(t.getNewValue())) {
                sopho.Messages.CustomMessageController cm = new sopho.Messages.CustomMessageController(null,
                        "?!",
                        "      ?  ?  ??. ?    ?  .",
                        "error");
                cm.showAndWait();
                ((tableManager) t.getTableView().getItems().get(t.getTablePosition().getRow()))
                        .setEtos("?  ");
            } else {
                ((tableManager) t.getTableView().getItems().get(t.getTablePosition().getRow()))
                        .setEtos(t.getNewValue());
            }
        }
    });

    tekna.getColumns().setAll(etosCol);
    //end of initialization of tekna table

}