O2Plib.db
Class DbAccession

java.lang.Object
  extended by O2Plib.db.DbAccession

public class DbAccession
extends java.lang.Object

Class DbAccession accesses the Open2Dprot accession database. The accession database is used to hold information about samples - one entry per sample. It contains two types of information: required information (see accFieldsRequired[]) and dynamic information that is not required or could be added from another source such as MIAPE data. The required data includes Sample name, the Rsample it was possibly paired with, the computing window (cwx1:cwx2, cwy1:cwy2), etc.

The data is kept in an accession database which could be a file accession.txt (tab-delimited) or accession.xml. It could later reside in the RDBMS. This class has readers and writers for both the tab-delimited and XML versions.

This file is derived from GELLAB-II code. as of "Version November 9, 1999" and code from Open2Dprot and MAExplorer projects.

This work was produced by Peter Lemkin of the National Cancer Institute, an agency of the United States Government. As a work of the United States Government there is no associated copyright. It is offered as open source software under the Mozilla Public License (version 1.1) subject to the limitations noted in the accompanying LEGAL file. This notice must be included with the code. The Open2Dprot Mozilla and Legal files are available on http://Open2Dprot.sourceforge.net/.

Version:
$Date: 2005/12/21 22:52:20 $ $Revision: 1.32 $
Author:
P. Lemkin, NCI-Frederick, Frederick, MD, 21702

Nested Class Summary
(package private)  class DbAccession.AccContentHandler
          This class implements the SAX ContentHandler interface and defines callback behavior for the SAX callbacks associated with an XML document's content, stuffing data structures with correct data from xml files.
(package private)  class DbAccession.AccErrorHandler
          AccErrorHandlerclass implements the SAX ErrorHandler interface and defines callback behavior for the SAX callbacks associated with an XML document's warnings and errors.
 
Field Summary
static java.lang.String[] accFields
          Accession database table fields.
static java.lang.String[] accFieldsDynamic
          Dynamic accession database table fields.
 java.lang.String[] accFieldsNames
          Sample accession fields if available in accession database
static java.lang.String[] accFieldsRequired
          Required accession database table fields
 int accFormatModeA
          accession file data mode IO_FORMAT_xxxx
 java.lang.String[] accRowData
          Sample accession data if available in accession database
 int calCWx1A
          ULHC X computing window for input sample image wedge if any, else -1
 int calCWx1Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int calCWx2A
          LRHC X computing window for input sample image wedge if any, else -1
 int calCWx2Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int calCWy1A
          ULHC Y computing window for input sample image wedge if any, else -1
 int calCWy1Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int calCWy2A
          LRHC Y computing window for input sample image wedge if any, else -1
 int calCWy2Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int cwx1A
          ULHC X computing window for entire input sample image
 int cwx1Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int cwx2A
          LRHC X computing window for entire input sample image
 int cwx2Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int cwy1A
          ULHC Y computing window for entire input sample image
 int cwy1Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int cwy2A
          LRHC Y computing window for entire input sample image
 int cwy2Idx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
static java.lang.String[] defLegalImageFileExtens
          List of legal gel image file extensions
static boolean DYNAMIC_FIELDS
          Use hash table for dynamic fields
 java.lang.String errMsg
          Error message if not null
 java.util.Hashtable fieldsIdxHT
          Hashtable for field names for accession database.
 boolean hasCalMapAFlag
          has valid mapGrayToCalA[] data
static java.lang.String[] helpList
          Accession table help list
static java.lang.String[] helpListDynamic
          Dynamic accession table fields help list
