X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fgenericgui%2FJM_EditSalomeResource.cxx;h=f0261499101698c100b07d12c442dcf37e8535c2;hb=1775e8747c6902e3e884a52e28bdba895a120e83;hp=74d1f7f32b01b22bac806a07787f8d4f22dab4cb;hpb=70c432982839980de6c1f8efe3a8ee0130e09c73;p=modules%2Fjobmanager.git diff --git a/src/genericgui/JM_EditSalomeResource.cxx b/src/genericgui/JM_EditSalomeResource.cxx index 74d1f7f..f026149 100644 --- a/src/genericgui/JM_EditSalomeResource.cxx +++ b/src/genericgui/JM_EditSalomeResource.cxx @@ -20,6 +20,8 @@ #include "JM_EditSalomeResource.hxx" #include "BL_Traces.hxx" +using namespace std; + JM::EditSalomeResource::EditSalomeResource(QWidget *parent, BL::SALOMEServices * salome_services, const std::string & resource_name) : QDialog(parent) { @@ -49,10 +51,8 @@ JM::EditSalomeResource::EditSalomeResource(QWidget *parent, BL::SALOMEServices * _protocol_line = new QComboBox(this); _protocol_line->addItem("ssh"); _protocol_line->addItem("rsh"); - _protocol_line->addItem("srun"); - _protocol_line->addItem("pbsdsh"); - _protocol_line->addItem("blaunch"); - _protocol_line->setCurrentIndex(-1); + _protocol_line->addItem("sh"); + _protocol_line->setCurrentIndex(0); QLabel * componentList_label = new QLabel("Component List:"); _add_button = new QPushButton("Add"); @@ -127,19 +127,21 @@ JM::EditSalomeResource::EditSalomeResource(QWidget *parent, BL::SALOMEServices * _iprotocol_line->addItem("srun"); _iprotocol_line->addItem("pbsdsh"); _iprotocol_line->addItem("blaunch"); - _iprotocol_line->setCurrentIndex(-1); + _iprotocol_line->setCurrentIndex(0); - QLabel * batch_label = new QLabel("Batch:"); + QLabel * batch_label = new QLabel("Batch Manager:"); _batch_line = new QComboBox(this); - _batch_line->addItem("pbs"); - _batch_line->addItem("lsf"); - _batch_line->addItem("sge"); - _batch_line->addItem("ssh"); - _batch_line->addItem("ccc"); - _batch_line->addItem("slurm"); - _batch_line->addItem("ll"); - _batch_line->addItem("vishnu"); - _batch_line->setCurrentIndex(-1); + _batch_line->addItem("None", "none"); + _batch_line->addItem("CCC", "ccc"); + _batch_line->addItem("LSF", "lsf"); + _batch_line->addItem("SGE", "sge"); + _batch_line->addItem("SLURM", "slurm"); + _batch_line->addItem("VISHNU", "vishnu"); + _batch_line->addItem("CooRM (limited support)", "coorm"); + _batch_line->addItem("LoadLeveler (limited support)", "ll"); + _batch_line->addItem("OAR (limited support)", "oar"); + _batch_line->addItem("PBS (limited support)", "pbs"); + _batch_line->setCurrentIndex(0); QLabel * mpiImpl_label = new QLabel("MPI impl:"); _mpiImpl_line = new QComboBox(this); @@ -221,12 +223,8 @@ JM::EditSalomeResource::get_infos() _protocol_line->setCurrentIndex(0); else if(protocol == "rsh") _protocol_line->setCurrentIndex(1); - else if(protocol == "srun") + else if(protocol == "sh") _protocol_line->setCurrentIndex(2); - else if(protocol == "pbsdsh") - _protocol_line->setCurrentIndex(3); - else if(protocol == "blaunch") - _protocol_line->setCurrentIndex(4); else _protocol_line->setCurrentIndex(-1); @@ -244,25 +242,13 @@ JM::EditSalomeResource::get_infos() else _iprotocol_line->setCurrentIndex(-1); - std::string batch = resource_descr.batch.c_str(); - if (batch == "pbs") - _batch_line->setCurrentIndex(0); - else if (batch == "lsf") - _batch_line->setCurrentIndex(1); - else if (batch == "sge") - _batch_line->setCurrentIndex(2); - else if (batch == "ssh_batch") - _batch_line->setCurrentIndex(3); - else if (batch == "ccc") - _batch_line->setCurrentIndex(4); - else if (batch == "slurm") - _batch_line->setCurrentIndex(5); - else if (batch == "ll") - _batch_line->setCurrentIndex(6); - else if (batch == "vishnu") - _batch_line->setCurrentIndex(7); - else - _batch_line->setCurrentIndex(-1); + for (int i=0 ; i<_batch_line->count() ; i++) + { + if (_batch_line->itemData(i).toString().toStdString() == resource_descr.batch) + { + _batch_line->setCurrentIndex(i); + } + } std::string mpiImpl = resource_descr.mpiImpl.c_str(); if (mpiImpl == "lam") @@ -344,26 +330,24 @@ JM::EditSalomeResource::accept() BL::ResourceDescr resource; // Text - resource.name = _name_line->text().toStdString(); - resource.hostname = _hostname_line->text().toStdString(); - resource.username = _username_line->text().toStdString(); - resource.applipath = _applipath_line->text().toStdString(); - resource.OS = _os_line->text().toStdString(); - resource.working_directory = _working_directory->text().toStdString(); + resource.name = _name_line->text().trimmed().toStdString(); + resource.hostname = _hostname_line->text().trimmed().toStdString(); + resource.username = _username_line->text().trimmed().toStdString(); + resource.applipath = _applipath_line->text().trimmed().toStdString(); + resource.OS = _os_line->text().trimmed().toStdString(); + resource.working_directory = _working_directory->text().trimmed().toStdString(); resource.can_launch_batch_jobs = (_can_launch_batch_jobs->checkState() == Qt::Checked); resource.can_run_containers = (_can_run_containers->checkState() == Qt::Checked); // Components int count = _componentList->count(); for (int i = 0; i < count; i++) - resource.componentList.push_back(_componentList->item(i)->text().toStdString()); + resource.componentList.push_back(_componentList->item(i)->text().trimmed().toStdString()); // ComboBox resource.protocol = _protocol_line->currentText().toStdString(); resource.iprotocol = _iprotocol_line->currentText().toStdString(); - resource.batch = _batch_line->currentText().toStdString(); - if (resource.batch == "ssh") - resource.batch = "ssh_batch"; + resource.batch = _batch_line->itemData(_batch_line->currentIndex()).toString().toStdString(); resource.mpiImpl = _mpiImpl_line->currentText().toStdString(); // QSpinBox @@ -376,8 +360,15 @@ JM::EditSalomeResource::accept() resource.hostname != "" && resource.protocol != "") { - _salome_services->addResource(resource); - QDialog::accept(); + try + { + _salome_services->addResource(resource); + QDialog::accept(); + } + catch (const BL::Exception & ex) + { + QMessageBox::critical(this, "Error", QString("Cannot add resource: ") + ex.what()); + } } else {