List of usage examples for com.liferay.portal.kernel.repository RepositoryException RepositoryException
public RepositoryException(String msg, Throwable cause)
From source file:com.liferay.document.library.repository.cmis.internal.CMISRepository.java
License:Open Source License
@Override public void initRepository() throws PortalException { try {//from w w w .j av a 2s . c o m _sessionKey = Session.class.getName().concat(StringPool.POUND) .concat(String.valueOf(getRepositoryId())); Session session = getSession(); session.getRepositoryInfo(); } catch (PortalException | SystemException e) { throw e; } catch (Exception e) { processException(e); throw new RepositoryException("Unable to initialize CMIS session for repository with " + "{repositoryId=" + getRepositoryId() + "}", e); } }
From source file:cz.topolik.fsrepo.mapper.FileSystemRepositoryIndexer.java
License:Open Source License
public boolean reIndex(boolean async) throws RepositoryException { final File rootFolder; try {/*from www .j av a2 s. c o m*/ rootFolder = environment.getRepository().getRootFolder(); } catch (FileNotFoundException ex) { throw new RepositoryException(ex.getMessage(), ex); } try { final long companyId = environment.getRepository().getCompanyId(); long defaultUserId = UserLocalServiceUtil.getDefaultUserId(companyId); if (LockLocalServiceUtil.hasLock(defaultUserId, FileSystemRepositoryIndexer.class.getName(), environment.getRepository().getRepositoryId())) { if (_log.isInfoEnabled()) { _log.info("Skipping file system indexing of " + environment.getRepository().getRootFolder() + " because another file system indexing is in process"); } return false; } LockLocalServiceUtil.lock(defaultUserId, FileSystemRepositoryIndexer.class.getName(), environment.getRepository().getRepositoryId(), FileSystemRepositoryIndexer.class.getName(), false, Time.HOUR); if (async) { //TODO: use message bus? asyncThread = new Thread() { { this.setDaemon(true); } @Override public void run() { try { if (_log.isInfoEnabled()) { _log.info("Indexing file system repository of: " + rootFolder); } FileSystemRepositoryIndexer.this.run(rootFolder); if (!isInterrupted()) { synchronized (filesToIndex) { environment.getMapper().addAll(filesToIndex); filesToIndex.clear(); } } if (_log.isInfoEnabled()) { _log.info("Indexing file system repository of " + rootFolder + " finished."); } } finally { try { LockLocalServiceUtil.unlock(FileSystemRepositoryIndexer.class.getName(), environment.getRepository().getRepositoryId()); } catch (SystemException ex) { _log.error("Cannot reindex filesystem " + rootFolder + ": " + ex.getMessage(), ex); } } } }; asyncThread.start(); } else { try { run(environment.getRepository().getRootFolder()); synchronized (filesToIndex) { environment.getMapper().addAll(filesToIndex); filesToIndex.clear(); } } finally { try { LockLocalServiceUtil.unlock(FileSystemRepositoryIndexer.class.getName(), environment.getRepository().getRepositoryId()); } catch (SystemException ex) { _log.error("Cannot reindex filesystem " + rootFolder + ": " + ex.getMessage(), ex); } } } return true; } catch (Exception ex) { _log.error("Cannot reindex file system " + rootFolder + ": " + ex.getMessage(), ex); return false; } }