TSK-275 Introduce WorkbasketAccessItemQuery
This commit is contained in:
parent
de8dbdc51b
commit
acac30b687
|
@ -67,7 +67,7 @@ public interface TaskService {
|
|||
* @throws InvalidStateException
|
||||
* when the task is already completed.
|
||||
* @throws InvalidOwnerException
|
||||
* when the unclaim is not forced and user is diffrent.
|
||||
* when the task is claimed by another user.
|
||||
*/
|
||||
Task cancelClaim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException;
|
||||
|
||||
|
@ -77,15 +77,18 @@ public interface TaskService {
|
|||
*
|
||||
* @param taskId
|
||||
* id of the task which should be unclaimed.
|
||||
* @param forceCancel
|
||||
* force the cancellation of claim. If true, the task is unclaimed even if it was claimed by another
|
||||
* user.
|
||||
* @return updated unclaimed task
|
||||
* @throws TaskNotFoundException
|
||||
* if the task can´t be found or does not exist
|
||||
* @throws InvalidStateException
|
||||
* when the task is already completed.
|
||||
* @throws InvalidOwnerException
|
||||
* when the unclaim is not forced and user is diffrent.
|
||||
* when forceCancel is false and the task is claimed by another user.
|
||||
*/
|
||||
Task cancelClaim(String taskId, boolean forceUnclaim)
|
||||
Task cancelClaim(String taskId, boolean forceCancel)
|
||||
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException;
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
package pro.taskana;
|
||||
|
||||
/**
|
||||
* WorkbasketAccessItemQuery for generating dynamic sql.
|
||||
*/
|
||||
public interface WorkbasketAccessItemQuery extends BaseQuery<WorkbasketAccessItem> {
|
||||
|
||||
/**
|
||||
* Add your workbasket key to your query.
|
||||
*
|
||||
* @param workbasketKey
|
||||
* the workbasket key
|
||||
* @return the query
|
||||
*/
|
||||
WorkbasketAccessItemQuery workbasketKeyIn(String... workbasketKey);
|
||||
|
||||
/**
|
||||
* Add your accessIds to your query.
|
||||
*
|
||||
* @param accessId
|
||||
* as access Ids
|
||||
* @return the query
|
||||
*/
|
||||
WorkbasketAccessItemQuery accessIdIn(String... accessId);
|
||||
|
||||
/**
|
||||
* Sort the query result by workbasket key.
|
||||
*
|
||||
* @param sortDirection
|
||||
* Determines whether the result is sorted in ascending or descending order. If sortDirection is null,
|
||||
* the result is sorted in ascending order
|
||||
* @return the query
|
||||
*/
|
||||
WorkbasketAccessItemQuery orderByWorkbasketKey(SortDirection sortDirection);
|
||||
|
||||
/**
|
||||
* Sort the query result by access Id.
|
||||
*
|
||||
* @param sortDirection
|
||||
* Determines whether the result is sorted in ascending or descending order. If sortDirection is null,
|
||||
* the result is sorted in ascending order
|
||||
* @return the query
|
||||
*/
|
||||
WorkbasketAccessItemQuery orderByAccessId(SortDirection sortDirection);
|
||||
}
|
|
@ -155,6 +155,13 @@ public interface WorkbasketService {
|
|||
*/
|
||||
WorkbasketQuery createWorkbasketQuery();
|
||||
|
||||
/**
|
||||
* This method provides a query builder for querying the database.
|
||||
*
|
||||
* @return a {@link WorkbasketAccessItemQuery}
|
||||
*/
|
||||
WorkbasketAccessItemQuery createWorkbasketAccessItemQuery();
|
||||
|
||||
/**
|
||||
* Returns a new workbasket which is not persisted.
|
||||
*
|
||||
|
@ -262,4 +269,5 @@ public interface WorkbasketService {
|
|||
*/
|
||||
List<WorkbasketSummary> getDistributionSources(String workbasketId)
|
||||
throws NotAuthorizedException, WorkbasketNotFoundException;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,176 @@
|
|||
package pro.taskana.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.exceptions.PersistenceException;
|
||||
import org.apache.ibatis.session.RowBounds;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.TaskanaEngine;
|
||||
import pro.taskana.WorkbasketAccessItem;
|
||||
import pro.taskana.WorkbasketAccessItemQuery;
|
||||
import pro.taskana.exceptions.NotAuthorizedException;
|
||||
import pro.taskana.exceptions.TaskanaRuntimeException;
|
||||
import pro.taskana.impl.util.LoggerUtils;
|
||||
|
||||
/**
|
||||
* WorkbasketAccessItemQuery for generating dynamic SQL.
|
||||
*
|
||||
* @author bbr
|
||||
*/
|
||||
public class WorkbasketAccessItemQueryImpl implements WorkbasketAccessItemQuery {
|
||||
|
||||
private static final String LINK_TO_MAPPER = "pro.taskana.model.mappings.QueryMapper.queryWorkbasketAccessItem";
|
||||
private static final String LINK_TO_COUNTER = "pro.taskana.model.mappings.QueryMapper.countQueryWorkbasketAccessItems";
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(WorkbasketQueryImpl.class);
|
||||
private String[] accessIdIn;
|
||||
private String[] workbasketKeyIn;
|
||||
|
||||
private TaskanaEngineImpl taskanaEngineImpl;
|
||||
private List<String> orderBy;
|
||||
|
||||
public WorkbasketAccessItemQueryImpl(TaskanaEngine taskanaEngine) {
|
||||
this.taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
|
||||
orderBy = new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItemQuery workbasketKeyIn(String... key) {
|
||||
this.workbasketKeyIn = key;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItemQuery accessIdIn(String... accessId) {
|
||||
this.accessIdIn = accessId;
|
||||
WorkbasketQueryImpl.lowercaseAccessIds(this.accessIdIn);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItemQuery orderByWorkbasketKey(SortDirection sortDirection) {
|
||||
return addOrderCriteria("WORKBASKET_KEY", sortDirection);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItemQuery orderByAccessId(SortDirection sortDirection) {
|
||||
return addOrderCriteria("ACCESS_ID", sortDirection);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WorkbasketAccessItem> list() throws NotAuthorizedException {
|
||||
LOGGER.debug("entry to list(), this = {}", this);
|
||||
List<WorkbasketAccessItem> result = new ArrayList<>();
|
||||
try {
|
||||
taskanaEngineImpl.openConnection();
|
||||
List<WorkbasketAccessItemImpl> foundAccessItms = taskanaEngineImpl.getSqlSession()
|
||||
.selectList(LINK_TO_MAPPER, this);
|
||||
result.addAll(foundAccessItms);
|
||||
return result;
|
||||
} finally {
|
||||
taskanaEngineImpl.returnConnection();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
int numberOfResultObjects = result == null ? 0 : result.size();
|
||||
LOGGER.debug("exit from list(). Returning {} resulting Objects: {} ", numberOfResultObjects,
|
||||
LoggerUtils.listToString(result));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WorkbasketAccessItem> list(int offset, int limit) throws NotAuthorizedException {
|
||||
LOGGER.debug("entry to list(offset = {}, limit = {}), this = {}", offset, limit, this);
|
||||
List<WorkbasketAccessItem> result = new ArrayList<>();
|
||||
try {
|
||||
taskanaEngineImpl.openConnection();
|
||||
RowBounds rowBounds = new RowBounds(offset, limit);
|
||||
List<WorkbasketAccessItemImpl> foundAccessItms = taskanaEngineImpl.getSqlSession()
|
||||
.selectList(LINK_TO_MAPPER, this, rowBounds);
|
||||
result.addAll(foundAccessItms);
|
||||
return result;
|
||||
} catch (Exception e) {
|
||||
if (e instanceof PersistenceException) {
|
||||
if (e.getMessage().contains("ERRORCODE=-4470")) {
|
||||
TaskanaRuntimeException ex = new TaskanaRuntimeException(
|
||||
"The offset beginning was set over the amount of result-rows.", e.getCause());
|
||||
ex.setStackTrace(e.getStackTrace());
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
throw e;
|
||||
} finally {
|
||||
taskanaEngineImpl.returnConnection();
|
||||
if (LOGGER.isDebugEnabled()) {
|
||||
int numberOfResultObjects = result == null ? 0 : result.size();
|
||||
LOGGER.debug("exit from list(offset,limit). Returning {} resulting Objects: {} ", numberOfResultObjects,
|
||||
LoggerUtils.listToString(result));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItem single() throws NotAuthorizedException {
|
||||
LOGGER.debug("entry to single(), this = {}", this);
|
||||
WorkbasketAccessItem accessItm = null;
|
||||
try {
|
||||
taskanaEngineImpl.openConnection();
|
||||
accessItm = taskanaEngineImpl.getSqlSession().selectOne(LINK_TO_MAPPER, this);
|
||||
return accessItm;
|
||||
} finally {
|
||||
taskanaEngineImpl.returnConnection();
|
||||
LOGGER.debug("exit from single(). Returning result {} ", accessItm);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public long count() {
|
||||
LOGGER.debug("entry to count(), this = {}", this);
|
||||
Long rowCount = null;
|
||||
try {
|
||||
taskanaEngineImpl.openConnection();
|
||||
rowCount = taskanaEngineImpl.getSqlSession().selectOne(LINK_TO_COUNTER, this);
|
||||
return (rowCount == null) ? 0L : rowCount;
|
||||
} finally {
|
||||
taskanaEngineImpl.returnConnection();
|
||||
LOGGER.debug("exit from count(). Returning result {} ", rowCount);
|
||||
}
|
||||
}
|
||||
|
||||
private WorkbasketAccessItemQuery addOrderCriteria(String colName, SortDirection sortDirection) {
|
||||
String orderByDirection = " ASC";
|
||||
if (sortDirection != null && SortDirection.DESCENDING.equals(sortDirection)) {
|
||||
orderByDirection = " DESC";
|
||||
}
|
||||
orderBy.add(colName + orderByDirection);
|
||||
return this;
|
||||
}
|
||||
|
||||
public String[] getAccessIdIn() {
|
||||
return accessIdIn;
|
||||
}
|
||||
|
||||
public String[] getWorkbasketKeyIn() {
|
||||
return workbasketKeyIn;
|
||||
}
|
||||
|
||||
public List<String> getOrderBy() {
|
||||
return orderBy;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("WorkbasketAccessItemQueryImpl [accessIdIn=");
|
||||
builder.append(Arrays.toString(accessIdIn));
|
||||
builder.append(", workbasketKeyIn=");
|
||||
builder.append(Arrays.toString(workbasketKeyIn));
|
||||
builder.append(", orderBy=");
|
||||
builder.append(orderBy);
|
||||
builder.append("]");
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -157,7 +157,7 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
|||
// set up permissions and ids
|
||||
this.authorization = permission;
|
||||
this.accessId = accessIds;
|
||||
lowercaseAccessIds();
|
||||
lowercaseAccessIds(this.accessId);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
@ -180,7 +180,7 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
|||
// set up permissions and ids
|
||||
this.authorization = permission;
|
||||
this.accessId = accessIds;
|
||||
lowercaseAccessIds();
|
||||
lowercaseAccessIds(this.accessId);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
@ -363,12 +363,12 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
|||
return builder.toString();
|
||||
}
|
||||
|
||||
private void lowercaseAccessIds() {
|
||||
static void lowercaseAccessIds(String[] accessIdArray) {
|
||||
if (TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()) {
|
||||
for (int i = 0; i < this.accessId.length; i++) {
|
||||
String id = this.accessId[i];
|
||||
for (int i = 0; i < accessIdArray.length; i++) {
|
||||
String id = accessIdArray[i];
|
||||
if (id != null) {
|
||||
this.accessId[i] = id.toLowerCase();
|
||||
accessIdArray[i] = id.toLowerCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ import pro.taskana.TaskSummary;
|
|||
import pro.taskana.TaskanaEngine;
|
||||
import pro.taskana.Workbasket;
|
||||
import pro.taskana.WorkbasketAccessItem;
|
||||
import pro.taskana.WorkbasketAccessItemQuery;
|
||||
import pro.taskana.WorkbasketQuery;
|
||||
import pro.taskana.WorkbasketService;
|
||||
import pro.taskana.WorkbasketSummary;
|
||||
|
@ -565,6 +566,11 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItemQuery createWorkbasketAccessItemQuery() {
|
||||
return new WorkbasketAccessItemQueryImpl(this.taskanaEngine);
|
||||
}
|
||||
|
||||
private void checkAuthorizationByWorkbasketId(String workbasketId,
|
||||
WorkbasketAuthorization workbasketAuthorization) throws NotAuthorizedException {
|
||||
checkAuthorization(null, workbasketId, workbasketAuthorization);
|
||||
|
@ -620,4 +626,5 @@ public class WorkbasketServiceImpl implements WorkbasketService {
|
|||
LOGGER.debug("exit from checkAuthorization(). User is authorized = {}.", isAuthorized);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -11,6 +11,8 @@ import pro.taskana.impl.ClassificationSummaryImpl;
|
|||
import pro.taskana.impl.ObjectReferenceQueryImpl;
|
||||
import pro.taskana.impl.TaskQueryImpl;
|
||||
import pro.taskana.impl.TaskSummaryImpl;
|
||||
import pro.taskana.impl.WorkbasketAccessItemImpl;
|
||||
import pro.taskana.impl.WorkbasketAccessItemQueryImpl;
|
||||
import pro.taskana.impl.WorkbasketQueryImpl;
|
||||
import pro.taskana.impl.WorkbasketSummaryImpl;
|
||||
import pro.taskana.model.ObjectReference;
|
||||
|
@ -207,6 +209,40 @@ public interface QueryMapper {
|
|||
@Result(property = "orgLevel4", column = "ORG_LEVEL_4")})
|
||||
List<WorkbasketSummaryImpl> queryWorkbasket(WorkbasketQueryImpl workbasketQuery);
|
||||
|
||||
@Select("<script>"
|
||||
+ "SELECT "
|
||||
+ "ID, WORKBASKET_KEY, ACCESS_ID, PERM_READ, PERM_OPEN, PERM_APPEND, PERM_TRANSFER, PERM_DISTRIBUTE, PERM_CUSTOM_1, PERM_CUSTOM_2, "
|
||||
+ "PERM_CUSTOM_3, PERM_CUSTOM_4, PERM_CUSTOM_5, PERM_CUSTOM_6, PERM_CUSTOM_7, PERM_CUSTOM_8, PERM_CUSTOM_9, PERM_CUSTOM_10, PERM_CUSTOM_11, PERM_CUSTOM_12 "
|
||||
+ "from WORKBASKET_ACCESS_LIST "
|
||||
+ "<where>"
|
||||
+ "<if test='workbasketKeyIn != null'>AND UPPER(WORKBASKET_KEY) IN(<foreach item='item' collection='workbasketKeyIn' separator=',' >#{item}</foreach>)</if> "
|
||||
+ "<if test='accessIdIn != null'>AND ACCESS_ID IN(<foreach item='item' collection='accessIdIn' separator=',' >#{item}</foreach>) </if> "
|
||||
+ "</where>"
|
||||
+ "<if test='!orderBy.isEmpty()'>ORDER BY <foreach item='orderItem' collection='orderBy' separator=',' >${orderItem}</foreach></if> "
|
||||
+ "</script>")
|
||||
@Results({
|
||||
@Result(property = "id", column = "ID"),
|
||||
@Result(property = "workbasketKey", column = "WORKBASKET_KEY"),
|
||||
@Result(property = "accessId", column = "ACCESS_ID"),
|
||||
@Result(property = "permRead", column = "PERM_READ"),
|
||||
@Result(property = "permOpen", column = "PERM_OPEN"),
|
||||
@Result(property = "permAppend", column = "PERM_APPEND"),
|
||||
@Result(property = "permTransfer", column = "PERM_TRANSFER"),
|
||||
@Result(property = "permDistribute", column = "PERM_DISTRIBUTE"),
|
||||
@Result(property = "permCustom1", column = "PERM_CUSTOM_1"),
|
||||
@Result(property = "permCustom2", column = "PERM_CUSTOM_2"),
|
||||
@Result(property = "permCustom3", column = "PERM_CUSTOM_3"),
|
||||
@Result(property = "permCustom4", column = "PERM_CUSTOM_4"),
|
||||
@Result(property = "permCustom5", column = "PERM_CUSTOM_5"),
|
||||
@Result(property = "permCustom6", column = "PERM_CUSTOM_6"),
|
||||
@Result(property = "permCustom7", column = "PERM_CUSTOM_7"),
|
||||
@Result(property = "permCustom8", column = "PERM_CUSTOM_8"),
|
||||
@Result(property = "permCustom9", column = "PERM_CUSTOM_9"),
|
||||
@Result(property = "permCustom10", column = "PERM_CUSTOM_10"),
|
||||
@Result(property = "permCustom11", column = "PERM_CUSTOM_11"),
|
||||
@Result(property = "permCustom12", column = "PERM_CUSTOM_12")})
|
||||
List<WorkbasketAccessItemImpl> queryWorkbasketAccessItem(WorkbasketAccessItemQueryImpl accessItemQuery);
|
||||
|
||||
@Select("<script>SELECT COUNT(ID) FROM TASK t "
|
||||
+ "<where>"
|
||||
+ "<if test='name != null'>AND t.NAME IN(<foreach item='item' collection='name' separator=',' >#{item}</foreach>)</if> "
|
||||
|
@ -322,4 +358,13 @@ public interface QueryMapper {
|
|||
+ "</where>"
|
||||
+ "</script>")
|
||||
Long countQueryWorkbaskets(WorkbasketQueryImpl workbasketQuery);
|
||||
|
||||
@Select("<script>SELECT COUNT(ID) from WORKBASKET_ACCESS_LIST "
|
||||
+ "<where>"
|
||||
+ "<if test='workbasketKeyIn != null'>AND UPPER(WORKBASKET_KEY) IN(<foreach item='item' collection='workbasketKeyIn' separator=',' >#{item}</foreach>)</if> "
|
||||
+ "<if test='accessIdIn != null'>AND ACCESS_ID IN(<foreach item='item' collection='accessIdIn' separator=',' >#{item}</foreach>) </if> "
|
||||
+ "</where>"
|
||||
+ "</script>")
|
||||
Long countQueryWorkbasketAccessItems(WorkbasketAccessItemQueryImpl accessItem);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
package acceptance.workbasket;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
import org.h2.store.fs.FileUtils;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import acceptance.AbstractAccTest;
|
||||
import pro.taskana.BaseQuery.SortDirection;
|
||||
import pro.taskana.WorkbasketAccessItem;
|
||||
import pro.taskana.WorkbasketAccessItemQuery;
|
||||
import pro.taskana.WorkbasketService;
|
||||
import pro.taskana.exceptions.InvalidArgumentException;
|
||||
import pro.taskana.exceptions.NotAuthorizedException;
|
||||
|
@ -20,68 +24,70 @@ import pro.taskana.security.JAASRunner;
|
|||
@RunWith(JAASRunner.class)
|
||||
public class QueryWorkbasketAccessItemsAccTest extends AbstractAccTest {
|
||||
|
||||
private static SortDirection asc = SortDirection.ASCENDING;
|
||||
private static SortDirection desc = SortDirection.DESCENDING;
|
||||
|
||||
public QueryWorkbasketAccessItemsAccTest() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testQueryAccessItemsForAccessIds()
|
||||
throws SQLException, NotAuthorizedException, InvalidArgumentException {
|
||||
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
|
||||
// List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
// .accessIdIn("user_1_1", "group_1")
|
||||
// .list();
|
||||
// Assert.assertEquals(7L, results.size());
|
||||
List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
.accessIdIn("user_1_1", "group_1")
|
||||
.list();
|
||||
Assert.assertEquals(10L, results.size());
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testQueryAccessItemsForAccessIdsOrderedAscending()
|
||||
throws SQLException, NotAuthorizedException, InvalidArgumentException {
|
||||
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
|
||||
// List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
// .accessIdIn("user_1_1", "group_1")
|
||||
// .orderByAccessId(ASC)
|
||||
// .list();
|
||||
// Assert.assertEquals(7L, results.size());
|
||||
// Assert.assertEquals("??", results.get(0));
|
||||
WorkbasketAccessItemQuery query = workbasketService.createWorkbasketAccessItemQuery()
|
||||
.accessIdIn("user_1_1", "group_1")
|
||||
.orderByAccessId(desc)
|
||||
.orderByWorkbasketKey(desc);
|
||||
List<WorkbasketAccessItem> results = query.list();
|
||||
long count = query.count();
|
||||
Assert.assertEquals(10L, results.size());
|
||||
Assert.assertEquals(results.size(), count);
|
||||
Assert.assertEquals("WAI:100000000000000000000000000000000003", results.get(0).getId());
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testQueryAccessItemsForAccessIdsAndWorkbasketKey()
|
||||
throws SQLException, NotAuthorizedException, InvalidArgumentException {
|
||||
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
|
||||
// List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
// .accessIdIn("user_1_1", "group_1")
|
||||
// .workbasketKeyIn("USER_1_1", "GPK_KSC_1")
|
||||
// .list();
|
||||
// Assert.assertEquals(3L, results.size());
|
||||
List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
.accessIdIn("user_1_1", "group_1")
|
||||
.workbasketKeyIn("USER_1_1", "GPK_KSC_1")
|
||||
.list();
|
||||
Assert.assertEquals(3L, results.size());
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testQueryAccessItemsByWorkbasketKey()
|
||||
throws SQLException, NotAuthorizedException, InvalidArgumentException {
|
||||
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
|
||||
// List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
// .workbasketKeyIn("USER_1_1")
|
||||
// .list();
|
||||
// Assert.assertEquals(3L, results.size());
|
||||
List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
.workbasketKeyIn("USER_1_1")
|
||||
.list();
|
||||
Assert.assertEquals(3L, results.size());
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testQueryAccessItemsByWorkbasketKeyOrderedDescending()
|
||||
throws SQLException, NotAuthorizedException, InvalidArgumentException {
|
||||
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
|
||||
// List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
// .workbasketKeyIn("USER_1_1")
|
||||
// .orderByWorkbasketKey(DESC)
|
||||
// .list();
|
||||
// Assert.assertEquals(3L, results.size());
|
||||
// Assert.assertEquals("??", results.get(0));
|
||||
List<WorkbasketAccessItem> results = workbasketService.createWorkbasketAccessItemQuery()
|
||||
.workbasketKeyIn("USER_1_1")
|
||||
.orderByWorkbasketKey(desc)
|
||||
.orderByAccessId(asc)
|
||||
.list();
|
||||
Assert.assertEquals(3L, results.size());
|
||||
Assert.assertEquals("WAI:100000000000000000000000000000000009", results.get(0).getId());
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
|
|
Loading…
Reference in New Issue