Advertisement
Guest User

Untitled

a guest
Jun 18th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.83 KB | None | 0 0
  1. package wolffsoft.addressmanagerview.ui;
  2.  
  3. import javafx.event.EventHandler;
  4. import javafx.geometry.Insets;
  5. import javafx.geometry.Pos;
  6. import javafx.scene.Scene;
  7. import javafx.scene.control.Button;
  8. import javafx.scene.control.Label;
  9. import javafx.scene.control.TextArea;
  10. import javafx.scene.control.TextField;
  11. import javafx.scene.layout.GridPane;
  12. import javafx.scene.layout.Priority;
  13. import javafx.stage.Stage;
  14. import wolffsoft.addressmanager.ui.eventhandlers.AddEventHandler;
  15. import wolffsoft.addressmanager.ui.eventhandlers.AddSearchClearEventHandler;
  16. import wolffsoft.addressmanager.ui.eventhandlers.SearchEventHandler;
  17. import wolffsoft.addressmanagerview.ui.interfaces.AddSearchInterFace;
  18. /**
  19. *
  20. * @author coos_
  21. */
  22. public final class AddressManagerAddSearchView extends Stage implements AddSearchInterFace{
  23. private GridPane addSearchGridPane;
  24. private GridPane nawPane;
  25. private GridPane textAreaPane;
  26.  
  27. private Button addButton;
  28. private Button searchButton;
  29. private Button clearButton;
  30.  
  31. private Label inputFieldsLabel;
  32. private Label wolffAddressManagerLabel;
  33. private Label companyNameLabel;
  34. private Label firstNameLabel;
  35. private Label lastNameLabel;
  36. private Label emailAddressLabel;
  37. private Label reTypeEmailAddressLabel;
  38. private Label streetNumberLabel;
  39. private Label additiveLabel;
  40. private Label zipcodeCityLabel;
  41. private Label searchEmailAddressLabel;
  42.  
  43.  
  44. public TextField companyNameTextField;
  45. public TextField firstNameTextField;
  46. public TextField lastNameTextField;
  47. public TextField emailAddressTextField;
  48. public TextField reTypeEmailAddressTextField;
  49. public TextField streetTextField;
  50. public TextField numberTextField;
  51. public TextField additiveTextField;
  52. public TextField zipCodeTextField;
  53. public TextField cityTextField;
  54. public TextField searchEmailAddressTextField;
  55.  
  56. private TextArea textArea;
  57.  
  58. public AddressManagerAddSearchView() {
  59. initializeComponents();
  60. addEventHandler();
  61. }
  62.  
  63. @Override
  64. public void displaySearchResult(String searchResult) {
  65. textArea.setText(searchResult + getTextArea());
  66. }
  67.  
  68. private String getTextArea() {
  69. return textArea.getText();
  70. }
  71.  
  72. public void setTextArea(){
  73. textArea.setText("");
  74. }
  75.  
  76. @Override
  77. public void displayAddedCredentials(String addedCredentials) {
  78. textArea.setText(getTextArea() + addedCredentials);
  79. }
  80.  
  81.  
  82. @Override
  83. public void start() {
  84. show();
  85. }
  86.  
  87. public void addEventHandler() {
  88. EventHandler addCredentails = new AddEventHandler(this, companyNameTextField, firstNameTextField, lastNameTextField, emailAddressTextField, reTypeEmailAddressTextField, streetTextField, numberTextField, additiveTextField, zipCodeTextField, cityTextField);
  89. addButton.setOnAction(addCredentails);
  90.  
  91. EventHandler searchCredentials = new SearchEventHandler(this, searchEmailAddressTextField);
  92. searchButton.setOnAction(searchCredentials);
  93.  
  94. EventHandler clearCredentails = new AddSearchClearEventHandler(this);
  95. clearButton.setOnAction(clearCredentails);
  96. }
  97.  
  98. private void initializeComponents(){
  99. // GridPanes
  100. addSearchGridPane = new GridPane();
  101. addSearchGridPane.setHgap(10.0);
  102. addSearchGridPane.setVgap(10.0);
  103. addSearchGridPane.setMaxWidth(Double.MAX_VALUE);
  104. addSearchGridPane.setAlignment(Pos.CENTER_LEFT);
  105. addSearchGridPane.setPadding(new Insets(0.0, 10.0, 10.0, 0.0));
  106. addSearchGridPane.setStyle("-fx-background-color: lightgrey;");
  107.  
  108. nawPane = new GridPane();
  109. nawPane.setHgap(2.5);
  110. nawPane.setVgap(2.5);
  111. nawPane.setMaxWidth(Double.MAX_VALUE);
  112. nawPane.setAlignment(Pos.TOP_LEFT);
  113. nawPane.setPrefSize(410, 635);
  114. nawPane.setPadding(new Insets(10.0, 10.0, 10.0, 10.0));
  115. nawPane.setStyle("-fx-background-color: lightgrey; -fx-background-radius: 10px; -fx-effect: innershadow(two-pass-box, gray, 5, 0.5, 1, 1);");
  116.  
  117. textAreaPane = new GridPane();
  118. textAreaPane.setHgap(2.5);
  119. textAreaPane.setVgap(2.5);
  120. textAreaPane.setMaxWidth(Double.MAX_VALUE);
  121. textAreaPane.setAlignment(Pos.CENTER_LEFT);
  122. textAreaPane.setPadding(new Insets(10.0, 10.0, 10.0, 10.0));
  123. textAreaPane.setPrefSize(360, 635);
  124. textAreaPane.setStyle("-fx-background-color: lightgrey; -fx-background-radius: 10px; -fx-effect: innershadow(two-pass-box, gray, 5, 0.5, 1, 1);");
  125.  
  126. // Labels
  127. inputFieldsLabel = new Label();
  128. inputFieldsLabel.setText("Address Manager Show Credentials");
  129.  
  130. wolffAddressManagerLabel = new Label();
  131. wolffAddressManagerLabel.setText("Address Manager Input Credentials");
  132.  
  133. companyNameLabel = new Label();
  134. companyNameLabel.setText("Company Name:");
  135. companyNameLabel.setPrefSize(100, 20);
  136.  
  137. firstNameLabel = new Label();
  138. firstNameLabel.setText("First Name:");
  139. firstNameLabel.setPrefSize(100, 20);
  140.  
  141. lastNameLabel = new Label();
  142. lastNameLabel.setText("Last Name:");
  143. lastNameLabel.setPrefSize(100, 20);
  144.  
  145. emailAddressLabel = new Label();
  146. emailAddressLabel.setText("Email Address:");
  147. emailAddressLabel.setPrefSize(100, 20);
  148.  
  149. reTypeEmailAddressLabel = new Label();
  150. reTypeEmailAddressLabel.setText("Re-type Email:");
  151. reTypeEmailAddressLabel.setPrefSize(100, 20);
  152.  
  153. streetNumberLabel = new Label();
  154. streetNumberLabel.setText("Street / Number:");
  155. streetNumberLabel.setPrefSize(100, 20);
  156.  
  157. additiveLabel = new Label();
  158. additiveLabel.setText("Additive:");
  159. additiveLabel.setPrefSize(100, 20);
  160.  
  161. zipcodeCityLabel = new Label();
  162. zipcodeCityLabel.setText("ZipCide / City:");
  163. zipcodeCityLabel.setPrefSize(100, 20);
  164.  
  165. searchEmailAddressLabel = new Label();
  166. searchEmailAddressLabel.setText("Email Address:");
  167. searchEmailAddressLabel.setPrefSize(100, 20);
  168.  
  169. // TextFields
  170. companyNameTextField = new TextField();
  171. companyNameTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  172.  
  173. firstNameTextField = new TextField();
  174. firstNameTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  175.  
  176. lastNameTextField = new TextField();
  177. lastNameTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  178.  
  179. emailAddressTextField = new TextField();
  180. emailAddressTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  181.  
  182. reTypeEmailAddressTextField = new TextField();
  183. reTypeEmailAddressTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  184.  
  185. streetTextField = new TextField();
  186. streetTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  187.  
  188. numberTextField = new TextField();
  189. numberTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  190.  
  191. additiveTextField = new TextField();
  192. additiveTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  193.  
  194. zipCodeTextField = new TextField();
  195. zipCodeTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  196.  
  197. cityTextField = new TextField();
  198. cityTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  199.  
  200. searchEmailAddressTextField = new TextField();
  201. searchEmailAddressTextField.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  202.  
  203. // TextArea
  204. textArea = new TextArea();
  205. textArea.setPrefSize(340, 605);
  206. textArea.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  207.  
  208. // Buttons
  209. addButton = new Button();
  210. addButton.setText("Add Credentails");
  211. addButton.setPrefSize(430.0, 20.0);
  212. addButton.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  213.  
  214. searchButton = new Button();
  215. searchButton.setText("Search Credentails");
  216. searchButton.setPrefSize(430.0, 20.0);
  217. searchButton.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  218.  
  219. clearButton = new Button();
  220. clearButton.setText("Clear View");
  221. clearButton.setPrefSize(430, 20);
  222. clearButton.setStyle("-fx-effect: innershadow(two-pass-box, gray, 5, 0.3, 1, 1);");
  223.  
  224. // add Nodes to nawPane
  225. nawPane.add(companyNameLabel, 1, 1);
  226. nawPane.add(firstNameLabel, 1, 2);
  227. nawPane.add(lastNameLabel, 1, 3);
  228. nawPane.add(emailAddressLabel, 1, 4);
  229. nawPane.add(reTypeEmailAddressLabel, 1, 5);
  230. nawPane.add(streetNumberLabel, 1, 6);
  231. nawPane.add(additiveLabel, 1, 7);
  232. nawPane.add(zipcodeCityLabel, 1, 8);
  233. nawPane.add(searchEmailAddressLabel, 1, 14);
  234.  
  235. nawPane.add(companyNameTextField, 2, 1, 3, 1);
  236. nawPane.add(firstNameTextField, 2, 2, 3, 1);
  237. nawPane.add(lastNameTextField, 2, 3, 3, 1);
  238. nawPane.add(emailAddressTextField, 2, 4, 3, 1);
  239. nawPane.add(reTypeEmailAddressTextField, 2, 5, 3, 1);
  240. nawPane.add(streetTextField, 2, 6);
  241. nawPane.add(numberTextField, 3, 6);
  242. nawPane.add(additiveTextField, 2, 7, 3, 1);
  243. nawPane.add(zipCodeTextField, 2, 8, 1, 1);
  244. nawPane.add(cityTextField, 3, 8, 2, 1);
  245. nawPane.add(searchEmailAddressTextField, 2, 14, 3, 1);
  246.  
  247. nawPane.add(addButton, 1, 11, 4, 1);
  248. nawPane.add(searchButton, 1, 17, 4, 1);
  249. nawPane.add(clearButton,1 , 20, 4, 1);
  250.  
  251. // add Node to textAreaPane
  252. textAreaPane.add(textArea, 1, 1);
  253.  
  254. // add Nodes to rootPane
  255. addSearchGridPane.add(wolffAddressManagerLabel, 1, 1);
  256. addSearchGridPane.add(inputFieldsLabel, 2, 1);
  257. addSearchGridPane.add(nawPane, 1, 2);
  258. addSearchGridPane.add(textAreaPane, 2, 2);
  259.  
  260. // set vertical growth for resizing
  261. GridPane.setHgrow(textAreaPane, Priority.ALWAYS);
  262. GridPane.setHgrow(textArea, Priority.ALWAYS);
  263. GridPane.setVgrow(textAreaPane, Priority.ALWAYS);
  264. GridPane.setVgrow(textArea, Priority.ALWAYS);
  265.  
  266. setTitle("Address Manager");
  267. setScene(new Scene(addSearchGridPane, 800, 675));
  268. }
  269. }
  270.  
  271. package wolffsoft.addressmanagerview.ui.controllers;
  272.  
  273. import java.util.ArrayList;
  274. import javax.swing.DefaultListModel;
  275. import javax.swing.JList;
  276. import javax.swing.JOptionPane;
  277. import wolffsoft.addressmanager.data.AddressManagerModel;
  278. import wolffsoft.addressmanagerview.ui.AddressManagerAddSearchView;
  279. import wolffsoft.addressmanagerview.ui.interfaces.AddSearchInterFace;
  280. import wolffsoft.addressmanagerview.ui.interfaces.ModelInterFace;
  281. /**
  282. *
  283. * @author coos_
  284. */
  285. public class AddressManagerAddSearchController {
  286. public final ModelInterFace MODELINTERFACE ;
  287. public final AddSearchInterFace ADDSEARCHVIEWINTERFACE ;
  288.  
  289. public AddressManagerAddSearchController(AddressManagerAddSearchView addSearchView) {
  290. this.ADDSEARCHVIEWINTERFACE = addSearchView;
  291. this.MODELINTERFACE = new AddressManagerModel();
  292. }
  293.  
  294. public void buildAddSearchView() {
  295. ADDSEARCHVIEWINTERFACE.start();
  296. }
  297.  
  298. public void addCredentials(ArrayList add) throws Exception {
  299. String emailAddress = add.get(3).toString();
  300. String reTypeEmailAddress = add.get(4).toString();
  301. if(!emailAddress.equals(reTypeEmailAddress)) {
  302. JOptionPane.showMessageDialog(null, "Emailaddresses are not the same", "InfoBox: " + "Error", JOptionPane.INFORMATION_MESSAGE);
  303. }
  304. else if(MODELINTERFACE.add(add) == false) {
  305. JOptionPane.showMessageDialog(null, "Emailaddress: " + emailAddress + " already exist", "InfoBox: " + "Error", JOptionPane.INFORMATION_MESSAGE);
  306. }
  307. else {
  308. MODELINTERFACE.add(add);
  309. showAddedCredentials(MODELINTERFACE.getSearchResult(emailAddress));
  310. }
  311. }
  312.  
  313. private void showAddedCredentials(ArrayList add) {
  314. DefaultListModel<String> jList = new DefaultListModel();
  315. JList<String> list = new JList(jList);
  316.  
  317. for(int i = 0; i < add.size(); i++) {
  318. jList.addElement(add.get(i).toString());
  319. }
  320. list.setModel(jList);
  321.  
  322. int size = list.getModel().getSize();
  323. StringBuilder credentials = new StringBuilder();
  324.  
  325. for(int i = 0; i < size; i++) {
  326. credentials.append(list.getModel().getElementAt(i)).append("n");
  327. }
  328. ADDSEARCHVIEWINTERFACE.displayAddedCredentials(credentials.toString()+ "CREDENTIALS ADDEDnn");
  329. }
  330.  
  331. public void searchCredentials(String emailAddress) throws Exception {
  332. showSearchResult(MODELINTERFACE.getSearchResult(emailAddress));
  333. }
  334.  
  335. private void showSearchResult(ArrayList add) {
  336. DefaultListModel<String> jList = new DefaultListModel();
  337. JList<String> list = new JList(jList);
  338.  
  339. for(int i = 0; i < add.size(); i++) {
  340. jList.addElement(add.get(i).toString());
  341. }
  342. list.setModel(jList);
  343.  
  344. int size = list.getModel().getSize();
  345. StringBuilder credentials = new StringBuilder();
  346.  
  347. for(int i = 0; i < size; i++) {
  348. credentials.append(list.getModel().getElementAt(i)).append("n");
  349. }
  350. ADDSEARCHVIEWINTERFACE.displaySearchResult(credentials.toString()+ "CREDENTIALS ADDEDnn");
  351. }
  352. }
  353.  
  354. package wolffsoft.addressmanager.data;
  355.  
  356. import wolffsoft.addressmanager.services.AddressManagerService;
  357. import java.util.ArrayList;
  358. import wolffsoft.addressmanagerview.ui.interfaces.ModelInterFace;
  359. import wolffsoft.addressmanagerview.ui.interfaces.ServiceInterFace;
  360. /**
  361. *
  362. * @author coos_
  363. */
  364. public class AddressManagerModel implements ModelInterFace {
  365. private final ServiceInterFace SERVICEINTERFACE = new AddressManagerService();
  366.  
  367. @Override
  368. public boolean add(ArrayList add) throws Exception {
  369. return SERVICEINTERFACE.addCredentials(add);
  370. }
  371.  
  372. @Override
  373. public ArrayList getSearchResult(String emailAddress) throws Exception {
  374. return SERVICEINTERFACE.searchCredentials(emailAddress);
  375. }
  376.  
  377. @Override
  378. public boolean selectAll(String emailAddress) throws Exception {
  379. return SERVICEINTERFACE.selectAll(emailAddress);
  380. }
  381.  
  382. @Override
  383. public ArrayList getUpdatedCredentials(ArrayList update) throws Exception {
  384. return SERVICEINTERFACE.updateCredentials(update);
  385. }
  386.  
  387. @Override
  388. public void deleteCredentials(String emailAddress) throws Exception {
  389. SERVICEINTERFACE.deleteCredentials(emailAddress);
  390. }
  391. }
  392.  
  393. package wolffsoft.addressmanager.services;
  394.  
  395. import java.awt.HeadlessException;
  396. import java.sql.Connection;
  397. import java.sql.DriverManager;
  398. import java.sql.PreparedStatement;
  399. import java.sql.ResultSet;
  400. import java.sql.SQLException;
  401. import java.util.ArrayList;
  402. import wolffsoft.addressmanagerview.ui.interfaces.ServiceInterFace;
  403. /**
  404. *
  405. * @author coos_
  406. */
  407. public class AddressManagerService implements ServiceInterFace {
  408. private Connection connect = null;
  409. private PreparedStatement preparedStatement = null;
  410. private ResultSet resultSet = null;
  411.  
  412. @Override
  413. public boolean addCredentials(ArrayList add) throws Exception {
  414. boolean addBoolean = false;
  415. String emailAddress = add.get(3).toString();
  416. try {
  417. Class.forName("com.mysql.jdbc.Driver");
  418. connect = DriverManager.getConnection("jdbc:mysql://localhost/dev?" + "user=root&password=somepassword");
  419. preparedStatement = connect.prepareStatement("SELECT emailaddress FROM dev.addresses WHERE emailaddress= '" + emailAddress + "'");
  420. resultSet = preparedStatement.executeQuery();
  421.  
  422. if(resultSet.next()) {
  423. return addBoolean = false;
  424. } else {
  425. preparedStatement = connect.prepareStatement("INSERT INTO dev.addresses (companyname, firstname, lastname, emailaddress, retype_emailaddress, street, housenumber, additive, zipcode, city) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
  426. for(int i = 0; i < add.size(); i++) {
  427. preparedStatement.setString(i + 1, add.get(i).toString());
  428. }
  429. preparedStatement.executeUpdate();
  430. return addBoolean = true;
  431. }
  432. } catch (ClassNotFoundException | SQLException | HeadlessException e) {
  433. throw e;
  434. } finally {
  435. close();
  436. }
  437. }
  438.  
  439. @Override
  440. public boolean selectAll(String emailAddress) throws Exception{
  441. try {
  442. // This will load the MySQL driver, each DB has its own driver
  443. Class.forName("com.mysql.jdbc.Driver");
  444. // Setup the connection with the DB
  445. connect = DriverManager.getConnection("jdbc:mysql://localhost/dev?" + "user=root&password=somepassword");
  446. preparedStatement = connect.prepareStatement("SELECT * FROM dev.addresses WHERE emailaddress= '" + emailAddress + "'");
  447. resultSet = preparedStatement.executeQuery();
  448. return resultSet.next();
  449. } catch (ClassNotFoundException | SQLException | HeadlessException e) {
  450. throw e;
  451. } finally {
  452. close();
  453. }
  454. }
  455.  
  456. @Override
  457. public ArrayList updateCredentials(ArrayList update) throws Exception {
  458. String updateEmailaddres = update.get(0).toString();
  459. ArrayList<String> updateAddressArray = new ArrayList();
  460. int count = 0;
  461. try {
  462. // This will load the MySQL driver, each DB has its own driver
  463. Class.forName("com.mysql.jdbc.Driver");
  464. // Setup the connection with the DB
  465. connect = DriverManager.getConnection("jdbc:mysql://localhost/dev?" + "user=root&password=somepassword");
  466. preparedStatement = connect.prepareStatement("SELECT * FROM dev.addresses WHERE emailaddress= '" + updateEmailaddres + "'");
  467. resultSet = preparedStatement.executeQuery();
  468. if(resultSet.next()) {
  469. preparedStatement = connect.prepareStatement("UPDATE dev.addresses SET companyname = ?, firstname = ?, lastname = ?, emailaddress = ?, retype_emailaddress = ?, street = ?, housenumber = ?, additive = ?, zipcode = ?, city = ? WHERE id = " + resultSet.getString("id"));
  470. if(!update.get(1).equals("")) {
  471. count++;
  472. updateAddressArray.add("Updated Company Name: " + resultSet.getString(2));
  473. preparedStatement.setString(1, update.get(1).toString());
  474. } else {
  475. preparedStatement.setString(1, resultSet.getString("companyname"));
  476. }
  477. if(!update.get(2).equals("")) {
  478. count++;
  479. updateAddressArray.add("Updated First Name: " + resultSet.getString(3));
  480. preparedStatement.setString(2, update.get(2).toString());
  481. } else {
  482. preparedStatement.setString(2, resultSet.getString("firstname"));
  483. }
  484. if(!update.get(3).equals("")) {
  485. count++;
  486. updateAddressArray.add("Updated Last Name: " + resultSet.getString(4));
  487. preparedStatement.setString(3, update.get(3).toString());
  488. } else {
  489. preparedStatement.setString(3, resultSet.getString("lastname"));
  490. }
  491. if(!update.get(4).equals("")) {
  492. count++;
  493. updateAddressArray.add("Updated Email Address: " + resultSet.getString(5));
  494. preparedStatement.setString(4, update.get(4).toString());
  495. } else {
  496. preparedStatement.setString(4, resultSet.getString("emailaddress"));
  497. }
  498. if(!update.get(4).equals("")) {
  499. count++;
  500. preparedStatement.setString(5,update.get(4).toString());
  501. } else {
  502. preparedStatement.setString(5, resultSet.getString("retype_emailaddress"));
  503. }
  504. if(!update.get(5).equals("")) {
  505. count++;
  506. updateAddressArray.add("Updated Street: " + resultSet.getString(6));
  507. preparedStatement.setString(6, update.get(5).toString());
  508. } else {
  509. preparedStatement.setString(6, resultSet.getString("street"));
  510. }
  511. if(!update.get(6).equals("")) {
  512. count++;
  513. updateAddressArray.add("Updated Number: " + resultSet.getString(7));
  514. preparedStatement.setString(7, update.get(6).toString());
  515. } else {
  516. preparedStatement.setString(7, resultSet.getString("housenumber"));
  517. }
  518. if(!update.get(7).equals("")) {
  519. count++;
  520. updateAddressArray.add("Updated Additive: " + resultSet.getString(8));
  521. preparedStatement.setString(8, update.get(7).toString());
  522. } else {
  523. preparedStatement.setString(8, resultSet.getString("additive"));
  524. }
  525. if(!update.get(8).equals("")) {
  526. count++;
  527. updateAddressArray.add("Updated Zipcode: " + resultSet.getString(9));
  528. preparedStatement.setString(9, update.get(8).toString());
  529. } else {
  530. preparedStatement.setString(9, resultSet.getString("zipcode"));
  531. }
  532. if(!update.get(9).equals("")) {
  533. count++;
  534. updateAddressArray.add("Updated City: " + resultSet.getString(10) + "n");
  535. preparedStatement.setString(10, update.get(9).toString());
  536. } else {
  537. preparedStatement.setString(10, resultSet.getString("city"));
  538. }
  539. updateAddressArray.add("nn" + count + " UPDATED FIELD(S)nn");
  540. preparedStatement.executeUpdate();
  541. return updateAddressArray;
  542. }
  543. } catch (ClassNotFoundException | SQLException | HeadlessException e) {
  544. throw e;
  545. } finally {
  546. close();
  547. }
  548. return updateAddressArray;
  549. }
  550.  
  551. @Override
  552. public ArrayList<String> searchCredentials(String emailAddress) throws Exception {
  553. ArrayList<String> queryResultSet = new ArrayList();
  554. try {
  555. Class.forName("com.mysql.jdbc.Driver");
  556. connect = DriverManager.getConnection("jdbc:mysql://localhost/dev?" + "user=root&password=somepassword");
  557. preparedStatement = connect.prepareStatement("SELECT * FROM dev.addresses WHERE emailaddress= '" + emailAddress + "'");
  558. resultSet = preparedStatement.executeQuery();
  559. if(resultSet.next()) {
  560. queryResultSet.add("CREDENTIALS OF: " + resultSet.getString("firstname").toUpperCase() + " " + resultSet.getString("lastname").toUpperCase() + "n");
  561. queryResultSet.add("Company Name: " + resultSet.getString("companyname"));
  562. queryResultSet.add("First Name: " + resultSet.getString("firstname"));
  563. queryResultSet.add("Last Name: " + resultSet.getString("lastname"));
  564. queryResultSet.add("Email: " + resultSet.getString("emailaddress"));
  565. queryResultSet.add("Street Name: " + resultSet.getString("street"));
  566. queryResultSet.add("House Number: " + resultSet.getString("housenumber"));
  567. queryResultSet.add("Additive: " + resultSet.getString("additive"));
  568. queryResultSet.add("Zipcode: " + resultSet.getString("zipcode"));
  569. queryResultSet.add("City: " + resultSet.getString("city") + "n");
  570. } else {
  571.  
  572. }
  573. } catch (ClassNotFoundException | SQLException | HeadlessException e) {
  574. throw e;
  575. } finally {
  576. close();
  577. }
  578. return queryResultSet;
  579. }
  580.  
  581. @Override
  582. public void deleteCredentials(String emailAddress) throws Exception {
  583. try {
  584. Class.forName("com.mysql.jdbc.Driver");
  585. connect = DriverManager.getConnection("jdbc:mysql://localhost/dev?" + "user=root&password=somepassword");
  586. preparedStatement = connect.prepareStatement("SELECT * FROM dev.addresses WHERE emailaddress= '" + emailAddress + "'");
  587. resultSet = preparedStatement.executeQuery();
  588.  
  589. if(resultSet.next()) {
  590. preparedStatement = connect.prepareStatement("DELETE FROM dev.addresses WHERE emailaddress = '" + emailAddress + "'");
  591. preparedStatement.executeUpdate();
  592. }
  593. } catch (ClassNotFoundException | SQLException | HeadlessException e) {
  594. throw e;
  595. } finally {
  596. close();
  597. }
  598. }
  599.  
  600. // Close the resultSet
  601. private void close() {
  602. try {
  603. if (resultSet != null) {
  604. resultSet.close();
  605. }
  606. if (connect != null) {
  607. connect.close();
  608. }
  609. } catch (Exception e) {
  610.  
  611. }
  612. }
  613. }
  614.  
  615. package wolffsoft.addressmanager.ui.eventhandlers;
  616.  
  617. import java.util.ArrayList;
  618. import java.util.logging.Level;
  619. import java.util.logging.Logger;
  620. import javafx.event.Event;
  621. import javafx.event.EventHandler;
  622. import javafx.scene.control.TextField;
  623. import wolffsoft.addressmanagerview.ui.AddressManagerAddSearchView;
  624. import wolffsoft.addressmanagerview.ui.controllers.AddressManagerAddSearchController;
  625. /**
  626. *
  627. * @author coos_
  628. */
  629. public class AddEventHandler implements EventHandler {
  630. private final AddressManagerAddSearchView ADDSEARCHVIEW;
  631.  
  632.  
  633. public AddEventHandler(AddressManagerAddSearchView view, TextField companyName, TextField firstName, TextField lastName, TextField emailAddress, TextField reTypeEmailAddress, TextField streetName, TextField houseNumber, TextField additive, TextField zipCode, TextField cityName) {
  634. this.ADDSEARCHVIEW = view;
  635. this.ADDSEARCHVIEW.companyNameTextField = companyName;
  636. this.ADDSEARCHVIEW.firstNameTextField = firstName;
  637. this.ADDSEARCHVIEW.lastNameTextField = lastName;
  638. this.ADDSEARCHVIEW.emailAddressTextField = emailAddress;
  639. this.ADDSEARCHVIEW.reTypeEmailAddressTextField = reTypeEmailAddress;
  640. this.ADDSEARCHVIEW.streetTextField = streetName;
  641. this.ADDSEARCHVIEW.numberTextField = houseNumber;
  642. this.ADDSEARCHVIEW.additiveTextField = additive;
  643. this.ADDSEARCHVIEW.zipCodeTextField = zipCode;
  644. this.ADDSEARCHVIEW.cityTextField = cityName;
  645. }
  646.  
  647.  
  648. @Override
  649. public void handle(Event event) {
  650. AddressManagerAddSearchController controller = new AddressManagerAddSearchController(ADDSEARCHVIEW);
  651. ArrayList getAddTextFields = new ArrayList();
  652. getAddTextFields.add(ADDSEARCHVIEW.companyNameTextField.getText());
  653. getAddTextFields.add(ADDSEARCHVIEW.firstNameTextField.getText());
  654. getAddTextFields.add(ADDSEARCHVIEW.lastNameTextField.getText());
  655. getAddTextFields.add(ADDSEARCHVIEW.emailAddressTextField.getText());
  656. getAddTextFields.add(ADDSEARCHVIEW.reTypeEmailAddressTextField.getText());
  657. getAddTextFields.add(ADDSEARCHVIEW.streetTextField.getText());
  658. getAddTextFields.add(ADDSEARCHVIEW.numberTextField.getText());
  659. getAddTextFields.add(ADDSEARCHVIEW.additiveTextField.getText());
  660. getAddTextFields.add(ADDSEARCHVIEW.zipCodeTextField.getText());
  661. getAddTextFields.add(ADDSEARCHVIEW.cityTextField.getText());
  662. try {
  663. controller.addCredentials(getAddTextFields);
  664. } catch (Exception ex) {
  665. Logger.getLogger(AddEventHandler.class.getName()).log(Level.SEVERE, null, ex);
  666. }
  667. }
  668. }
  669.  
  670. package wolffsoft.addressmanager.ui.eventhandlers;
  671.  
  672. import java.util.logging.Level;
  673. import java.util.logging.Logger;
  674. import javafx.event.Event;
  675. import javafx.event.EventHandler;
  676. import javafx.scene.control.TextField;
  677. import wolffsoft.addressmanagerview.ui.AddressManagerAddSearchView;
  678. import wolffsoft.addressmanagerview.ui.controllers.AddressManagerAddSearchController;
  679. /**
  680. *
  681. * @author coos_
  682. */
  683. public class SearchEventHandler implements EventHandler {
  684. private final AddressManagerAddSearchView ADDSEARCHVIEW;
  685.  
  686. public SearchEventHandler(AddressManagerAddSearchView AddSearchView, TextField searchEmailAddressTextField) {
  687. this.ADDSEARCHVIEW = AddSearchView;
  688. ADDSEARCHVIEW.searchEmailAddressTextField = searchEmailAddressTextField;
  689. }
  690.  
  691. @Override
  692. public void handle(Event event) {
  693. AddressManagerAddSearchController addSearchController = new AddressManagerAddSearchController(ADDSEARCHVIEW);
  694. try {
  695. addSearchController.searchCredentials(ADDSEARCHVIEW.searchEmailAddressTextField.getText());
  696. } catch (Exception ex) {
  697. Logger.getLogger(SearchEventHandler.class.getName()).log(Level.SEVERE, null, ex);
  698. }
  699. }
  700. }
  701.  
  702. package wolffsoft.addressmanagerview.ui.interfaces;
  703.  
  704. import java.util.ArrayList;
  705.  
  706. /**
  707. *
  708. * @author coos_
  709. */
  710. public interface ModelInterFace {
  711. public boolean add(ArrayList add) throws Exception;
  712. public ArrayList getSearchResult(String emailAddress) throws Exception;
  713. public boolean selectAll(String emailAddress) throws Exception;
  714. public ArrayList getUpdatedCredentials(ArrayList update) throws Exception;
  715. public void deleteCredentials(String emailAddress) throws Exception;
  716. }
  717.  
  718. package wolffsoft.addressmanagerview.ui.interfaces;
  719.  
  720. /**
  721. *
  722. * @author coos_
  723. */
  724. public interface AddSearchInterFace {
  725. void start();
  726. void displayAddedCredentials(String addedCredentials);
  727. void displaySearchResult(String searchResult);
  728. }
  729.  
  730. package wolffsoft.addressmanagerview.ui.interfaces;
  731.  
  732. import java.util.ArrayList;
  733.  
  734. /**
  735. *
  736. * @author coos_
  737. */
  738. public interface ServiceInterFace {
  739. public boolean addCredentials(ArrayList add) throws Exception;
  740. public boolean selectAll(String emailAddress) throws Exception;
  741. public ArrayList updateCredentials(ArrayList update) throws Exception;
  742. public ArrayList<String> searchCredentials(String emailAddress) throws Exception;
  743. public void deleteCredentials(String emailAddress) throws Exception;
  744. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement