void CSensProblem::initDebugProblem() { CSensItem item; item.setSingleObjectCN(this->getCN()); addVariables(item); item.setListType(CObjectLists::NON_CONST_METAB_CONCENTRATIONS); addVariables(item); }
WidgetSelectVars::WidgetSelectVars(MOOptVector *allVariables,QWidget *parent,MOOptVector* selectedVariables): QWidget(parent), ui(new Ui::WidgetSelectVarsClass) { ui->setupUi(this); _useOpt = true; _allOptVariables= allVariables; if(selectedVariables) _selectedOptVariables = selectedVariables->clone(); else _selectedOptVariables = new MOOptVector(false,true,true,this); variableProxyModel = GuiTools::ModelToViewWithFilter(_allOptVariables,ui->listVars,ui->lineVariableFilter); ui->listSelectedVars->setModel(_selectedOptVariables); connect(ui->pushAddVar,SIGNAL(clicked()),this,SLOT(addVariables())); connect(ui->pushRemoveVar,SIGNAL(clicked()),this,SLOT(removeVariables())); ui->listSelectedVars->setSelectionMode(QAbstractItemView::ExtendedSelection); ui->listVars->setSelectionMode(QAbstractItemView::ExtendedSelection); }
WidgetSelectVars::WidgetSelectVars(MOVector<Variable> *allVariables, QWidget *parent, QList<VariableCausality> causalities,MOVector<Variable> *selectedVariables): QWidget(parent), ui(new Ui::WidgetSelectVarsClass) { ui->setupUi(this); _useOpt = false; _allVariables = allVariables; if(selectedVariables) _selectedVariables = selectedVariables->clone(); else _selectedVariables = new MOVector<Variable>(false); // variableProxyModel = GuiTools::ModelToViewWithFilter(_allVariables,ui->listVars,ui->lineVariableFilter); variableProxyModel = new VariableSortFilter(causalities,this); GuiTools::ModelToViewWithFilter(_allVariables,ui->listVars,ui->lineVariableFilter,variableProxyModel); ui->listSelectedVars->setModel(_selectedVariables); connect(ui->pushAddVar,SIGNAL(clicked()),this,SLOT(addVariables())); connect(ui->pushRemoveVar,SIGNAL(clicked()),this,SLOT(removeVariables())); ui->listSelectedVars->setSelectionMode(QAbstractItemView::ExtendedSelection); ui->listVars->setSelectionMode(QAbstractItemView::ExtendedSelection); }
AmSession* DSMFactory::onInvite(const AmSipRequest& req, const string& app_name, const map<string,string>& app_params) { string start_diag; map<string, string> vars; if (app_name == MOD_NAME) { if (InboundStartDiag.empty()) { ERROR("no inbound calls allowed\n"); throw AmSession::Exception(488, "Not Acceptable Here"); } if (InboundStartDiag=="$(mon_select)") { runMonitorAppSelect(req, start_diag, vars); } else { start_diag = InboundStartDiag; } } else { start_diag = app_name; } DBG("start_diag = %s\n",start_diag.c_str()); // determine run configuration for script DSMScriptConfig call_config; ScriptConfigs_mut.lock(); map<string, DSMScriptConfig>::iterator sc=ScriptConfigs.find(start_diag); if (sc == ScriptConfigs.end()) call_config = MainScriptConfig; else call_config = sc->second; DSMCall* s = new DSMCall(call_config, &prompts, *call_config.diags, start_diag, NULL); ScriptConfigs_mut.unlock(); prepareSession(s); addVariables(s, "config.", call_config.config_vars); if (call_config.SetParamVariables) addParams(s, req.hdrs); if (!vars.empty()) addVariables(s, "", vars); return s; }
void WriteFullProcMLP::Loop() { std::cout << "Loop varSet = " << varSet << std::endl; addVariables(); FillMLP(varSet); WriteHeader(); WriteInput(); WriteCategory(); WriteCount("var1", "input", "trackSip2dSig"); //********Chunk for Combined BvsDUSG and BvsC starts*********** WriteNormalize(); WriteSplitters(); if (writeSplittersForNonMultiple) WriteSplittersForNonMultiple(); WriteLRx(); WriteLRall(); WriteLRsplit(); WriteOptional(); if (writeMatrices) {WriteMatrices(); WriteOutput("input", "jetPt"); return;} WriteProcMLP(mlp); WriteBiasNorm(procBiasNorm+tagVtx, "var1", procMLP+tagVtx, "var1"); WriteLRBias(procLike+tagVtx, "var1", procBiasNorm+tagVtx, "var1"); //********Chunk for Combined BvsDUSG and BvsC starts*********** if (Flavour != "Combined") { WriteOutput(procLike+tagVtx, "var1"); return; } tagVtx = "C"; //Need to reset Vector for ProcOptional Oprocess.clear(); Oid.clear(); //Need to reset mlp with the corresponding variables with C instead of "DUSG" tag FillMLP(varSet); //For combined xml, copy previuos structure from WriteNormalize to WriteLRBias // then add ProcLinear and output //**************Insert here Chunk for Combined: begin************** WriteNormalize(); WriteSplitters(); if (writeSplittersForNonMultiple) WriteSplittersForNonMultiple(); WriteLRx(); WriteLRall(); WriteLRsplit(); WriteOptional(); if (writeMatrices) {WriteMatrices(); WriteOutput("input", "jetPt"); return;} WriteProcMLP(mlp); WriteBiasNorm(procBiasNorm+tagVtx, "var1", procMLP+tagVtx, "var1"); WriteLRBias(procLike+tagVtx, "var1", procBiasNorm+tagVtx, "var1"); //**************Insert here Chunk for Combined: end**************** WriteLinear(); WriteOutput(procLinear, "var1"); }
void DSMFactory::addParams(DSMCall* s, const string& hdrs) { // TODO: use real parser with quoting and optimize map<string, string> params; vector<string> items = explode(getHeader(hdrs, PARAM_HDR), ";"); for (vector<string>::iterator it=items.begin(); it != items.end(); it++) { vector<string> kv = explode(*it, "="); if (kv.size()==2) params.insert(make_pair(kv[0], kv[1])); } addVariables(s, "", params); }
/** * Default constructor. * @param "CModel *" pModel */ CSensProblem::CSensProblem(const CDataContainer * pParent): CCopasiProblem(CTaskEnum::Task::sens, pParent), mpSubTaskType(NULL), mpTargetFunctions(NULL), mpVariablesGroup(NULL), mpResultAnnotation(NULL), mpScaledResultAnnotation(NULL), mpCollapsedResultAnnotation(NULL) { initializeParameter(); initObjects(); // Default Problem CSensItem item; item.setListType(CObjectLists::NON_CONST_METAB_CONCENTRATIONS); setTargetFunctions(item); item.setListType(CObjectLists::ALL_PARAMETER_VALUES); addVariables(item); item.setListType(CObjectLists::EMPTY_LIST); addVariables(item); }
void VariablesListView::populateChildren(VariablesListViewItem* item) { /* Populate array/object children at request time so it can support recursive references easily */ if(item->childCount() > 0) { return; } VariablesList_t* list = dynamic_cast<VariableListValue*>((item)->variable()->value())->list(); addVariables(list, item); }
bool CSensProblem::changeVariables(size_t index, const CSensItem & item) { size_t num = getNumberOfVariables(); if (index > num) return false; if (index == num) addVariables(item); else { CCopasiParameterGroup * tmp = (CCopasiParameterGroup *)(mpVariablesGroup->getParameter(index)); copySensItemToParameterGroup(&item, tmp); } return true; }
/** * Default constructor. * @param "CModel *" pModel */ CSensProblem::CSensProblem(const CCopasiContainer * pParent): CCopasiProblem(CCopasiTask::sens, pParent), mpSubTaskType(NULL), mpTargetFunctions(NULL), mpVariablesGroup(NULL), mpResultAnnotation(NULL), mpScaledResultAnnotation(NULL), mpCollapsedResultAnnotation(NULL) { addParameter("SubtaskType", CCopasiParameter::UINT, (unsigned C_INT32) 0); mpSubTaskType = (CSensProblem::SubTaskType*)getValue("SubtaskType").pUINT; //--------------------------------------------------- addGroup("TargetFunctions"); mpTargetFunctions = dynamic_cast<CCopasiParameterGroup*>(getParameter("TargetFunctions")); createParametersInGroup(mpTargetFunctions); //--------------------------------------------------- addGroup("ListOfVariables"); mpVariablesGroup = dynamic_cast<CCopasiParameterGroup*>(getParameter("ListOfVariables")); //create a useful default problem setSubTaskType(SteadyState); CSensItem item; item.setListType(CObjectLists::NON_CONST_METAB_CONCENTRATIONS); changeTargetFunctions(item); item.setListType(CObjectLists::ALL_PARAMETER_VALUES); addVariables(item); // initDebugProblem(); initObjects(); CONSTRUCTOR_TRACE; }
void VariablesListView::setVariables(VariablesList_t* vars) { /* saves the position of the viewport * ('cause when the view is repopulated, the scroll goes up) */ int contentX = contentsX(); int contentY = contentsY(); /* backup the current item selected */ QString currentSelected; VariablesListViewItem* item; item = dynamic_cast<VariablesListViewItem*>(selectedItem()); if(item) { currentSelected = item->stringPath(); } clear(); deleteVars(); /* finally, add the new ones */ addVariables(vars); /* expand the new items according to the previous state */ reexpandItems(); /* resets the viewport position */ setContentsPos(contentX, contentY); m_variables = vars; }
// outgoing call AmSession* DSMFactory::onInvite(const AmSipRequest& req, AmArg& session_params) { string start_diag; if (req.cmd == MOD_NAME) { if (OutboundStartDiag.empty()) { ERROR("no outbound calls allowed\n"); throw AmSession::Exception(488, "Not Acceptable Here"); } } else { start_diag = req.cmd; } UACAuthCred* cred = NULL; map<string, string> vars; // Creds if (session_params.getType() == AmArg::AObject) { ArgObject* cred_obj = session_params.asObject(); if (cred_obj) cred = dynamic_cast<UACAuthCred*>(cred_obj); } else if (session_params.getType() == AmArg::Array) { DBG("session params is array - size %d\n", session_params.size()); // Creds if (session_params.get(0).getType() == AmArg::AObject) { ArgObject* cred_obj = session_params.get(0).asObject(); if (cred_obj) cred = dynamic_cast<UACAuthCred*>(cred_obj); } // Creds + vars if (session_params.size()>1 && session_params.get(1).getType() == AmArg::Struct) { AmArg2DSMStrMap(session_params.get(1), vars); } } else if (session_params.getType() == AmArg::Struct) { // vars AmArg2DSMStrMap(session_params, vars); } DSMScriptConfig call_config; ScriptConfigs_mut.lock(); map<string, DSMScriptConfig>::iterator sc=ScriptConfigs.find(start_diag); if (sc == ScriptConfigs.end()) call_config = MainScriptConfig; else call_config = sc->second; DSMCall* s = new DSMCall(call_config, &prompts, *call_config.diags, start_diag, cred); ScriptConfigs_mut.unlock(); prepareSession(s); addVariables(s, "config.", call_config.config_vars); if (!vars.empty()) addVariables(s, "", vars); if (call_config.SetParamVariables) addParams(s, req.hdrs); if (NULL == cred) { WARN("discarding unknown session parameters.\n"); } else { AmSessionEventHandlerFactory* uac_auth_f = AmPlugIn::instance()->getFactory4Seh("uac_auth"); if (uac_auth_f != NULL) { DBG("UAC Auth enabled for new DSM session.\n"); AmSessionEventHandler* h = uac_auth_f->getHandler(s); if (h != NULL ) s->addHandler(h); } else { ERROR("uac_auth interface not accessible. " "Load uac_auth for authenticated dialout.\n"); } } return s; }
AmSession* DSMFactory::onInvite(const AmSipRequest& req) { string start_diag; map<string, string> vars; if (req.cmd == MOD_NAME) { if (InboundStartDiag.empty()) { ERROR("no inbound calls allowed\n"); throw AmSession::Exception(488, "Not Acceptable Here"); } if (InboundStartDiag=="$(mon_select)") { #ifdef USE_MONITORING if (NULL == MONITORING_GLOBAL_INTERFACE) { ERROR("using $(mon_select) but monitoring not loaded\n"); throw AmSession::Exception(488, "Not Acceptable Here"); } AmArg di_args, ret; if (MonSelectCaller != MonSelect_NONE) { AmUriParser from_parser; if (MonSelectCaller == MonSelect_FROM) from_parser.uri = req.from_uri; else { size_t end; string pai = getHeader(req.hdrs, SIP_HDR_P_ASSERTED_IDENTITY); if (!from_parser.parse_contact(pai, 0, end)) { ERROR("Failed to parse "SIP_HDR_P_ASSERTED_IDENTITY " '%s'\n", pai.c_str()); throw AmSession::Exception(488, "Not Acceptable Here"); } } if (!from_parser.parse_uri()) { DBG("failed to parse caller uri '%s'\n", from_parser.uri.c_str()); throw AmSession::Exception(488, "Not Acceptable Here"); } AmArg caller_filter; caller_filter.push("caller"); caller_filter.push(from_parser.uri_user); DBG(" && looking for caller=='%s'\n", from_parser.uri_user.c_str()); di_args.push(caller_filter); } if (MonSelectCallee != MonSelect_NONE) { AmArg callee_filter; callee_filter.push("callee"); if (MonSelectCallee == MonSelect_RURI) callee_filter.push(req.user); else { AmUriParser to_parser; size_t end; if (!to_parser.parse_contact(req.to, 0, end)) { ERROR("Failed to parse To '%s'\n", req.to.c_str()); throw AmSession::Exception(488, "Not Acceptable Here"); } if (!to_parser.parse_uri()) { DBG("failed to parse callee uri '%s'\n", to_parser.uri.c_str()); throw AmSession::Exception(488, "Not Acceptable Here"); } callee_filter.push(to_parser.uri_user); } DBG(" && looking for callee=='%s'\n", req.user.c_str()); di_args.push(callee_filter); } MONITORING_GLOBAL_INTERFACE->invoke("listByFilter",di_args,ret); if ((ret.getType()!=AmArg::Array)|| !ret.size()) { INFO("call info not found. caller uri %s, r-uri %s\n", req.from_uri.c_str(), req.r_uri.c_str()); throw AmSession::Exception(488, "Not Acceptable Here"); } AmArg sess_id, sess_params; if (ret.size()>1) { DBG("multiple call info found - picking the first one\n"); } const char* session_id = ret.get(0).asCStr(); sess_id.push(session_id); MONITORING_GLOBAL_INTERFACE->invoke("get",sess_id,sess_params); if ((sess_params.getType()!=AmArg::Array)|| !sess_params.size() || sess_params.get(0).getType() != AmArg::Struct) { INFO("call parameters not found. caller uri %s, r-uri %s, id %s\n", req.from_uri.c_str(), req.r_uri.c_str(), ret.get(0).asCStr()); throw AmSession::Exception(488, "Not Acceptable Here"); } AmArg& sess_dict = sess_params.get(0); if (sess_dict.hasMember("app")) { start_diag = sess_dict["app"].asCStr(); DBG("selected application '%s' for session\n", start_diag.c_str()); } else { ERROR("selected session params don't contain 'app'\n"); throw AmSession::Exception(488, "Not Acceptable Here"); } AmArg2DSMStrMap(sess_dict["appParams"], vars); vars["mon_session_record"] = session_id; #else ERROR("using $(mon_select) for dsm application, " "but compiled without monitoring support!\n"); throw AmSession::Exception(488, "Not Acceptable Here"); #endif } else { start_diag = InboundStartDiag; } } else { start_diag = req.cmd; } // determine run configuration for script DSMScriptConfig call_config; ScriptConfigs_mut.lock(); map<string, DSMScriptConfig>::iterator sc=ScriptConfigs.find(start_diag); if (sc == ScriptConfigs.end()) call_config = MainScriptConfig; else call_config = sc->second; DSMCall* s = new DSMCall(call_config, &prompts, *call_config.diags, start_diag, NULL); ScriptConfigs_mut.unlock(); prepareSession(s); addVariables(s, "config.", call_config.config_vars); if (call_config.SetParamVariables) addParams(s, req.hdrs); if (!vars.empty()) addVariables(s, "", vars); return s; }
// outgoing call AmSession* DSMFactory::onInvite(const AmSipRequest& req, const string& app_name, AmArg& session_params) { string start_diag; if (app_name == MOD_NAME) { if (OutboundStartDiag.empty()) { ERROR("no outbound calls allowed\n"); throw AmSession::Exception(488, "Not Acceptable Here"); } } else { start_diag = app_name; } UACAuthCred* cred = NULL; map<string, string> vars; // Creds if (session_params.getType() == AmArg::AObject) { AmObject* cred_obj = session_params.asObject(); if (cred_obj) cred = dynamic_cast<UACAuthCred*>(cred_obj); } else if (session_params.getType() == AmArg::Array) { DBG("session params is array - size %zd\n", session_params.size()); // Creds cred = AmUACAuth::unpackCredentials(session_params.get(0)); // Creds + vars if (session_params.size()>1 && session_params.get(1).getType() == AmArg::Struct) { AmArg2DSMStrMap(session_params.get(1), vars); } } else if (session_params.getType() == AmArg::Struct) { // vars AmArg2DSMStrMap(session_params, vars); } DSMScriptConfig call_config; ScriptConfigs_mut.lock(); map<string, DSMScriptConfig>::iterator sc=ScriptConfigs.find(start_diag); if (sc == ScriptConfigs.end()) call_config = MainScriptConfig; else call_config = sc->second; DSMCall* s = new DSMCall(call_config, &prompts, *call_config.diags, start_diag, cred); ScriptConfigs_mut.unlock(); prepareSession(s); addVariables(s, "config.", call_config.config_vars); if (!vars.empty()) addVariables(s, "", vars); if (call_config.SetParamVariables) addParams(s, req.hdrs); if (NULL == cred) { DBG("outgoing DSM call will not be authenticated.\n"); } else { AmUACAuth::enable(s); } return s; }