static java.lang.String[] helpListRequired
          Required accession table fields help list
 int lastTaTableRowIdx
          Last row found with lookupAccEntry()
 java.lang.String[] legalImageFileExtensA
          List of legal input image file extensions.
 float[] mapGrayToCalA
          Gray to calibration value calibration map if it exists.
 int maxCalStepsA
          Number of wedge list calibration values if not 0
 int maxGrayPixelA
          max gray value allowed
 int maxPeaksA
          Number of wedge list gray values if not 0
 int pixHeightA
          Input sample image size: height
 int PixHeightIdx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int pixRsampleIdx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int pixSampleIdx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int pixWidthA
          Input sample image size: width
 int PixWidthIdx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 java.lang.String ppxDirA
          Directory where input images are kept
 boolean processingXMLdataFlag
          Processing the XML file
 java.lang.String sampleFileNameA
          Accession sample name (without file extension)
 java.lang.String simpleSampleFileNameA
          Simple sample file name with file extension
 Table ta
          Accession database file table
 java.lang.String unitsA
          calibration units
 java.lang.String unitsAbbrevA
          calibration units abbreviation
 boolean useInternalDTDflag
          Use internal "Open2Dprot-Accession.dtd" file in Accession.xml output file
static java.lang.String VERSION
          Version for this module
 int wedgeCalIdx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 float[] wedgeCalValuesA
          list of calibration wedge calibration values if any
 int wedgeGrayIdx
          Required accession database Table ta column field indices if tab-delimited tables are being used.
 int[] wedgeGrayValuesA
          list of calibration wedge gray values if any
 java.lang.String xmlDate
          XML accession file date "Date"
 java.lang.String xmlDBname
          XML accession file database name value for "DatabaseName"
 
Constructor Summary
DbAccession()
          Accession() - constructor for Accession
 
Method Summary
 boolean addNewEntry(java.lang.String datum, java.lang.String fieldName, java.lang.String fillStr)
          addNewEntry() - add a new row of data to accession table.
 boolean appendRowToTable(java.lang.String[] rowData)
          appendRowToTable() - append accRowData[] data to accession table.
 void buildFullFieldLists()
          buildFullFieldLists() - build full accFields[] and helpList[] arrays [TODO] Big time add MIAPE fields here...
 java.lang.String getAccEntryValueByFieldName(java.lang.String[] accRowData, java.lang.String accFieldName)
          getAccEntryValueByFieldName() - lookup accession entry data by field name (prefix) in the current ta.
 java.lang.String getAccEntryValueByIndex(java.lang.String[] rowData, int fieldIdx)
          getAccEntryValueByFieldIndex() - lookup entry in row data by field index in the current table.
 boolean initAccTblDynamicIndices()
          initAccTblDynamicIndices() - init dynamic indices for accession table.
 boolean initAccTblIndices()
          initAccTblIndices() - init the indices for the accession table.
 boolean initAccTblRequiredIndices()
          initAccTblRequiredIndices() - init required indices for accession table.
 boolean isDynamicField(java.lang.String fName)
          isDynamicField() - lookup dynamic Accession DB field data that is required (not dynamic)
 boolean isRequiredField(java.lang.String fName)
          isRequiredField() - lookup required Accession DB field data that is required (not dynamic)
 java.lang.String[] listSamples()
          listSamples() - list samples (one/line) in the accession file
 boolean loadAccessionDatabase(java.lang.String accFile, java.lang.String ppxDir, java.lang.String[] legalImageFileExtens, int accFormatMode)
          loadAccessionDatabase() - lookup and load the accession database.
 java.lang.String[] lookupAccEntry(java.lang.String accNameData, java.lang.String accFieldName)
          lookupAccEntry() - lookup accession row entry data in the accession database specified by the accFile.
 java.lang.String[] lookupAccEntryNoExtn(java.lang.String accNameData, java.lang.String accFieldName)
          lookupAccEntryNoExtn () - lookup accession row entry data in the accession database specified by the accFieldName's value of accNameData.
 boolean lookupAccessionTableIndices()
          lookupAccessionTableIndices() - lookup SSF data table indices There may be additional fields.
 java.lang.String[] lookupAccTableFields()
          lookupAccTableFields() - lookup accession database fields
 boolean lookupDynamicAccTableIndices()
          lookupDynamicAccTableIndices() - lookup dynamic SSF data table indices There may be additional fields.
 int lookupFieldIdxFromHT(java.lang.String fName)
          lookupFieldIdxFromHT() - lookup accession database field column index.
 boolean lookupRequiredAccTableIndices()
          lookupRequiredAccTableIndices() - lookup required SSF data table indices.
 boolean lookupSampleInAccDB(java.lang.String accNameData, java.lang.String accFieldName, java.lang.String accFile)
          lookupSampleInAccDB() - lookup the sample accNameData in the accession DB by the accession database accFieldName key.
