Skip to content

Commit

Permalink
Reduce code duplication with static imports
Browse files Browse the repository at this point in the history
  • Loading branch information
benfortuna committed Jan 1, 2019
1 parent 3043578 commit 93fb02c
Show file tree
Hide file tree
Showing 28 changed files with 207 additions and 178 deletions.
@@ -1,11 +1,12 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.validate.PropertyValidator;
import net.fortuna.ical4j.validate.ValidationException;
import net.fortuna.ical4j.validate.Validator;

import static net.fortuna.ical4j.model.Property.ATTACH;

/**
* Created by fortuna on 12/09/15.
*/
Expand All @@ -20,6 +21,6 @@ public void validate(VAlarm target) throws ValidationException {
/*
* ; the following is optional, ; but MUST NOT occur more than once attach /
*/
PropertyValidator.getInstance().assertOneOrLess(Property.ATTACH, target.getProperties());
PropertyValidator.getInstance().assertOneOrLess(ATTACH, target.getProperties());
}
}
@@ -1,11 +1,12 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.validate.PropertyValidator;
import net.fortuna.ical4j.validate.ValidationException;
import net.fortuna.ical4j.validate.Validator;

import static net.fortuna.ical4j.model.Property.DESCRIPTION;

/**
* Created by fortuna on 12/09/15.
*/
Expand All @@ -20,6 +21,6 @@ public void validate(VAlarm target) throws ValidationException {
/*
* ; the following are all REQUIRED, ; but MUST NOT occur more than once action / description / trigger /
*/
PropertyValidator.getInstance().assertOne(Property.DESCRIPTION, target.getProperties());
PropertyValidator.getInstance().assertOne(DESCRIPTION, target.getProperties());
}
}
@@ -1,13 +1,14 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.validate.PropertyValidator;
import net.fortuna.ical4j.validate.ValidationException;
import net.fortuna.ical4j.validate.Validator;

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* Created by fortuna on 12/09/15.
*/
Expand All @@ -30,8 +31,8 @@ public void validate(final VAlarm target) throws ValidationException {
* ; the following are optional,
* ; and MAY occur more than once attach / x-prop
*/
Arrays.asList(Property.DESCRIPTION, Property.SUMMARY).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(DESCRIPTION, SUMMARY).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

PropertyValidator.getInstance().assertOneOrMore(Property.ATTENDEE, target.getProperties());
PropertyValidator.getInstance().assertOneOrMore(ATTENDEE, target.getProperties());
}
}
@@ -1,13 +1,14 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.validate.PropertyValidator;
import net.fortuna.ical4j.validate.ValidationException;
import net.fortuna.ical4j.validate.Validator;

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* Common validation for all iTIP methods.
*
Expand All @@ -33,8 +34,8 @@ public class VAlarmITIPValidator implements Validator<VAlarm> {
* {@inheritDoc}
*/
public void validate(final VAlarm target) throws ValidationException {
Arrays.asList(Property.ACTION, Property.TRIGGER).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(ACTION, TRIGGER).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

Arrays.asList(Property.DESCRIPTION, Property.DURATION, Property.REPEAT, Property.SUMMARY).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
Arrays.asList(DESCRIPTION, DURATION, REPEAT, SUMMARY).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
}
}
@@ -1,11 +1,13 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.validate.PropertyValidator;
import net.fortuna.ical4j.validate.ValidationException;
import net.fortuna.ical4j.validate.Validator;

import static net.fortuna.ical4j.model.Property.ATTACH;
import static net.fortuna.ical4j.model.Property.DESCRIPTION;

