diff --git a/src/main/java/ru/egspt/moodle/Base.java b/src/main/java/ru/egspt/moodle/Base.java index 103bca5..1b7b70e 100644 --- a/src/main/java/ru/egspt/moodle/Base.java +++ b/src/main/java/ru/egspt/moodle/Base.java @@ -348,6 +348,42 @@ public class Base { this.users = uList; } + public void setUsersByTeg(Connection conn, String tag){ + ArrayList uList = new ArrayList(); + String teg = ""; + int b = 0; + while (b != 2){ + try{ + //teg = JOptionPane.showInputDialog("Укажите тег для поиска пользователей:"); + Statement stmt = conn.createStatement(); + //берем данные о базах данных на сервере + ResultSet rs = stmt.executeQuery("SELECT id, username, email FROM mdl_user"); + while(rs.next()){ + //фильтруем выборку user + int id = rs.getInt("id"); + String username = rs.getString("username"); + String email = rs.getString("email"); + //проверяем соответствие тега и записи в таблице + if (username.contains(teg)){ + User u = new User(); + u.setId(id); + u.setMail(email); + u.setName(username); + uList.add(u); + } + } + } + catch (Exception ex){ + System.err.println ("Подключение к серверу баз данных не установлено ... "); + ex.printStackTrace(); + System.out.println (ex); + } + b = JOptionPane.showConfirmDialog(null, "Добавить еще тег?", "try", JOptionPane.OK_CANCEL_OPTION); + System.out.println("Сделан выбор: " + b); + } + this.users = uList; + } + /** * Фильтруем пользователей, находим дубли почтовых ящиков * когда ящик совпал, перебираем результаты и заменяем ID пользователя в результате diff --git a/src/main/java/ru/egspt/moodle/events/TagButtonListener.java b/src/main/java/ru/egspt/moodle/events/TagButtonListener.java index f859c0d..c1d5d58 100644 --- a/src/main/java/ru/egspt/moodle/events/TagButtonListener.java +++ b/src/main/java/ru/egspt/moodle/events/TagButtonListener.java @@ -7,15 +7,17 @@ import ru.egspt.moodle.Base; import ru.egspt.moodle.BaseControls; public class TagButtonListener implements ActionListener{ - Base baseTagged; - public TagButtonListener(Base base){ + private Base baseTagged; + private String s; + public TagButtonListener(Base base, String tag){ baseTagged = base; + s = tag; } public void actionPerformed(ActionEvent e) { System.out.println("Нажата кнопка TagButton"); //Добавляем выбранный тег в список, для возможности удаления //фильтруем выборку пользователей и выводим в текстовую область - baseTagged.setUsersByTeg(BaseControls.getConnaction()); + baseTagged.setUsersByTeg(BaseControls.getConnaction(), s); System.out.println("Выборка пользователей изменена ... "); } diff --git a/src/main/java/ru/egspt/moodle/panel/TagPane.java b/src/main/java/ru/egspt/moodle/panel/TagPane.java index 851740c..f9a5e3d 100644 --- a/src/main/java/ru/egspt/moodle/panel/TagPane.java +++ b/src/main/java/ru/egspt/moodle/panel/TagPane.java @@ -3,10 +3,8 @@ package ru.egspt.moodle.panel; import java.awt.Color; import javax.swing.JButton; -import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; -import javax.swing.WindowConstants; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; @@ -14,10 +12,10 @@ import ru.egspt.moodle.Base; import ru.egspt.moodle.events.TagButtonListener; public class TagPane extends JPanel{ - private JFrame mainframe = new JFrame("Настройка выборки"); private JTextField tagField = new JTextField(20); private JButton TagAddButton = new JButton("+"); //private JButton TagDelButton = new JButton("-"); + private UserByTagPane usersPane = new UserByTagPane(); public TagPane(Base base){ @@ -25,14 +23,9 @@ public class TagPane extends JPanel{ this.setBorder(border); tagField.setText("");//значения по умолчанию this.add(tagField); - TagAddButton.addActionListener(new TagButtonListener(base)); + TagAddButton.addActionListener(new TagButtonListener(base, tagField.getText())); this.add(TagAddButton); //this.add(TagDelButton); - } - public void init(){ - mainframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); - mainframe.add(this); - mainframe.setSize(320, 240); - mainframe.setVisible(true); + this.add(usersPane); } } diff --git a/src/main/java/ru/egspt/moodle/panel/UserByTag.java b/src/main/java/ru/egspt/moodle/panel/UserByTag.java deleted file mode 100644 index 01da2df..0000000 --- a/src/main/java/ru/egspt/moodle/panel/UserByTag.java +++ /dev/null @@ -1,5 +0,0 @@ -package ru.egspt.moodle.panel; - -public class UserByTag { - -} diff --git a/src/main/java/ru/egspt/moodle/panel/UserByTagPane.java b/src/main/java/ru/egspt/moodle/panel/UserByTagPane.java new file mode 100644 index 0000000..54c7433 --- /dev/null +++ b/src/main/java/ru/egspt/moodle/panel/UserByTagPane.java @@ -0,0 +1,7 @@ +package ru.egspt.moodle.panel; + +import javax.swing.JPanel; + +public class UserByTagPane extends JPanel{ + +} diff --git a/target/classes/ru/egspt/moodle/Base.class b/target/classes/ru/egspt/moodle/Base.class index fb71e3f..eacd176 100644 Binary files a/target/classes/ru/egspt/moodle/Base.class and b/target/classes/ru/egspt/moodle/Base.class differ diff --git a/target/classes/ru/egspt/moodle/events/TagButtonListener.class b/target/classes/ru/egspt/moodle/events/TagButtonListener.class index 1e4f689..b0fc221 100644 Binary files a/target/classes/ru/egspt/moodle/events/TagButtonListener.class and b/target/classes/ru/egspt/moodle/events/TagButtonListener.class differ diff --git a/target/classes/ru/egspt/moodle/panel/TagPane.class b/target/classes/ru/egspt/moodle/panel/TagPane.class index 59a5e3e..1e5c5fd 100644 Binary files a/target/classes/ru/egspt/moodle/panel/TagPane.class and b/target/classes/ru/egspt/moodle/panel/TagPane.class differ diff --git a/target/classes/ru/egspt/moodle/panel/UserByTag.class b/target/classes/ru/egspt/moodle/panel/UserByTag.class deleted file mode 100644 index b5ead9c..0000000 Binary files a/target/classes/ru/egspt/moodle/panel/UserByTag.class and /dev/null differ diff --git a/target/classes/ru/egspt/moodle/panel/UserByTagPane.class b/target/classes/ru/egspt/moodle/panel/UserByTagPane.class new file mode 100644 index 0000000..6b12981 Binary files /dev/null and b/target/classes/ru/egspt/moodle/panel/UserByTagPane.class differ