Skip to content

Commit

Permalink
[Blazebit#795] revert binary incompatible changes in KeysetPageRequest
Browse files Browse the repository at this point in the history
  • Loading branch information
Mobe91 committed May 9, 2019
1 parent cb2bbb0 commit cbfe6ef
Show file tree
Hide file tree
Showing 10 changed files with 63 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import com.blazebit.persistence.spring.data.base.query.AbstractCriteriaQueryParameterBinder;
import com.blazebit.persistence.spring.data.base.query.JpaParameters;
import com.blazebit.persistence.spring.data.base.query.ParameterMetadataProvider;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import org.springframework.data.domain.Pageable;

/**
* Concrete version for Spring Data 1.x.
Expand All @@ -34,6 +36,11 @@ public CriteriaQueryParameterBinder(JpaParameters parameters, Object[] values, I

@Override
protected int getOffset() {
return getPageable().getOffset();
Pageable pageable = getPageable();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return pageable.getOffset();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.blazebit.persistence.spring.data.base.query.JpaParameters;
import com.blazebit.persistence.spring.data.base.query.ParameterBinder;
import com.blazebit.persistence.spring.data.base.query.ParameterMetadataProvider;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import com.blazebit.persistence.view.EntityViewManager;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.provider.PersistenceProvider;
Expand Down Expand Up @@ -62,7 +63,11 @@ protected int getOffset(Pageable pageable) {
if (pageable == null) {
return 0;
}
return pageable.getOffset();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return pageable.getOffset();
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import com.blazebit.persistence.spring.data.base.repository.AbstractEntityViewAwareRepository;
import com.blazebit.persistence.spring.data.repository.EntityViewRepository;
import com.blazebit.persistence.spring.data.repository.EntityViewSpecificationExecutor;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import com.blazebit.persistence.view.EntityViewManager;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Pageable;
Expand Down Expand Up @@ -66,6 +67,10 @@ public E findById(ID id) {

@Override
protected int getOffset(Pageable pageable) {
return pageable.getOffset();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return pageable.getOffset();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import com.blazebit.persistence.spring.data.base.query.AbstractCriteriaQueryParameterBinder;
import com.blazebit.persistence.spring.data.base.query.JpaParameters;
import com.blazebit.persistence.spring.data.base.query.ParameterMetadataProvider;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import org.springframework.data.domain.Pageable;

/**
* Concrete version for Spring Data 2.x.
Expand All @@ -34,6 +36,11 @@ public CriteriaQueryParameterBinder(JpaParameters parameters, Object[] values, I

@Override
protected int getOffset() {
return (int) getPageable().getOffset();
Pageable pageable = getPageable();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return (int) pageable.getOffset();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.blazebit.persistence.spring.data.base.query.JpaParameters;
import com.blazebit.persistence.spring.data.base.query.ParameterBinder;
import com.blazebit.persistence.spring.data.base.query.ParameterMetadataProvider;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import com.blazebit.persistence.view.EntityViewManager;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.provider.PersistenceProvider;
Expand Down Expand Up @@ -60,7 +61,11 @@ protected boolean isExists(PartTree tree) {
@Override
protected int getOffset(Pageable pageable) {
if (pageable.isPaged()) {
return (int) pageable.getOffset();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return (int) pageable.getOffset();
}
}
return 0;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.blazebit.persistence.CriteriaBuilderFactory;
import com.blazebit.persistence.spring.data.base.repository.AbstractEntityViewAwareRepository;
import com.blazebit.persistence.spring.data.repository.EntityViewRepository;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import com.blazebit.persistence.view.EntityViewManager;
import com.infradna.tool.bridge_method_injector.WithBridgeMethods;
import org.springframework.data.domain.Example;
Expand Down Expand Up @@ -73,6 +74,10 @@ private Object convert(Optional<Object> optional, Class<?> targetType) {

@Override
protected int getOffset(Pageable pageable) {
return (int) pageable.getOffset();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return (int) pageable.getOffset();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
import com.blazebit.persistence.spring.data.base.query.AbstractCriteriaQueryParameterBinder;
import com.blazebit.persistence.spring.data.base.query.JpaParameters;
import com.blazebit.persistence.spring.data.base.query.ParameterMetadataProvider;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import org.springframework.data.domain.Pageable;

/**
* Concrete version for Spring Data 2.x.
Expand All @@ -34,6 +36,11 @@ public CriteriaQueryParameterBinder(JpaParameters parameters, Object[] values, I

@Override
protected int getOffset() {
return (int) getPageable().getOffset();
Pageable pageable = getPageable();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return (int) pageable.getOffset();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import com.blazebit.persistence.spring.data.base.query.JpaParameters;
import com.blazebit.persistence.spring.data.base.query.ParameterBinder;
import com.blazebit.persistence.spring.data.base.query.ParameterMetadataProvider;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import com.blazebit.persistence.view.EntityViewManager;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.provider.PersistenceProvider;
Expand Down Expand Up @@ -60,7 +61,11 @@ protected boolean isExists(PartTree tree) {
@Override
protected int getOffset(Pageable pageable) {
if (pageable.isPaged()) {
return (int) pageable.getOffset();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return (int) pageable.getOffset();
}
}
return 0;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.blazebit.persistence.CriteriaBuilderFactory;
import com.blazebit.persistence.spring.data.base.repository.AbstractEntityViewAwareRepository;
import com.blazebit.persistence.spring.data.repository.EntityViewRepository;
import com.blazebit.persistence.spring.data.repository.KeysetPageable;
import com.blazebit.persistence.view.EntityViewManager;
import com.infradna.tool.bridge_method_injector.WithBridgeMethods;
import org.springframework.data.domain.Example;
Expand Down Expand Up @@ -83,6 +84,10 @@ public void setRepositoryMethodMetadata(CrudMethodMetadata crudMethodMetadata) {

@Override
protected int getOffset(Pageable pageable) {
return (int) pageable.getOffset();
if (pageable instanceof KeysetPageable) {
return ((KeysetPageable) pageable).getIntOffset();
} else {
return (int) pageable.getOffset();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
public class KeysetPageRequest extends PageRequest implements KeysetPageable {

private final KeysetPage keysetPage;
private final long offset;
private final int offset;

/**
* Construct a page request with an optional keyset page that may be used for keyset pagination.
Expand Down Expand Up @@ -79,17 +79,12 @@ public KeysetPageRequest(KeysetPage keysetPage, Sort sort) {
* @param pageSize The number of elements per page
* @since 1.3.0
*/
public KeysetPageRequest(KeysetPage keysetPage, Sort sort, long offset, int pageSize) {
super((int) (offset / pageSize), pageSize, sort);
public KeysetPageRequest(KeysetPage keysetPage, Sort sort, int offset, int pageSize) {
super(offset / pageSize, pageSize, sort);
this.keysetPage = keysetPage;
this.offset = offset;
}

@Override
public long getOffset() {
return offset;
}

@Override
public int getIntOffset() {
return (int) offset;
Expand Down

0 comments on commit cbfe6ef

Please sign in to comment.