Fixed multiple notifications for one Error bug
This commit is contained in:
		
							parent
							
								
									82d111eade
								
							
						
					
					
						commit
						39624fa4f2
					
				| @ -175,6 +175,9 @@ public class CharacterAnalysisTab { | ||||
| 	private boolean useDb; | ||||
| 	private HostServices hostService; | ||||
| 	private ListChangeListener<String> taxonomyListener; | ||||
| 	private ChangeListener<Boolean> msdListener; | ||||
| 	private ChangeListener<Boolean> minimalOccurrencesListener; | ||||
| 	private ChangeListener<Boolean> minimalTaxonomyListener; | ||||
| 
 | ||||
| 	private static final String [] N_GRAM_COMPUTE_FOR_LETTERS_ARRAY = {"calculateFor.WORD", "calculateFor.LEMMA"}; | ||||
| 	private static final ArrayList<String> N_GRAM_COMPUTE_FOR_LETTERS = new ArrayList<>(Arrays.asList(N_GRAM_COMPUTE_FOR_LETTERS_ARRAY)); | ||||
| @ -236,36 +239,44 @@ public class CharacterAnalysisTab { | ||||
| 
 | ||||
| 		taxonomySetOperationCB.getSelectionModel().select(0); | ||||
| 
 | ||||
| 		if (msdListener != null){ | ||||
| 			msdTF.focusedProperty().removeListener(msdListener); | ||||
| 		} | ||||
| 
 | ||||
| 		// msd | ||||
| 		msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = msdTF.getText(); | ||||
| 				logger.info("msdTf: ", value); | ||||
| 		msdListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = msdTF.getText(); | ||||
| 					logger.info("msdTf: ", value); | ||||
| 
 | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
| 
 | ||||
| 					int nOfRequiredMsdTokens = 1; | ||||
| 					if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
| 						String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
| 						logAlert(msg); | ||||
| 						showAlert(Alert.AlertType.ERROR, msg); | ||||
| 						int nOfRequiredMsdTokens = 1; | ||||
| 						if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
| 							String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
| 							logAlert(msg); | ||||
| 							showAlert(Alert.AlertType.ERROR, msg); | ||||
| 						} | ||||
| 						msd = new ArrayList<>(); | ||||
| 						msdStrings = new ArrayList<>(); | ||||
| 						for (String msdToken : msdTmp) { | ||||
| 							msd.add(Pattern.compile(msdToken)); | ||||
| 							msdStrings.add(msdToken); | ||||
| 						} | ||||
| 						logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
| 					} else if (!ValidationUtil.isEmpty(newValue)) { | ||||
| 						msd = new ArrayList<>(); | ||||
| 						msdStrings = new ArrayList<>(); | ||||
| 					} | ||||
| 					msd = new ArrayList<>(); | ||||
| 					msdStrings = new ArrayList<>(); | ||||
| 					for (String msdToken : msdTmp) { | ||||
| 						msd.add(Pattern.compile(msdToken)); | ||||
| 						msdStrings.add(msdToken); | ||||
| 					} | ||||
| 					logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
| 				} else if (!ValidationUtil.isEmpty(newValue)) { | ||||
| 					msd = new ArrayList<>(); | ||||
| 					msdStrings = new ArrayList<>(); | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		}; | ||||
| 		msdTF.focusedProperty().addListener(msdListener); | ||||
| 
 | ||||
