in src/main/java/org/apache/sling/event/impl/support/ScheduleInfoImpl.java [97:174]
public static ScheduleInfoImpl deserialize(final ScheduleType scheduleType, final String s) {
final String[] parts = s.split("|");
if ( scheduleType == ScheduleType.YEARLY && parts.length == 4 ) {
try {
return new ScheduleInfoImpl(scheduleType,
Integer.parseInt(parts[0]),
Integer.parseInt(parts[1]),
Integer.parseInt(parts[2]),
null,
Integer.parseInt(parts[3]),
null);
} catch ( final IllegalArgumentException iae) {
// ignore and return null
}
} else if ( scheduleType == ScheduleType.MONTHLY && parts.length == 3 ) {
try {
return new ScheduleInfoImpl(scheduleType,
Integer.parseInt(parts[0]),
Integer.parseInt(parts[1]),
Integer.parseInt(parts[2]),
null,
-1,
null);
} catch ( final IllegalArgumentException iae) {
// ignore and return null
}
} else if ( scheduleType == ScheduleType.WEEKLY && parts.length == 3 ) {
try {
return new ScheduleInfoImpl(scheduleType,
Integer.parseInt(parts[0]),
Integer.parseInt(parts[1]),
Integer.parseInt(parts[2]),
null,
-1,
null);
} catch ( final IllegalArgumentException iae) {
// ignore and return null
}
} else if ( scheduleType == ScheduleType.DAILY && parts.length == 2 ) {
try {
return new ScheduleInfoImpl(scheduleType,
-1,
Integer.parseInt(parts[0]),
Integer.parseInt(parts[1]),
null,
-1,
null);
} catch ( final IllegalArgumentException iae) {
// ignore and return null
}
} else if ( scheduleType == ScheduleType.HOURLY && parts.length == 1 ) {
try {
return new ScheduleInfoImpl(scheduleType,
-1,
-1,
Integer.parseInt(parts[0]),
null,
-1,
null);
} catch ( final IllegalArgumentException iae) {
// ignore and return null
}
} else if ( scheduleType == ScheduleType.CRON && parts.length == 1 ) {
try {
return new ScheduleInfoImpl(scheduleType,
-1,
-1,
-1,
null,
-1,
parts[0]);
} catch ( final IllegalArgumentException iae) {
// ignore and return null
}
}
return null;
}