diff --git a/src/main/java/db/Cookbook.java b/src/main/java/db/Cookbook.java index 7954689..7d67952 100644 --- a/src/main/java/db/Cookbook.java +++ b/src/main/java/db/Cookbook.java @@ -64,25 +64,54 @@ public class Cookbook { return true; } - public List selectRecipes() { - List recipes = new LinkedList(); + public Recipe selectRecipe(String name) { + Recipe selectedRecipe; try { - ResultSet result = stat.executeQuery("SELECT * FROM recipes"); + PreparedStatement query = conn.prepareStatement("SELECT * FROM recipes WHERE name=?"); + query.setString(1, name); + ResultSet result = query.executeQuery(); int id; - String name, ingredients, description, tags; - while(result.next()) { - id = result.getInt("id"); - name = result.getString("name"); - ingredients = result.getString("ingredients"); - description = result.getString("description"); - tags = result.getString("tags"); - recipes.add(new Recipe(id, name, ingredients, description, tags)); - } + String ingredients, description, tags; + id = result.getInt("id"); + ingredients = result.getString("ingredients"); + description = result.getString("description"); + tags = result.getString("tags"); + selectedRecipe = new Recipe(id, name, ingredients, description, tags); + } catch (SQLException e) { e.printStackTrace(); return null; } - return recipes; + return selectedRecipe; + } + + public boolean deleteRecipe(String name){ + try { + PreparedStatement query = conn.prepareStatement("DELETE FROM recipes WHERE name=?"); + query.setString(1, name); + System.out.println(name); + query.execute(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return true; + } + + public List selectNames(){ + List names = new LinkedList(); + try { + ResultSet result = stat.executeQuery("SELECT name FROM recipes"); + String name; + while(result.next()){ + name = result.getString("name"); + names.add(name); + } + } catch (SQLException e) { + e.printStackTrace(); + return null; + } + return names; } public void closeConnection() { diff --git a/src/main/java/db/Recipe.java b/src/main/java/db/Recipe.java index e76cd2c..3ed4472 100644 --- a/src/main/java/db/Recipe.java +++ b/src/main/java/db/Recipe.java @@ -10,13 +10,10 @@ public class Recipe { public int getId() { return id; } - public void setId(int id) { - this.id = id; - } public String getName() { return name; } - public void setImie(String name) { + public void setName(String name) { this.name = name; } public String getIngredients() { diff --git a/src/main/java/ksiazka/kucharska/FrmMain.java b/src/main/java/ksiazka/kucharska/FrmMain.java index ce8b110..98cf8ed 100644 --- a/src/main/java/ksiazka/kucharska/FrmMain.java +++ b/src/main/java/ksiazka/kucharska/FrmMain.java @@ -22,7 +22,9 @@ import javax.swing.border.LineBorder; import java.awt.SystemColor; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; -import ksiazka.kucharska.retrieveTest; +import ksiazka.kucharska.RetrieveData; +import javax.swing.event.ListSelectionListener; +import javax.swing.event.ListSelectionEvent; public class FrmMain extends JFrame { @@ -32,17 +34,17 @@ public class FrmMain extends JFrame { private static final long serialVersionUID = 2634383304749703669L; private JPanel contentPane; private JTextField txtSearch; - private JTextField txtEdTitle; - private JTextField txtTags; + public static JTextField txtEdTitle; + public static JTextField txtTags; private JButton btnSave; private JButton btnCancel; - private JTextPane txtIngredients; - private JTextPane txtDescription; + public static JTextPane txtIngredients; + public static JTextPane txtDescription; private JButton btnAddRecipe; private JButton btnSearch; private JButton btnDelRecipe; private JButton btnLoadImg; - private JLabel lblRecipeTitle; + public static JLabel lblRecipeTitle; private static DefaultListModel recipesListModel; @@ -126,7 +128,13 @@ public class FrmMain extends JFrame { panel.add(btnSearch, gbc_btnSearch); recipesListModel = new DefaultListModel(); - JList recipesList = new JList(recipesListModel); + final JList recipesList = new JList(recipesListModel); + recipesList.addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e){ + if(recipesList.getSelectedIndex() != -1) + RetrieveData.fillComponents(recipesList.getSelectedValue().toString()); + } + }); GridBagConstraints gbc_recipesList = new GridBagConstraints(); gbc_recipesList.insets = new Insets(0, 0, 5, 0); gbc_recipesList.gridwidth = 2; @@ -146,7 +154,7 @@ public class FrmMain extends JFrame { panel.add(panel_1, gbc_panel_1); panel_1.setLayout(new GridLayout(0, 2, 0, 0)); - btnAddRecipe = new JButton("Dodaj"); + btnAddRecipe = new JButton("Nowy"); btnAddRecipe.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ActivateAddMenu(); @@ -155,16 +163,29 @@ public class FrmMain extends JFrame { panel_1.add(btnAddRecipe); btnDelRecipe = new JButton("UsuĊ„"); + btnDelRecipe.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + DefaultListModel model = (DefaultListModel) recipesList.getModel(); + if (recipesList.getSelectedIndex() != -1) + { + RetrieveData.removeRecipe(recipesList.getSelectedValue().toString()); + model.remove(recipesList.getSelectedIndex()); + } + } + }); panel_1.add(btnDelRecipe); JPanel panel_2 = new JPanel(); splitPane.setRightComponent(panel_2); panel_2.setLayout(null); - btnSave = new JButton("Zapisz"); + btnSave = new JButton("Dodaj"); btnSave.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + RetrieveData.addNewRecipe(); DeactivateAddMenu(); + DefaultListModel model = (DefaultListModel) recipesList.getModel(); + model.addElement(txtEdTitle.getText()); } }); btnSave.setVisible(false); @@ -230,6 +251,7 @@ public class FrmMain extends JFrame { btnCancel.setBounds(319, 46, 117, 25); panel_2.add(btnCancel); - retrieveTest.retrieveData(); + //RetrieveData.insertSampleData(); + RetrieveData.fillList(); } }