/**
* Created by fortuna on 12/09/15.
*/
Expand All @@ -27,8 +29,8 @@ public void validate(VAlarm target) throws ValidationException {
* ; and MUST NOT occur more than once description /
* ; the following is optional, ; and MAY occur more than once x-prop
*/
PropertyValidator.getInstance().assertOne(Property.ATTACH, target.getProperties());
PropertyValidator.getInstance().assertOne(ATTACH, target.getProperties());

PropertyValidator.getInstance().assertOneOrLess(Property.DESCRIPTION, target.getProperties());
PropertyValidator.getInstance().assertOneOrLess(DESCRIPTION, target.getProperties());
}
}
@@ -1,6 +1,5 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.model.property.Method;
Expand All @@ -10,6 +9,8 @@

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* METHOD:ADD Validator.
*
Expand Down Expand Up @@ -69,14 +70,14 @@ public class VEventAddValidator implements Validator<VEvent> {
private static final long serialVersionUID = 1L;

public void validate(final VEvent target) throws ValidationException {
Arrays.asList(Property.DTSTAMP, Property.DTSTART, Property.ORGANIZER, Property.SEQUENCE,
Property.SUMMARY, Property.UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(DTSTAMP, DTSTART, ORGANIZER, SEQUENCE,
SUMMARY, UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

Arrays.asList(Property.CATEGORIES, Property.CLASS, Property.CREATED, Property.DESCRIPTION,
Property.DTEND, Property.DURATION, Property.GEO, Property.LAST_MODIFIED, Property.LOCATION, Property.PRIORITY,
Property.RESOURCES, Property.STATUS, Property.TRANSP, Property.URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
Arrays.asList(CATEGORIES, CLASS, CREATED, DESCRIPTION,
DTEND, DURATION, GEO, LAST_MODIFIED, LOCATION, PRIORITY,
RESOURCES, STATUS, TRANSP, URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));

Arrays.asList(Property.RECURRENCE_ID, Property.REQUEST_STATUS).forEach(property -> PropertyValidator.getInstance().assertNone(property, target.getProperties()));
Arrays.asList(RECURRENCE_ID, REQUEST_STATUS).forEach(property -> PropertyValidator.getInstance().assertNone(property, target.getProperties()));

for (final VAlarm alarm : target.getAlarms()) {
alarm.validate(Method.ADD);
Expand Down
@@ -1,7 +1,5 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Component;
import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.validate.ComponentValidator;
import net.fortuna.ical4j.validate.PropertyValidator;
Expand All @@ -10,6 +8,9 @@

import java.util.Arrays;

import static net.fortuna.ical4j.model.Component.VALARM;
import static net.fortuna.ical4j.model.Property.*;

/**
* METHOD:CANCEL Validator.
*
Expand Down Expand Up @@ -75,16 +76,16 @@ public class VEventCancelValidator implements Validator<VEvent> {
private static final long serialVersionUID = 1L;

public final void validate(final VEvent target) throws ValidationException {
Arrays.asList(Property.DTSTAMP, Property.DTSTART, Property.ORGANIZER, Property.SEQUENCE,
Property.UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(DTSTAMP, DTSTART, ORGANIZER, SEQUENCE,
UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

Arrays.asList(Property.CATEGORIES, Property.CLASS, Property.CREATED, Property.DESCRIPTION,
Property.DTEND, Property.DTSTART, Property.DURATION, Property.GEO, Property.LAST_MODIFIED, Property.LOCATION,
Property.PRIORITY, Property.RECURRENCE_ID, Property.RESOURCES, Property.STATUS, Property.SUMMARY,
Property.TRANSP, Property.URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
Arrays.asList(CATEGORIES, CLASS, CREATED, DESCRIPTION,
DTEND, DTSTART, DURATION, GEO, LAST_MODIFIED, LOCATION,
PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, SUMMARY,
TRANSP, URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));

PropertyValidator.getInstance().assertNone(Property.REQUEST_STATUS, target.getProperties());
PropertyValidator.getInstance().assertNone(REQUEST_STATUS, target.getProperties());

ComponentValidator.assertNone(Component.VALARM, target.getAlarms());
ComponentValidator.assertNone(VALARM, target.getAlarms());
}
}
@@ -1,6 +1,5 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.model.property.Method;
Expand All @@ -11,6 +10,8 @@

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* METHOD:COUNTER Validator.
*
Expand Down Expand Up @@ -77,17 +78,17 @@ public class VEventCounterValidator implements Validator<VEvent> {
private static final long serialVersionUID = 1L;

public void validate(final VEvent target) throws ValidationException {
Arrays.asList(Property.DTSTAMP, Property.DTSTART).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(DTSTAMP, DTSTART).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

if (!CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION)) {
PropertyValidator.getInstance().assertOne(Property.ORGANIZER, target.getProperties());
PropertyValidator.getInstance().assertOne(ORGANIZER, target.getProperties());
}

Arrays.asList(Property.SEQUENCE, Property.SUMMARY, Property.UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(SEQUENCE, SUMMARY, UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

Arrays.asList(Property.CATEGORIES, Property.CLASS, Property.CREATED, Property.DESCRIPTION,
Property.DTEND, Property.DURATION, Property.GEO, Property.LAST_MODIFIED, Property.LOCATION, Property.PRIORITY,
Property.RECURRENCE_ID, Property.RESOURCES, Property.STATUS, Property.TRANSP, Property.URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
Arrays.asList(CATEGORIES, CLASS, CREATED, DESCRIPTION,
DTEND, DURATION, GEO, LAST_MODIFIED, LOCATION, PRIORITY,
RECURRENCE_ID, RESOURCES, STATUS, TRANSP, URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));

for (final VAlarm alarm : target.getAlarms()) {
alarm.validate(Method.COUNTER);
Expand Down
@@ -1,7 +1,6 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Component;
import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.validate.ComponentValidator;
import net.fortuna.ical4j.validate.PropertyValidator;
Expand All @@ -10,6 +9,8 @@

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* METHOD:DECLINECOUNTER Validator.
*
Expand Down Expand Up @@ -70,15 +71,15 @@ public class VEventDeclineCounterValidator implements Validator<VEvent> {
private static final long serialVersionUID = 1L;

public void validate(final VEvent target) throws ValidationException {
Arrays.asList(Property.DTSTAMP, Property.ORGANIZER, Property.UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(DTSTAMP, ORGANIZER, UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

Arrays.asList(Property.RECURRENCE_ID, Property.SEQUENCE).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
Arrays.asList(RECURRENCE_ID, SEQUENCE).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));

Arrays.asList(Property.ATTACH, Property.ATTENDEE, Property.CATEGORIES, Property.CLASS,
Property.CONTACT, Property.CREATED, Property.DESCRIPTION, Property.DTEND, Property.DTSTART, Property.DURATION,
Property.EXDATE, Property.EXRULE, Property.GEO, Property.LAST_MODIFIED, Property.LOCATION, Property.PRIORITY,
Property.RDATE, Property.RELATED_TO, Property.RESOURCES, Property.RRULE, Property.STATUS, Property.SUMMARY,
Property.TRANSP, Property.URL).forEach(property -> PropertyValidator.getInstance().assertNone(property, target.getProperties()));
Arrays.asList(ATTACH, ATTENDEE, CATEGORIES, CLASS,
CONTACT, CREATED, DESCRIPTION, DTEND, DTSTART, DURATION,
EXDATE, EXRULE, GEO, LAST_MODIFIED, LOCATION, PRIORITY,
RDATE, RELATED_TO, RESOURCES, RRULE, STATUS, SUMMARY,
TRANSP, URL).forEach(property -> PropertyValidator.getInstance().assertNone(property, target.getProperties()));

ComponentValidator.assertNone(Component.VALARM, target.getAlarms());
}
Expand Down
@@ -1,6 +1,5 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VAlarm;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.model.property.Method;
Expand All @@ -11,6 +10,8 @@

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* METHOD:PUBLISH Validator.
*
Expand Down Expand Up @@ -89,23 +90,23 @@ public class VEventPublishValidator implements Validator<VEvent> {
private static final long serialVersionUID = 1L;

public void validate(final VEvent target) throws ValidationException {
Arrays.asList(Property.DTSTAMP, Property.DTSTART).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(DTSTAMP, DTSTART).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

if (!CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION)) {
Arrays.asList(Property.ORGANIZER, Property.SUMMARY).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(ORGANIZER, SUMMARY).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
}

PropertyValidator.getInstance().assertOne(Property.UID, target.getProperties());
PropertyValidator.getInstance().assertOne(UID, target.getProperties());

Arrays.asList(Property.RECURRENCE_ID, Property.SEQUENCE, Property.CATEGORIES, Property.CLASS,
Property.CREATED, Property.DESCRIPTION, Property.DTEND, Property.DURATION, Property.GEO, Property.LAST_MODIFIED,
Property.LOCATION, Property.PRIORITY, Property.RESOURCES, Property.STATUS, Property.TRANSP, Property.URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));
Arrays.asList(RECURRENCE_ID, SEQUENCE, CATEGORIES, CLASS,
CREATED, DESCRIPTION, DTEND, DURATION, GEO, LAST_MODIFIED,
LOCATION, PRIORITY, RESOURCES, STATUS, TRANSP, URL).forEach(property -> PropertyValidator.getInstance().assertOneOrLess(property, target.getProperties()));

if (!CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION)) {
PropertyValidator.getInstance().assertNone(Property.ATTENDEE, target.getProperties());
PropertyValidator.getInstance().assertNone(ATTENDEE, target.getProperties());
}

PropertyValidator.getInstance().assertNone(Property.REQUEST_STATUS, target.getProperties());
PropertyValidator.getInstance().assertNone(REQUEST_STATUS, target.getProperties());

for (final VAlarm alarm : target.getAlarms()) {
alarm.validate(Method.PUBLISH);
Expand Down
@@ -1,7 +1,6 @@
package net.fortuna.ical4j.validate.component;

import net.fortuna.ical4j.model.Component;
import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.validate.ComponentValidator;
import net.fortuna.ical4j.validate.PropertyValidator;
Expand All @@ -10,6 +9,8 @@

import java.util.Arrays;

import static net.fortuna.ical4j.model.Property.*;

/**
* METHOD:REFRESH Validator.
*
Expand Down Expand Up @@ -71,15 +72,15 @@ public class VEventRefreshValidator implements Validator<VEvent> {
private static final long serialVersionUID = 1L;

public void validate(final VEvent target) throws ValidationException {
Arrays.asList(Property.ATTENDEE, Property.DTSTAMP, Property.ORGANIZER, Property.UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));
Arrays.asList(ATTENDEE, DTSTAMP, ORGANIZER, UID).forEach(property -> PropertyValidator.getInstance().assertOne(property, target.getProperties()));

PropertyValidator.getInstance().assertOneOrLess(Property.RECURRENCE_ID, target.getProperties());
PropertyValidator.getInstance().assertOneOrLess(RECURRENCE_ID, target.getProperties());

Arrays.asList(Property.ATTACH, Property.CATEGORIES, Property.CLASS, Property.CONTACT,
Property.CREATED, Property.DESCRIPTION, Property.DTEND, Property.DTSTART, Property.DURATION, Property.EXDATE,
Property.EXRULE, Property.GEO, Property.LAST_MODIFIED, Property.LOCATION, Property.PRIORITY, Property.RDATE,
Property.RELATED_TO, Property.REQUEST_STATUS, Property.RESOURCES, Property.RRULE, Property.SEQUENCE,
Property.STATUS, Property.SUMMARY, Property.TRANSP, Property.URL).forEach(property -> PropertyValidator.getInstance().assertNone(property, target.getProperties()));
Arrays.asList(ATTACH, CATEGORIES, CLASS, CONTACT,
CREATED, DESCRIPTION, DTEND, DTSTART, DURATION, EXDATE,
EXRULE, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RDATE,
RELATED_TO, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE,
STATUS, SUMMARY, TRANSP, URL).forEach(property -> PropertyValidator.getInstance().assertNone(property, target.getProperties()));

ComponentValidator.assertNone(Component.VALARM, target.getAlarms());
}
Expand Down

0 comments on commit 93fb02c

Please sign in to comment.