private  boolean readAccessionXML(java.lang.String XMLfileName)
          readAccessionXML() - read accession database data from XML file
 Table readAccTable(java.lang.String accFile)
          readAccTable() - read the accession table from accFile
 boolean saveAccDB2DelimFile(java.lang.String accFile, java.lang.String delim, boolean makeBkupCopyFlag)
          saveAccDB2DelimFile() - save the accession database into a delimited string file.
 boolean saveAccDB2XMLfile(java.lang.String accXMLfile, boolean makeBkupCopyFlag)
          saveAccDB2XMLfile() - save the accession database into an XML file.
 boolean saveAccDB2XMLfile(java.lang.String accXMLfile, java.lang.String xmlDBname, boolean makeBkupCopyFlag)
          saveAccDB2XMLfile() - save the accession database into an XML file.
 boolean saveAccEntry(java.lang.String[] rowData, java.lang.String accNameData, java.lang.String accFieldName)
          saveAccEntry() - save accession row entry data in the accession database.
 void setUseInternalDTDflag(boolean useInternalDTDflag)
          setUseInternalDTDflag() - set the use internal DTD flag.
 boolean writeAccessionTable(java.lang.String accFile, int accFormatMode, boolean makeBkupCopyFlag)
          writeAccessionTable() - write out the landmarks table in the specified format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION

public static final java.lang.String VERSION
Version for this module

See Also:
Constant Field Values

DYNAMIC_FIELDS

public static final boolean DYNAMIC_FIELDS
Use hash table for dynamic fields

See Also:
Constant Field Values

helpList

public static java.lang.String[] helpList
Accession table help list


helpListRequired

public static java.lang.String[] helpListRequired
Required accession table fields help list


helpListDynamic

public static java.lang.String[] helpListDynamic
Dynamic accession table fields help list


fieldsIdxHT

public java.util.Hashtable fieldsIdxHT
Hashtable for field names for accession database. The key is the field name and the value (int) is the column index in the accFields[] array if it is not -1.


pixSampleIdx

public int pixSampleIdx
Required accession database Table ta column field indices if tab-delimited tables are being used.


pixRsampleIdx

public int pixRsampleIdx
Required accession database Table ta column field indices if tab-delimited tables are being used.


wedgeCalIdx

public int wedgeCalIdx
Required accession database Table ta column field indices if tab-delimited tables are being used.


wedgeGrayIdx

public int wedgeGrayIdx
Required accession database Table ta column field indices if tab-delimited tables are being used.


cwx1Idx

public int cwx1Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


cwx2Idx

public int cwx2Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


cwy1Idx

public int cwy1Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


cwy2Idx

public int cwy2Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


calCWx1Idx

public int calCWx1Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


calCWx2Idx

public int calCWx2Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


calCWy1Idx

public int calCWy1Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


calCWy2Idx

public int calCWy2Idx
Required accession database Table ta column field indices if tab-delimited tables are being used.


PixWidthIdx

public int PixWidthIdx
Required accession database Table ta column field indices if tab-delimited tables are being used.


PixHeightIdx

public int PixHeightIdx
Required accession database Table ta column field indices if tab-delimited tables are being used.


accFieldsRequired

public static java.lang.String[] accFieldsRequired
Required accession database table fields


accFieldsDynamic

public static java.lang.String[] accFieldsDynamic
Dynamic accession database table fields. Later, these will be read in from the MIAPE data. [DEPRICATE]


accFields

public static java.lang.String[] accFields
Accession database table fields. This consists of the Required fields followed by the dynamic fields that could change.


ta

public Table ta
Accession database file table


lastTaTableRowIdx

public int lastTaTableRowIdx
Last row found with lookupAccEntry()


accFieldsNames

