Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Übersicht | Auflistung der Dateien | Elemente eines Namensbereiches | Datenstruktur-Elemente | Datei-Elemente

psfahelper Namensbereichsreferenz


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.


Dokumentation der Funktionen

void psfahelper::getFilePaths const std::string  path,
const std::string  pattern,
std::vector< std::string > &  fileList
 

Ermittelt die Dateinamen eines Verzeichnis anhand eines Musters.

Das Muster versteht * und ? in der üblichen Bedeutung.

Parameter:
path der Pfad zu der Datei
pattern das Muster für die Dateiauswahl
fileList der Container für die Dateinamen

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 }

int psfahelper::getFileSize const std::string  path  ) 
 

Ermittelt die Größe einer Datei.

Parameter:
path den Namen der Datei mit komplettem Pfad
Rückgabe:
die Größe der Datei in Bytes

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 }

const std::string psfahelper::getMd5Sum const std::string  path,
const std::string  fileName
 

Liefert den 32-bit langen MD5-Hash im Hex-Format einer Datei.

Parameter:
path der Pfad zu der Datei
fileName der Name der Datei
Rückgabe:
der Hash-Wert

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 }

unsigned int psfahelper::getXMLChLength const XMLCh *const   field  ) 
 

Ermittelt die Länge eines XMLCh-Zeichenfeldes.

Parameter:
field das Feld
Rückgabe:
die Länge

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 }

bool psfahelper::onlyWhiteSpace const std::string  theString  ) 
 

Prüft, ob ein String nur aus Whitespace-Zeichen besteht.

Parameter:
theString der String
Rückgabe:
das Ergebnis

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 }

bool psfahelper::pathIsDir const std::string  path  ) 
 

Überprüft, ob ein Pfad ein Verzeichnis ist.

Parameter:
path der Pfad
Rückgabe:
das Ergebnis

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 }

bool psfahelper::pathIsReadable const std::string  path  ) 
 

Überprüft, ob ein Pfad für den aktuellen Benutzer lesbar ist.

Parameter:
path der Pfad
Rückgabe:
das Ergebnis

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 }

void psfahelper::splitString const std::string  theString,
std::vector< std::string > &  theVector,
const std::string  delim = ""
 

Zerlegt einen String in einen Vector anhand eines Trennzeichens.

Wenn keine Trennung vorgenommen werden kann, wird der gesamte String in den Ergebnisvector kopiert.

Parameter:
theString der String
theVector der Vector für das Ergebnis
delim das Trennzeichen

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 }

const std::string psfahelper::stripWhiteSpace std::string  theString  ) 
 

Entfernt WhiteSpace-Zeichen aus einem String.

Die Reihenfolge dabei ist Space, Newline, Tab. Einzelne Spaces werden nicht entfernt, Newlines werden durch ein Space ersetzt.

Parameter:
theString der String
Rückgabe:
der String ohne Whitespaces

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 }


Erzeugt am Mon Jul 12 11:45:09 2004 für PSFA von doxygen 1.3.4