Skip to content

Commit

Permalink
413: code reformatted
Browse files Browse the repository at this point in the history
  • Loading branch information
Denny Israel authored and manuel-mauky committed Jun 30, 2016
1 parent 6d3e95f commit 23d4fa5
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 41 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*******************************************************************************
* Copyright 2015 Alexander Casall, Manuel Mauky
*
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Expand All @@ -15,21 +15,20 @@
******************************************************************************/
package de.saxsys.mvvmfx.utils.validation;

import java.util.HashMap;
import java.util.Map;

import javafx.beans.property.ListProperty;
import javafx.beans.property.SimpleListProperty;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;

import java.util.HashMap;
import java.util.Map;

/**
* This {@link Validator} implementation is used to compose multiple other validators.
* <p>
* The {@link ValidationStatus} of this validator will contain all messages of all registered validators.
*
*
* @author manuel.mauky
*/
public class CompositeValidator implements Validator {
Expand All @@ -45,7 +44,7 @@ public CompositeValidator() {
validators.addListener(new ListChangeListener<Validator>() {
@Override
public void onChanged(Change<? extends Validator> c) {
while(c.next()) {
while (c.next()) {

// When validators are added...
c.getAddedSubList().forEach(validator -> {
Expand All @@ -55,7 +54,7 @@ public void onChanged(Change<? extends Validator> c) {
status.addMessage(validator, messages);

final ListChangeListener<ValidationMessage> changeListener = change -> {
while(change.next()) {
while (change.next()) {
// add/remove messages for this particular validator
status.addMessage(validator, change.getAddedSubList());
status.removeMessage(validator, change.getRemoved());
Expand All @@ -73,7 +72,7 @@ public void onChanged(Change<? extends Validator> c) {
c.getRemoved().forEach(validator -> {
status.removeMessage(validator);

if(listenerMap.containsKey(validator)){
if (listenerMap.containsKey(validator)) {
ListChangeListener<ValidationMessage> changeListener = listenerMap.get(validator);

validator.getValidationStatus().getMessages().removeListener(changeListener);
Expand All @@ -85,21 +84,21 @@ public void onChanged(Change<? extends Validator> c) {
});

}

public CompositeValidator(Validator... validators) {
this(); // before adding the validators we need to setup the listeners in the default constructor
addValidators(validators);
}


public void addValidators(Validator... validators) {
this.validators.addAll(validators);
}

public void removeValidators(Validator... validators) {
this.validators.removeAll(validators);
}

@Override
public ValidationStatus getValidationStatus() {
return status;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/*******************************************************************************
* Copyright 2015 Alexander Casall, Manuel Mauky
*
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Expand Down Expand Up @@ -34,24 +34,24 @@
* @author manuel.mauky
*/
public class CompositeValidatorTest {

private ValidationStatus status;

private BooleanProperty valid1 = new SimpleBooleanProperty();
private BooleanProperty valid2 = new SimpleBooleanProperty();
private CompositeValidator compositeValidator;
private ObservableRuleBasedValidator validator1;
private ObservableRuleBasedValidator validator2;

@Before
public void setup() {
validator1 = new ObservableRuleBasedValidator();
validator1.addRule(valid1, ValidationMessage.error("error1"));

validator2 = new ObservableRuleBasedValidator();
validator2.addRule(valid2, ValidationMessage.warning("warning2"));


compositeValidator = new CompositeValidator();
status = compositeValidator.getValidationStatus();
}
Expand All @@ -68,56 +68,56 @@ public void testValidatorConstructor() {
assertThat(newValidator.getValidationStatus().isValid()).isFalse();
assertThat(newValidator.getValidationStatus().getMessages()).hasSize(2);
}

@Test
public void testValidation() {
compositeValidator.addValidators(validator1, validator2);

valid1.set(true);
valid2.set(true);

assertThat(status.isValid()).isTrue();

valid1.setValue(false);

assertThat(status.isValid()).isFalse();
assertThat(asStrings(status.getErrorMessages())).containsOnly("error1");
assertThat(asStrings(status.getWarningMessages())).isEmpty();
assertThat(asStrings(status.getMessages())).containsOnly("error1");

valid2.setValue(false);
assertThat(status.isValid()).isFalse();
assertThat(asStrings(status.getErrorMessages())).containsOnly("error1");
assertThat(asStrings(status.getWarningMessages())).containsOnly("warning2");
assertThat(asStrings(status.getMessages())).containsOnly("error1", "warning2");

valid1.setValue(true);
assertThat(status.isValid()).isFalse();
assertThat(asStrings(status.getErrorMessages())).isEmpty();
assertThat(asStrings(status.getWarningMessages())).containsOnly("warning2");
assertThat(asStrings(status.getMessages())).containsOnly("warning2");

valid2.setValue(true);
assertThat(status.isValid()).isTrue();
assertThat(asStrings(status.getErrorMessages())).isEmpty();
assertThat(asStrings(status.getWarningMessages())).isEmpty();
assertThat(asStrings(status.getMessages())).isEmpty();

}

@Test
public void testLazyRegistration() {
valid1.set(false);
valid2.set(true);

assertThat(status.isValid()).isTrue(); // no validator is registered at the moment

compositeValidator.addValidators(validator2);
assertThat(status.isValid()).isTrue(); // validator2 is valid

compositeValidator.addValidators(validator1);
assertThat(status.isValid()).isFalse();

compositeValidator.removeValidators(validator1);
assertThat(status.isValid()).isTrue();
}
Expand Down Expand Up @@ -240,7 +240,7 @@ public void validatorsMayNotDeleteEachOthersValidationMessages() {
}


private List<String> asStrings(List<ValidationMessage> messages) {
private List<String> asStrings(List<ValidationMessage> messages) {
return messages
.stream()
.map(ValidationMessage::getMessage)
Expand Down

0 comments on commit 23d4fa5

Please sign in to comment.