public java.lang.String[] accFieldsNames
Sample accession fields if available in accession database


accRowData

public java.lang.String[] accRowData
Sample accession data if available in accession database


sampleFileNameA

public java.lang.String sampleFileNameA
Accession sample name (without file extension)


simpleSampleFileNameA

public java.lang.String simpleSampleFileNameA
Simple sample file name with file extension


pixWidthA

public int pixWidthA
Input sample image size: width


pixHeightA

public int pixHeightA
Input sample image size: height


cwx1A

public int cwx1A
ULHC X computing window for entire input sample image


cwx2A

public int cwx2A
LRHC X computing window for entire input sample image


cwy1A

public int cwy1A
ULHC Y computing window for entire input sample image


cwy2A

public int cwy2A
LRHC Y computing window for entire input sample image


calCWx1A

public int calCWx1A
ULHC X computing window for input sample image wedge if any, else -1


calCWx2A

public int calCWx2A
LRHC X computing window for input sample image wedge if any, else -1


calCWy1A

public int calCWy1A
ULHC Y computing window for input sample image wedge if any, else -1


calCWy2A

public int calCWy2A
LRHC Y computing window for input sample image wedge if any, else -1


mapGrayToCalA

public float[] mapGrayToCalA
Gray to calibration value calibration map if it exists.


wedgeCalValuesA

public float[] wedgeCalValuesA
list of calibration wedge calibration values if any


wedgeGrayValuesA

public int[] wedgeGrayValuesA
list of calibration wedge gray values if any


maxGrayPixelA

public int maxGrayPixelA
max gray value allowed


maxCalStepsA

public int maxCalStepsA
Number of wedge list calibration values if not 0


maxPeaksA

public int maxPeaksA
Number of wedge list gray values if not 0


unitsA

public java.lang.String unitsA
calibration units


unitsAbbrevA

public java.lang.String unitsAbbrevA
calibration units abbreviation


hasCalMapAFlag

public boolean hasCalMapAFlag
has valid mapGrayToCalA[] data


xmlDBname

public java.lang.String xmlDBname
XML accession file database name value for "DatabaseName"


xmlDate

public java.lang.String xmlDate
XML accession file date "Date"


processingXMLdataFlag

public boolean processingXMLdataFlag
Processing the XML file


useInternalDTDflag

public boolean useInternalDTDflag
Use internal "Open2Dprot-Accession.dtd" file in Accession.xml output file


ppxDirA

public java.lang.String ppxDirA
Directory where input images are kept


legalImageFileExtensA

public java.lang.String[] legalImageFileExtensA
List of legal input image file extensions.


accFormatModeA

public int accFormatModeA
accession file data mode IO_FORMAT_xxxx


defLegalImageFileExtens

public static java.lang.String[] defLegalImageFileExtens
List of legal gel image file extensions


errMsg

public java.lang.String errMsg
Error message if not null

Constructor Detail

DbAccession

public DbAccession()
Accession() - constructor for Accession

Method Detail

buildFullFieldLists

public void buildFullFieldLists()
buildFullFieldLists() - build full accFields[] and helpList[] arrays [TODO] Big time add MIAPE fields here...


loadAccessionDatabase

public boolean loadAccessionDatabase(java.lang.String accFile,
                                     java.lang.String ppxDir,
                                     java.lang.String[] legalImageFileExtens,
                                     int accFormatMode)
loadAccessionDatabase() - lookup and load the accession database.

Parameters:
accFile - is the name of the accession file
ppxDir - directory holds the original images
legalImageFileExtens - is list of legal file extensions. If null, then the default list will be used.
accFormatMode - is the format mode to use: IO_FORMAT_XML or IO_FORMAT_TAB_DELIM
Returns:
true if succeed, error in errMsg.

lookupSampleInAccDB

public boolean lookupSampleInAccDB(java.lang.String accNameData,
                                   java.lang.String accFieldName,
                                   java.lang.String accFile)
lookupSampleInAccDB() - lookup the sample accNameData in the accession DB by the accession database accFieldName key.

