diff --git a/pom.xml b/pom.xml index 0e5b399..c2cfd29 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.jenkins-ci.plugins plugin - 5.2102.v5f5fe09fccf1 + 6.2122.v70b_7b_f659d72 io.jenkins.plugins @@ -21,6 +21,7 @@ false 24.12.0 11.6.2 + false Calendar View Plugin @@ -68,9 +69,25 @@ pom import + + org.jenkins-ci.plugins + parameterized-scheduler + + 378.va_234d1c44456 + + + io.jenkins.plugins + extended-timer-trigger + + 48.vf99b_c63a_685b_ + + + io.jenkins.plugins + commons-text-api + io.jenkins.plugins jquery3-api @@ -88,13 +105,11 @@ org.jenkins-ci.plugins parameterized-scheduler - 374.v531b_4f4d99b_3 true io.jenkins.plugins extended-timer-trigger - 48.vf99b_c63a_685b_ true diff --git a/src/main/java/io/jenkins/plugins/view/calendar/CalendarView.java b/src/main/java/io/jenkins/plugins/view/calendar/CalendarView.java index 765137c..2532369 100644 --- a/src/main/java/io/jenkins/plugins/view/calendar/CalendarView.java +++ b/src/main/java/io/jenkins/plugins/view/calendar/CalendarView.java @@ -32,7 +32,7 @@ import io.jenkins.plugins.view.calendar.service.CronJobService; import io.jenkins.plugins.view.calendar.time.Moment; import io.jenkins.plugins.view.calendar.util.RequestUtil; -import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.text.StringEscapeUtils; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; import org.kohsuke.stapler.DataBoundConstructor; @@ -423,7 +423,7 @@ public List getEvents() throws ParseException { } public String jsonEscape(final String text) { - return StringEscapeUtils.escapeJavaScript(text); + return StringEscapeUtils.escapeEcmaScript(text); } @Extension diff --git a/src/main/java/io/jenkins/plugins/view/calendar/event/CalendarEventFactory.java b/src/main/java/io/jenkins/plugins/view/calendar/event/CalendarEventFactory.java index d2d1fd3..d352887 100644 --- a/src/main/java/io/jenkins/plugins/view/calendar/event/CalendarEventFactory.java +++ b/src/main/java/io/jenkins/plugins/view/calendar/event/CalendarEventFactory.java @@ -32,7 +32,6 @@ import io.jenkins.plugins.view.calendar.time.MomentRange; import io.jenkins.plugins.view.calendar.util.DateUtil; -import org.apache.commons.lang.StringUtils; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -40,6 +39,7 @@ import java.util.GregorianCalendar; import java.util.List; import java.util.Locale; +import java.util.Objects; @Restricted(NoExternalUse.class) public class CalendarEventFactory { @@ -70,7 +70,7 @@ private abstract class CalendarEventImpl implements CalendarEvent { private transient List lastEvents; /* default */ final String initId(final String url, final long startTimeInMillis) { - return StringUtils.defaultString(url, "") + return Objects.requireNonNullElse(url, "") .replace("/", "-") .toLowerCase(Locale.ENGLISH) + startTimeInMillis; } diff --git a/src/main/java/io/jenkins/plugins/view/calendar/service/CronJobService.java b/src/main/java/io/jenkins/plugins/view/calendar/service/CronJobService.java index 73c5ec3..77f1e04 100644 --- a/src/main/java/io/jenkins/plugins/view/calendar/service/CronJobService.java +++ b/src/main/java/io/jenkins/plugins/view/calendar/service/CronJobService.java @@ -35,7 +35,6 @@ import io.jenkins.plugins.view.calendar.util.PluginUtil; import jenkins.triggers.TriggeredItem; -import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.jenkinsci.plugins.parameterizedscheduler.ParameterizedTimerTrigger; import org.kohsuke.accmod.Restricted; @@ -119,15 +118,17 @@ public List getCronTriggers(final Job job, final CalendarViewEventsType for (final Trigger jobTrigger: jobTriggers) { if (eventsType == CalendarViewEventsType.ALL || (eventsType == CalendarViewEventsType.BUILDS ^ jobTrigger instanceof SCMTrigger)) { - if (StringUtils.isNotBlank(jobTrigger.getSpec())) { + if (jobTrigger.getSpec() != null && !jobTrigger.getSpec().isBlank()) { cronTriggers.add(jobTrigger); } else if (PluginUtil.hasParameterizedSchedulerPluginInstalled() - && jobTrigger instanceof ParameterizedTimerTrigger - && StringUtils.isNotBlank(((ParameterizedTimerTrigger) jobTrigger).getParameterizedSpecification())) { + && jobTrigger instanceof ParameterizedTimerTrigger ptt + && ptt.getParameterizedSpecification() != null + && !ptt.getParameterizedSpecification().isBlank()) { cronTriggers.add(jobTrigger); - } else if (PluginUtil.hasExtendedTimerTriggerPluginInstalled() && - jobTrigger instanceof ExtendedTimerTrigger - && StringUtils.isNotBlank(((ExtendedTimerTrigger) jobTrigger).getCronSpec())) { + } else if (PluginUtil.hasExtendedTimerTriggerPluginInstalled() + && jobTrigger instanceof ExtendedTimerTrigger ett + && ett.getCronSpec() != null + && !ett.getCronSpec().isBlank()) { cronTriggers.add(jobTrigger); } }