public override bool IsEquivalentToOriginal(IParameterStartValue startValue, IParameterStartValuesBuildingBlock buildingBlock) { var spatialStructure = SpatialStructureReferencedBy(buildingBlock); var moleculeBuildingBlock = MoleculeBuildingBlockReferencedBy(buildingBlock); var parameter = _parameterResolver.Resolve(startValue.ContainerPath, startValue.Name, spatialStructure, moleculeBuildingBlock); if (parameter == null) { return(false); } return(HasEquivalentDimension(startValue, parameter) && HasEquivalentFormula(startValue, parameter.Formula) && HasEquivalentStartValue(startValue, parameter.Value)); }
static void EvaluateParameter(string p_name, ParameterArgs p_args, IParameterResolver p_resolver, IAttributeDataCollection p_collection, bool p_referenced) { //Debug.Log("EvaluateParameter: "+p_name); p_args.Result = p_resolver.Resolve(p_name, p_collection, p_referenced); // Only log first error if (!hasErrorInEvaluation && p_resolver.hasErrorInResolving) { errorMessage = p_resolver.errorMessage; } hasErrorInEvaluation = hasErrorInEvaluation || p_resolver.hasErrorInResolving; }
/// <summary> /// Executes the command line. /// </summary> /// <param name="cmdline">The command line to execute. That's the alias and the arguments (which are not mandatory)</param> public ExecutionResult Execute(string cmdline, long sessionId) { var cmd = _resolver.Split(cmdline, sessionId); var alias = _databaseService.GetAlias(cmd.Command, sessionId); alias = _resolver.Resolve(alias, cmd.Parameters); if (_pluginManager.Exists(alias.Name)) { _pluginManager.Execute(cmd); return(ExecutionResult.SuccesShow);; } else if (_macroRunner.Exists(alias.FileName)) { _macroRunner.Execute(alias); return(ExecutionResult.SuccessHide); } else { return(_cmdRunner.Execute(alias)); } }