// Create a list where "orphaned" folders are stored.
// These will be adopted once all the folders have been created.
List<OrphanFolder> orphanFolders = Lists.newArrayList();
for( InterchangeDataRow row : arrData ) {
StringKeyValuePairs keyValues = dataParser.parse(row);
int iEntityType = keyValues.getInt(Folder.CONTENTS_ENTITY_TYPE);
if ( iEntityType != iCurrentEntityType ) {
// Change entity type.
iCurrentEntityType = iEntityType;
entityType = EntityType.fromId(iCurrentEntityType);
}
FolderId folderId = getFolderId(keyValues.get(Folder.FOLDER_ID));
// NOTE: FolderItemTab.ParentFolder_Id must have been joined with FolderTab to be able to do this!
//
FolderId parentFolderId = getFolderId(keyValues.get(FolderItem.PARENT_FOLDER_ID));
String stName = keyValues.get(Folder.FOLDER_NAME);
Folder folder = new Folder(folderId, stName, entityType);
m_folderIdFolderMap.put(folderId, folder);
// Assign to InterchangeProject if possible.
IntegrationProject project = null;
String sProjectId = keyValues.getString(IntegrationProject.PROPERTY_INTERCHANGE_PROJECT_ID);
if ( sProjectId != null ) {
IntegrationProjectId projectId = (IntegrationProjectId)EntityType.Project.getIntegrationId(sProjectId);
project = m_integrationProjectMap.get(projectId);
}