Skip to content

Commit

Permalink
added number verifier, added days remaining for rental reports
Browse files Browse the repository at this point in the history
  • Loading branch information
yuans-dev committed Jul 29, 2024
1 parent c2d892a commit 17f3bb6
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 2 deletions.
1 change: 1 addition & 0 deletions cars.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,4 @@ F9A2###Ram###1500###Full-size pickup with smooth ride###3300.0
3D4E###Range Rover###Sport###Luxury SUV with sporty performance###7000.0
4E5F###Toyota###Land Cruiser###Legendary off-road SUV with luxury features###6500.0
D7D8###Audi###R8 V10###Luxury supercar with V10 engine###32000.0
F36F###Toyota###Vios###Popular subcompact sedan###2400.0
2 changes: 2 additions & 0 deletions rentals.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
2024-07-28###2024-08-04###8B7D
2024-07-28###2024-08-04###C4A9
2024-08-04###2024-08-05###C4A9
2024-07-30###2024-08-03###1B2C
2024-07-30###2024-09-01###F8C6
13 changes: 13 additions & 0 deletions src/crms/form/MainForm.form
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,7 @@
<Property name="disabledTextColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="focusLostBehavior" type="int" value="0"/>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new RentDateVerifier()" type="code"/>
</Property>
Expand Down Expand Up @@ -472,6 +473,7 @@
<Property name="disabledTextColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="focusLostBehavior" type="int" value="0"/>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new RentDateVerifier()" type="code"/>
</Property>
Expand Down Expand Up @@ -815,6 +817,9 @@
<Property name="disabledTextColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new crms.lib.gui.NumberVerifier()" type="code"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[200, 22]"/>
</Property>
Expand Down Expand Up @@ -1011,6 +1016,9 @@
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new crms.lib.gui.NumberVerifier()" type="code"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[250, 22]"/>
</Property>
Expand All @@ -1029,6 +1037,9 @@
<Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new crms.lib.gui.NumberVerifier()" type="code"/>
</Property>
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
<Dimension value="[250, 22]"/>
</Property>
Expand Down Expand Up @@ -1208,6 +1219,7 @@
<Property name="disabledTextColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="focusLostBehavior" type="int" value="0"/>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new RentDateVerifier()" type="code"/>
</Property>
Expand Down Expand Up @@ -1235,6 +1247,7 @@
<Property name="disabledTextColor" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
<Color blue="cc" green="cc" red="cc" type="rgb"/>
</Property>
<Property name="focusLostBehavior" type="int" value="0"/>
<Property name="inputVerifier" type="javax.swing.InputVerifier" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="new RentDateVerifier()" type="code"/>
</Property>
Expand Down
10 changes: 10 additions & 0 deletions src/crms/form/MainForm.java
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
rentFromDate_rent.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter(new java.text.SimpleDateFormat("M/dd/yy"))));
rentFromDate_rent.setCaretColor(new java.awt.Color(255, 255, 255));
rentFromDate_rent.setDisabledTextColor(new java.awt.Color(204, 204, 204));
rentFromDate_rent.setFocusLostBehavior(javax.swing.JFormattedTextField.COMMIT);
rentFromDate_rent.setInputVerifier(new RentDateVerifier());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
Expand All @@ -395,6 +396,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
rentUntilDate_rent.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter(new java.text.SimpleDateFormat("M/dd/yy"))));
rentUntilDate_rent.setCaretColor(new java.awt.Color(255, 255, 255));
rentUntilDate_rent.setDisabledTextColor(new java.awt.Color(204, 204, 204));
rentUntilDate_rent.setFocusLostBehavior(javax.swing.JFormattedTextField.COMMIT);
rentUntilDate_rent.setInputVerifier(new RentDateVerifier());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
Expand Down Expand Up @@ -625,6 +627,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
priceTextField_add.setForeground(new java.awt.Color(204, 204, 204));
priceTextField_add.setCaretColor(new java.awt.Color(255, 255, 255));
priceTextField_add.setDisabledTextColor(new java.awt.Color(204, 204, 204));
priceTextField_add.setInputVerifier(new crms.lib.gui.NumberVerifier());
priceTextField_add.setPreferredSize(new java.awt.Dimension(200, 22));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
Expand Down Expand Up @@ -752,6 +755,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {

priceMinTextField_report.setBackground(new java.awt.Color(44, 52, 58));
priceMinTextField_report.setForeground(new java.awt.Color(204, 204, 204));
priceMinTextField_report.setInputVerifier(new crms.lib.gui.NumberVerifier());
priceMinTextField_report.setPreferredSize(new java.awt.Dimension(250, 22));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
Expand All @@ -763,6 +767,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {

priceMaxTextField_report.setBackground(new java.awt.Color(44, 52, 58));
priceMaxTextField_report.setForeground(new java.awt.Color(204, 204, 204));
priceMaxTextField_report.setInputVerifier(new crms.lib.gui.NumberVerifier());
priceMaxTextField_report.setPreferredSize(new java.awt.Dimension(250, 22));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
Expand Down Expand Up @@ -888,6 +893,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
availableUntilTextField_report.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter(new java.text.SimpleDateFormat("M/dd/yy"))));
availableUntilTextField_report.setCaretColor(new java.awt.Color(255, 255, 255));
availableUntilTextField_report.setDisabledTextColor(new java.awt.Color(204, 204, 204));
availableUntilTextField_report.setFocusLostBehavior(javax.swing.JFormattedTextField.COMMIT);
availableUntilTextField_report.setInputVerifier(new RentDateVerifier());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 3;
Expand All @@ -904,6 +910,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
availableFromTextField_report.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter(new java.text.SimpleDateFormat("M/dd/yy"))));
availableFromTextField_report.setCaretColor(new java.awt.Color(255, 255, 255));
availableFromTextField_report.setDisabledTextColor(new java.awt.Color(204, 204, 204));
availableFromTextField_report.setFocusLostBehavior(javax.swing.JFormattedTextField.COMMIT);
availableFromTextField_report.setInputVerifier(new RentDateVerifier());
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
Expand Down Expand Up @@ -1136,6 +1143,9 @@ public void warn() {
var value = idTextField_rent.getText().trim();
new Thread(() -> {
var car = CarDatabase.getInstance().getItemById(value);
if (car == null) {
return;
}
brandLabel_rent.setText(car.getBrand());
modelLabel_rent.setText(car.getModel());
descriptionLabel_rent.setText(car.getDescription());
Expand Down
10 changes: 8 additions & 2 deletions src/crms/lib/RentalReport.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,15 @@ public class RentalReport {
*/
public RentalReport(Rental rental) {
this.rental = rental;
this.duration = formatPeriod(rental.getRentalPeriod());

this.status = (LocalDate.now().isBefore(rental.getEndDate())
|| LocalDate.now().equals(rental.getEndDate())) && (LocalDate.now().isAfter(rental.getStartDate()) || LocalDate.now().equals(rental.getStartDate())) ? RentalStatus.Active : RentalStatus.Inactive;
|| LocalDate.now().equals(rental.getEndDate()))
&& (LocalDate.now().isAfter(rental.getStartDate())
|| LocalDate.now().equals(rental.getStartDate()))
? RentalStatus.Active : RentalStatus.Inactive;
this.duration = status == RentalStatus.Inactive
? formatPeriod(rental.getRentalPeriod())
: formatPeriod(rental.getRentalPeriod()) + " (" + formatPeriod(Period.between(LocalDate.now(), rental.getEndDate())) + " remaining)";
}

/**
Expand Down
28 changes: 28 additions & 0 deletions src/crms/lib/gui/NumberVerifier.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package crms.lib.gui;

import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JTextField;

/**
*
* @author Yuan Suarez
*/
public class NumberVerifier extends InputVerifier {

@Override
public boolean verify(JComponent input) {
JTextField tf = (JTextField) input;
try {
Double.valueOf(tf.getText());
return true;
} catch (NumberFormatException e) {
return tf.getText().isBlank();

}
}
}

0 comments on commit 17f3bb6

Please sign in to comment.