| 		msdTF.setText(""); | ||||
| 		msd = new ArrayList<>(); | ||||
| @ -381,41 +392,59 @@ public class CharacterAnalysisTab { | ||||
| 
 | ||||
| 		minimalTaxonomyTF.setDisable(true); | ||||
| 
 | ||||
| 		minimalOccurrencesTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = minimalOccurrencesTF.getText(); | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					if (!ValidationUtil.isNumber(value)) { | ||||
| 						logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 					} else { | ||||
| 						minimalOccurrences = Integer.parseInt(value); | ||||
| 					} | ||||
| 				} else { | ||||
| 					minimalOccurrencesTF.setText("1"); | ||||
| 					minimalOccurrences = 1; | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		if (minimalOccurrencesListener != null){ | ||||
| 			minimalOccurrencesTF.focusedProperty().removeListener(minimalOccurrencesListener); | ||||
| 		} | ||||
| 
 | ||||
| 		minimalTaxonomyTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = minimalTaxonomyTF.getText(); | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					if (!ValidationUtil.isNumber(value)) { | ||||
| 						logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 		// msd | ||||
| 		minimalOccurrencesListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = minimalOccurrencesTF.getText(); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						if (!ValidationUtil.isNumber(value)) { | ||||
| 							logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 							showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						} else { | ||||
| 							minimalOccurrences = Integer.parseInt(value); | ||||
| 						} | ||||
| 					} else { | ||||
| 						minimalTaxonomy = Integer.parseInt(value); | ||||
| 						minimalOccurrencesTF.setText("1"); | ||||
| 						minimalOccurrences = 1; | ||||
| 					} | ||||
| 				} else { | ||||
| 					minimalTaxonomyTF.setText("1"); | ||||
| 					minimalTaxonomy = 1; | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		}; | ||||
| 		minimalOccurrencesTF.focusedProperty().addListener(minimalOccurrencesListener); | ||||
| 
 | ||||
| 
 | ||||
| 		if (minimalTaxonomyListener != null){ | ||||
| 			minimalTaxonomyTF.focusedProperty().removeListener(minimalTaxonomyListener); | ||||
| 		} | ||||
| 
 | ||||
| 		minimalTaxonomyListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = minimalTaxonomyTF.getText(); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						if (!ValidationUtil.isNumber(value)) { | ||||
| 							logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 							showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						} else { | ||||
| 							minimalTaxonomy = Integer.parseInt(value); | ||||
| 						} | ||||
| 					} else { | ||||
| 						minimalTaxonomyTF.setText("1"); | ||||
| 						minimalTaxonomy = 1; | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		}; | ||||
| 		minimalTaxonomyTF.focusedProperty().addListener(minimalTaxonomyListener); | ||||
| 
 | ||||
