Changeset 4918 for branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBClient.cs
- Timestamp:
- 11/24/10 02:54:35 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/OKB/HeuristicLab.Clients.OKB-3.3/OKBClient.cs
r4591 r4918 373 373 parameters.Add(p); 374 374 } 375 AlgorithmParameterValue value = null; 376 // TODO 375 AlgorithmParameterValue value = CreateAlgorithmParameterValue(param.Value); 377 376 value.AlgorithmParameterId = p.Id; 378 377 value.DataTypeId = ConvertToDataType(param.Value.GetType()).Id; … … 383 382 } 384 383 return values; 384 } 385 private AlgorithmParameterValue CreateAlgorithmParameterValue(IItem item) { 386 if (item is BoolValue) { 387 AlgorithmParameterBoolValue value = new AlgorithmParameterBoolValue(); 388 value.Value = ((BoolValue)item).Value; 389 return value; 390 } else if (item is DoubleValue) { 391 AlgorithmParameterFloatValue value = new AlgorithmParameterFloatValue(); 392 value.Value = ((DoubleValue)item).Value; 393 return value; 394 } else if (item is IntValue) { 395 AlgorithmParameterIntValue value = new AlgorithmParameterIntValue(); 396 value.Value = ((IntValue)item).Value; 397 return value; 398 } else if (item is StringValue) { 399 AlgorithmParameterStringValue value = new AlgorithmParameterStringValue(); 400 value.Value = ((StringValue)item).Value; 401 return value; 402 } else { 403 AlgorithmParameterBlobValue value = new AlgorithmParameterBlobValue(); 404 value.Value = null; 405 return value; 406 } 385 407 } 386 408 private List<ProblemParameterValue> CollectProblemParamterValues(long problemId, ItemCollection<ProblemParameter> parameters, IParameterizedItem item, string prefix) { 387 409 List<ProblemParameterValue> values = new List<ProblemParameterValue>(); 388 410 foreach (IValueParameter param in item.Parameters.OfType<IValueParameter>()) { 389 if (param.GetsCollected && (param.Value != null) && (parameters.FirstOrDefault(x => x.Name == prefix + param.Name) == null)) { 390 ProblemParameter p = new ProblemParameter(); 391 p.Name = prefix + param.Name; 392 p.Alias = prefix + param.Name; 393 p.Description = param.Description; 394 p.ProblemId = problemId; 395 p.DataTypeId = ConvertToDataType(param.DataType).Id; 396 p.Store(); 397 parameters.Add(p); 398 } 411 if (param.GetsCollected && (param.Value != null)) { 412 ProblemParameter p = parameters.FirstOrDefault(x => x.Name == prefix + param.Name); 413 if (p == null) { 414 p = new ProblemParameter(); 415 p.Name = prefix + param.Name; 416 p.Alias = prefix + param.Name; 417 p.Description = param.Description; 418 p.ProblemId = problemId; 419 p.DataTypeId = ConvertToDataType(param.DataType).Id; 420 p.Store(); 421 parameters.Add(p); 422 } 423 ProblemParameterValue value = CreateProblemParameterValue(param.Value); 424 value.ProblemParameterId = p.Id; 425 value.DataTypeId = ConvertToDataType(param.Value.GetType()).Id; 426 } 427 399 428 if (param.Value is IParameterizedItem) 400 429 values.AddRange(CollectProblemParamterValues(problemId, parameters, (IParameterizedItem)param.Value, (string.IsNullOrEmpty(prefix) ? param.Name : prefix + param.Name) + ".")); 401 430 } 402 431 return values; 432 } 433 private ProblemParameterValue CreateProblemParameterValue(IItem item) { 434 if (item is BoolValue) { 435 ProblemParameterBoolValue value = new ProblemParameterBoolValue(); 436 value.Value = ((BoolValue)item).Value; 437 return value; 438 } else if (item is DoubleValue) { 439 ProblemParameterFloatValue value = new ProblemParameterFloatValue(); 440 value.Value = ((DoubleValue)item).Value; 441 return value; 442 } else if (item is IntValue) { 443 ProblemParameterIntValue value = new ProblemParameterIntValue(); 444 value.Value = ((IntValue)item).Value; 445 return value; 446 } else if (item is StringValue) { 447 ProblemParameterStringValue value = new ProblemParameterStringValue(); 448 value.Value = ((StringValue)item).Value; 449 return value; 450 } else { 451 ProblemParameterBlobValue value = new ProblemParameterBlobValue(); 452 value.Value = null; 453 return value; 454 } 403 455 } 404 456 private List<ResultValue> CollectResultValues(long algorithmId, ItemCollection<Result> results, IAlgorithm algorithm) { … … 418 470 return values; 419 471 } 472 private ResultValue CreateResiötValue(IItem item) { 473 if (item is BoolValue) { 474 ResultBoolValue value = new ResultBoolValue(); 475 value.Value = ((BoolValue)item).Value; 476 return value; 477 } else if (item is DoubleValue) { 478 ResultFloatValue value = new ResultFloatValue(); 479 value.Value = ((DoubleValue)item).Value; 480 return value; 481 } else if (item is IntValue) { 482 ResultIntValue value = new ResultIntValue(); 483 value.Value = ((IntValue)item).Value; 484 return value; 485 } else if (item is StringValue) { 486 ResultStringValue value = new ResultStringValue(); 487 value.Value = ((StringValue)item).Value; 488 return value; 489 } else { 490 ResultBlobValue value = new ResultBlobValue(); 491 value.Value = null; 492 return value; 493 } 494 } 420 495 #endregion 421 496
Note: See TracChangeset
for help on using the changeset viewer.