MesquiteMatrixConverter converter = null;
if (mesqDataType == MESQUITE_DNA_TYPE) {
converter = new MesquiteStandardMatrixConverter();
MatrixDataType dataType = pDataTypeHome
.findByDescription(MatrixDataType.MATRIX_DATATYPE_DNA);
converter.setMatrixDataType(dataType);
} else if (mesqDataType == MESQUITE_RNA_TYPE) {
converter = new MesquiteStandardMatrixConverter();
MatrixDataType dataType = pDataTypeHome
.findByDescription(MatrixDataType.MATRIX_DATATYPE_RNA);
converter.setMatrixDataType(dataType);
} else if (mesqDataType == MESQUITE_PROTEIN_TYPE) {
converter = new MesquiteStandardMatrixConverter();
MatrixDataType dataType = pDataTypeHome
.findByDescription(MatrixDataType.MATRIX_DATATYPE_PROTEIN);
converter.setMatrixDataType(dataType);
// } else if (mesqDataType == DiscreteDatatypes._CODON_DATATYPE) {
// converter = new MesquiteStandardMatrixConverter();
//
// // TODO: per Mark H. CODON should be depreciated in NCL.
// MatrixDataType dataType = pDataTypeHome
// .findByDescription(MatrixDataType.MATRIX_DATATYPE_DNA);
// converter.setMatrixDataType(dataType);
} else if (mesqDataType == MESQUITE_CATEGORICAL_TYPE) {
converter = new MesquiteStandardMatrixConverter();
MatrixDataType dataType = pDataTypeHome
.findByDescription(MatrixDataType.MATRIX_DATATYPE_STANDARD);
converter.setMatrixDataType(dataType);
} else if (mesqDataType == MESQUITE_CONTINUOUS_TYPE) {
MesquiteContinuousMatrixConverter continousConverter = new MesquiteContinuousMatrixConverter();
continousConverter.setItemDefinitionHome(pItemDefHome);
converter = continousConverter;
MatrixDataType dataType = pDataTypeHome
.findByDescription(MatrixDataType.MATRIX_DATATYPE_CONTINUOUS);
converter.setMatrixDataType(dataType);
} else {
// TODO: other types: nucleotide, distance, ...
// a missing datatype means use standard type:
converter = new MesquiteStandardMatrixConverter();
MatrixDataType dataType = pDataTypeHome
.findByDescription(MatrixDataType.MATRIX_DATATYPE_STANDARD);
converter.setMatrixDataType(dataType);
}
return converter;