Parameters:
accNameData - is the sample name data to search for. If this is the sample image name, do not specify the file extension.
accFieldName - is the accession field name key
accFile - is the name of the accession file
Returns:
true if succeed, error in errMsg.

readAccTable

public Table readAccTable(java.lang.String accFile)
readAccTable() - read the accession table from accFile

Returns:
accession data if found, else null

listSamples

public java.lang.String[] listSamples()
listSamples() - list samples (one/line) in the accession file

Returns:
list of accession samples, null if problem.

setUseInternalDTDflag

public void setUseInternalDTDflag(boolean useInternalDTDflag)
setUseInternalDTDflag() - set the use internal DTD flag. This is used to decide if add internal "Open2Dprot-Accession.dtd" file in Accession.xml XML output file.

Parameters:
useInternalDTDflag - status to set

writeAccessionTable

public boolean writeAccessionTable(java.lang.String accFile,
                                   int accFormatMode,
                                   boolean makeBkupCopyFlag)
writeAccessionTable() - write out the landmarks table in the specified format.

Parameters:
accFile - - name of output accession file to be generated.
accFormatMode - - IO_FORMAT_TAB_DELIM or IO_FORMAT_XML format
makeBkupCopyFlag - - first make backup copy of file with a .bak extension.
Returns:
true if succeed

saveAccDB2XMLfile

public boolean saveAccDB2XMLfile(java.lang.String accXMLfile,
                                 boolean makeBkupCopyFlag)
saveAccDB2XMLfile() - save the accession database into an XML file.

Parameters:
accXMLfile - - name of XML file to be generated.
makeBkupCopyFlag - - make backup copy of file first with .bak extension.
Returns:
true if succeed, error in errMsg.

saveAccDB2XMLfile

public boolean saveAccDB2XMLfile(java.lang.String accXMLfile,
                                 java.lang.String xmlDBname,
                                 boolean makeBkupCopyFlag)
saveAccDB2XMLfile() - save the accession database into an XML file.

Parameters:
accXMLfile - - name of XML file to be generated.
makeBkupCopyFlag - - make backup copy of file first with .bak extension.
Returns:
true if succeed, error in errMsg.

saveAccDB2DelimFile

public boolean saveAccDB2DelimFile(java.lang.String accFile,
                                   java.lang.String delim,
                                   boolean makeBkupCopyFlag)
saveAccDB2DelimFile() - save the accession database into a delimited string file. Delimiters could be "," or "\t", or some string.

Parameters:
accFile - - name of delimted file to be generated.
delim - is the delimiter string (or character)
makeBkupCopyFlag - - make backup copy of file first with .bak extension.
Returns:
true if succeed, error in errMsg.

initAccTblIndices

public boolean initAccTblIndices()
initAccTblIndices() - init the indices for the accession table. This includes both the required and dynamic indices.

Returns:
true if succeed

initAccTblRequiredIndices

public boolean initAccTblRequiredIndices()
initAccTblRequiredIndices() - init required indices for accession table.

Returns:
true if succeed

initAccTblDynamicIndices

public boolean initAccTblDynamicIndices()
initAccTblDynamicIndices() - init dynamic indices for accession table. Since these are stored in the new hashtable, nothing needs to be done.

Returns:
true if succeed

lookupAccessionTableIndices

public boolean lookupAccessionTableIndices()
lookupAccessionTableIndices() - lookup SSF data table indices There may be additional fields. Note: the table may contain either (SampleFile,Rsample, ..., cwx1,cwx2,cwy1,cwy2,PixWidth,PixHeight) So look for both field name sets.

Returns:
true if have these minimum fields.

lookupRequiredAccTableIndices

public boolean lookupRequiredAccTableIndices()
lookupRequiredAccTableIndices() - lookup required SSF data table indices. Note: the table may contain either (SampleFile,Rsample, ..., cwx1,cwx2,cwy1,cwy2,PixWidth,PixHeight) So look for both field name sets.

Returns:
true if have these minimum fields.

lookupDynamicAccTableIndices

