From 165db426645dbb53368e61303a380fcf43856157 Mon Sep 17 00:00:00 2001 From: Jaroslav Beran Date: Fri, 1 Mar 2019 15:38:15 +0100 Subject: [PATCH] Duplicity check improvement --- .../java/cz/webstones/words/Dictionary.java | 9 ++++++++ src/main/java/cz/webstones/words/Main.java | 21 ++++++++++++++++++- .../java/cz/webstones/words/WordDialog.java | 10 ++++----- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/src/main/java/cz/webstones/words/Dictionary.java b/src/main/java/cz/webstones/words/Dictionary.java index efff3ba..ba01bdf 100644 --- a/src/main/java/cz/webstones/words/Dictionary.java +++ b/src/main/java/cz/webstones/words/Dictionary.java @@ -283,6 +283,15 @@ public void updateWord(WordDto w) throws DictionaryException { } + public WordDto findDuplicity(String s) { + for (WordDto t : dictAll) { + if (t.getCz().equals(s) || t.getEn().equals(s)) { + return t; + } + } + return null; + } + public WordDto findDuplicity(WordDto w) { for (WordDto t : dictAll) { if (t.getCz().equals(w.getCz()) && t.getEn().equals(w.getEn())) { diff --git a/src/main/java/cz/webstones/words/Main.java b/src/main/java/cz/webstones/words/Main.java index 6a8d82d..b6cbc8b 100644 --- a/src/main/java/cz/webstones/words/Main.java +++ b/src/main/java/cz/webstones/words/Main.java @@ -723,7 +723,26 @@ private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FI wordDialog.setVisible(true); if (wordDialog.isCommited()) { - + + if (dict.findDuplicity(w) != null) { + JOptionPane.showMessageDialog(this, "Word " + w.getCz() + "/" + w.getEn() + " already exists!", "Error", JOptionPane.ERROR_MESSAGE); + return; + } + + if (dict.findDuplicity(w.getCz()) != null) { + int dialogResult = JOptionPane.showConfirmDialog(this, "Word " + w.getCz() + " already exists. Do you want create it anyway?", "Question", JOptionPane.YES_NO_OPTION); + if (dialogResult == JOptionPane.NO_OPTION) { + return; + } + } + + if (dict.findDuplicity(w.getEn()) != null) { + int dialogResult = JOptionPane.showConfirmDialog(this, "Word " + w.getEn() + " already exists. Do you want create it anyway?", "Question", JOptionPane.YES_NO_OPTION); + if (dialogResult == JOptionPane.NO_OPTION) { + return; + } + } + try { dict.addWord(w); } catch (DictionaryException ex) { diff --git a/src/main/java/cz/webstones/words/WordDialog.java b/src/main/java/cz/webstones/words/WordDialog.java index 2da2a03..0bd925f 100644 --- a/src/main/java/cz/webstones/words/WordDialog.java +++ b/src/main/java/cz/webstones/words/WordDialog.java @@ -288,16 +288,16 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed WordDto tmp = new WordDto(); - tmp.setCz(jTextField1.getText()); - tmp.setEn(jTextField2.getText()); + tmp.setCz(jTextField1.getText().trim()); + tmp.setEn(jTextField2.getText().trim()); tmp.setCategory(jComboBox1.getSelectedItem().toString()); try { dict.validateWord(tmp); - this.word.setCz(jTextField1.getText()); - this.word.setEn(jTextField2.getText()); - this.word.setCategory(jComboBox1.getSelectedItem().toString()); + this.word.setCz(tmp.getCz()); + this.word.setEn(tmp.getEn()); + this.word.setCategory(tmp.getCategory()); setCommited(true); this.setVisible(false);