From a381a43f2e69916ec789062b73a9559c07caa116 Mon Sep 17 00:00:00 2001 From: Ilkka Seppala Date: Sat, 4 Apr 2015 21:22:13 +0300 Subject: [PATCH] Formatted Intercepting Filter source code. --- .../main/java/com/iluwatar/AddressFilter.java | 10 ++- .../src/main/java/com/iluwatar/App.java | 17 +---- .../src/main/java/com/iluwatar/Client.java | 75 ++++++++++++------- .../main/java/com/iluwatar/ContactFilter.java | 13 ++-- .../main/java/com/iluwatar/DepositFilter.java | 10 ++- .../src/main/java/com/iluwatar/Filter.java | 3 +- .../main/java/com/iluwatar/FilterChain.java | 31 ++++---- .../main/java/com/iluwatar/FilterManager.java | 25 +++---- .../main/java/com/iluwatar/NameFilter.java | 17 +++-- .../main/java/com/iluwatar/OrderFilter.java | 14 ++-- .../src/main/java/com/iluwatar/Target.java | 61 +++++++++------ 11 files changed, 158 insertions(+), 118 deletions(-) diff --git a/intercepting-filter/src/main/java/com/iluwatar/AddressFilter.java b/intercepting-filter/src/main/java/com/iluwatar/AddressFilter.java index e99185e26..12ea248f8 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/AddressFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/AddressFilter.java @@ -1,14 +1,16 @@ package com.iluwatar; + /** * Concrete implementation of filter * This filter is responsible for checking/filtering the input in the address field, returns null if field is empty * @author joshzambales * */ -public class AddressFilter implements Filter{ - public String execute(String[] request){ - if(request[2].equals("")){ +public class AddressFilter implements Filter { + public String execute(String[] request) { + if (request[2].equals("")) { return null; - }else return request[2]; + } else + return request[2]; } } \ No newline at end of file diff --git a/intercepting-filter/src/main/java/com/iluwatar/App.java b/intercepting-filter/src/main/java/com/iluwatar/App.java index af22d9ec3..853bd0d1d 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/App.java +++ b/intercepting-filter/src/main/java/com/iluwatar/App.java @@ -1,9 +1,5 @@ package com.iluwatar; -import java.util.*; -import javax.swing.*; -import javax.swing.table.*; -import java.awt.*; -import java.awt.event.*; + /** * * This is an app that checks whether the order request is valid through pre-processing done via Filters @@ -12,7 +8,7 @@ import java.awt.event.*; * */ public class App{ - public static void main(String[] args){ + public static void main(String[] args) { FilterManager filterManager = new FilterManager(new Target()); filterManager.setFilter(new NameFilter()); filterManager.setFilter(new ContactFilter()); @@ -24,12 +20,3 @@ public class App{ client.setFilterManager(filterManager); } } - - - - - - - - - diff --git a/intercepting-filter/src/main/java/com/iluwatar/Client.java b/intercepting-filter/src/main/java/com/iluwatar/Client.java index a3bd2137f..e1d6c5fa0 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/Client.java +++ b/intercepting-filter/src/main/java/com/iluwatar/Client.java @@ -1,9 +1,18 @@ package com.iluwatar; - import java.util.*; -import javax.swing.*; -import javax.swing.table.*; -import java.awt.*; -import java.awt.event.*; + +import java.awt.BorderLayout; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JRootPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; /** * The Client class is responsible for handling the input and running them through filters inside the filterManager @@ -13,36 +22,41 @@ import java.awt.event.*; * @author joshzambales * */ -public class Client extends JFrame{ +public class Client extends JFrame { + + private static final long serialVersionUID = 1L; + private FilterManager filterManager; private JLabel jl; private JTextField[] jtFields; private JTextArea[] jtAreas; private JButton clearButton, processButton; - public Client(){ + + public Client() { super("Client System"); setDefaultCloseOperation(EXIT_ON_CLOSE); - setSize(300,300); + setSize(300, 300); jl = new JLabel("RUNNING..."); jtFields = new JTextField[3]; - for(int i = 0; i < 3; i++){ + for (int i = 0; i < 3; i++) { jtFields[i] = new JTextField(); } jtAreas = new JTextArea[2]; - for(int i = 0; i < 2; i++){ + for (int i = 0; i < 2; i++) { jtAreas[i] = new JTextArea(); } - clearButton = new JButton("Clear"); - processButton = new JButton("Process"); + clearButton = new JButton("Clear"); + processButton = new JButton("Process"); setup(); } - private void setup(){ + + private void setup() { setLayout(new BorderLayout()); JPanel panel = new JPanel(); - add(jl,BorderLayout.SOUTH); + add(jl, BorderLayout.SOUTH); add(panel, BorderLayout.CENTER); - panel.setLayout(new GridLayout(6,2)); + panel.setLayout(new GridLayout(6, 2)); panel.add(new JLabel("Name")); panel.add(jtFields[0]); panel.add(new JLabel("Contact Number")); @@ -56,35 +70,40 @@ public class Client extends JFrame{ panel.add(clearButton); panel.add(processButton); - clearButton.addActionListener(new ActionListener(){ + clearButton.addActionListener(new ActionListener() { @Override - public void actionPerformed(ActionEvent e){ - for(JTextArea i : jtAreas){ + public void actionPerformed(ActionEvent e) { + for (JTextArea i : jtAreas) { i.setText(""); } - for(JTextField i : jtFields){ + for (JTextField i : jtFields) { i.setText(""); } } }); - processButton.addActionListener(new ActionListener(){ + processButton.addActionListener(new ActionListener() { @Override - public void actionPerformed(ActionEvent e){ - String request = String.format("%s&%s&%s&%s&%s",jtFields[0].getText(),jtFields[1].getText(),jtAreas[0].getText(),jtFields[2].getText(),jtAreas[1].getText()); - + public void actionPerformed(ActionEvent e) { + String request = String.format("%s&%s&%s&%s&%s", + jtFields[0].getText(), jtFields[1].getText(), + jtAreas[0].getText(), jtFields[2].getText(), + jtAreas[1].getText()); + jl.setText(sendRequest(request)); } }); - JRootPane rootPane = SwingUtilities.getRootPane(processButton); + JRootPane rootPane = SwingUtilities.getRootPane(processButton); rootPane.setDefaultButton(processButton); setVisible(true); - } - public void setFilterManager(FilterManager filterManager){ + } + + public void setFilterManager(FilterManager filterManager) { this.filterManager = filterManager; } - public String sendRequest(String request){ + + public String sendRequest(String request) { return filterManager.filterRequest(request); } -} \ No newline at end of file +} diff --git a/intercepting-filter/src/main/java/com/iluwatar/ContactFilter.java b/intercepting-filter/src/main/java/com/iluwatar/ContactFilter.java index 30cb34953..64cdf3c18 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/ContactFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/ContactFilter.java @@ -1,14 +1,17 @@ package com.iluwatar; + /** * Concrete implementation of filter * This filter checks for the contact field in which it checks if the input consist of numbers and it also checks if the input follows the length constraint (11 digits) * @author joshzambales * */ -public class ContactFilter implements Filter{ - public String execute(String[] request){ - if(request[1].equals("") || request[1].matches(".*[^\\d]+.*") || request[1].length() != 11){ +public class ContactFilter implements Filter { + public String execute(String[] request) { + if (request[1].equals("") || request[1].matches(".*[^\\d]+.*") + || request[1].length() != 11) { return null; - }else return request[1]; + } else + return request[1]; } -} \ No newline at end of file +} diff --git a/intercepting-filter/src/main/java/com/iluwatar/DepositFilter.java b/intercepting-filter/src/main/java/com/iluwatar/DepositFilter.java index 76bfb9a1a..a41849218 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/DepositFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/DepositFilter.java @@ -1,4 +1,5 @@ package com.iluwatar; + /** * Concrete implementation of filter * @@ -6,10 +7,11 @@ package com.iluwatar; * @author joshzambales * */ -public class DepositFilter implements Filter{ - public String execute(String[] request){ - if(request[3].equals("")){ +public class DepositFilter implements Filter { + public String execute(String[] request) { + if (request[3].equals("")) { return null; - }else return request[3]; + } else + return request[3]; } } diff --git a/intercepting-filter/src/main/java/com/iluwatar/Filter.java b/intercepting-filter/src/main/java/com/iluwatar/Filter.java index f127f79a8..2c2facd1d 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/Filter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/Filter.java @@ -1,4 +1,5 @@ package com.iluwatar; + /** * Filter interface * Filters perform certain tasks prior or after execution of request by request handler. @@ -6,6 +7,6 @@ package com.iluwatar; * @author joshzambales * */ -public interface Filter{ +public interface Filter { public String execute(String[] request); } diff --git a/intercepting-filter/src/main/java/com/iluwatar/FilterChain.java b/intercepting-filter/src/main/java/com/iluwatar/FilterChain.java index 09ca6598f..b71264ee1 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/FilterChain.java +++ b/intercepting-filter/src/main/java/com/iluwatar/FilterChain.java @@ -1,46 +1,49 @@ package com.iluwatar; + import java.util.*; + /** * Filter Chain carries multiple filters and help to execute them in defined order on target. * * @author joshzambales */ -public class FilterChain{ +public class FilterChain { private ArrayList filters = new ArrayList(); private final Target target; - public FilterChain(Target target){ + public FilterChain(Target target) { this.target = target; } - public void addFilter(Filter filter){ + + public void addFilter(Filter filter) { filters.add(filter); } - public String execute(String request){ + public String execute(String request) { String tempout[] = new String[filters.size()]; String tempin[] = request.split("&"); int i = 0; - try{ - for(Filter filter:filters){ + try { + for (Filter filter : filters) { tempout[i] = null; tempout[i++] = filter.execute(tempin); } - }catch(Exception e){ + } catch (Exception e) { return "NOT ENOUGHT INPUT"; } - - if(tempout[4] == null){ + + if (tempout[4] == null) { return "INVALID ORDER!"; - }else if(tempout[3] == null){ + } else if (tempout[3] == null) { return "INVALID DEPOSIT NUMBER!"; - }else if(tempout[2] == null){ + } else if (tempout[2] == null) { return "INVALID ADRDESS!"; - }else if(tempout[1] == null){ + } else if (tempout[1] == null) { return "INVALID Contact Number!"; - }else if(tempout[0] == null){ + } else if (tempout[0] == null) { return "INVALID Name!"; - }else{ + } else { target.execute(tempout); return "RUNNING..."; } diff --git a/intercepting-filter/src/main/java/com/iluwatar/FilterManager.java b/intercepting-filter/src/main/java/com/iluwatar/FilterManager.java index 25b98730b..8c9ed0fcf 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/FilterManager.java +++ b/intercepting-filter/src/main/java/com/iluwatar/FilterManager.java @@ -1,24 +1,23 @@ - package com.iluwatar; - import java.util.*; -import javax.swing.*; -import javax.swing.table.*; -import java.awt.*; -import java.awt.event.*; +package com.iluwatar; + /** - * Filter Manager manages the filters and Filter Chain. + * Filter Manager manages the filters and Filter Chain. + * * @author joshzambales * */ -public class FilterManager{ +public class FilterManager { private FilterChain filterChain; - - public FilterManager(Target target){ + + public FilterManager(Target target) { filterChain = new FilterChain(target); } - public void setFilter(Filter filter){ + + public void setFilter(Filter filter) { filterChain.addFilter(filter); } - public String filterRequest(String request){ + + public String filterRequest(String request) { return filterChain.execute(request); } -} \ No newline at end of file +} diff --git a/intercepting-filter/src/main/java/com/iluwatar/NameFilter.java b/intercepting-filter/src/main/java/com/iluwatar/NameFilter.java index de929fc24..1863a11dd 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/NameFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/NameFilter.java @@ -1,14 +1,17 @@ package com.iluwatar; + /** - * Concrete implementation of filter - * This filter checks if the input in the Name field is valid. (alphanumeric) + * Concrete implementation of filter This filter checks if the input in the Name + * field is valid. (alphanumeric) + * * @author joshzambales * */ -public class NameFilter implements Filter{ - public String execute(String[] request){ - if(request[0].equals("") || request[0].matches(".*[^\\w|\\s]+.*")){ +public class NameFilter implements Filter { + public String execute(String[] request) { + if (request[0].equals("") || request[0].matches(".*[^\\w|\\s]+.*")) { return null; - }else return request[0]; + } else + return request[0]; } -} \ No newline at end of file +} diff --git a/intercepting-filter/src/main/java/com/iluwatar/OrderFilter.java b/intercepting-filter/src/main/java/com/iluwatar/OrderFilter.java index e33dcd1c6..813ee56ea 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/OrderFilter.java +++ b/intercepting-filter/src/main/java/com/iluwatar/OrderFilter.java @@ -1,15 +1,17 @@ package com.iluwatar; + /** - * Concrete implementation of filter - * This checks for the order field, returns null when order field is empty + * Concrete implementation of filter This checks for the order field, returns + * null when order field is empty * * @author joshzambales * */ -public class OrderFilter implements Filter{ - public String execute(String[] request){ - if(request[4].equals("")){ +public class OrderFilter implements Filter { + public String execute(String[] request) { + if (request[4].equals("")) { return null; - }else return request[4]; + } else + return request[4]; } } \ No newline at end of file diff --git a/intercepting-filter/src/main/java/com/iluwatar/Target.java b/intercepting-filter/src/main/java/com/iluwatar/Target.java index 9068de95f..a268eef76 100644 --- a/intercepting-filter/src/main/java/com/iluwatar/Target.java +++ b/intercepting-filter/src/main/java/com/iluwatar/Target.java @@ -1,30 +1,46 @@ - package com.iluwatar; - import java.util.*; -import javax.swing.*; -import javax.swing.table.*; -import java.awt.*; -import java.awt.event.*; +package com.iluwatar; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JRootPane; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.SwingUtilities; +import javax.swing.table.DefaultTableModel; + /** - * This is where the requests are displayed after being validated by filters. + * This is where the requests are displayed after being validated by filters. * * @author mjoshzambales * */ -public class Target extends JFrame{ +public class Target extends JFrame { + + private static final long serialVersionUID = 1L; + private JTable jt; private JScrollPane jsp; private DefaultTableModel dtm; private JButton del; - public Target(){ + + public Target() { super("Order System"); setDefaultCloseOperation(EXIT_ON_CLOSE); - setSize(640,480); - dtm = new DefaultTableModel(new Object[]{"Name", "Contact Number", "Address", "Deposit Number", "Order"},0); + setSize(640, 480); + dtm = new DefaultTableModel(new Object[] { "Name", "Contact Number", + "Address", "Deposit Number", "Order" }, 0); jt = new JTable(dtm); del = new JButton("Delete"); setup(); } - private void setup(){ + + private void setup() { setLayout(new BorderLayout()); JPanel bot = new JPanel(); add(jt.getTableHeader(), BorderLayout.NORTH); @@ -32,28 +48,31 @@ public class Target extends JFrame{ bot.add(del, BorderLayout.EAST); add(bot, BorderLayout.SOUTH); jsp = new JScrollPane(jt); - jsp.setPreferredSize(new Dimension(500,250)); + jsp.setPreferredSize(new Dimension(500, 250)); add(jsp, BorderLayout.CENTER); del.addActionListener(new DListener()); - JRootPane rootPane = SwingUtilities.getRootPane(del); + JRootPane rootPane = SwingUtilities.getRootPane(del); rootPane.setDefaultButton(del); setVisible(true); } - public void execute(String[] request){ - dtm.addRow(new Object[]{request[0],request[1],request[2],request[3],request[4]}); + + public void execute(String[] request) { + dtm.addRow(new Object[] { request[0], request[1], request[2], + request[3], request[4] }); } - class DListener implements ActionListener{ + class DListener implements ActionListener { @Override - public void actionPerformed(ActionEvent e){ + public void actionPerformed(ActionEvent e) { int temp = jt.getSelectedRow(); - if(temp == -1) return; + if (temp == -1) + return; int temp2 = jt.getSelectedRowCount(); - for(int i = 0; i < temp2; i++){ + for (int i = 0; i < temp2; i++) { dtm.removeRow(temp); } } } -} \ No newline at end of file +}