Skip to content

Commit

Permalink
InconsistentStateDetector moved to core
Browse files Browse the repository at this point in the history
  • Loading branch information
arkadius committed Feb 18, 2025
1 parent 79834de commit 28b5f28
Show file tree
Hide file tree
Showing 18 changed files with 342 additions and 394 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ case class StatusDetails(
startTime: Option[Long] = None,
errors: List[String] = List.empty
) {

def deploymentIdUnsafe: DeploymentId =
deploymentId.getOrElse(throw new IllegalStateException(s"deploymentId is missing"))

def externalDeploymentIdUnsafe: ExternalDeploymentId =
externalDeploymentId.getOrElse(throw new IllegalStateException(s"externalDeploymentId is missing"))

}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import pl.touk.nussknacker.engine.api.process.VersionId

import java.net.URI

// FIXME abr separate core statuses and DM statuses - the same for presentation
object SimpleStateStatus {

def fromDeploymentStatus(deploymentStatus: DeploymentStatus): StateStatus = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import pl.touk.nussknacker.ui.process.ProcessService.{
}
import pl.touk.nussknacker.ui.process.ScenarioWithDetailsConversions._
import pl.touk.nussknacker.ui.process._
import pl.touk.nussknacker.ui.process.deployment.ScenarioStatusProvider
import pl.touk.nussknacker.ui.process.scenariostatus.ScenarioStatusProvider
import pl.touk.nussknacker.ui.security.api.LoggedUser
import pl.touk.nussknacker.ui.util._

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import pl.touk.nussknacker.ui.api.ProcessesResources.ProcessUnmarshallingError
import pl.touk.nussknacker.ui.api.ScenarioStatusPresenter
import pl.touk.nussknacker.ui.process.ProcessService._
import pl.touk.nussknacker.ui.process.ScenarioWithDetailsConversions._
import pl.touk.nussknacker.ui.process.deployment.ScenarioStatusProvider
import pl.touk.nussknacker.ui.process.scenariostatus.ScenarioStatusProvider
import pl.touk.nussknacker.ui.process.exception.{ProcessIllegalAction, ProcessValidationError}
import pl.touk.nussknacker.ui.process.label.ScenarioLabel
import pl.touk.nussknacker.ui.process.marshall.CanonicalProcessConverter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ import pl.touk.nussknacker.engine.api.Comment
import pl.touk.nussknacker.engine.api.deployment._
import pl.touk.nussknacker.engine.api.modelinfo.ModelInfo
import pl.touk.nussknacker.engine.api.process._
import pl.touk.nussknacker.restmodel.scenariodetails.ScenarioStatusDto
import pl.touk.nussknacker.ui.api.{DeploymentCommentSettings, ListenerApiUser}
import pl.touk.nussknacker.ui.listener.ProcessChangeEvent.{OnActionExecutionFinished, OnActionFailed, OnActionSuccess}
import pl.touk.nussknacker.ui.listener.{ProcessChangeListener, User => ListenerUser}
import pl.touk.nussknacker.ui.process.exception.ProcessIllegalAction
import pl.touk.nussknacker.ui.process.processingtype.provider.ProcessingTypeDataProvider
import pl.touk.nussknacker.ui.process.repository.ProcessDBQueryRepository.ProcessNotFoundError
import pl.touk.nussknacker.ui.process.repository._
import pl.touk.nussknacker.ui.process.scenariostatus.{ScenarioStatusProvider, ScenarioStatusWithAllowedActions}
import pl.touk.nussknacker.ui.security.api.{AdminUser, LoggedUser, NussknackerInternalUser}
import slick.dbio.DBIOAction

Expand Down Expand Up @@ -229,11 +229,11 @@ class ActionService(
private def checkIfCanPerformActionInState(
actionName: ScenarioActionName,
processDetails: ScenarioWithDetailsEntity[LatestScenarioDetailsShape],
statusWithAllowedActions: StatusWithAllowedActions
statusWithAllowedActions: ScenarioStatusWithAllowedActions
): Unit = {
if (!statusWithAllowedActions.allowedActions.contains(actionName)) {
logger.debug(
s"Action: $actionName on process: ${processDetails.name} not allowed in ${statusWithAllowedActions.status} state"
s"Action: $actionName on process: ${processDetails.name} not allowed in ${statusWithAllowedActions.scenarioStatus} state"
)
throw ProcessIllegalAction(actionName, processDetails.name, statusWithAllowedActions)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package pl.touk.nussknacker.ui.process.exception
import pl.touk.nussknacker.engine.api.deployment.{ScenarioActionName, StateStatus}
import pl.touk.nussknacker.engine.api.process.ProcessName
import pl.touk.nussknacker.ui.IllegalOperationError
import pl.touk.nussknacker.ui.process.deployment.StatusWithAllowedActions
import pl.touk.nussknacker.ui.process.scenariostatus.ScenarioStatusWithAllowedActions

final case class ProcessIllegalAction(message: String) extends IllegalOperationError(message, details = "")

Expand All @@ -12,10 +12,10 @@ object ProcessIllegalAction {
def apply(
actionName: ScenarioActionName,
processName: ProcessName,
statusWithAllowedActions: StatusWithAllowedActions
ScenarioStatusWithAllowedActions: ScenarioStatusWithAllowedActions
): ProcessIllegalAction =
ProcessIllegalAction(
s"Action: $actionName is not allowed in scenario ($processName) state: ${statusWithAllowedActions.status}, allowed actions: ${statusWithAllowedActions.allowedActions
s"Action: $actionName is not allowed in scenario ($processName) state: ${ScenarioStatusWithAllowedActions.scenarioStatus}, allowed actions: ${ScenarioStatusWithAllowedActions.allowedActions
.map(_.value)
.mkString(",")}."
)
Expand Down
Loading

0 comments on commit 28b5f28

Please sign in to comment.