Skip to content

Commit

Permalink
Sort classes on BE
Browse files Browse the repository at this point in the history
  • Loading branch information
Łukasz Bigorajski committed Jan 17, 2025
1 parent 9d4084a commit efaecda
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import pl.touk.nussknacker.engine.definition.component.{ComponentStaticDefinitio
import pl.touk.nussknacker.engine.util.Implicits.RichScalaMap
import pl.touk.nussknacker.engine.ModelData
import pl.touk.nussknacker.engine.api.TemplateEvaluationResult
import pl.touk.nussknacker.engine.api.typed.typing.{Typed, TypingResult}
import pl.touk.nussknacker.engine.api.typed.typing.{Typed, TypedClass, TypingResult}
import pl.touk.nussknacker.restmodel.definition._
import pl.touk.nussknacker.ui.definition.DefinitionsService.{
ComponentUiConfigMode,
Expand Down Expand Up @@ -106,7 +106,13 @@ class DefinitionsService(
UIDefinitions(
componentGroups = ComponentGroupsPreparer.prepareComponentGroups(components),
components = components.map(component => component.component.id -> createUIComponentDefinition(component)).toMap,
classes = modelData.modelDefinitionWithClasses.classDefinitions.all.toList.map(_.clazzName),
classes = modelData.modelDefinitionWithClasses.classDefinitions.all.toList
.map(_.clazzName)
.filter {
case t: TypedClass if t.klass.isArray => false
case _ => true
}
.sortBy(_.display.toLowerCase),
scenarioProperties = {
if (forFragment) {
createUIProperties(FragmentPropertiesConfig.properties ++ fragmentPropertiesConfig, fragmentPropertiesDocsUrl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, OptionValues}
import pl.touk.nussknacker.engine.api.CirceUtil.RichACursor
import pl.touk.nussknacker.engine.api.definition.FixedExpressionValue
import pl.touk.nussknacker.engine.api.parameter.{ParameterName, ValueInputWithFixedValuesProvided}
import pl.touk.nussknacker.engine.api.typed.typing.{Typed, TypingResult, Unknown}
import pl.touk.nussknacker.engine.api.{FragmentSpecificData, MetaData}
import pl.touk.nussknacker.engine.canonicalgraph.canonicalnode.FlatNode
import pl.touk.nussknacker.engine.canonicalgraph.{CanonicalProcess, canonicalnode}
Expand Down Expand Up @@ -103,6 +104,20 @@ class DefinitionResourcesSpec
}
}

it("should return definition sorted data for allowed classes - skipping array because list should be uses instead") {
getProcessDefinitionData() ~> check {
status shouldBe StatusCodes.OK

val allowedClasses = responseAs[Json].hcursor.downField("classes").focus.value.asArray.value
val allowedClassesRefClazzNames = allowedClasses.flatMap(_.hcursor.downField("refClazzName").focus.value.asString)
val allowedClassesDisplay = allowedClasses.flatMap(_.hcursor.downField("display").focus.value.asString)

allowedClassesRefClazzNames should contain("java.util.List")
allowedClassesRefClazzNames should not contain (Array().getClass.getName)
allowedClassesDisplay shouldBe allowedClassesDisplay.sortBy(_.toLowerCase)
}
}

it("should return info about editor based on fragment parameter definition") {
val fragmentWithFixedValuesEditor = {
CanonicalProcess(
Expand Down

0 comments on commit efaecda

Please sign in to comment.