public boolean lookupDynamicAccTableIndices()
lookupDynamicAccTableIndices() - lookup dynamic SSF data table indices There may be additional fields.

Returns:
true if have dynamic fields.

lookupFieldIdxFromHT

public int lookupFieldIdxFromHT(java.lang.String fName)
lookupFieldIdxFromHT() - lookup accession database field column index.

Parameters:
fName - is field name to lookup in hashtable
Returns:
the column index of the field name if it exists, else -1

isRequiredField

public boolean isRequiredField(java.lang.String fName)
isRequiredField() - lookup required Accession DB field data that is required (not dynamic)

Parameters:
fName - to test
Returns:
true if it is a required field

isDynamicField

public boolean isDynamicField(java.lang.String fName)
isDynamicField() - lookup dynamic Accession DB field data that is required (not dynamic)

Parameters:
fName - to test
Returns:
true if it is a required field

lookupAccTableFields

public java.lang.String[] lookupAccTableFields()
lookupAccTableFields() - lookup accession database fields

Returns:
list of table fields, else null

lookupAccEntry

public java.lang.String[] lookupAccEntry(java.lang.String accNameData,
                                         java.lang.String accFieldName)
lookupAccEntry() - lookup accession row entry data in the accession database specified by the accFile. The entry is specified by the accName which is the image name. If found return array of the associated data.

Parameters:
accNameData - is the accession value to search for
accFieldName - is the accession field name
Returns:
accession data if found, else null. If found, set the lastTaTableRowIdx to the row, else to -1.

saveAccEntry

public boolean saveAccEntry(java.lang.String[] rowData,
                            java.lang.String accNameData,
                            java.lang.String accFieldName)
saveAccEntry() - save accession row entry data in the accession database. The entry must exist and be found using the accFieldName, accNameData) key.

Parameters:
rowData - is the data to be stored.
accNameData - is the accession value to search for
accFieldName - is the accession field name
Returns:
true if the data was saved, false if failed

lookupAccEntryNoExtn

public java.lang.String[] lookupAccEntryNoExtn(java.lang.String accNameData,
                                               java.lang.String accFieldName)
lookupAccEntryNoExtn () - lookup accession row entry data in the accession database specified by the accFieldName's value of accNameData. However, strip the file extensions BEFORE compare the accNameData and the data from the accession database field. The entry is specified by the accName which is the image name. If found return array of the associated data.

Parameters:
accNameData - is the accession value to search for
accFieldName - is the accession field name
Returns:
accession data if found, else null

getAccEntryValueByFieldName

public java.lang.String getAccEntryValueByFieldName(java.lang.String[] accRowData,
                                                    java.lang.String accFieldName)
getAccEntryValueByFieldName() - lookup accession entry data by field name (prefix) in the current ta.

Parameters:
accRowData - is row of data to access
accFieldName - is the accession field name to get associated data.

getAccEntryValueByIndex

public java.lang.String getAccEntryValueByIndex(java.lang.String[] rowData,
                                                int fieldIdx)
getAccEntryValueByFieldIndex() - lookup entry in row data by field index in the current table.

Parameters:
rowData - is data row to use
fieldIdx - is the table field index to use

appendRowToTable

public boolean appendRowToTable(java.lang.String[] rowData)
appendRowToTable() - append accRowData[] data to accession table.

Parameters:
rowData - is the row of data to append to the table.
Returns:
true if succeed

addNewEntry

public boolean addNewEntry(java.lang.String datum,
                           java.lang.String fieldName,
                           java.lang.String fillStr)
addNewEntry() - add a new row of data to accession table. The data has one field set, namely fieldName with datum value. All of the other fields are fillStr. They will be filled in later.

Parameters:
datum - is the unique name to save in the field
fieldName - is the field to save the datum
fillStr - to use for the rest of the fields
Returns:
true if succeed

readAccessionXML

private boolean readAccessionXML(java.lang.String XMLfileName)
readAccessionXML() - read accession database data from XML file

Parameters:
XMLfileName - to read
Returns:
true if succeed