Esempio n. 1
0
        public static GalaxyJobStatus String2JobStatus(string strJobStatus)
        {
            GalaxyJobStatus jobStatus = GalaxyJobStatus.Unknown;

            if (strJobStatus == "Queued")
            {
                jobStatus = GalaxyJobStatus.Queued;
            }
            else if (strJobStatus == "Waiting")
            {
                jobStatus = GalaxyJobStatus.Waiting;
            }
            else if (strJobStatus == "Running")
            {
                jobStatus = GalaxyJobStatus.Running;
            }
            else if (strJobStatus == "Successful")
            {
                jobStatus = GalaxyJobStatus.Successful;
            }
            else if (strJobStatus == "Failed")
            {
                jobStatus = GalaxyJobStatus.Failed;
            }

            return(jobStatus);
        }
Esempio n. 2
0
        public static string JobStatus2String(GalaxyJobStatus jobStatus)
        {
            string strJobStatus = "";

            switch (jobStatus)
            {
            case GalaxyJobStatus.Unknown:
                strJobStatus = "Unknown";
                break;

            case GalaxyJobStatus.Waiting:
                strJobStatus = "Waiting";
                break;

            case GalaxyJobStatus.Queued:
                strJobStatus = "Queued";
                break;

            case GalaxyJobStatus.Running:
                strJobStatus = "Running";
                break;

            case GalaxyJobStatus.Successful:
                strJobStatus = "Successful";
                break;

            case GalaxyJobStatus.Failed:
                strJobStatus = "Failed";
                break;
            }

            return(strJobStatus);
        }
Esempio n. 3
0
        /// <returns>
        ///     0 - successfully
        ///     -1 - failed
        /// </returns>
        public int LoadFromFile(string strJobFileName)
        {
            int iRet = 0;

            try
            {
                XmlDocument jobDoc = new XmlDocument();
                jobDoc.Load(strJobFileName);
                XmlElement  root        = jobDoc.DocumentElement;
                XmlNodeList jobNodeList = root.SelectNodes("GalaxyJob");
                foreach (XmlNode jobNode in jobNodeList)
                {
                    XmlNode         jobNameNode         = jobNode.SelectSingleNode("JobName");
                    string          strJobName          = jobNameNode.InnerText.Trim();
                    XmlNode         jobInstanceNameNode = jobNode.SelectSingleNode("PNInstanceName");
                    string          strPNInstanceName   = jobInstanceNameNode.InnerText.Trim();
                    XmlNode         jobIdNode           = jobNode.SelectSingleNode("JobId");
                    Guid            jobId                 = new Guid(jobIdNode.InnerText.Trim());
                    XmlNode         jobStatusNode         = jobNode.SelectSingleNode("JobStatus");
                    GalaxyJobStatus jobStatus             = GalaxyJob.String2JobStatus(jobStatusNode.InnerText.Trim());
                    XmlNode         exeNameNode           = jobNode.SelectSingleNode("ExeFileName");
                    string          strExeFileName        = exeNameNode.InnerText.Trim();
                    XmlNode         relPathNode           = jobNode.SelectSingleNode("RelativePath");
                    string          strRelativePath       = relPathNode.InnerText.Trim();
                    XmlNode         argsNode              = jobNode.SelectSingleNode("Arguments");
                    string          strArgs               = argsNode.InnerText.Trim();
                    XmlNode         dataRootDirNode       = jobNode.SelectSingleNode("DataRootDir");
                    string          strProjectDataRootDir = dataRootDirNode.InnerText.Trim();
                    XmlNode         userNameNode          = jobNode.SelectSingleNode("UserName");
                    string          strUserName           = userNameNode.InnerText.Trim();
                    XmlNode         autoReportStatusNode  = jobNode.SelectSingleNode("AutoReportStatus");
                    bool            fAutoReportStatus     = bool.Parse(autoReportStatusNode.InnerText.Trim());
                    XmlNode         allowLongIdleTimeNode = jobNode.SelectSingleNode("AllowLongIdleTime");
                    bool            fAllowLongIdleTime    = bool.Parse(allowLongIdleTimeNode.InnerText.Trim());
                    XmlNode         outputDirNode         = jobNode.SelectSingleNode("OutputBaseDir");
                    string          strOutputBaseDir      = outputDirNode.InnerText.Trim();
                    // Get resource file list
                    XmlNode                 resourceFilesNode    = jobNode.SelectSingleNode("ResourceFiles");
                    XmlNodeList             resourceFileNodeList = resourceFilesNode.SelectNodes("ResourceFile");
                    List <ResourceFilePair> resourceFileList     = new List <ResourceFilePair>();
                    foreach (XmlNode resourceFileNode in resourceFileNodeList)
                    {
                        XmlNode          srcFileNode    = resourceFileNode.SelectSingleNode("SrcFileName");
                        XmlNode          dstRelFileNode = resourceFileNode.SelectSingleNode("DstRelativeFileName");
                        ResourceFilePair resourceFile   = new ResourceFilePair(srcFileNode.InnerText.Trim(), dstRelFileNode.InnerText.Trim());
                        resourceFileList.Add(resourceFile);
                    }
                    // Get dependent jobs
                    XmlNode       dependentJobsNode    = jobNode.SelectSingleNode("DependentJobs");
                    XmlNodeList   dependentJobNodeList = dependentJobsNode.SelectNodes("DependentJob");
                    List <string> dependentJobs        = new List <string>();
                    foreach (XmlNode dependentJobNode in dependentJobNodeList)
                    {
                        string strDependentJobName = dependentJobNode.InnerText.Trim();
                        dependentJobs.Add(strDependentJobName);
                    }
                    if (m_jobDictRefByJobName.ContainsKey(strJobName))
                    {
                        return(-1);
                    }
                    else
                    {
                        GalaxyJob job = new GalaxyJob();
                        job.AllowLongIdleTime  = fAllowLongIdleTime;
                        job.Arguments          = strArgs;
                        job.AutoReportStatus   = fAutoReportStatus;
                        job.DependentJobs      = dependentJobs;
                        job.ExeFileName        = strExeFileName;
                        job.JobId              = jobId;
                        job.JobStatus          = jobStatus;
                        job.OutputBaseDir      = strOutputBaseDir;
                        job.PNInstanceName     = strPNInstanceName;
                        job.RelativePath       = strRelativePath;
                        job.ResourceFileList   = resourceFileList;
                        job.JobName            = strJobName;
                        job.UserName           = strUserName;
                        job.ProjectDataRootDir = strProjectDataRootDir;
                        AddJob(job);
                    }
                }
            }
            catch (Exception)
            {
                iRet = -1;
            }

            return(iRet);
        }
Esempio n. 4
0
 public GalaxyJobStatusInfo(GalaxyJobStatus jobStatus, string strOutputBaseDir)
 {
     m_jobStatus        = jobStatus;
     m_strOutputBaseDir = strOutputBaseDir;
 }