public static FilterDto fromFilter(Filter filter) { FilterDto dto = new FilterDto(); dto.id = filter.getId(); dto.resourceType = filter.getResourceType(); dto.name = filter.getName(); dto.owner = filter.getOwner(); if (EntityTypes.TASK.equals(filter.getResourceType())) { dto.query = TaskQueryDto.fromQuery(filter.getQuery()); } dto.properties = filter.getProperties(); return dto; }
public void testUpdateFilter() { filter.setName("newName"); filter.setOwner("newOwner"); filter.setQuery(taskService.createTaskQuery()); filter.setProperties(new HashMap<String, Object>()); filterService.saveFilter(filter); Filter filter2 = filterService.getFilter(filter.getId()); compareFilter(filter, filter2); }
public AuthorizationEntity[] newFilter(Filter filter) { String owner = filter.getOwner(); if(owner != null) { // create an authorization which gives the owner of the filter all permissions on the filter String filterId = filter.getId(); ensureValidIndividualResourceId("Cannot create default authorization for filter owner " + owner, owner); AuthorizationEntity filterOwnerAuthorization = createGrantAuthorization(owner, null, FILTER, filterId, ALL); return new AuthorizationEntity[]{ filterOwnerAuthorization }; } else { return null; } }
public void updateFilter(Filter filter, ProcessEngine engine) { if (getResourceType() != null && !getResourceType().equals(filter.getResourceType())) { throw new InvalidRequestException(Status.BAD_REQUEST, "Unable to update filter from resource type '" + filter.getResourceType() + "' to '" + getResourceType() + "'"); } filter.setName(getName()); filter.setOwner(getOwner()); filter.setQuery(query.toQuery(engine)); filter.setProperties(getProperties()); }
public Filter insertOrUpdateFilter(Filter filter) { AbstractQuery<?, ?> query = filter.getQuery(); query.validate(StoredQueryValidator.get()); if (filter.getId() == null) { checkAuthorization(CREATE, FILTER, ANY); getDbEntityManager().insert((FilterEntity) filter); createDefaultAuthorizations(filter); } else { checkAuthorization(UPDATE, FILTER, filter.getId()); getDbEntityManager().merge((FilterEntity) filter); } return filter; }
public void testTaskQueryByBusinessKeyExpression() { // given String aBusinessKey = "business key"; Mocks.register("aBusinessKey", aBusinessKey); createDeploymentWithBusinessKey(aBusinessKey); // when TaskQueryImpl extendedQuery = (TaskQueryImpl)taskService.createTaskQuery() .processInstanceBusinessKeyExpression("${ " + Mocks.getMocks().keySet().toArray()[0] + " }"); Filter filter = filterService.newTaskFilter("aFilterName"); filter.setQuery(extendedQuery); filterService.saveFilter(filter); TaskQueryImpl filterQuery = filterService.getFilter(filter.getId()).getQuery(); // then assertEquals(extendedQuery.getExpressions().get("processInstanceBusinessKey"), filterQuery.getExpressions().get("processInstanceBusinessKey")); assertEquals(1, filterService.list(filter.getId()).size()); }
public void testDefaultFilterAuthorization() { // create two other users beside testUser User ownerUser = createTestUser("ownerUser"); User anotherUser = createTestUser("anotherUser"); // grant testUser create permission grantCreateFilter(); // create a new filter with ownerUser as owner Filter filter = filterService.newTaskFilter("testFilter"); filter.setOwner(ownerUser.getId()); filterService.saveFilter(filter); assertFilterPermission(Permissions.CREATE, testUser, null, true); assertFilterPermission(Permissions.CREATE, ownerUser, null, false); assertFilterPermission(Permissions.CREATE, anotherUser, null, false); assertFilterPermission(Permissions.UPDATE, testUser, filter.getId(), false); assertFilterPermission(Permissions.UPDATE, ownerUser, filter.getId(), true); assertFilterPermission(Permissions.UPDATE, anotherUser, filter.getId(), false); assertFilterPermission(Permissions.READ, testUser, filter.getId(), false); assertFilterPermission(Permissions.READ, ownerUser, filter.getId(), true); assertFilterPermission(Permissions.READ, anotherUser, filter.getId(), false); assertFilterPermission(Permissions.DELETE, testUser, filter.getId(), false); assertFilterPermission(Permissions.DELETE, ownerUser, filter.getId(), true); assertFilterPermission(Permissions.DELETE, anotherUser, filter.getId(), false); }
public void testCreateInvalidFilter() { try { filter.setName(null); fail("Exception expected"); } catch (ProcessEngineException e) { // expected } try { filter.setName(""); fail("Exception expected"); } catch (ProcessEngineException e) { // expected } try { filter.setQuery((Query<?, ?>) null); fail("Exception expected"); } catch (ProcessEngineException e) { // expected } }
public void testNullProperty() { // given Map<String, Object> properties = new HashMap<String, Object>(); properties.put("null", null); filter.setProperties(properties); filterService.saveFilter(filter); // when filter = filterService.getFilter(filter.getId()); // then Map<String, Object> persistentProperties = filter.getProperties(); assertEquals(1, persistentProperties.size()); assertTrue(persistentProperties.containsKey("null")); assertNull(persistentProperties.get("null")); }
@Override public void setUp() { filter = filterService.newTaskFilter("name").setOwner("owner").setQuery(taskService.createTaskQuery()).setProperties(new HashMap<String, Object>()); testUser = identityService.newUser("user"); testGroup = identityService.newGroup("group"); identityService.saveUser(testUser); identityService.saveGroup(testGroup); identityService.createMembership(testUser.getId(), testGroup.getId()); Group anotherGroup = identityService.newGroup("anotherGroup"); identityService.saveGroup(anotherGroup); testCandidateGroups.add(testGroup.getId()); testCandidateGroups.add(anotherGroup.getId()); createTasks(); queryConverter = new JsonTaskQueryConverter(); }
public void testExtendFilter() { TaskQuery extendingQuery = taskService.createTaskQuery() .taskName("newName") .taskOwner("newOwner"); Filter newFilter = filter.extend(extendingQuery); assertNull(newFilter.getId()); TaskQueryImpl filterQuery = newFilter.getQuery(); assertEquals("newName", filterQuery.getName()); assertEquals("newOwner", filterQuery.getOwner()); }
public void testDeleteFilterNotPermitted() { Filter filter = createTestFilter(); try { filterService.deleteFilter(filter.getId()); fail("Exception expected"); } catch (AuthorizationException e) { // expected } }
protected void assertTestProperties() { filterService.saveFilter(filter); filter = filterService.getFilter(filter.getId()); Map<String, Object> properties = filter.getProperties(); assertEquals(5, properties.size()); assertEquals("#123456", properties.get("color")); assertEquals(42, properties.get("priority")); assertEquals(true, properties.get("userDefined")); assertEquals(nestedJsonObject, properties.get("object")); assertEquals(nestedJsonArray, properties.get("array")); }
public Filter newTaskFilter(String filterName) { return newTaskFilter().setName(filterName); }
protected Query<?, ?> getFilterQuery(CommandContext commandContext) { Filter filter = getFilter(commandContext); Query<?, ?> query = filter.getQuery(); if (query instanceof TaskQuery) { ((TaskQuery) query).initializeFormKeys(); } return query; }