Skip to content

Commit 889c494

Browse files
committed
Merge branch 'master' of https://github.com/dervos/ltt
2 parents 416661c + 07ccbdb commit 889c494

File tree

7 files changed

+680
-8
lines changed

7 files changed

+680
-8
lines changed

LuggageTrackerTool2/src/model/LuggageDAO.java

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2745,5 +2745,104 @@ public static int readTotalLuggage() {
27452745
databaseManager.closeConnection();
27462746
}
27472747
return totalLuggage;
2748+
}
2749+
public static int readFound() {
2750+
int found = -1;
2751+
2752+
databaseManager.openConnection();
2753+
2754+
try {
2755+
String query = "SELECT count(*) as 'found'"
2756+
+ "FROM Luggage "
2757+
+ "WHERE luggagestatus = 'Found'";
2758+
2759+
ResultSet rs = databaseManager.doQuery(query);
2760+
2761+
//System.out.println(rs);
2762+
2763+
if (rs.next()) {
2764+
found = rs.getInt("found");
2765+
}
2766+
2767+
} catch (SQLException e) {
2768+
e.printStackTrace();
2769+
databaseManager.closeConnection();
2770+
}
2771+
return found;
2772+
}
2773+
2774+
public static int readMissing() {
2775+
int missing = -1;
2776+
2777+
databaseManager.openConnection();
2778+
2779+
try {
2780+
String query = "SELECT count(*) as 'missing'"
2781+
+ "FROM Luggage "
2782+
+ "WHERE luggagestatus = 'missing'";
2783+
2784+
ResultSet rs = databaseManager.doQuery(query);
2785+
2786+
//System.out.println(rs);
2787+
2788+
if (rs.next()) {
2789+
missing = rs.getInt("missing");
2790+
}
2791+
2792+
} catch (SQLException e) {
2793+
e.printStackTrace();
2794+
databaseManager.closeConnection();
2795+
}
2796+
return missing;
2797+
}
2798+
2799+
public static int readReturned() {
2800+
int returned = -1;
2801+
2802+
databaseManager.openConnection();
2803+
2804+
try {
2805+
String query = "SELECT count(*) as 'returned'"
2806+
+ "FROM Luggage "
2807+
+ "WHERE luggagestatus = 'returned'";
2808+
2809+
ResultSet rs = databaseManager.doQuery(query);
2810+
2811+
//System.out.println(rs);
2812+
2813+
if (rs.next()) {
2814+
returned = rs.getInt("returned");
2815+
}
2816+
2817+
} catch (SQLException e) {
2818+
e.printStackTrace();
2819+
databaseManager.closeConnection();
2820+
}
2821+
return returned;
2822+
}
2823+
2824+
public static int readDestroyed() {
2825+
int destroyed = -1;
2826+
2827+
databaseManager.openConnection();
2828+
2829+
try {
2830+
String query = "SELECT count(*) as 'destroyed'"
2831+
+ "FROM Luggage "
2832+
+ "WHERE luggagestatus = 'destroyed'";
2833+
2834+
ResultSet rs = databaseManager.doQuery(query);
2835+
2836+
//System.out.println(rs);
2837+
2838+
if (rs.next()) {
2839+
destroyed = rs.getInt("destroyed");
2840+
}
2841+
2842+
} catch (SQLException e) {
2843+
e.printStackTrace();
2844+
databaseManager.closeConnection();
2845+
}
2846+
return destroyed;
27482847
}
27492848
}
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
package view;
2+
3+
import java.awt.Color;
4+
import java.awt.Dimension;
5+
import java.awt.GradientPaint;
6+
import model.LuggageDAO;
7+
import model.PassengerDAO;
8+
9+
import org.jfree.chart.ChartFactory;
10+
import org.jfree.chart.ChartPanel;
11+
import org.jfree.chart.JFreeChart;
12+
import org.jfree.chart.axis.CategoryAxis;
13+
import org.jfree.chart.axis.CategoryLabelPositions;
14+
import org.jfree.chart.axis.NumberAxis;
15+
import org.jfree.chart.plot.CategoryPlot;
16+
import org.jfree.chart.plot.PlotOrientation;
17+
import org.jfree.chart.renderer.category.BarRenderer;
18+
import org.jfree.data.category.CategoryDataset;
19+
import org.jfree.data.category.DefaultCategoryDataset;
20+
import javax.swing.JPanel;
21+
import org.jfree.ui.RefineryUtilities;
22+
23+
public class BarChartStatus extends JPanel {
24+
25+
public BarChartStatus() {
26+
// super(title);
27+
CategoryDataset dataset = createDataset();
28+
JFreeChart chart = createChart(dataset);
29+
ChartPanel chartPanel = new ChartPanel(chart, false);
30+
chartPanel.setPreferredSize(new Dimension(1200, 670));
31+
add(chartPanel);
32+
}
33+
34+
private CategoryDataset createDataset() {
35+
36+
// legenda name
37+
final String series1 = "Passengers";
38+
final String series2 = "Luggage";
39+
40+
//int totalPassenger = PassengerDAO.readTotalPassenger();
41+
42+
int totalLuggage = LuggageDAO.readTotalLuggage();
43+
int foundLuggage = LuggageDAO.readFound();
44+
int missingLuggage = LuggageDAO.readMissing();
45+
int returnedLuggage = LuggageDAO.readReturned();
46+
int destroyedLuggage = LuggageDAO.readDestroyed();
47+
// x as.
48+
final String category1 = "Passengers";
49+
final String category2 = "Luggage";
50+
// final String category3 = "Category 3";
51+
// final String category4 = "Category 4";
52+
// final String category5 = "Category 5";
53+
54+
// create the dataset...
55+
final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
56+
57+
//dataset.addValue(totalPassenger, series1, category1);
58+
// dataset.addValue(4.0, series1, category2);
59+
// dataset.addValue(3.0, series1, category3);
60+
// dataset.addValue(5.0, series1, category4);
61+
// dataset.addValue(5.0, series1, category5);
62+
63+
dataset.addValue(totalLuggage, series2, category2);
64+
// dataset.addValue(readFound, series2, category2);
65+
// dataset.addValue(readMissing, series2, category2);
66+
// dataset.addValue(readReturned, series2, category2);
67+
// dataset.addValue(readDestroyed, series2, category2);
68+
69+
// dataset.addValue(4.0, series3, category1);
70+
// dataset.addValue(3.0, series3, category2);
71+
// dataset.addValue(2.0, series3, category3);
72+
// dataset.addValue(3.0, series3, category4);
73+
// dataset.addValue(6.0, series3, category5);
74+
75+
return dataset;
76+
77+
}
78+
79+
private JFreeChart createChart(final CategoryDataset dataset) {
80+
81+
// create the chart...
82+
final JFreeChart chart = ChartFactory.createBarChart(
83+
"Luggage status graph", // chart title
84+
"Category", // domain axis label
85+
"Amount", // range axis label
86+
dataset, // data
87+
PlotOrientation.VERTICAL, // orientation
88+
true, // include legend
89+
true, // tooltips?
90+
false // URLs?
91+
);
92+
93+
// NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
94+
95+
// set the background color for the chart...
96+
chart.setBackgroundPaint(Color.white);
97+
98+
// get a reference to the plot for further customisation...
99+
final CategoryPlot plot = chart.getCategoryPlot();
100+
plot.setBackgroundPaint(Color.lightGray);
101+
plot.setDomainGridlinePaint(Color.white);
102+
plot.setRangeGridlinePaint(Color.white);
103+
104+
// set the range axis to display integers only...
105+
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
106+
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
107+
108+
// disable bar outlines...
109+
final BarRenderer renderer = (BarRenderer) plot.getRenderer();
110+
renderer.setDrawBarOutline(false);
111+
112+
// set up gradient paints for series...
113+
final GradientPaint gp0 = new GradientPaint(
114+
0.0f, 0.0f, Color.blue,
115+
0.0f, 0.0f, Color.lightGray
116+
);
117+
final GradientPaint gp1 = new GradientPaint(
118+
0.0f, 0.0f, Color.green,
119+
0.0f, 0.0f, Color.lightGray
120+
);
121+
final GradientPaint gp2 = new GradientPaint(
122+
0.0f, 0.0f, Color.red,
123+
0.0f, 0.0f, Color.lightGray
124+
);
125+
renderer.setSeriesPaint(0, gp0);
126+
renderer.setSeriesPaint(1, gp1);
127+
renderer.setSeriesPaint(2, gp2);
128+
129+
final CategoryAxis domainAxis = plot.getDomainAxis();
130+
domainAxis.setCategoryLabelPositions(
131+
CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)
132+
);
133+
// OPTIONAL CUSTOMISATION COMPLETED.
134+
135+
return chart;
136+
137+
}
138+
139+
public static void main(final String[] args) {
140+
141+
BarChartStatus demo = new BarChartStatus();
142+
// demo.pack();
143+
// RefineryUtilities.centerFrameOnScreen(demo);
144+
demo.setVisible(true);
145+
146+
}
147+
}

