Skip to content

Commit

Permalink
refactoring codes to methods. and use stream instead of normal for loops
Browse files Browse the repository at this point in the history
  • Loading branch information
yl-coder committed Jun 29, 2016
1 parent c20cb8f commit ada15a0
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions src/main/java/address/controller/PersonOverviewController.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
import javafx.scene.control.*;
import javafx.scene.control.Alert.AlertType;

import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Optional;

/**
Expand Down Expand Up @@ -118,8 +120,8 @@ private void initialize() {
private void handleDeletePersons() {
final List<ReadOnlyViewablePerson> selected = personListView.getSelectionModel().getSelectedItems();

if (selected.isEmpty() || isListContainingNullObject(selected)) {
showNoSelectionAlert();
if (isSelectionValid()) {
showInvalidSelectionAlert();
} else {
selected.stream()
.forEach(target -> {
Expand All @@ -129,13 +131,9 @@ private void handleDeletePersons() {
}
}

private boolean isListContainingNullObject(List<ReadOnlyViewablePerson> selected) {
for (Object obj : selected) {
if (obj == null){
return true;
}
}
return false;
private boolean isSelectionValid() {
final List<?> selected = personListView.getSelectionModel().getSelectedItems();
return selected.isEmpty() || selected.stream().anyMatch(Objects::isNull);
}

/**
Expand All @@ -154,8 +152,8 @@ private void handleNewPerson() {
private void handleRetagPersons() {
List<ReadOnlyViewablePerson> selectedPersons = personListView.getSelectionModel().getSelectedItems();

if (selectedPersons.isEmpty() || isListContainingNullObject(selectedPersons)) {
showNoSelectionAlert();
if (isSelectionValid()) {
showInvalidSelectionAlert();
return;
}

Expand All @@ -179,7 +177,7 @@ private void handleRetagPersons() {
private void handleEditPerson() {
final ReadOnlyPerson editTarget = personListView.getSelectionModel().getSelectedItem();
if (editTarget == null) { // no selection
showNoSelectionAlert();
showInvalidSelectionAlert();
return;
}
modelManager.editPersonThroughUI(editTarget,
Expand All @@ -188,8 +186,8 @@ private void handleEditPerson() {

private void handleCancelPersonOperations() {
final List<ReadOnlyViewablePerson> selectedPersons = personListView.getSelectionModel().getSelectedItems();
if (selectedPersons.isEmpty() || isListContainingNullObject(selectedPersons)) {
showNoSelectionAlert();
if (isSelectionValid()) {
showInvalidSelectionAlert();
return;
}
selectedPersons.stream().forEach(selectedPerson -> {
Expand Down Expand Up @@ -271,9 +269,9 @@ private void jumpToListItem(int targetIndex) {
selectItem(indexOfItem);
}

private void showNoSelectionAlert() {
private void showInvalidSelectionAlert() {
mainController.showAlertDialogAndWait(AlertType.WARNING,
"No Selection", "No Person Selected", "Please select a person in the list.");
"Invalid Selection", "No Person Selected", "Please select a person in the list.");
}

/**
Expand Down

0 comments on commit ada15a0

Please sign in to comment.