Skip to content

Commit

Permalink
Finish scala 3 upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
tmccombs committed Feb 19, 2025
1 parent 549c2f0 commit d7c083e
Show file tree
Hide file tree
Showing 22 changed files with 129 additions and 129 deletions.
2 changes: 1 addition & 1 deletion admin/app/Application.scala
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class PiezoAdminComponents(context: Context) extends BuiltInComponentsFromContex
wire[RequestStatCollector]
)
}
val logger = Logger("com.lucidchart.piezo.Global")
val logger: Logger = Logger("com.lucidchart.piezo.Global")


override lazy val httpErrorHandler: HttpErrorHandler = new DefaultHttpErrorHandler(environment, configuration, devContext.map(_.sourceMapper), Some(router)) {
Expand Down
5 changes: 3 additions & 2 deletions admin/app/com/lucidchart/piezo/GeneratorClassLoader.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import org.objectweb.asm.{ClassWriter, Opcodes, Type}
import org.quartz.{Job, JobExecutionContext}
import org.quartz.spi.ClassLoadHelper
import org.slf4j.LoggerFactory
import org.slf4j.Logger

class DummyJob extends Job {
def execute(context: JobExecutionContext): Unit = {
Expand All @@ -12,7 +13,7 @@ class DummyJob extends Job {
}

class GeneratorClassLoader extends ClassLoader(classOf[GeneratorClassLoader].getClassLoader) with ClassLoadHelper {
val logger = LoggerFactory.getLogger(this.getClass)
val logger: Logger = LoggerFactory.getLogger(this.getClass)

private[this] def generate(name: String) = {
val classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS)
Expand Down Expand Up @@ -46,7 +47,7 @@ class GeneratorClassLoader extends ClassLoader(classOf[GeneratorClassLoader].get

def getClassLoader: GeneratorClassLoader = this

def loadClass[T](name: String, clazz: Class[T]) = loadClass(name).asInstanceOf[Class[_ <: T]]
def loadClass[T](name: String, clazz: Class[T]): Class[_ <: T] = loadClass(name).asInstanceOf[Class[_ <: T]]

def initialize() = ()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class RequestStatCollector(ec: ExecutionContext) extends EssentialFilter with Lo
result
}

def apply(next: EssentialAction) = EssentialAction { (request: RequestHeader) =>
def apply(next: EssentialAction): EssentialAction = EssentialAction { (request: RequestHeader) =>
val start = System.currentTimeMillis
next(request).map { value =>
recordStats(request, start)(value)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import play.api.mvc.*

class ApplicationController(cc: ControllerComponents) extends AbstractController(cc) {

def index = Action { implicit request =>
def index: Action[AnyContent] = Action { implicit request =>
Ok(com.lucidchart.piezo.admin.views.html.index()(request))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ import scala.io.Source

class HealthCheck(configuration: Configuration, cc: ControllerComponents) extends AbstractController(cc) with Logging {

val heartbeatFilename = configuration.getOptional[String]("com.lucidchart.piezo.heartbeatFile").getOrElse {
val heartbeatFilename: String = configuration.getOptional[String]("com.lucidchart.piezo.heartbeatFile").getOrElse {
logger.warn("heartbeat file not specified")
""
}
val minutesBetweenBeats = configuration.getOptional[Int]("healthCheck.worker.minutesBetween").getOrElse{
val minutesBetweenBeats: Int = configuration.getOptional[Int]("healthCheck.worker.minutesBetween").getOrElse{
logger.warn("minutes between heartbeats not specified. Defaulting to 5")
5
}

def main = cc.actionBuilder { implicit requests=>
def main: Action[AnyContent] = cc.actionBuilder { implicit requests=>
val workerHealth = areWorkersHealthy()
val responseBody = Json.toJson(Map("HeartbeatTime" -> Json.toJson(workerHealth._2)))
if(workerHealth._1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ trait JobDataHelper {

implicit def jobDataMap: Mapping[Option[JobDataMap]] =
optional(
list(mapping("key" -> text, "value" -> text)(DataMap.apply)(DataMap.unapply))
list(mapping("key" -> text, "value" -> text)(DataMap.apply)(r => Some((r.key, r.value))))
.transform(mapToJobData, jobDataToMap),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class JobFormHelper extends JobDataHelper {
Some((job.getKey.getName(), job.getKey.getGroup(), job.getJobClass.toString.replace("class ", ""), description, job.isDurable(), job.requestsRecovery(), Some(job.getJobDataMap)))
}

def buildJobForm = Form[JobDetail](
def buildJobForm: Form[JobDetail] = Form[JobDetail](
mapping(
"name" -> nonEmptyText(),
"group" -> nonEmptyText(),
Expand Down
34 changes: 17 additions & 17 deletions admin/app/com/lucidchart/piezo/admin/controllers/Jobs.scala
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ trait ImportResult {
val jobKey: Option[JobKey]
val errorMessage: String
val success: Boolean
def toJson = {
def toJson: JsObject = {
Json.obj(
"success" -> success,
"errorMessage" -> errorMessage
Expand All @@ -37,10 +37,10 @@ case class ImportSuccess(val jobKey: Option[JobKey], val errorMessage: String =
case class ImportFailure(val jobKey: Option[JobKey], val errorMessage: String, val success: Boolean=false) extends ImportResult

class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: ControllerComponents, monitoringTeams: MonitoringTeams) extends AbstractController(cc) with Logging with ErrorLogging with play.api.i18n.I18nSupport {
val scheduler = logExceptions(schedulerFactory.getScheduler())
val scheduler: Scheduler = logExceptions(schedulerFactory.getScheduler())
val properties = schedulerFactory.props
val jobHistoryModel = logExceptions(new JobHistoryModel(properties))
val triggerMonitoringPriorityModel = logExceptions(new TriggerMonitoringModel(properties))
val jobHistoryModel: JobHistoryModel = logExceptions(new JobHistoryModel(properties))
val triggerMonitoringPriorityModel: TriggerMonitoringModel = logExceptions(new TriggerMonitoringModel(properties))

val jobFormHelper = new JobFormHelper()
val triggerFormHelper = new TriggerFormHelper(scheduler, monitoringTeams)
Expand All @@ -58,7 +58,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
jobsByGroup.sortBy(groupList => groupList._1)
}

def getIndex = Action { implicit request =>
def getIndex: Action[AnyContent] = Action { implicit request =>
val allJobs: List[JobKey] = getJobsByGroup().flatMap(_._2).toList
val jobHistories = allJobs.flatMap({ job =>
jobHistoryModel.getJob(job).headOption
Expand All @@ -70,7 +70,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
Ok(com.lucidchart.piezo.admin.views.html.jobs(getJobsByGroup(), None, Some(jobHistories), untriggeredJobs, scheduler.getMetaData)(request))
}

def getJob(group: String, name: String) = Action { implicit request =>
def getJob(group: String, name: String): Action[AnyContent] = Action { implicit request =>
val jobKey = new JobKey(name, group)
val jobExists = scheduler.checkExists(jobKey)
if (!jobExists) {
Expand Down Expand Up @@ -109,7 +109,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
}
}

def deleteJob(group: String, name: String) = Action { implicit request =>
def deleteJob(group: String, name: String): Action[AnyContent] = Action { implicit request =>
val jobKey = new JobKey(name, group)
if (!scheduler.checkExists(jobKey)) {
val errorMsg = Some("Job %s $s not found".format(group, name))
Expand All @@ -128,7 +128,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
}
}

def getJobDetail(group: String, name: String) = Action { implicit request =>
def getJobDetail(group: String, name: String): Action[AnyContent] = Action { implicit request =>
if(request.accepts(JSON)) {
val jobKey = new JobKey(name, group)
if (scheduler.checkExists(jobKey)) {
Expand All @@ -143,7 +143,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
}
}

def getJobsDetail = Action { implicit request =>
def getJobsDetail: Action[AnyContent] = Action { implicit request =>
if (request.accepts(JSON)) {
Ok(
Json.toJson(
Expand All @@ -166,7 +166,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
val submitEditMessage = "Save"
def formEditAction(group: String, name: String): Call = routes.Jobs.putJob(group, name)

def getNewJobForm(templateGroup: Option[String] = None, templateName: Option[String] = None) = Action { implicit request =>
def getNewJobForm(templateGroup: Option[String] = None, templateName: Option[String] = None): Action[AnyContent] = Action { implicit request =>
//if (request.queryString.contains())
templateGroup match {
case Some(group) => getEditJob(group, templateName.get, true)
Expand All @@ -177,7 +177,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont

}

def getEditJob(group: String, name: String, isTemplate: Boolean)(implicit request: Request[AnyContent]) = {
def getEditJob(group: String, name: String, isTemplate: Boolean)(implicit request: Request[AnyContent]): Result = {
val jobKey = new JobKey(name, group)

if (scheduler.checkExists(jobKey)) {
Expand All @@ -191,9 +191,9 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
}
}

def getEditJobAction(group: String, name: String) = Action { implicit request => getEditJob(group, name, false) }
def getEditJobAction(group: String, name: String): Action[AnyContent] = Action { implicit request => getEditJob(group, name, false) }

def putJob(group: String, name: String) = Action { implicit request =>
def putJob(group: String, name: String): Action[AnyContent] = Action { implicit request =>
jobFormHelper.buildJobForm.bindFromRequest().fold(
formWithErrors =>
BadRequest(html.editJob(getJobsByGroup(), formWithErrors, submitNewMessage, formNewAction, false)),
Expand Down Expand Up @@ -256,7 +256,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
}
}

def postJobs = Action { implicit request: Request[AnyContent] =>
def postJobs: Action[AnyContent] = Action { implicit request: Request[AnyContent] =>
val jsonOpt = request.body.asJson.orElse {
request.body.asMultipartFormData.flatMap { d =>
d.file("file").map { f =>
Expand All @@ -282,7 +282,7 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
}
}

def postJob = Action { implicit request =>
def postJob: Action[AnyContent] = Action { implicit request =>
jobFormHelper.buildJobForm.bindFromRequest().fold(
formWithErrors =>
BadRequest(com.lucidchart.piezo.admin.views.html.editJob(getJobsByGroup(), formWithErrors, submitNewMessage, formNewAction, false)),
Expand All @@ -307,15 +307,15 @@ class Jobs(schedulerFactory: WorkerSchedulerFactory, jobView: html.job, cc: Cont
)
}

def jobGroupTypeAhead(sofar: String) = Action { implicit request =>
def jobGroupTypeAhead(sofar: String): Action[AnyContent] = Action { implicit request =>
val groups = scheduler.getJobGroupNames().asScala.toList

Ok(Json.obj("groups" -> groups.filter{ group =>
group.toLowerCase.contains(sofar.toLowerCase)
}))
}

def jobNameTypeAhead(group: String, sofar: String) = Action { implicit request =>
def jobNameTypeAhead(group: String, sofar: String): Action[AnyContent] = Action { implicit request =>
val jobs = scheduler.getJobKeys(GroupMatcher.jobGroupEquals(group)).asScala.toSet

Ok(Json.obj("jobs" -> jobs.filter(_.getName.toLowerCase.contains(sofar.toLowerCase)).map(_.getName)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ class TriggerFormHelper(scheduler: Scheduler, monitoringTeams: MonitoringTeams)
.newTrigger()
.withIdentity(name, group)
.withDescription(description)
.withSchedule(triggerType match {
.withSchedule((triggerType match {
case "cron" => cron.get
case "simple" => simple.get
})
}): ScheduleBuilder[?])
.forJob(jobName, jobGroup)
.usingJobData(jobDataMap.getOrElse(new JobDataMap()))
.build()
Expand Down Expand Up @@ -206,5 +206,5 @@ object MaxSecondsBetweenSuccessesFormatter extends Formatter[Int] {
)
} yield maxSecondsBetweenSuccesses
}
override def unbind(key: String, value: Int) = Map(key -> value.toString)
override def unbind(key: String, value: Int): Map[String, String] = Map(key -> value.toString)
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@ object TriggerHelper {
) ++ schedule
}

def writesTriggerSeq(monitoringModel: TriggerMonitoringModel) = Writes.seq(writesTrigger(monitoringModel))
def writesTriggerSeq(monitoringModel: TriggerMonitoringModel): Writes[Seq[Trigger]] = Writes.seq(writesTrigger(monitoringModel))
}
38 changes: 19 additions & 19 deletions admin/app/com/lucidchart/piezo/admin/controllers/Triggers.scala
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ import play.api.i18n.I18nSupport
class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponents, monitoringTeams: MonitoringTeams)
extends AbstractController(cc) with Logging with ErrorLogging with play.api.i18n.I18nSupport {

val scheduler = logExceptions(schedulerFactory.getScheduler())
val scheduler: Scheduler = logExceptions(schedulerFactory.getScheduler())
val properties = schedulerFactory.props
val triggerHistoryModel = logExceptions(new TriggerHistoryModel(properties))
val triggerMonitoringPriorityModel = logExceptions(new TriggerMonitoringModel(properties))
val triggerHistoryModel: TriggerHistoryModel = logExceptions(new TriggerHistoryModel(properties))
val triggerMonitoringPriorityModel: TriggerMonitoringModel = logExceptions(new TriggerMonitoringModel(properties))
val triggerFormHelper = new TriggerFormHelper(scheduler, monitoringTeams)

def firesFirst(time: Date)(trigger1: Trigger, trigger2: Trigger): Boolean = {
Expand All @@ -33,7 +33,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
else trigger1.getPriority > trigger2.getPriority
}

def getIndex = Action { implicit request =>
def getIndex: Action[AnyContent] = Action { implicit request =>
val now = new Date()
val allTriggers: List[Trigger] = TriggerHelper.getTriggersByGroup(scheduler).flatMap { case (group, triggerKeys) =>
triggerKeys.map(triggerKey => scheduler.getTrigger(triggerKey))
Expand All @@ -48,7 +48,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
)
}

def getTrigger(group: String, name: String) = Action { implicit request =>
def getTrigger(group: String, name: String): Action[AnyContent] = Action { implicit request =>
val triggerKey = new TriggerKey(name, group)
val triggerExists = scheduler.checkExists(triggerKey)
if (!triggerExists) {
Expand Down Expand Up @@ -109,7 +109,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
}
}

def deleteTrigger(group: String, name: String) = Action { implicit request =>
def deleteTrigger(group: String, name: String): Action[AnyContent] = Action { implicit request =>
val triggerKey = new TriggerKey(name, group)
val triggerExists = scheduler.checkExists(triggerKey)
if (!triggerExists) {
Expand Down Expand Up @@ -143,7 +143,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
}
}

val formNewAction = routes.Triggers.postTrigger()
val formNewAction: Call = routes.Triggers.postTrigger()
def formEditAction(group: String, name: String): Call = routes.Triggers.putTrigger(group, name)

def getNewTriggerForm(
Expand All @@ -152,7 +152,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
jobName: String = "",
templateGroup: Option[String] = None,
templateName: Option[String] = None
) = Action { implicit request =>
): Action[AnyContent] = Action { implicit request =>
templateGroup match {
case Some(group) => getEditTrigger(group, templateName.get, true)
case None =>
Expand All @@ -176,7 +176,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
}
}

def getEditTrigger(group: String, name: String, isTemplate: Boolean)(implicit request: Request[AnyContent]) = {
def getEditTrigger(group: String, name: String, isTemplate: Boolean)(implicit request: Request[AnyContent]): Result = {
val triggerKey = new TriggerKey(name, group)
val triggerExists = scheduler.checkExists(triggerKey)
if (!triggerExists) {
Expand Down Expand Up @@ -224,11 +224,11 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
}
}

def getEditTriggerAction(group: String, name: String) = Action { implicit request =>
def getEditTriggerAction(group: String, name: String): Action[AnyContent] = Action { implicit request =>
getEditTrigger(group, name, false)
}

def putTrigger(group: String, name: String) = Action { implicit request =>
def putTrigger(group: String, name: String): Action[AnyContent] = Action { implicit request =>
triggerFormHelper.buildTriggerForm.bindFromRequest().fold(
formWithErrors =>
BadRequest(
Expand Down Expand Up @@ -256,7 +256,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
)
}

def postTrigger() = Action { implicit request =>
def postTrigger(): Action[AnyContent] = Action { implicit request =>
triggerFormHelper.buildTriggerForm.bindFromRequest().fold(
formWithErrors =>
BadRequest(
Expand Down Expand Up @@ -302,15 +302,15 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
)
}

def triggerGroupTypeAhead(sofar: String) = Action { implicit request =>
def triggerGroupTypeAhead(sofar: String): Action[AnyContent] = Action { implicit request =>
val groups = scheduler.getTriggerGroupNames().asScala.toList

Ok(Json.obj("groups" -> groups.filter{ group =>
group.toLowerCase.contains(sofar.toLowerCase)
}))
}

def triggerJob(group: String, name: String) = Action { implicit request =>
def triggerJob(group: String, name: String): Action[AnyContent] = Action { implicit request =>
val jobKey = new JobKey(name, group)

if (scheduler.checkExists(jobKey)) {
Expand All @@ -328,7 +328,7 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
}
}

def patchTrigger(group: String, name: String) = Action { implicit request =>
def patchTrigger(group: String, name: String): Action[AnyContent] = Action { implicit request =>
val triggerKey = new TriggerKey(name, group)
val triggerExists = scheduler.checkExists(triggerKey)
if (!triggerExists) {
Expand Down Expand Up @@ -363,19 +363,19 @@ class Triggers(schedulerFactory: WorkerSchedulerFactory, cc: ControllerComponent
}

private trait DummyTrigger extends Trigger {
override def getKey() = { new TriggerKey("", "") }
override def getKey(): TriggerKey = { new TriggerKey("", "") }

override def getJobKey() = { new JobKey("", "") }
override def getJobKey(): JobKey = { new JobKey("", "") }

override def getDescription() = ""
}

private class DummyCronTrigger(jobGroup: String, jobName: String) extends CronTriggerImpl with DummyTrigger {
override def getCronExpression() = "7 7 7 * * ?"
override def getJobKey() = { new JobKey(jobName, jobGroup)}
override def getJobKey(): JobKey = { new JobKey(jobName, jobGroup)}
}

private class DummySimpleTrigger(jobGroup: String, jobName: String) extends SimpleTriggerImpl with DummyTrigger {
override def getJobKey() = { new JobKey(jobName, jobGroup)}
override def getJobKey(): JobKey = { new JobKey(jobName, jobGroup)}
}
}
Loading

0 comments on commit d7c083e

Please sign in to comment.