Funktionen | |
bool | onlyWhiteSpace (const std::string theString) |
Prüft, ob ein String nur aus Whitespace-Zeichen besteht. | |
unsigned int | getXMLChLength (const XMLCh *const field) |
Ermittelt die Länge eines XMLCh-Zeichenfeldes. | |
const std::string | stripWhiteSpace (std::string theString) |
Entfernt WhiteSpace-Zeichen aus einem String. | |
const std::string | getMd5Sum (const std::string path, const std::string fileName) |
Liefert den 32-bit langen MD5-Hash im Hex-Format einer Datei. | |
void | splitString (const std::string theString, std::vector< std::string > &theVector, const std::string delim="") |
Zerlegt einen String in einen Vector anhand eines Trennzeichens. | |
void | getFilePaths (const std::string path, const std::string pattern, std::vector< std::string > &fileList) |
Ermittelt die Dateinamen eines Verzeichnis anhand eines Musters. | |
bool | pathIsDir (const std::string path) |
Überprüft, ob ein Pfad ein Verzeichnis ist. | |
bool | pathIsReadable (const std::string path) |
Überprüft, ob ein Pfad für den aktuellen Benutzer lesbar ist. | |
int | getFileSize (const std::string path) |
Ermittelt die Größe einer Datei. |
|
Ermittelt die Dateinamen eines Verzeichnis anhand eines Musters. Das Muster versteht * und ? in der üblichen Bedeutung.
Definiert in Zeile 152 der Datei Helper.cpp. Wird benutzt von psfa::DbWriteDriverMySql::check(), psfa::DbWriteDriverMySql::initPsfa() und psfa::Admin::setUpEnviroment().
00155 { 00156 QDir dir( path.c_str() ); 00157 dir.setFilter( QDir::Files | QDir::NoSymLinks | QDir::Readable ); 00158 bool success = dir.exists(); 00159 if( !success ) { 00160 return; 00161 } 00162 dir.setNameFilter( pattern.c_str() ); 00163 QStringList dirList = dir.entryList(); 00164 for( QStringList::Iterator i = dirList.begin(); i != dirList.end(); ++i ) { 00165 fileList.push_back( (*i).ascii() ); 00166 } 00167 return; 00168 } |
|
Ermittelt die Größe einer Datei.
Definiert in Zeile 191 der Datei Helper.cpp. Wird benutzt von psfa::DbWriteDriverMySql::insertFileRows().
00192 {
00193 QFileInfo file( path.c_str() );
00194 return file.size();
00195 }
|
|
Liefert den 32-bit langen MD5-Hash im Hex-Format einer Datei.
Definiert in Zeile 99 der Datei Helper.cpp. Wird benutzt von psfa::DbWriteDriverMySql::check() und psfa::DbWriteDriverMySql::insertFiles().
00100 { 00101 std::string filePath = path + "/" + fileName; 00102 00103 std::FILE* file = std::fopen( filePath.c_str(), "r" ); 00104 unsigned char buff[16]; 00105 md5_stream( file, buff ); 00106 00107 std::ostringstream sum; 00108 for (int cnt = 0; cnt < 16; ++cnt) { 00109 sum << std::setfill('0') 00110 << std::setw(2) 00111 << std::hex 00112 << static_cast<int>(buff[cnt]); 00113 } 00114 std::fclose( file ); 00115 00116 return sum.str(); 00117 } |
|
Ermittelt die Länge eines XMLCh-Zeichenfeldes.
Definiert in Zeile 49 der Datei Helper.cpp. Benutzt XMLCh. Wird benutzt von psfa::UnitSax2ContentHandler::startElement() und psfa::ConfigSax2ContentHandler::startElement().
00050 { 00051 if( field ) { 00052 std::string::size_type i = 0; 00053 while( field[i] != 0 ) { 00054 ++i; 00055 } 00056 return i; 00057 } 00058 return 0; 00059 } |
|
Prüft, ob ein String nur aus Whitespace-Zeichen besteht.
Definiert in Zeile 34 der Datei Helper.cpp. Wird benutzt von psfa::UnitSax2ContentHandler::characters() und stripWhiteSpace().
00035 { 00036 using std::string; 00037 00038 string whiteSpaces = " \n\t"; 00039 string::size_type wSPos = theString.find_first_not_of( whiteSpaces ); 00040 if( wSPos == string::npos ) { 00041 return true; 00042 } 00043 return false; 00044 } |
|
Überprüft, ob ein Pfad ein Verzeichnis ist.
Definiert in Zeile 173 der Datei Helper.cpp. Wird benutzt von psfa::Admin::setUpEnviroment().
00174 {
00175 QDir dir( path.c_str() );
00176 return dir.exists();
00177 }
|
|
Überprüft, ob ein Pfad für den aktuellen Benutzer lesbar ist.
Definiert in Zeile 182 der Datei Helper.cpp. Wird benutzt von psfa::Admin::setUpEnviroment() und setUpPsfa().
00183 {
00184 QFileInfo file( path.c_str() );
00185 return file.isReadable();
00186 }
|
|
Zerlegt einen String in einen Vector anhand eines Trennzeichens. Wenn keine Trennung vorgenommen werden kann, wird der gesamte String in den Ergebnisvector kopiert.
Definiert in Zeile 122 der Datei Helper.cpp. Wird benutzt von psfa::DbWriteDriverMySql::check(), psfa::DbWriteDriverMySql::initPsfa(), psfa::DbWriteDriverMySql::insertKontext(), psfa::DbWriteDriverMySql::insertSearch(), main(), psfa::Admin::setUpEnviroment() und psfa::UnitSax2ContentHandler::UnitSax2ContentHandler().
00125 { 00126 using std::string; 00127 00128 if( theString.empty() ) { 00129 return; 00130 } 00131 string::size_type startToken = 0; 00132 string::size_type nextToken = theString.find( delim ); 00133 while( nextToken < string::npos ) { 00134 string token( theString, startToken, nextToken - startToken ); 00135 if( token != "" ) { 00136 theVector.push_back( token ); 00137 } 00138 ++nextToken; 00139 startToken = nextToken; 00140 nextToken = theString.find( delim, startToken ); 00141 } 00142 string token( theString, startToken ); 00143 if( token != "" ) { 00144 theVector.push_back( token ); 00145 } 00146 return; 00147 } |
|
Entfernt WhiteSpace-Zeichen aus einem String. Die Reihenfolge dabei ist Space, Newline, Tab. Einzelne Spaces werden nicht entfernt, Newlines werden durch ein Space ersetzt.
Definiert in Zeile 64 der Datei Helper.cpp. Benutzt onlyWhiteSpace(). Wird benutzt von psfa::UnitSax2ContentHandler::characters(), psfa::ConfigSax2ContentHandler::characters() und psfa::UnitSax2ContentHandler::startElement().
00065 { 00066 using std::string; 00067 using psfahelper::onlyWhiteSpace; 00068 00069 if( onlyWhiteSpace( theString ) ) { 00070 return ""; 00071 } 00072 00073 string::size_type whiteSpacePos; 00074 00075 whiteSpacePos = theString.find( " " ); 00076 while( whiteSpacePos < string::npos ) { 00077 theString.replace( whiteSpacePos, 2, "" ); 00078 whiteSpacePos = theString.find( " ", whiteSpacePos ); 00079 } 00080 00081 whiteSpacePos = theString.find( "\n" ); 00082 while( whiteSpacePos < string::npos ) { 00083 theString.replace( whiteSpacePos, 1, " " ); 00084 whiteSpacePos = theString.find( "\n", whiteSpacePos + 1 ); 00085 } 00086 00087 whiteSpacePos = theString.find( "\t" ); 00088 while( whiteSpacePos < string::npos ) { 00089 theString.replace( whiteSpacePos, 1, "" ); 00090 whiteSpacePos = theString.find( "\t", whiteSpacePos + 1 ); 00091 } 00092 00093 return theString; 00094 } |