Skip to content

Commit e1aec15

Browse files
committed
Fixed pipeline job log messages.
1 parent ef291b5 commit e1aec15

File tree

3 files changed

+16
-35
lines changed

3 files changed

+16
-35
lines changed

panoramapublic/src/org/labkey/panoramapublic/message/PrivateDataMessageScheduler.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package org.labkey.panoramapublic.message;
22

33
import org.apache.logging.log4j.Logger;
4-
import org.jetbrains.annotations.Nullable;
54
import org.labkey.api.data.Container;
6-
import org.labkey.api.data.ContainerManager;
75
import org.labkey.api.pipeline.PipeRoot;
86
import org.labkey.api.pipeline.PipelineJob;
97
import org.labkey.api.pipeline.PipelineService;
@@ -15,14 +13,13 @@
1513
import org.labkey.panoramapublic.model.Journal;
1614
import org.labkey.panoramapublic.pipeline.PrivateDataReminderJob;
1715
import org.labkey.panoramapublic.query.JournalManager;
18-
import org.quartz.DateBuilder;
16+
import org.quartz.CronScheduleBuilder;
1917
import org.quartz.Job;
2018
import org.quartz.JobBuilder;
2119
import org.quartz.JobDetail;
2220
import org.quartz.JobExecutionContext;
2321
import org.quartz.Scheduler;
2422
import org.quartz.SchedulerException;
25-
import org.quartz.SimpleScheduleBuilder;
2623
import org.quartz.Trigger;
2724
import org.quartz.TriggerBuilder;
2825
import org.quartz.TriggerKey;
@@ -77,15 +74,10 @@ public void initialize(boolean enable)
7774

7875
protected Trigger getTrigger()
7976
{
80-
// 1st of every month at 8:00AM
81-
// return TriggerBuilder.newTrigger()
82-
// .withIdentity(TRIGGER_KEY)
83-
// .withSchedule(CronScheduleBuilder.monthlyOnDayAndHourAndMinute(1, 8, 0))
84-
// .build();
77+
// Run at 8:00AM every morning
8578
return TriggerBuilder.newTrigger()
8679
.withIdentity(TRIGGER_KEY)
87-
.withSchedule(SimpleScheduleBuilder.repeatMinutelyForever(2))
88-
.startAt(DateBuilder.futureDate(5, DateBuilder.IntervalUnit.SECOND))
80+
.withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(8, 0))
8981
.build();
9082
}
9183

