Ejemplo n.º 1
0
  RubyContinuousVariable RubyContinuousVariable_Impl::fromVariant(const QVariant& variant,
                                                                  const VersionString& version)
  {
    QVariantMap map = variant.toMap();

    // dummy measure. need to do something better sometime (like make sure overload version of
    // this method is always called)
    RubyMeasure dummyMeasure(toPath("*.rb"),
                             FileReferenceType::Unknown,
                             FileReferenceType::Unknown);

    return RubyContinuousVariable(
          toUUID(map["uuid"].toString().toStdString()),
          toUUID(map["version_uuid"].toString().toStdString()),
          map.contains("name") ? map["name"].toString().toStdString() : std::string(),
          map.contains("display_name") ? map["display_name"].toString().toStdString() : std::string(),
          map.contains("description") ? map["description"].toString().toStdString() : std::string(),
          map.contains("uncertainty_description") ? analysis::detail::toUncertaintyDescription(map["uncertainty_description"],version) : OptionalUncertaintyDescription(),
          map.contains("minimum") ? map["minimum"].toDouble() : OptionalDouble(),
          map.contains("maximum") ? map["maximum"].toDouble() : OptionalDouble(),
          map.contains("increment") ? map["increment"].toDouble() : OptionalDouble(),
          map.contains("n_steps") ? map["n_steps"].toInt() : OptionalInt(),
          ruleset::detail::toOSArgument(map["argument"],version),
          dummyMeasure);
  }
Ejemplo n.º 2
0
  RubyContinuousVariable RubyContinuousVariable_Impl::fromVariant(const QVariant& variant,
                                                                  const Measure& measure,
                                                                  const VersionString& version)
  {
    QVariantMap map = variant.toMap();

    OS_ASSERT(measure.optionalCast<RubyMeasure>());

    return RubyContinuousVariable(
          toUUID(map["uuid"].toString().toStdString()),
          toUUID(map["version_uuid"].toString().toStdString()),
          map.contains("name") ? map["name"].toString().toStdString() : std::string(),
          map.contains("display_name") ? map["display_name"].toString().toStdString() : std::string(),
          map.contains("description") ? map["description"].toString().toStdString() : std::string(),
          map.contains("uncertainty_description") ? analysis::detail::toUncertaintyDescription(map["uncertainty_description"],version) : OptionalUncertaintyDescription(),
          map.contains("minimum") ? map["minimum"].toDouble() : OptionalDouble(),
          map.contains("maximum") ? map["maximum"].toDouble() : OptionalDouble(),
          map.contains("increment") ? map["increment"].toDouble() : OptionalDouble(),
          map.contains("n_steps") ? map["n_steps"].toInt() : OptionalInt(),
          ruleset::detail::toOSArgument(map["argument"],version),
          measure.cast<RubyMeasure>());
  }
Ejemplo n.º 3
0
  MeasureGroup MeasureGroup_Impl::fromVariant(const QVariant& variant, const VersionString& version) {
    QVariantMap map = variant.toMap();

    MeasureVector measures = deserializeOrderedVector(
          map["measures"].toList(),
          "measure_group_index",
          std::function<Measure (const QVariant&)>(std::bind(Measure_Impl::factoryFromVariant,std::placeholders::_1,version)));

    return MeasureGroup(toUUID(map["uuid"].toString().toStdString()),
                        toUUID(map["version_uuid"].toString().toStdString()),
                        map.contains("name") ? map["name"].toString().toStdString() : std::string(),
                        map.contains("display_name") ? map["display_name"].toString().toStdString() : std::string(),
                        map.contains("description") ? map["description"].toString().toStdString() : std::string(),
                        map.contains("uncertainty_description") ? analysis::detail::toUncertaintyDescription(map["uncertainty_description"],version) : OptionalUncertaintyDescription(),
                        measures);
  }