| 		computeNgramsB.setOnAction(e -> { | ||||
| 			compute(); | ||||
|  | ||||
| @ -192,6 +192,10 @@ public class OneWordAnalysisTab { | ||||
|     private ListChangeListener<String> taxonomyListener; | ||||
|     private ListChangeListener<String> alsoVisualizeListener; | ||||
|     private ChangeListener<String> calculateForListener; | ||||
|     private ChangeListener<Boolean> msdListener; | ||||
|     private ChangeListener<Boolean> minimalOccurrencesListener; | ||||
|     private ChangeListener<Boolean> minimalTaxonomyListener; | ||||
|     private ChangeListener<Boolean> minimalRelFreListener; | ||||
| 
 | ||||
| //    private static final ObservableList<String> N_GRAM_COMPUTE_FOR_WORDS = FXCollections.observableArrayList("lema", "različnica", "oblikoskladenjska oznaka"); | ||||
| //    private static final ObservableList<String> N_GRAM_COMPUTE_FOR_LETTERS = FXCollections.observableArrayList("lema", "različnica"); | ||||
| @ -367,36 +371,45 @@ public class OneWordAnalysisTab { | ||||
| 
 | ||||
|         taxonomySetOperationCB.getSelectionModel().select(0); | ||||
| 
 | ||||
|         if (msdListener != null){ | ||||
|             msdTF.focusedProperty().removeListener(msdListener); | ||||
|         } | ||||
| 
 | ||||
|         // msd | ||||
|         msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = msdTF.getText(); | ||||
|                 logger.info("msdTf: ", value); | ||||
|         msdListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = msdTF.getText(); | ||||
|                     logger.info("msdTf: ", value); | ||||
| 
 | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
| 
 | ||||
|                     int nOfRequiredMsdTokens = 1; | ||||
|                     if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
|                         String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
|                         logAlert(msg); | ||||
|                         showAlert(Alert.AlertType.ERROR, msg); | ||||
|                         int nOfRequiredMsdTokens = 1; | ||||
|                         if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
|                             String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
|                             logAlert(msg); | ||||
|                             showAlert(Alert.AlertType.ERROR, msg); | ||||
|                         } | ||||
|                         msd = new ArrayList<>(); | ||||
|                         msdStrings = new ArrayList<>(); | ||||
|                         for (String msdToken : msdTmp) { | ||||
|                             msd.add(Pattern.compile(msdToken)); | ||||
|                             msdStrings.add(msdToken); | ||||
|                         } | ||||
|                         logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
|                     } else if (!ValidationUtil.isEmpty(newValue)) { | ||||
|                         msd = new ArrayList<>(); | ||||
|                         msdStrings = new ArrayList<>(); | ||||
|                     } | ||||
|                     msd = new ArrayList<>(); | ||||
|                     msdStrings = new ArrayList<>(); | ||||
|                     for (String msdToken : msdTmp) { | ||||
|                         msd.add(Pattern.compile(msdToken)); | ||||
|                         msdStrings.add(msdToken); | ||||
|                     } | ||||
|                     logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
|                 } else if (!ValidationUtil.isEmpty(newValue)) { | ||||
|                     msd = new ArrayList<>(); | ||||
|                     msdStrings = new ArrayList<>(); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         }; | ||||
| 
 | ||||
|         msdTF.focusedProperty().addListener(msdListener); | ||||
| 
 | ||||
|         msdTF.setText(""); | ||||
|         msd = new ArrayList<>(); | ||||
| @ -535,63 +548,89 @@ public class OneWordAnalysisTab { | ||||
| 
 | ||||
|         minimalTaxonomyTF.setDisable(true); | ||||
| 
 | ||||
|         minimalOccurrencesTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = minimalOccurrencesTF.getText(); | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     if (!ValidationUtil.isNumber(value)) { | ||||
|                         logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                     } else { | ||||
|                         minimalOccurrences = Integer.parseInt(value); | ||||
|                     } | ||||
|                 } else { | ||||
|                     minimalOccurrencesTF.setText("1"); | ||||
|                     minimalOccurrences = 1; | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         if (minimalOccurrencesListener != null){ | ||||
|             minimalOccurrencesTF.focusedProperty().removeListener(minimalOccurrencesListener); | ||||
|         } | ||||
| 
 | ||||
|         minimalTaxonomyTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = minimalTaxonomyTF.getText(); | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     if (!ValidationUtil.isNumber(value)) { | ||||
|                         logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|         // msd | ||||
|         minimalOccurrencesListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = minimalOccurrencesTF.getText(); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         if (!ValidationUtil.isNumber(value)) { | ||||
|                             logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                             GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         } else { | ||||
|                             minimalOccurrences = Integer.parseInt(value); | ||||
|                         } | ||||
|                     } else { | ||||
|                         minimalTaxonomy = Integer.parseInt(value); | ||||
|                         minimalOccurrencesTF.setText("1"); | ||||
|                         minimalOccurrences = 1; | ||||
|                     } | ||||
|                 } else { | ||||
|                     minimalTaxonomyTF.setText("1"); | ||||
|                     minimalTaxonomy = 1; | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         }; | ||||
|         minimalOccurrencesTF.focusedProperty().addListener(minimalOccurrencesListener); | ||||
| 
 | ||||
| 
 | ||||
|         if (minimalTaxonomyListener != null){ | ||||
|             minimalTaxonomyTF.focusedProperty().removeListener(minimalTaxonomyListener); | ||||
|         } | ||||
| 
 | ||||
|         minimalTaxonomyListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = minimalTaxonomyTF.getText(); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         if (!ValidationUtil.isNumber(value)) { | ||||
|                             logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                             GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         } else { | ||||
|                             minimalTaxonomy = Integer.parseInt(value); | ||||
|                         } | ||||
|                     } else { | ||||
|                         minimalTaxonomyTF.setText("1"); | ||||
|                         minimalTaxonomy = 1; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|         minimalTaxonomyTF.focusedProperty().addListener(minimalTaxonomyListener); | ||||
| 
 | ||||
|         // set default values | ||||
|         minimalRelFreTF.setText("1"); | ||||
|         minimalRelFre = 1; | ||||
| 
 | ||||
|         minimalRelFreTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = minimalRelFreTF.getText(); | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     if (!ValidationUtil.isNumber(value)) { | ||||
|                         logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|         if (minimalRelFreListener != null){ | ||||
|             minimalRelFreTF.focusedProperty().removeListener(minimalRelFreListener); | ||||
|         } | ||||
| 
 | ||||
|         minimalRelFreListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = minimalRelFreTF.getText(); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         if (!ValidationUtil.isNumber(value)) { | ||||
|                             logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                             GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         } else { | ||||
|                             minimalRelFre = Integer.parseInt(value); | ||||
|                         } | ||||
|                     } else { | ||||
|                         minimalRelFre = Integer.parseInt(value); | ||||
|                         minimalRelFreTF.setText("1"); | ||||
|                         minimalRelFre = 1; | ||||
|                     } | ||||
|                 } else { | ||||
|                     minimalRelFreTF.setText("1"); | ||||
|                     minimalRelFre = 1; | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         }; | ||||
|         minimalRelFreTF.focusedProperty().addListener(minimalRelFreListener); | ||||
| 
 | ||||
