public ImportResultContract ProcessSession(string sessionId, long?projectId, int userId, string uploadMessage, ProjectTypeContract projectType, FulltextStoreTypeContract storeType, IList <PermissionFromAuthContract> autoImportPermissions) { if (!m_activeSessionManager.ContainsSessionId(sessionId)) { return(new ImportResultContract { Success = false }); } ResourceSessionDirector director = m_activeSessionManager.GetDirectorBySessionId(sessionId); director.SetSessionInfoValue(SessionInfo.Message, uploadMessage); director.SetSessionInfoValue(SessionInfo.CreateTime, DateTime.UtcNow); director.SetSessionInfoValue(SessionInfo.ProjectId, projectId); director.SetSessionInfoValue(SessionInfo.UserId, userId); director.SetSessionInfoValue(SessionInfo.AutoImportPermissions, autoImportPermissions); director.SetSessionInfoValue(SessionInfo.ProjectType, projectType); director.SetSessionInfoValue(SessionInfo.StoreType, storeType); bool result = m_resourceProcessorManager.ProcessSessionResources(director); ImportResultContract importResult = new ImportResultContract( director.GetSessionInfoValue <long>(SessionInfo.ProjectId), result ); m_activeSessionManager.FinalizeSession(sessionId); return(importResult); }
public ImportResultContract ProcessSession(string sessionId, long?projectId, int userId, string uploadMessage, ProjectTypeContract projectType, FulltextStoreTypeContract storeType, IList <PermissionFromAuthContract> autoImportPermissions) { try { return(Channel.ProcessSession(sessionId, projectId, userId, uploadMessage, projectType, storeType, autoImportPermissions)); } catch (FaultException ex) { throw new FileProcessingImportFailedException("File processing failed. See inner exception.", ex); } catch (TimeoutException ex) { throw new FileProcessingException("Communication with FileProcessing service failed. See inner exception.", ex); } catch (CommunicationException ex) { throw new FileProcessingException(String.Format("Communication with FileProcessing service failed. See inner exception: {0}", ex.Message), ex); } catch (ObjectDisposedException ex) { throw new FileProcessingException("Communication with FileProcessing service failed. See inner exception.", ex); } }
private void PublishSnapshotToExternalDatabase(long snapshotId, long projectId, List <BookPageData> bookDataPages, FulltextStoreTypeContract storeType) { var externalIds = bookDataPages?.Select(x => x.XmlId) .Where(x => x != null) // the page doesn't exist in fulltext database when ID is null .ToList(); var metadata = m_metadataRepository.InvokeUnitOfWork(x => x.GetLatestMetadataResource(projectId)); if (externalIds != null && externalIds.Count > 0) { var fulltextResourceProcessor = m_fulltextStoreProcessorProvider.GetByStoreType(storeType); fulltextResourceProcessor.PublishSnapshot(snapshotId, projectId, externalIds, metadata); } else { if (m_log.IsInfoEnabled) { m_log.Info($"Snapshot is not published to external database because the project doesn't contain any text pages. ProjectID={projectId}, SnapshotID={snapshotId}"); } } }
public IFulltextResourceProcessor GetByStoreType(FulltextStoreTypeContract storeType) { return(m_fulltextResourceProcessors[storeType]); }
public ImportResultContract ProcessSession(string sessionId, long?projectId, int userId, string uploadMessage, ProjectTypeContract projectType, FulltextStoreTypeContract storeType, IList <PermissionFromAuthContract> autoImportPermissions) { return(m_sessionManager.ProcessSession(sessionId, projectId, userId, uploadMessage, projectType, storeType, autoImportPermissions)); }