LuggageTrackerTool2/src/view/EditPanel.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,10 +278,24 @@ public model.Passenger createPassenger(int id) throws CustomException {
278278
} else if (name.length() == 0) {
279279
throw new CustomException("First name has to be filled in.", NAME_INPUT);
280280
}
281+
282+
if (hasDigit(name)) {
283+
throw new CustomException("First name can't contain digits.", NAME_INPUT);
284+
}
281285

282286
if (insertion.length() > 8) {
283287
throw new CustomException("Insertion length is too long, 8 characters maximum. You've got: " + insertion.length(), SURNAME_TUSSENVOEGSEL_INPUT);
284288
}
289+
290+
if (hasDigit(insertion)) {
291+
throw new CustomException("Insertion can't contain digits.", SURNAME_TUSSENVOEGSEL_INPUT);
292+
}
293+
294+
if (hasDigit(surname)) {
295+
throw new CustomException("Surname can't contain digits.", SURNAME_INPUT);
296+
}
297+
298+
285299

286300
if (surname.length() > 35) {
287301
throw new CustomException("Surname length is too long, 35 characters maximum. You've got: " + surname.length(), SURNAME_INPUT);
@@ -356,6 +370,17 @@ public model.Passenger createPassenger(int id) throws CustomException {
356370

357371
return tempPassenger;
358372
}
373+
374+
public boolean hasDigit(String text) {
375+
char[] characters = text.toCharArray();
376+
for (int i = 0; i < characters.length; i++) {
377+
if (Character.isDigit(characters[i])) {
378+
return true;
379+
}
380+
}
381+
382+
return false;
383+
}
359384

360385
public boolean hasAlpha(String text) {
361386
char[] characters = text.toCharArray();

LuggageTrackerTool2/src/view/MainMenu.form

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8" ?>
22

3-
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
3+
<Form version="1.3" maxVersion="1.8" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
44
<Properties>
55
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
66
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">

LuggageTrackerTool2/src/view/MainMenu.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*/
1111
public class MainMenu extends JPanel {
1212

13-
private JPanel passengerTab, luggageTab, accountTab, managementTab;
13+
private JPanel passengerTab, luggageTab, accountTab, managementTab, managerSettingsTab, ManagerLuggageGraph;
1414
private view.InformationPanel informationPanel;
1515

1616
/**
@@ -40,7 +40,13 @@ public MainMenu() {
4040

4141
private void addManagerTabs() {
4242
managementTab = new view.BarChartMonthStatus2014();
43-
jTabbedPane.add("Manager Pane", managementTab);
43+
managerSettingsTab = new view.ManagerMenu();
44+
ManagerLuggageGraph = new view.BarChartStatus();
45+
jTabbedPane.addTab("Manager Pane", managementTab);
46+
// JTabbedPane.addTab("Graph settings", managerSettingsTab);
47+
// JTabbedPane.addTab("luggage graph",ManagerLuggageGraph);
48+
49+
4450
}
4551

4652
private void addAllTabs() {

0 commit comments

Comments
 (0)