List of usage examples for org.apache.commons.lang3.math NumberUtils isNumber
public static boolean isNumber(final String str)
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.
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 }