void CHPFileWriter::WriteHeaders()
{
	writer->WriteHeader();
	DataGroupWriterIt beginGrp;
	DataGroupWriterIt endGrp;
	writer->GetDataGroupWriters(beginGrp, endGrp);
	while(beginGrp != endGrp)
	{
		DataGroupWriter* dataGroupWriter = &(*beginGrp);
		dataGroupWriter->WriteHeader();

		DataSetWriterIt beginSet;
		DataSetWriterIt endSet;
		dataGroupWriter->GetDataSetWriters(beginSet, endSet);
		while(beginSet != endSet)
		{
			dataSetWriter = &(*beginSet);
			beginSet->WriteHeader();
			SetFilePositions();
			beginSet++;
		}
		dataGroupWriter->UpdateNextDataGroupPos();
		beginGrp++;
	}
}
예제 #2
0
void CelFileWriter::WriteHeaders()
{
	writer->WriteHeader();
	DataGroupWriter* dataGroupWriter = &writer->GetDataGroupWriter(0);
	dataGroupWriter->WriteHeader();

	DataSetWriterIt begin;
	DataSetWriterIt end;
	dataGroupWriter->GetDataSetWriters(begin, end);
	while(begin != end)
	{
		dataSetWriter = &(*begin);
		begin->WriteHeader();
		SetFilePositions();
		begin++;
	}
}
void CHPQuantificationDetectionFileWriter::WriteHeaders()
{
	writer->WriteHeader();
	DataGroupWriter &dataGroupWriter = writer->GetDataGroupWriter(0);
	dataGroupWriter.WriteHeader();

	//int iSet=0;
	DataSetWriterIt beginSet;
	DataSetWriterIt endSet;
	dataGroupWriter.GetDataSetWriters(beginSet, endSet);
	if (beginSet != endSet)
	{
		dataSetWriter = &(*beginSet);
		beginSet->WriteHeader();
		entryPos = SetFilePositions();
		dataGroupWriter.UpdateNextDataGroupPos();
	}
}
void DataSetUpdaterTest::CreateReferenceFile()
{
	// Create the data object.
	GenericData data;
	data.Header().SetFilename(TEST_FILE);

	DataGroupHeader dgHdr(L"data");
	DataSetHeader dsHdr;

	dsHdr.SetName(L"test");
	dsHdr.AddAsciiColumn(L"string8", 64);
	dsHdr.AddUnicodeColumn(L"string16", 64);
	dsHdr.AddByteColumn(L"int8");
	dsHdr.AddShortColumn(L"int16");
	dsHdr.AddIntColumn(L"int32");
	dsHdr.AddUByteColumn(L"uint8");
	dsHdr.AddUShortColumn(L"uint16");
	dsHdr.AddUIntColumn(L"uint32");
	dsHdr.AddFloatColumn(L"float");
	dsHdr.SetRowCnt(3);

	dgHdr.AddDataSetHdr(dsHdr);

	data.Header().AddDataGroupHdr(dgHdr);
	data.Header().GetGenericDataHdr()->SetFileTypeId("affymetrix.test.data");



	// Write the data object to the file
	GenericFileWriter writer(&data.Header());
	writer.WriteHeader();

	DataGroupWriter &dataGroupWriter = writer.GetDataGroupWriter(0);
	dataGroupWriter.WriteHeader();

	//int iSet=0;
	DataSetWriterIt beginSet;
	DataSetWriterIt endSet;
	dataGroupWriter.GetDataSetWriters(beginSet, endSet);

	beginSet->WriteHeader();

	int32_t dataSetSz = beginSet->GetDataSetSize();
	int32_t offset = writer.GetFilePos();
	writer.SeekFromCurrentPos(dataSetSz + 1);
	beginSet->UpdateNextDataSetOffset();

	dataGroupWriter.UpdateNextDataGroupPos();
	
	writer.SeekFromBeginPos(offset);


	// Write the data.
	beginSet->Write("first_row", 64);
	beginSet->Write(L"first_row", 64);
	beginSet->Write((int8_t) 1);
	beginSet->Write((int16_t) 1);
	beginSet->Write((int32_t) 1);
	beginSet->Write((u_int8_t) 1);
	beginSet->Write((u_int16_t) 1);
	beginSet->Write((u_int32_t) 1);
	beginSet->Write(1.0f);

	beginSet->Write("second_row", 64);
	beginSet->Write(L"second_row", 64);
	beginSet->Write((int8_t) 2);
	beginSet->Write((int16_t) 2);
	beginSet->Write((int32_t) 2);
	beginSet->Write((u_int8_t) 2);
	beginSet->Write((u_int16_t) 2);
	beginSet->Write((u_int32_t) 2);
	beginSet->Write(2.0f);

	beginSet->Write("third_row", 64);
	beginSet->Write(L"third_row", 64);
	beginSet->Write((int8_t) 3);
	beginSet->Write((int16_t) 3);
	beginSet->Write((int32_t) 3);
	beginSet->Write((u_int8_t) 3);
	beginSet->Write((u_int16_t) 3);
	beginSet->Write((u_int32_t) 3);
	beginSet->Write(3.0f);
}