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);
}
}