@Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); if (queryProvider == null) { Assert.notNull(entityManagerFactory, "EntityManager is required when queryProvider is null"); Assert.hasLength(queryString, "Query string is required when queryProvider is null"); } }
@Override protected void doClose() throws Exception { entityManager.close(); super.doClose(); }
@Override protected void doOpen() throws Exception { super.doOpen(); }
@Override protected void jumpToItem(int itemIndex) throws Exception { synchronized (lock) { page = itemIndex / pageSize; current = itemIndex % pageSize; } doJumpToPage(itemIndex); if (logger.isDebugEnabled()) { logger.debug("Jumping to page " + getPage() + " and index " + current); } }
@Override protected T doRead() throws Exception { synchronized (lock) { if (results == null || current >= pageSize) { if (logger.isDebugEnabled()) { logger.debug("Reading page " + getPage()); } doReadPage(); page++; if (current >= pageSize) { current = 0; } } int next = current++; if (next < results.size()) { return results.get(next); } else { return null; } } }
@Override @SuppressWarnings("unchecked") public void open(ExecutionContext executionContext) { if (isSaveState()) { startAfterValues = (Map<String, Object>) executionContext.get(getExecutionContextKey(START_AFTER_VALUE)); if(startAfterValues == null) { startAfterValues = new LinkedHashMap<>(); } } super.open(executionContext); }
@Override public void update(ExecutionContext executionContext) throws ItemStreamException { super.update(executionContext); if (isSaveState()) { if (isAtEndOfPage() && startAfterValues != null) { // restart on next page executionContext.put(getExecutionContextKey(START_AFTER_VALUE), startAfterValues); } else if (previousStartAfterValues != null) { // restart on current page executionContext.put(getExecutionContextKey(START_AFTER_VALUE), previousStartAfterValues); } } }
public AbstractPagingItemReader() { setName(ClassUtils.getShortName(AbstractPagingItemReader.class)); }
@Override protected void jumpToItem(int itemIndex) throws Exception { synchronized (lock) { page = itemIndex / pageSize; current = itemIndex % pageSize; } doJumpToPage(itemIndex); if (logger.isDebugEnabled()) { logger.debug("Jumping to page " + getPage() + " and index " + current); } }
@Override protected T doRead() throws Exception { synchronized (lock) { if (results == null || current >= pageSize) { if (logger.isDebugEnabled()) { logger.debug("Reading page " + getPage()); } doReadPage(); page++; if (current >= pageSize) { current = 0; } } int next = current++; if (next < results.size()) { return results.get(next); } else { return null; } } }
@Override @SuppressWarnings("unchecked") public void open(ExecutionContext executionContext) { if (isSaveState()) { startAfterValues = (Map<String, Object>) executionContext.get(getExecutionContextKey(START_AFTER_VALUE)); if(startAfterValues == null) { startAfterValues = new LinkedHashMap<>(); } } super.open(executionContext); }
@Override public void update(ExecutionContext executionContext) throws ItemStreamException { super.update(executionContext); if (isSaveState()) { if (isAtEndOfPage() && startAfterValues != null) { // restart on next page executionContext.put(getExecutionContextKey(START_AFTER_VALUE), startAfterValues); } else if (previousStartAfterValues != null) { // restart on current page executionContext.put(getExecutionContextKey(START_AFTER_VALUE), previousStartAfterValues); } } }
public AbstractPagingItemReader() { setName(ClassUtils.getShortName(AbstractPagingItemReader.class)); }
@Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); Assert.state(fetchSize >= 0, "fetchSize must not be negative"); helper.afterPropertiesSet(); }
@Override protected void doClose() throws Exception { helper.close(); super.doClose(); }
@Override protected void doOpen() throws Exception { super.doOpen(); entityManager = entityManagerFactory.createEntityManager(jpaPropertyMap); if (entityManager == null) { throw new DataAccessResourceFailureException("Unable to obtain an EntityManager"); } // set entityManager to queryProvider, so it participates // in JpaPagingItemReader's managed transaction if (queryProvider != null) { queryProvider.setEntityManager(entityManager); } }
/** * Check mandatory properties. * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() */ @Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); Assert.notNull(dataSource, "DataSource may not be null"); JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); if (fetchSize != VALUE_NOT_SET) { jdbcTemplate.setFetchSize(fetchSize); } jdbcTemplate.setMaxRows(getPageSize()); namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate); Assert.notNull(queryProvider, "QueryProvider may not be null"); queryProvider.init(dataSource); this.firstPageSql = queryProvider.generateFirstPageQuery(getPageSize()); this.remainingPagesSql = queryProvider.generateRemainingPagesQuery(getPageSize()); }
@Override protected void doClose() throws Exception { entityManager.close(); super.doClose(); }
@Override protected void doOpen() throws Exception { super.doOpen(); }
@Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); if (queryProvider == null) { Assert.notNull(entityManagerFactory, "EntityManager is required when queryProvider is null"); Assert.hasLength(queryString, "Query string is required when queryProvider is null"); } }