| 
 | ||||
|         changeLanguageB.setOnAction(e -> { | ||||
|  | ||||
| @ -232,6 +232,10 @@ public class StringAnalysisTabNew2 { | ||||
|     private ListChangeListener<String> alsoVisualizeListener; | ||||
|     private ListChangeListener<String> collocabilityListener; | ||||
|     private ChangeListener<String> calculateForListener; | ||||
|     private ChangeListener<Boolean> msdListener; | ||||
|     private ChangeListener<Boolean> minimalOccurrencesListener; | ||||
|     private ChangeListener<Boolean> minimalTaxonomyListener; | ||||
|     private ChangeListener<Boolean> minimalRelFreListener; | ||||
| 
 | ||||
| //    private static final ObservableList<String> N_GRAM_COMPUTE_FOR_WORDS = FXCollections.observableArrayList("lema", "različnica", "oblikoskladenjska oznaka"); | ||||
| //    private static final ObservableList<String> N_GRAM_COMPUTE_FOR_LETTERS = FXCollections.observableArrayList("lema", "različnica"); | ||||
| @ -318,9 +322,6 @@ public class StringAnalysisTabNew2 { | ||||
|         ngramValue = 2; // actual value at that index | ||||
| 
 | ||||
|         // set default values | ||||
|         minimalOccurrencesTF.setText("1"); | ||||
|         minimalOccurrences = 1; | ||||
| 
 | ||||
|         minimalTaxonomyTF.setText("1"); | ||||
|         minimalTaxonomy = 1; | ||||
| 
 | ||||
| @ -511,35 +512,44 @@ public class StringAnalysisTabNew2 { | ||||
| 
 | ||||
| 
 | ||||
|         // msd | ||||
|         msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = msdTF.getText(); | ||||
|                 logger.info("msdTf: ", value); | ||||
|         if (msdListener != null){ | ||||
|             msdTF.focusedProperty().removeListener(msdListener); | ||||
|         } | ||||
| 
 | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
|         // msd | ||||
|         msdListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = msdTF.getText(); | ||||
|                     logger.info("msdTf: ", value); | ||||
| 
 | ||||
|                     int nOfRequiredMsdTokens = ngramValue == 0 ? 1 : ngramValue; | ||||
|                     if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
|                         String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
|                         logAlert(msg); | ||||
|                         showAlert(Alert.AlertType.ERROR, msg); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
| 
 | ||||
|                         int nOfRequiredMsdTokens = ngramValue == 0 ? 1 : ngramValue; | ||||
|                         if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
|                             String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
|                             logAlert(msg); | ||||
|                             showAlert(Alert.AlertType.ERROR, msg); | ||||
|                         } | ||||
|                         msd = new ArrayList<>(); | ||||
|                         msdStrings = new ArrayList<>(); | ||||
|                         for (String msdToken : msdTmp) { | ||||
|                             msd.add(Pattern.compile(msdToken)); | ||||
|                             msdStrings.add(msdToken); | ||||
|                         } | ||||
|                         logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
|                     } else if (!ValidationUtil.isEmpty(newValue)) { | ||||
|                         msd = new ArrayList<>(); | ||||
|                         msdStrings = new ArrayList<>(); | ||||
|                     } | ||||
|                     msd = new ArrayList<>(); | ||||
|                     msdStrings = new ArrayList<>(); | ||||
|                     for (String msdToken : msdTmp) { | ||||
|                         msd.add(Pattern.compile(msdToken)); | ||||
|                         msdStrings.add(msdToken); | ||||
|                     } | ||||
|                     logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
|                 } else if (!ValidationUtil.isEmpty(newValue)) { | ||||
|                     msd = new ArrayList<>(); | ||||
|                     msdStrings = new ArrayList<>(); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         }; | ||||
|         msdTF.focusedProperty().addListener(msdListener); | ||||
| 
 | ||||
|         msdTF.setText(""); | ||||
|         msd = new ArrayList<>(); | ||||
| @ -662,63 +672,92 @@ public class StringAnalysisTabNew2 { | ||||
| //            } | ||||
| //        }); | ||||
| 
 | ||||
|         minimalOccurrencesTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = minimalOccurrencesTF.getText(); | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     if (!ValidationUtil.isNumber(value)) { | ||||
|                         logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                     } else { | ||||
|                         minimalOccurrences = Integer.parseInt(value); | ||||
|                     } | ||||
|                 } else { | ||||
|                     minimalOccurrencesTF.setText("1"); | ||||
|                     minimalOccurrences = 1; | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         minimalOccurrencesTF.setText("1"); | ||||
|         minimalOccurrences = 1; | ||||
| 
 | ||||
|         minimalTaxonomyTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = minimalTaxonomyTF.getText(); | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     if (!ValidationUtil.isNumber(value)) { | ||||
|                         logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|         if (minimalOccurrencesListener != null){ | ||||
|             minimalOccurrencesTF.focusedProperty().removeListener(minimalOccurrencesListener); | ||||
|         } | ||||
| 
 | ||||
|         // msd | ||||
|         minimalOccurrencesListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = minimalOccurrencesTF.getText(); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         if (!ValidationUtil.isNumber(value)) { | ||||
|                             logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                             GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         } else { | ||||
|                             minimalOccurrences = Integer.parseInt(value); | ||||
|                         } | ||||
|                     } else { | ||||
|                         minimalTaxonomy = Integer.parseInt(value); | ||||
|                         minimalOccurrencesTF.setText("1"); | ||||
|                         minimalOccurrences = 1; | ||||
|                     } | ||||
|                 } else { | ||||
|                     minimalTaxonomyTF.setText("1"); | ||||
|                     minimalTaxonomy = 1; | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         }; | ||||
|         minimalOccurrencesTF.focusedProperty().addListener(minimalOccurrencesListener); | ||||
| 
 | ||||
| 
 | ||||
|         if (minimalTaxonomyListener != null){ | ||||
|             minimalTaxonomyTF.focusedProperty().removeListener(minimalTaxonomyListener); | ||||
|         } | ||||
| 
 | ||||
|         minimalTaxonomyListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = minimalTaxonomyTF.getText(); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         if (!ValidationUtil.isNumber(value)) { | ||||
|                             logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                             GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         } else { | ||||
|                             minimalTaxonomy = Integer.parseInt(value); | ||||
|                         } | ||||
|                     } else { | ||||
|                         minimalTaxonomyTF.setText("1"); | ||||
|                         minimalTaxonomy = 1; | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|         minimalTaxonomyTF.focusedProperty().addListener(minimalTaxonomyListener); | ||||
| 
 | ||||
|         // set default values | ||||
|         minimalRelFreTF.setText("1"); | ||||
|         minimalRelFre = 1; | ||||
| 
 | ||||
|         minimalRelFreTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
|             if (!newValue) { | ||||
|                 // focus lost | ||||
|                 String value = minimalRelFreTF.getText(); | ||||
|                 if (!ValidationUtil.isEmpty(value)) { | ||||
|                     if (!ValidationUtil.isNumber(value)) { | ||||
|                         logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|         if (minimalRelFreListener != null){ | ||||
|             minimalRelFreTF.focusedProperty().removeListener(minimalRelFreListener); | ||||
|         } | ||||
| 
 | ||||
|         minimalRelFreListener = new ChangeListener<Boolean>() { | ||||
|             @Override | ||||
|             public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
|                 if (!newValue) { | ||||
|                     // focus lost | ||||
|                     String value = minimalRelFreTF.getText(); | ||||
|                     if (!ValidationUtil.isEmpty(value)) { | ||||
|                         if (!ValidationUtil.isNumber(value)) { | ||||
|                             logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                             GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
|                         } else { | ||||
|                             minimalRelFre = Integer.parseInt(value); | ||||
|                         } | ||||
|                     } else { | ||||
|                         minimalRelFre = Integer.parseInt(value); | ||||
|                         minimalRelFreTF.setText("1"); | ||||
|                         minimalRelFre = 1; | ||||
|                     } | ||||
|                 } else { | ||||
|                     minimalRelFreTF.setText("1"); | ||||
|                     minimalRelFre = 1; | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|         }; | ||||
|         minimalRelFreTF.focusedProperty().addListener(minimalRelFreListener); | ||||
| 
 | ||||
| 
 | ||||
|         changeLanguageB.setOnAction(e -> { | ||||
|  | ||||
| @ -221,6 +221,10 @@ public class WordLevelTab { | ||||
| 	private ListChangeListener<String> taxonomyListener; | ||||
| 	private ListChangeListener<String> alsoVisualizeListener; | ||||
| 	private ChangeListener<String> calculateForListener; | ||||
| 	private ChangeListener<Boolean> msdListener; | ||||
| 	private ChangeListener<Boolean> minimalOccurrencesListener; | ||||
| 	private ChangeListener<Boolean> minimalTaxonomyListener; | ||||
| 	private ChangeListener<Boolean> minimalRelFreListener; | ||||
| 
 | ||||
| //	private static final ObservableList<String> N_GRAM_COMPUTE_FOR_WORDS = FXCollections.observableArrayList("lema", "različnica"); | ||||
| //	private static final ObservableList<String> N_GRAM_COMPUTE_FOR_LETTERS = FXCollections.observableArrayList("lema", "različnica"); | ||||
| @ -491,36 +495,45 @@ public class WordLevelTab { | ||||
| //		prefixLengthCB.setDisable(true); | ||||
| 
 | ||||
| 
 | ||||
| 		if (msdListener != null){ | ||||
| 			msdTF.focusedProperty().removeListener(msdListener); | ||||
| 		} | ||||
| 
 | ||||
| 		// msd | ||||
| 		msdTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = msdTF.getText(); | ||||
| 				logger.info("msdTf: ", value); | ||||
| 		msdListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = msdTF.getText(); | ||||
| 					logger.info("msdTf: ", value); | ||||
| 
 | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						ArrayList<String> msdTmp = new ArrayList<>(Arrays.asList(value.split(" "))); | ||||
| 
 | ||||
| 					int nOfRequiredMsdTokens = 1; | ||||
| 					if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
| 						String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
| 						logAlert(msg); | ||||
| 						showAlert(Alert.AlertType.ERROR, msg); | ||||
| 						int nOfRequiredMsdTokens = 1; | ||||
| 						if (msdTmp.size() != nOfRequiredMsdTokens) { | ||||
| 							String msg = String.format(I18N.get("message.WARNING_MISMATCHED_NGRAM_AND_TOKENS_VALUES"), nOfRequiredMsdTokens, msdTmp.size()); | ||||
| 							logAlert(msg); | ||||
| 							showAlert(Alert.AlertType.ERROR, msg); | ||||
| 						} | ||||
| 						msd = new ArrayList<>(); | ||||
| 						msdStrings = new ArrayList<>(); | ||||
| 						for (String msdToken : msdTmp) { | ||||
| 							msd.add(Pattern.compile(msdToken)); | ||||
| 							msdStrings.add(msdToken); | ||||
| 						} | ||||
| 						logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
| 					} else if (!ValidationUtil.isEmpty(newValue)) { | ||||
| 						msd = new ArrayList<>(); | ||||
| 						msdStrings = new ArrayList<>(); | ||||
| 					} | ||||
| 					msd = new ArrayList<>(); | ||||
| 					msdStrings = new ArrayList<>(); | ||||
| 					for (String msdToken : msdTmp) { | ||||
| 						msd.add(Pattern.compile(msdToken)); | ||||
| 						msdStrings.add(msdToken); | ||||
| 					} | ||||
| 					logger.info(String.format("msd accepted (%d)", msd.size())); | ||||
| 
 | ||||
| 				} else if (!ValidationUtil.isEmpty(newValue)) { | ||||
| 					msd = new ArrayList<>(); | ||||
| 					msdStrings = new ArrayList<>(); | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		}; | ||||
| 
 | ||||
| 		msdTF.focusedProperty().addListener(msdListener); | ||||
| 
 | ||||
| 		msdTF.setText(""); | ||||
| 		msd = new ArrayList<>(); | ||||
| @ -644,63 +657,89 @@ public class WordLevelTab { | ||||
| 
 | ||||
| 		minimalTaxonomyTF.setDisable(true); | ||||
| 
 | ||||
| 		minimalOccurrencesTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = minimalOccurrencesTF.getText(); | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					if (!ValidationUtil.isNumber(value)) { | ||||
| 						logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 					} else { | ||||
| 						minimalOccurrences = Integer.parseInt(value); | ||||
| 					} | ||||
| 				} else { | ||||
| 					minimalOccurrencesTF.setText("1"); | ||||
| 					minimalOccurrences = 1; | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		if (minimalOccurrencesListener != null){ | ||||
| 			minimalOccurrencesTF.focusedProperty().removeListener(minimalOccurrencesListener); | ||||
| 		} | ||||
| 
 | ||||
| 		minimalTaxonomyTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = minimalTaxonomyTF.getText(); | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					if (!ValidationUtil.isNumber(value)) { | ||||
| 						logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 		// msd | ||||
| 		minimalOccurrencesListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = minimalOccurrencesTF.getText(); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						if (!ValidationUtil.isNumber(value)) { | ||||
| 							logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 							GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						} else { | ||||
| 							minimalOccurrences = Integer.parseInt(value); | ||||
| 						} | ||||
| 					} else { | ||||
| 						minimalTaxonomy = Integer.parseInt(value); | ||||
| 						minimalOccurrencesTF.setText("1"); | ||||
| 						minimalOccurrences = 1; | ||||
| 					} | ||||
| 				} else { | ||||
| 					minimalTaxonomyTF.setText("1"); | ||||
| 					minimalTaxonomy = 1; | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		}; | ||||
| 		minimalOccurrencesTF.focusedProperty().addListener(minimalOccurrencesListener); | ||||
| 
 | ||||
| 
 | ||||
| 		if (minimalTaxonomyListener != null){ | ||||
| 			minimalTaxonomyTF.focusedProperty().removeListener(minimalTaxonomyListener); | ||||
| 		} | ||||
| 
 | ||||
| 		minimalTaxonomyListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = minimalTaxonomyTF.getText(); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						if (!ValidationUtil.isNumber(value)) { | ||||
| 							logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 							GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						} else { | ||||
| 							minimalTaxonomy = Integer.parseInt(value); | ||||
| 						} | ||||
| 					} else { | ||||
| 						minimalTaxonomyTF.setText("1"); | ||||
| 						minimalTaxonomy = 1; | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		}; | ||||
| 		minimalTaxonomyTF.focusedProperty().addListener(minimalTaxonomyListener); | ||||
| 
 | ||||
| 		// set default values | ||||
| 		minimalRelFreTF.setText("1"); | ||||
| 		minimalRelFre = 1; | ||||
| 
 | ||||
| 		minimalRelFreTF.focusedProperty().addListener((observable, oldValue, newValue) -> { | ||||
| 			if (!newValue) { | ||||
| 				// focus lost | ||||
| 				String value = minimalRelFreTF.getText(); | ||||
| 				if (!ValidationUtil.isEmpty(value)) { | ||||
| 					if (!ValidationUtil.isNumber(value)) { | ||||
| 						logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 		if (minimalRelFreListener != null){ | ||||
| 			minimalRelFreTF.focusedProperty().removeListener(minimalRelFreListener); | ||||
| 		} | ||||
| 
 | ||||
| 		minimalRelFreListener = new ChangeListener<Boolean>() { | ||||
| 			@Override | ||||
| 			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { | ||||
| 				if (!newValue) { | ||||
| 					// focus lost | ||||
| 					String value = minimalRelFreTF.getText(); | ||||
| 					if (!ValidationUtil.isEmpty(value)) { | ||||
| 						if (!ValidationUtil.isNumber(value)) { | ||||
| 							logAlert("minimalRelFreTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 							GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); | ||||
| 						} else { | ||||
| 							minimalRelFre = Integer.parseInt(value); | ||||
| 						} | ||||
| 					} else { | ||||
| 						minimalRelFre = Integer.parseInt(value); | ||||
| 						minimalRelFreTF.setText("1"); | ||||
| 						minimalRelFre = 1; | ||||
| 					} | ||||
| 				} else { | ||||
| 					minimalRelFreTF.setText("1"); | ||||
| 					minimalRelFre = 1; | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 		}; | ||||
| 		minimalRelFreTF.focusedProperty().addListener(minimalRelFreListener); | ||||
| 
 | ||||
| 
 | ||||
| 		changeLanguageB.setOnAction(e -> { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user