override def deserialize()

in shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala [501:536]


    override def deserialize(what: Node): Either[Throwable,ProjectData] = {
      val id = (what \ "id").text
      val buildURI = (what \ "buildURI").text.uri
      val name = (what \ "name").text
      val organization = (what \ "organization").text
      val version = (what \ "version").text
      val base = (what \ "base").text.file
      val testSourceDirectories = (what \ "testSourceDir").map(_.text.file)
      val mainSourceDirectories = (what \ "mainSourceDir").map(_.text.file)
      val packagePrefix = (what \ "packagePrefix").headOption.map(_.text)
      val basePackages = (what \ "basePackage").map(_.text)
      val target = (what \ "target").text.file

      val configurations = (what \ "configuration").deserialize[ConfigurationData]
      val java = (what \ "java").deserialize[JavaData].headOption
      val scala = (what \ "scala").deserialize[ScalaData].headOption
      val compileOrder = (what \ "compileOrder").text
      val resolvers = (what \ "resolver").deserialize[ResolverData].toSet
      val play2 = (what \ "play2").deserialize[Play2Data].headOption

      val settings = (what \ "setting").deserialize[SettingData]
      val tasks = (what \ "task").deserialize[TaskData]
      val commands = (what \ "command").deserialize[CommandData]

      val generatedManagedSources = (what \ "generatedManagedSources").headOption.map(_.text).flatMap { text =>
        Try(text.toBoolean).toOption
      }.getOrElse(false)

      val tryDeps = (what \ "dependencies").deserializeOne[DependencyData]
      tryDeps.right.map { dependencies =>
        ProjectData(id, buildURI, name, organization, version, base, packagePrefix, basePackages,
          target, configurations, java, scala, compileOrder,
          dependencies, resolvers, play2, settings, tasks, commands, mainSourceDirectories, testSourceDirectories, generatedManagedSources)
      }

    }