panoramapublic/src/org/labkey/panoramapublic/pipeline/PrivateDataReminderJob.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.labkey.api.security.User;
1616
import org.labkey.api.util.FileUtil;
1717
import org.labkey.api.util.PageFlowUtil;
18+
import org.labkey.api.util.StringUtilsLabKey;
1819
import org.labkey.api.util.URLHelper;
1920
import org.labkey.api.view.ViewBackgroundInfo;
2021
import org.labkey.panoramapublic.PanoramaPublicManager;
@@ -78,7 +79,7 @@ public static List<Integer> getPrivateDatasets(Journal panoramaPublic)
7879
for (Container folder : subFolders)
7980
{
8081
ExperimentAnnotations exptAnnotations = ExperimentAnnotationsManager.getExperimentInContainer(folder);
81-
if (exptAnnotations != null)
82+
if (exptAnnotations != null && !exptAnnotations.isPublic())
8283
{
8384
privateDataIds.add(exptAnnotations.getId());
8485
}
@@ -91,30 +92,30 @@ private static ReminderDecision getReminderDecision(@NotNull ExperimentAnnotatio
9192
{
9293
if (exptAnnotations.isPublic())
9394
{
94-
return ReminderDecision.skip("Data is already public.");
95+
return ReminderDecision.skip("Data is already public");
9596
}
9697

9798
if (!ExperimentAnnotationsManager.isCurrentVersion(exptAnnotations))
9899
{
99-
return ReminderDecision.skip("Not the current version of the experiment.");
100+
return ReminderDecision.skip("Not the current version of the experiment");
100101
}
101102

102103
DatasetStatus datasetStatus = DatasetStatusManager.getForShortUrl(exptAnnotations.getShortUrl());
103104
if (datasetStatus != null)
104105
{
105106
if (datasetStatus.deletionRequested())
106107
{
107-
return ReminderDecision.skip("Submitter has requested deletion.");
108+
return ReminderDecision.skip("Submitter has requested deletion");
108109
}
109110

110111
if (settings.isExtensionValid(datasetStatus))
111112
{
112-
return ReminderDecision.skip("Submitter requested an extension. Extension is current.");
113+
return ReminderDecision.skip("Submitter requested an extension. Extension is current");
113114
}
114115

115116
if (settings.isLastReminderRecent(datasetStatus))
116117
{
117-
return ReminderDecision.skip("Recent reminder already sent.");
118+
return ReminderDecision.skip("Recent reminder already sent");
118119
}
119120
}
120121
return reminderIsDue(exptAnnotations, settings);
@@ -129,7 +130,7 @@ private static ReminderDecision reminderIsDue(ExperimentAnnotations exptAnnotati
129130
LocalDate firstReminderDate = copyDate.plusMonths(settings.getDelayUntilFirstReminder());
130131
if (LocalDate.now().isBefore(firstReminderDate))
131132
{
132-
return ReminderDecision.skip(String.format("First reminder not due until %s.", firstReminderDate.format(DateTimeFormatter.ofPattern("MMMM d, yyyy"))));
133+
return ReminderDecision.skip(String.format("First reminder not due until %s", firstReminderDate.format(DateTimeFormatter.ofPattern("MMMM d, yyyy"))));
133134
}
134135
return ReminderDecision.post();
135136
}
@@ -610,12 +611,12 @@ public void logSummary(Logger log)
610611
{
611612
if (!_skipped.isEmpty())
612613
{
613-
log.info("Skipped posting reminders for " + _skipped.size() + " experiments");
614+
log.info(String.format("Skipped posting reminders for %s.", StringUtilsLabKey.pluralize(_skipped.size(), "experiment")));
614615
}
615616

616617
if (_processed > 0)
617618
{
618-
log.info("Successfully processed " + _processed + " experiments");
619+
log.info(String.format("Successfully processed %s.", StringUtilsLabKey.pluralize(_processed, "experiment")));
619620
}
620621

621622
log.info(String.format("Processing complete: %d total, %d processed, %d skipped, %d errors",

panoramapublic/test/src/org/labkey/test/tests/panoramapublic/PrivateDataReminderTest.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import org.labkey.test.Locator;
77
import org.labkey.test.categories.External;
88
import org.labkey.test.categories.MacCossLabModules;
9-
import org.labkey.test.components.panoramapublic.TargetedMsExperimentWebPart;
109
import org.labkey.test.pages.LabkeyErrorPage;
1110
import org.labkey.test.util.ApiPermissionsHelper;
1211
import org.labkey.test.util.DataRegionTable;
@@ -37,7 +36,6 @@ public class PrivateDataReminderTest extends PanoramaPublicBaseTest
3736
@Test
3837
public void testPrivateDataReminder()
3938
{
40-
// String panoramaPublicProject = "Panorama Public 2";
4139
String panoramaPublicProject = PANORAMA_PUBLIC;
4240
goToProjectHome(panoramaPublicProject);
4341
ApiPermissionsHelper permissionsHelper = new ApiPermissionsHelper(this);
@@ -94,8 +92,6 @@ private DataFolderInfo createAndSubmitFolder(String testProject, String sourceFo
9492
String shortAccessUrl = setupFolderSubmitAndCopy(testProject, sourceFolder, targetFolder, experimentTitle,
9593
submitter, submitterName, admin, SKY_FILE_1);
9694
goToProjectFolder(panoramaPublicProject, targetFolder);
97-
// TargetedMsExperimentWebPart expWebPart = new TargetedMsExperimentWebPart(this);
98-
// String shortAccessUrl = expWebPart.getAccessLink();
9995
goToExperimentDetailsPage();
10096
int exptAnnotationsId = Integer.parseInt(portalHelper.getUrlParam("id"));
10197
return new DataFolderInfo(sourceFolder, targetFolder, shortAccessUrl, experimentTitle, exptAnnotationsId, submitter);
@@ -169,7 +165,7 @@ private void testSendingReminders(String projectName, List<DataFolderInfo> dataF
169165
verifyReminderPosted(projectName, privateData.get(0), 1); // No new reminders since reminder frequency is set to 1.
170166
verifyReminderPosted(projectName, privateData.get(1), 1);
171167
message = String.format("Skipping reminder for experiment Id %d - Recent reminder already sent", privateData.get(0).getExperimentAnnotationsId());
172-
verifyPipelineJobLogMessage(projectName, message, "Skipped posting reminders for 1 experiments");
168+
verifyPipelineJobLogMessage(projectName, message, "Skipped posting reminders for 1 experiment");
173169

174170
// Change reminder frequency to 0 again.
175171
log("Changing reminder settings. Setting reminder frequency to 0.");
@@ -183,7 +179,7 @@ private void testSendingReminders(String projectName, List<DataFolderInfo> dataF
183179
verifyReminderPosted(projectName, privateData.get(1), 2); // Reminder posted since reminder frequency is 0.
184180
message = String.format("Skipping reminder for experiment Id %d - Submitter requested an extension. Extension is current",
185181
privateData.get(0).getExperimentAnnotationsId());
186-
verifyPipelineJobLogMessage(projectName, message, "Skipped posting reminders for 1 experiments");
182+
verifyPipelineJobLogMessage(projectName, message, "Skipped posting reminders for 1 experiment");
187183

188184
// Request deletion for the second experiment.
189185
log("Requesting deletion for experiment Id " + privateData.get(1).getExperimentAnnotationsId());
@@ -277,14 +273,6 @@ private void verifyNoReminderPosted(String projectName, DataFolderInfo folderInf
277273
verifyReminderPosted(projectName, folderInfo, 0);
278274
}
279275

280-
private void verifyReminderPosted(String projectName, List<DataFolderInfo> folderInfos, int count)
281-
{
282-
for (DataFolderInfo folderInfo: folderInfos)
283-
{
284-
verifyReminderPosted(projectName, folderInfo, count);
285-
}
286-
}
287-
288276
private void verifyReminderPosted(String projectName, DataFolderInfo folderInfo, int count)
289277
{
290278
goToProjectFolder(projectName, folderInfo.getTargetFolder());
@@ -391,7 +379,7 @@ private void goToSendRemindersPage(String projectName)
391379
selectOptionByText(Locator.name("journal"), projectName);
392380
click(Locator.linkWithText("Send Reminders Now"));
393381
waitForText("Send Reminders");
394-
assertEquals("/" + projectName, getCurrentContainerPath());
382+
assertTextPresent(projectName, "A reminder message will be sent to the submitters of the selected experiments");
395383
}
396384

397385
private static class DataFolderInfo

0 commit comments

Comments
 (0)