NCBI C++ ToolKit
import_error.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: import_error.cpp 86362 2019-05-02 15:04:11Z ludwigf $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Frank Ludwig
27  *
28  * File Description: Iterate through file names matching a given glob pattern
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 #include <corelib/ncbifile.hpp>
35 
37 
38 // ============================================================================
40  ErrorLevel severity,
41  const std::string& message,
42  unsigned int lineNumber,
43  ErrorCode code):
44 // ============================================================================
45  mSeverity(severity),
46  mCode(code),
47  mMessage(message),
48  mLineNumber(lineNumber)
49 {};
50 
51 // ============================================================================
52 string
54 // ============================================================================
55 {
56  static map<int, string> severityStrings = {
57  {0, "Fatal"},
58  {1, "Critical"},
59  {2, "Error"},
60  {3, "Warning"},
61  {4, "Debug"},
62  };
63  auto severityEntry = severityStrings.find(mSeverity);
64  if (severityEntry != severityStrings.end()) {
65  return severityEntry->second;
66  }
67  return "Unknown";
68 };
69 
70 // ============================================================================
71 string
73 // ============================================================================
74 {
75  auto message = mMessage;
76  if (!mAmend.empty()) {
77  message += ": ";
78  message += mAmend;
79  }
80  return message;
81 }
82 
83 // ============================================================================
84 void
87 // ============================================================================
88 {
89  out << "CFeatureImportError:" << "\n";
90  out << " Severity = " << SeverityStr() << "\n";
91  out << " Message = \"" << Message() << "\"\n";
92  out << " LineNumber = " << LineNumber() << "\n";
93  out << "\n";
94 };
string SeverityStr() const
std::string Message() const
void Serialize(CNcbiOstream &)
CImportError(ErrorLevel, const std::string &, unsigned int=0, ErrorCode=eUNSPECIFIED)
ErrorLevel mSeverity
unsigned int LineNumber() const
const_iterator end() const
Definition: map.hpp:152
const_iterator find(const key_type &key) const
Definition: map.hpp:153
std::ofstream out("events_result.xml")
main entry point for tests
string
Definition: cgiapp.hpp:687
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
USING_NCBI_SCOPE
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
Definition: inftrees.h:24
#define const
Definition: zconf.h:232
Modified on Wed May 08 12:14:55 2024 by modify_doxy.py rev. 669887