TSK-1957: groups are included in the domain aggregation (#2021)
* TSK-1957: groups are included in the domain aggregation - added schema GROUP_INFO - added group related methods to UserMapper / UserMapperSqlProvider - User API extended with groups - UserInfoRefreshJob includes groups
This commit is contained in:
parent
9a188f015f
commit
e40623ce0f
|
@ -13,5 +13,6 @@ DELETE FROM CLASSIFICATION;
|
||||||
DELETE FROM OBJECT_REFERENCE;
|
DELETE FROM OBJECT_REFERENCE;
|
||||||
DELETE FROM SCHEDULED_JOB;
|
DELETE FROM SCHEDULED_JOB;
|
||||||
DELETE FROM USER_INFO;
|
DELETE FROM USER_INFO;
|
||||||
|
DELETE FROM GROUP_INFO;
|
||||||
INSERT INTO CONFIGURATION (NAME) VALUES ('MASTER');
|
INSERT INTO CONFIGURATION (NAME) VALUES ('MASTER');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
|
@ -13,5 +13,6 @@ DROP TABLE CLASSIFICATION;
|
||||||
DROP TABLE OBJECT_REFERENCE;
|
DROP TABLE OBJECT_REFERENCE;
|
||||||
DROP TABLE SCHEDULED_JOB;
|
DROP TABLE SCHEDULED_JOB;
|
||||||
DROP TABLE USER_INFO;
|
DROP TABLE USER_INFO;
|
||||||
|
DROP TABLE GROUP_INFO;
|
||||||
DROP SEQUENCE SCHEDULED_JOB_SEQ;
|
DROP SEQUENCE SCHEDULED_JOB_SEQ;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
|
@ -9,7 +9,7 @@ CREATE TABLE TASKANA_SCHEMA_VERSION
|
||||||
);
|
);
|
||||||
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
||||||
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
||||||
VALUES ('5.1.0', CURRENT_TIMESTAMP);
|
VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
CREATE TABLE CLASSIFICATION
|
CREATE TABLE CLASSIFICATION
|
||||||
(
|
(
|
||||||
|
@ -342,6 +342,12 @@ CREATE TABLE USER_INFO
|
||||||
PRIMARY KEY (USER_ID)
|
PRIMARY KEY (USER_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE GROUP_INFO
|
||||||
|
(
|
||||||
|
USER_ID VARCHAR(32) NOT NULL,
|
||||||
|
GROUP_ID VARCHAR(256) NOT NULL,
|
||||||
|
PRIMARY KEY (USER_ID, GROUP_ID)
|
||||||
|
);
|
||||||
|
|
||||||
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
||||||
MINVALUE 1
|
MINVALUE 1
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
-- this script updates the TASKANA database schema from version 5.1.0 to version 5.2.0.
|
||||||
|
|
||||||
|
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
|
CREATE TABLE GROUP_INFO
|
||||||
|
(
|
||||||
|
USER_ID VARCHAR(32) NOT NULL,
|
||||||
|
GROUP_ID VARCHAR(256) NOT NULL,
|
||||||
|
PRIMARY KEY (USER_ID, GROUP_ID)
|
||||||
|
);
|
|
@ -16,7 +16,7 @@ CREATE TABLE TASKANA_SCHEMA_VERSION
|
||||||
);
|
);
|
||||||
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
||||||
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
||||||
VALUES ('5.1.0', CURRENT_TIMESTAMP);
|
VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
CREATE TABLE CLASSIFICATION
|
CREATE TABLE CLASSIFICATION
|
||||||
(
|
(
|
||||||
|
@ -348,6 +348,12 @@ CREATE TABLE USER_INFO
|
||||||
PRIMARY KEY (USER_ID)
|
PRIMARY KEY (USER_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE GROUP_INFO
|
||||||
|
(
|
||||||
|
USER_ID VARCHAR(32) NOT NULL,
|
||||||
|
GROUP_ID VARCHAR(256) NOT NULL,
|
||||||
|
PRIMARY KEY (USER_ID, GROUP_ID)
|
||||||
|
);
|
||||||
|
|
||||||
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
||||||
MINVALUE 1
|
MINVALUE 1
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
-- this script updates the TASKANA database schema from version 5.1.0 to version 5.2.0.
|
||||||
|
|
||||||
|
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
|
CREATE TABLE GROUP_INFO
|
||||||
|
(
|
||||||
|
USER_ID VARCHAR(32) NOT NULL,
|
||||||
|
GROUP_ID VARCHAR(256) NOT NULL,
|
||||||
|
PRIMARY KEY (USER_ID, GROUP_ID)
|
||||||
|
);
|
|
@ -12,7 +12,7 @@ CREATE TABLE TASKANA_SCHEMA_VERSION
|
||||||
);
|
);
|
||||||
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
-- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION
|
||||||
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED)
|
||||||
VALUES ('5.1.0', CURRENT_TIMESTAMP);
|
VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
CREATE TABLE CLASSIFICATION
|
CREATE TABLE CLASSIFICATION
|
||||||
(
|
(
|
||||||
|
@ -345,6 +345,12 @@ CREATE TABLE USER_INFO
|
||||||
PRIMARY KEY (USER_ID)
|
PRIMARY KEY (USER_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE TABLE GROUP_INFO
|
||||||
|
(
|
||||||
|
USER_ID VARCHAR(32) NOT NULL,
|
||||||
|
GROUP_ID VARCHAR(256) NOT NULL,
|
||||||
|
PRIMARY KEY (USER_ID, GROUP_ID)
|
||||||
|
);
|
||||||
|
|
||||||
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
CREATE SEQUENCE SCHEDULED_JOB_SEQ
|
||||||
MINVALUE 1
|
MINVALUE 1
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
-- this script updates the TASKANA database schema from version 5.1.0 to version 5.2.0.
|
||||||
|
|
||||||
|
SET search_path = %schemaName%;
|
||||||
|
|
||||||
|
INSERT INTO TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('5.2.0', CURRENT_TIMESTAMP);
|
||||||
|
|
||||||
|
CREATE TABLE GROUP_INFO
|
||||||
|
(
|
||||||
|
USER_ID VARCHAR(32) NOT NULL,
|
||||||
|
GROUP_ID VARCHAR(256) NOT NULL,
|
||||||
|
PRIMARY KEY (USER_ID, GROUP_ID)
|
||||||
|
);
|
|
@ -85504,7 +85504,9 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
2. Dependencies of Slice pro.taskana.common.internal.TaskanaEngineImpl\
|
2. Dependencies of Slice pro.taskana.common.internal.TaskanaEngineImpl\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getUserService()> calls constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> in (TaskanaEngineImpl.java:206)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getUserService()> calls constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> in (TaskanaEngineImpl.java:206)\
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.TaskanaEngineConfiguration.getMinimalPermissionsToAssignDomains()> in (UserServiceImpl.java:39)
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.TaskanaEngineConfiguration.getMinimalPermissionsToAssignDomains()> in (UserServiceImpl.java:41)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.standardCreateActions(pro.taskana.user.api.models.User)> calls method <pro.taskana.TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()> in (UserServiceImpl.java:177)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.standardUpdateActions(pro.taskana.user.api.models.User, pro.taskana.user.api.models.User)> calls method <pro.taskana.TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()> in (UserServiceImpl.java:197)
|
||||||
Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
Slice pro.taskana.common.internal.TaskanaEngineImpl -> \
|
Slice pro.taskana.common.internal.TaskanaEngineImpl -> \
|
||||||
Slice pro.taskana.user.internal.UserServiceImpl -> \
|
Slice pro.taskana.user.internal.UserServiceImpl -> \
|
||||||
|
@ -85516,12 +85518,12 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
2. Dependencies of Slice pro.taskana.common.internal.TaskanaEngineImpl\
|
2. Dependencies of Slice pro.taskana.common.internal.TaskanaEngineImpl\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getUserService()> calls constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> in (TaskanaEngineImpl.java:206)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getUserService()> calls constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> in (TaskanaEngineImpl.java:206)\
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.api.TaskanaEngine.getWorkbasketService()> in (UserServiceImpl.java:37)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.api.TaskanaEngine.getWorkbasketService()> in (UserServiceImpl.java:39)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.api.TaskanaEngine.getConfiguration()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.api.TaskanaEngine.getConfiguration()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.api.TaskanaEngine.checkRoleMembership([Lpro.taskana.common.api.TaskanaRole;)> in (UserServiceImpl.java:64)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.api.TaskanaEngine.checkRoleMembership([Lpro.taskana.common.api.TaskanaRole;)> in (UserServiceImpl.java:72)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.api.TaskanaEngine.checkRoleMembership([Lpro.taskana.common.api.TaskanaRole;)> in (UserServiceImpl.java:79)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.api.TaskanaEngine.checkRoleMembership([Lpro.taskana.common.api.TaskanaRole;)> in (UserServiceImpl.java:88)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.api.TaskanaEngine.checkRoleMembership([Lpro.taskana.common.api.TaskanaRole;)> in (UserServiceImpl.java:94)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.api.TaskanaEngine.checkRoleMembership([Lpro.taskana.common.api.TaskanaRole;)> in (UserServiceImpl.java:110)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.api.TaskanaEngine.runAsAdmin(java.util.function.Supplier)> in (UserServiceImpl.java:111)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.api.TaskanaEngine.runAsAdmin(java.util.function.Supplier)> in (UserServiceImpl.java:133)\
|
||||||
4. Dependencies of Slice pro.taskana.common.api.TaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.api.TaskanaEngine\
|
||||||
- Method <pro.taskana.common.api.TaskanaEngine.getConfiguration()> has return type <pro.taskana.TaskanaEngineConfiguration> in (TaskanaEngine.java:0)
|
- Method <pro.taskana.common.api.TaskanaEngine.getConfiguration()> has return type <pro.taskana.TaskanaEngineConfiguration> in (TaskanaEngine.java:0)
|
||||||
Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
|
@ -85538,17 +85540,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> has return type <pro.taskana.common.api.TaskanaEngine> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> has return type <pro.taskana.common.api.TaskanaEngine> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.common.api.TaskanaEngine\
|
5. Dependencies of Slice pro.taskana.common.api.TaskanaEngine\
|
||||||
|
@ -85568,17 +85573,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getHistoryEventManager()> has return type <pro.taskana.spi.history.internal.HistoryEventManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getHistoryEventManager()> has return type <pro.taskana.spi.history.internal.HistoryEventManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.history.internal.HistoryEventManager\
|
5. Dependencies of Slice pro.taskana.spi.history.internal.HistoryEventManager\
|
||||||
|
@ -85601,17 +85609,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getHistoryEventManager()> has return type <pro.taskana.spi.history.internal.HistoryEventManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getHistoryEventManager()> has return type <pro.taskana.spi.history.internal.HistoryEventManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.history.internal.HistoryEventManager\
|
5. Dependencies of Slice pro.taskana.spi.history.internal.HistoryEventManager\
|
||||||
|
@ -85645,17 +85656,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getTaskRoutingManager()> has return type <pro.taskana.spi.routing.internal.TaskRoutingManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getTaskRoutingManager()> has return type <pro.taskana.spi.routing.internal.TaskRoutingManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.routing.internal.TaskRoutingManager\
|
5. Dependencies of Slice pro.taskana.spi.routing.internal.TaskRoutingManager\
|
||||||
|
@ -85678,17 +85692,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getTaskRoutingManager()> has return type <pro.taskana.spi.routing.internal.TaskRoutingManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getTaskRoutingManager()> has return type <pro.taskana.spi.routing.internal.TaskRoutingManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.routing.internal.TaskRoutingManager\
|
5. Dependencies of Slice pro.taskana.spi.routing.internal.TaskRoutingManager\
|
||||||
|
@ -85716,17 +85733,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestChangesManager()> has return type <pro.taskana.spi.task.internal.AfterRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestChangesManager()> has return type <pro.taskana.spi.task.internal.AfterRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestChangesManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestChangesManager\
|
||||||
|
@ -85749,17 +85769,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestChangesManager()> has return type <pro.taskana.spi.task.internal.AfterRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestChangesManager()> has return type <pro.taskana.spi.task.internal.AfterRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestChangesManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestChangesManager\
|
||||||
|
@ -85786,17 +85809,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestReviewManager()> has return type <pro.taskana.spi.task.internal.AfterRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestReviewManager()> has return type <pro.taskana.spi.task.internal.AfterRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestReviewManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestReviewManager\
|
||||||
|
@ -85819,17 +85845,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestReviewManager()> has return type <pro.taskana.spi.task.internal.AfterRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getAfterRequestReviewManager()> has return type <pro.taskana.spi.task.internal.AfterRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestReviewManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.AfterRequestReviewManager\
|
||||||
|
@ -85856,17 +85885,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestChangesManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestChangesManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestChangesManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestChangesManager\
|
||||||
|
@ -85889,17 +85921,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestChangesManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestChangesManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestChangesManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestChangesManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestChangesManager\
|
||||||
|
@ -85926,17 +85961,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestReviewManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestReviewManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestReviewManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestReviewManager\
|
||||||
|
@ -85959,17 +85997,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestReviewManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getBeforeRequestReviewManager()> has return type <pro.taskana.spi.task.internal.BeforeRequestReviewManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestReviewManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.BeforeRequestReviewManager\
|
||||||
|
@ -85996,17 +86037,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getReviewRequiredManager()> has return type <pro.taskana.spi.task.internal.ReviewRequiredManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getReviewRequiredManager()> has return type <pro.taskana.spi.task.internal.ReviewRequiredManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.ReviewRequiredManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.ReviewRequiredManager\
|
||||||
|
@ -86029,17 +86073,20 @@ Cycle detected: Slice pro.taskana.TaskanaEngineConfiguration -> \
|
||||||
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
3. Dependencies of Slice pro.taskana.user.internal.UserServiceImpl\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
4. Dependencies of Slice pro.taskana.common.internal.InternalTaskanaEngine\
|
||||||
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getReviewRequiredManager()> has return type <pro.taskana.spi.task.internal.ReviewRequiredManager> in (InternalTaskanaEngine.java:0)\
|
- Method <pro.taskana.common.internal.InternalTaskanaEngine.getReviewRequiredManager()> has return type <pro.taskana.spi.task.internal.ReviewRequiredManager> in (InternalTaskanaEngine.java:0)\
|
||||||
5. Dependencies of Slice pro.taskana.spi.task.internal.ReviewRequiredManager\
|
5. Dependencies of Slice pro.taskana.spi.task.internal.ReviewRequiredManager\
|
|
@ -5827,17 +5827,20 @@ Cycle detected: Slice classification.internal -> \
|
||||||
4. Dependencies of Slice user.internal\
|
4. Dependencies of Slice user.internal\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
5. Dependencies of Slice common.internal\
|
5. Dependencies of Slice common.internal\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> calls constructor <pro.taskana.classification.internal.ClassificationServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.spi.priority.internal.PriorityServiceManager, pro.taskana.classification.internal.ClassificationMapper, pro.taskana.task.internal.TaskMapper)> in (TaskanaEngineImpl.java:185)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> calls constructor <pro.taskana.classification.internal.ClassificationServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.spi.priority.internal.PriorityServiceManager, pro.taskana.classification.internal.ClassificationMapper, pro.taskana.task.internal.TaskMapper)> in (TaskanaEngineImpl.java:185)\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> references class object <pro.taskana.classification.internal.ClassificationMapper> in (TaskanaEngineImpl.java:188)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> references class object <pro.taskana.classification.internal.ClassificationMapper> in (TaskanaEngineImpl.java:188)\
|
||||||
|
@ -6271,17 +6274,20 @@ Cycle detected: Slice classification.internal -> \
|
||||||
5. Dependencies of Slice user.internal\
|
5. Dependencies of Slice user.internal\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
6. Dependencies of Slice common.internal\
|
6. Dependencies of Slice common.internal\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> calls constructor <pro.taskana.classification.internal.ClassificationServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.spi.priority.internal.PriorityServiceManager, pro.taskana.classification.internal.ClassificationMapper, pro.taskana.task.internal.TaskMapper)> in (TaskanaEngineImpl.java:185)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> calls constructor <pro.taskana.classification.internal.ClassificationServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.spi.priority.internal.PriorityServiceManager, pro.taskana.classification.internal.ClassificationMapper, pro.taskana.task.internal.TaskMapper)> in (TaskanaEngineImpl.java:185)\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> references class object <pro.taskana.classification.internal.ClassificationMapper> in (TaskanaEngineImpl.java:188)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> references class object <pro.taskana.classification.internal.ClassificationMapper> in (TaskanaEngineImpl.java:188)\
|
||||||
|
@ -6731,17 +6737,20 @@ Cycle detected: Slice classification.internal -> \
|
||||||
3. Dependencies of Slice user.internal\
|
3. Dependencies of Slice user.internal\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)\
|
||||||
4. Dependencies of Slice common.internal\
|
4. Dependencies of Slice common.internal\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> calls constructor <pro.taskana.classification.internal.ClassificationServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.spi.priority.internal.PriorityServiceManager, pro.taskana.classification.internal.ClassificationMapper, pro.taskana.task.internal.TaskMapper)> in (TaskanaEngineImpl.java:185)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> calls constructor <pro.taskana.classification.internal.ClassificationServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.spi.priority.internal.PriorityServiceManager, pro.taskana.classification.internal.ClassificationMapper, pro.taskana.task.internal.TaskMapper)> in (TaskanaEngineImpl.java:185)\
|
||||||
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> references class object <pro.taskana.classification.internal.ClassificationMapper> in (TaskanaEngineImpl.java:188)\
|
- Method <pro.taskana.common.internal.TaskanaEngineImpl.getClassificationService()> references class object <pro.taskana.classification.internal.ClassificationMapper> in (TaskanaEngineImpl.java:188)\
|
||||||
|
@ -17035,6 +17044,7 @@ Cycle detected: Slice common.api -> \
|
||||||
- Method <pro.taskana.user.api.UserService.createUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.InvalidArgumentException> in (UserService.java:0)\
|
- Method <pro.taskana.user.api.UserService.createUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.InvalidArgumentException> in (UserService.java:0)\
|
||||||
- Method <pro.taskana.user.api.UserService.createUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.NotAuthorizedException> in (UserService.java:0)\
|
- Method <pro.taskana.user.api.UserService.createUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.NotAuthorizedException> in (UserService.java:0)\
|
||||||
- Method <pro.taskana.user.api.UserService.deleteUser(java.lang.String)> throws type <pro.taskana.common.api.exceptions.NotAuthorizedException> in (UserService.java:0)\
|
- Method <pro.taskana.user.api.UserService.deleteUser(java.lang.String)> throws type <pro.taskana.common.api.exceptions.NotAuthorizedException> in (UserService.java:0)\
|
||||||
|
- Method <pro.taskana.user.api.UserService.updateUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.InvalidArgumentException> in (UserService.java:0)\
|
||||||
- Method <pro.taskana.user.api.UserService.updateUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.NotAuthorizedException> in (UserService.java:0)\
|
- Method <pro.taskana.user.api.UserService.updateUser(pro.taskana.user.api.models.User)> throws type <pro.taskana.common.api.exceptions.NotAuthorizedException> in (UserService.java:0)\
|
||||||
3. Dependencies of Slice common.api.exceptions\
|
3. Dependencies of Slice common.api.exceptions\
|
||||||
- Constructor <pro.taskana.common.api.exceptions.MismatchedRoleException.<init>(java.lang.String, [Lpro.taskana.common.api.TaskanaRole;)> depends on component type <pro.taskana.common.api.TaskanaRole> in (MismatchedRoleException.java:0)\
|
- Constructor <pro.taskana.common.api.exceptions.MismatchedRoleException.<init>(java.lang.String, [Lpro.taskana.common.api.TaskanaRole;)> depends on component type <pro.taskana.common.api.TaskanaRole> in (MismatchedRoleException.java:0)\
|
||||||
|
@ -17596,17 +17606,20 @@ Cycle detected: Slice common.internal -> \
|
||||||
3. Dependencies of Slice user.internal\
|
3. Dependencies of Slice user.internal\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)
|
||||||
Cycle detected: Slice common.internal -> \
|
Cycle detected: Slice common.internal -> \
|
||||||
Slice task.internal -> \
|
Slice task.internal -> \
|
||||||
Slice workbasket.internal -> \
|
Slice workbasket.internal -> \
|
||||||
|
@ -17770,17 +17783,20 @@ Cycle detected: Slice common.internal -> \
|
||||||
2. Dependencies of Slice user.internal\
|
2. Dependencies of Slice user.internal\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> has parameter of type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
- Field <pro.taskana.user.internal.UserServiceImpl.internalTaskanaEngine> has type <pro.taskana.common.internal.InternalTaskanaEngine> in (UserServiceImpl.java:0)\
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:37)\
|
|
||||||
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:39)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:50)\
|
- Constructor <pro.taskana.user.internal.UserServiceImpl.<init>(pro.taskana.common.internal.InternalTaskanaEngine, pro.taskana.user.internal.UserMapper)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:41)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:63)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:52)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:78)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.getUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.util.function.Supplier)> in (UserServiceImpl.java:58)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:82)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.createUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:71)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:93)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:87)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:97)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:92)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains([Ljava.lang.String;)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:110)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:93)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:125)\
|
- Method <pro.taskana.user.internal.UserServiceImpl.updateUser(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:96)\
|
||||||
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:130)
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:109)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.deleteUser(java.lang.String)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.executeInDatabaseConnection(java.lang.Runnable)> in (UserServiceImpl.java:113)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.determineDomains(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.getEngine()> in (UserServiceImpl.java:132)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.openConnection()> in (UserServiceImpl.java:148)\
|
||||||
|
- Method <pro.taskana.user.internal.UserServiceImpl.insertIntoDatabase(pro.taskana.user.api.models.User)> calls method <pro.taskana.common.internal.InternalTaskanaEngine.returnConnection()> in (UserServiceImpl.java:156)
|
||||||
Cycle detected: Slice common.internal -> \
|
Cycle detected: Slice common.internal -> \
|
||||||
Slice workbasket.internal -> \
|
Slice workbasket.internal -> \
|
||||||
Slice common.internal\
|
Slice common.internal\
|
|
@ -1,6 +1,6 @@
|
||||||
#
|
#
|
||||||
#Mon Oct 17 04:50:12 CEST 2022
|
#Wed Oct 19 12:37:50 CEST 2022
|
||||||
slices\ matching\ 'pro.taskana.(**)'\ should\ be\ free\ of\ cycles=d13a8a46-5605-4062-8870-8f8de71f7b07
|
slices\ matching\ 'pro.taskana.(**)'\ should\ be\ free\ of\ cycles=f5ab0e52-6a11-49c9-b359-8abd1f62775f
|
||||||
methods\ that\ are\ annotated\ with\ @Test\ or\ annotated\ with\ @TestFactory\ or\ annotated\ with\ @TestTemplate\ and\ are\ not\ declared\ in\ acceptance.ArchitectureTest\ should\ be\ package\ private\ and\ should\ have\ name\ matching\ '^should_[A-Z][^_]+(_(For|When)_[A-Z][^_]+)?$'=338916cd-65eb-4545-a7be-6c7f534fde1e
|
methods\ that\ are\ annotated\ with\ @Test\ or\ annotated\ with\ @TestFactory\ or\ annotated\ with\ @TestTemplate\ and\ are\ not\ declared\ in\ acceptance.ArchitectureTest\ should\ be\ package\ private\ and\ should\ have\ name\ matching\ '^should_[A-Z][^_]+(_(For|When)_[A-Z][^_]+)?$'=c090f321-461a-42f5-8bda-450994737ca7
|
||||||
slices\ assigned\ from\ every\ single\ class\ should\ be\ free\ of\ cycles=3faafb71-7c1c-4a76-b3f4-952994afc15d
|
slices\ assigned\ from\ every\ single\ class\ should\ be\ free\ of\ cycles=da0a823c-abf2-4622-a420-044ce06dc6c0
|
||||||
no\ classes\ should\ use\ field\ injection,\ because\ field\ injection\ is\ considered\ harmful;\ use\ constructor\ injection\ or\ setter\ injection\ instead;\ see\ https\://stackoverflow.com/q/39890849\ for\ detailed\ explanations=caaac46d-650a-4955-a7c9-21d0bdd9e5e4
|
no\ classes\ should\ use\ field\ injection,\ because\ field\ injection\ is\ considered\ harmful;\ use\ constructor\ injection\ or\ setter\ injection\ instead;\ see\ https\://stackoverflow.com/q/39890849\ for\ detailed\ explanations=5cb8b13e-0834-4d4a-82b2-98ffbe0a62ab
|
||||||
|
|
|
@ -8,9 +8,9 @@ import static pro.taskana.testapi.DefaultTestEntities.defaultTestWorkbasket;
|
||||||
import static pro.taskana.testapi.DefaultTestEntities.randomTestUser;
|
import static pro.taskana.testapi.DefaultTestEntities.randomTestUser;
|
||||||
import static pro.taskana.testapi.builder.UserBuilder.newUser;
|
import static pro.taskana.testapi.builder.UserBuilder.newUser;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
|
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
|
||||||
import org.junit.jupiter.api.DynamicTest;
|
import org.junit.jupiter.api.DynamicTest;
|
||||||
|
@ -26,6 +26,7 @@ import pro.taskana.common.api.TaskanaEngine;
|
||||||
import pro.taskana.common.api.TaskanaRole;
|
import pro.taskana.common.api.TaskanaRole;
|
||||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||||
import pro.taskana.common.api.exceptions.MismatchedRoleException;
|
import pro.taskana.common.api.exceptions.MismatchedRoleException;
|
||||||
|
import pro.taskana.common.internal.util.Triplet;
|
||||||
import pro.taskana.testapi.TaskanaEngineConfigurationModifier;
|
import pro.taskana.testapi.TaskanaEngineConfigurationModifier;
|
||||||
import pro.taskana.testapi.TaskanaInject;
|
import pro.taskana.testapi.TaskanaInject;
|
||||||
import pro.taskana.testapi.TaskanaIntegrationTest;
|
import pro.taskana.testapi.TaskanaIntegrationTest;
|
||||||
|
@ -49,10 +50,11 @@ class UserServiceAccTest {
|
||||||
@TaskanaInject TaskanaEngine taskanaEngine;
|
@TaskanaInject TaskanaEngine taskanaEngine;
|
||||||
|
|
||||||
private WorkbasketAccessItem createAccessItem(
|
private WorkbasketAccessItem createAccessItem(
|
||||||
User user, Workbasket workbasket, WorkbasketPermission... permissions) throws Exception {
|
String accessId, Workbasket workbasket, WorkbasketPermission... permissions)
|
||||||
|
throws Exception {
|
||||||
WorkbasketAccessItemBuilder builder =
|
WorkbasketAccessItemBuilder builder =
|
||||||
WorkbasketAccessItemBuilder.newWorkbasketAccessItem()
|
WorkbasketAccessItemBuilder.newWorkbasketAccessItem()
|
||||||
.accessId(user.getId())
|
.accessId(accessId)
|
||||||
.workbasketId(workbasket.getId());
|
.workbasketId(workbasket.getId());
|
||||||
for (WorkbasketPermission permission : permissions) {
|
for (WorkbasketPermission permission : permissions) {
|
||||||
builder.permission(permission);
|
builder.permission(permission);
|
||||||
|
@ -83,6 +85,11 @@ class UserServiceAccTest {
|
||||||
final User userToGet =
|
final User userToGet =
|
||||||
newUser()
|
newUser()
|
||||||
.id("max-mustermann")
|
.id("max-mustermann")
|
||||||
|
.groups(
|
||||||
|
Set.of(
|
||||||
|
"cn=ksc-users,cn=groups,OU=Test,O=TASKANA",
|
||||||
|
"cn=Organisationseinheit KSC 1,cn=Organisationseinheit"
|
||||||
|
+ " KSC,cn=organisation,OU=Test,O=TASKANA"))
|
||||||
.firstName("Max")
|
.firstName("Max")
|
||||||
.lastName("Mustermann")
|
.lastName("Mustermann")
|
||||||
.fullName("Max Mustermann")
|
.fullName("Max Mustermann")
|
||||||
|
@ -99,7 +106,10 @@ class UserServiceAccTest {
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(userToGet.getId());
|
User userInDatabase = userService.getUser(userToGet.getId());
|
||||||
|
|
||||||
assertThat(userInDatabase).hasNoNullFieldsOrProperties().isEqualTo(userToGet);
|
assertThat(userInDatabase)
|
||||||
|
.hasNoNullFieldsOrProperties()
|
||||||
|
.isNotSameAs(userToGet)
|
||||||
|
.isEqualTo(userToGet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,24 +132,96 @@ class UserServiceAccTest {
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Test
|
@Test
|
||||||
void should_SetTheLongAndFullNameAccordingToRules_When_CreatingUserWithThoseFieldsEmpty()
|
void should_InsertUserInDatabase_When_CreatingUserWithGroups() throws Exception {
|
||||||
throws Exception {
|
|
||||||
User userToCreate = userService.newUser();
|
User userToCreate = userService.newUser();
|
||||||
userToCreate.setId("martina");
|
userToCreate.setId("anton2");
|
||||||
|
userToCreate.setFirstName("Anton");
|
||||||
|
userToCreate.setLastName("Miller");
|
||||||
|
userToCreate.setGroups(Set.of("groupX", "groupY"));
|
||||||
|
userService.createUser(userToCreate);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(userToCreate.getId());
|
||||||
|
assertThat(userToCreate).isNotSameAs(userInDatabase).isEqualTo(userInDatabase);
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@TestFactory
|
||||||
|
Stream<DynamicTest>
|
||||||
|
should_AutomaticallySetTheLongName_When_CreatingUserWithEmptyOrNullLongName() {
|
||||||
|
Stream<String> longNames = Stream.of(null, "");
|
||||||
|
|
||||||
|
ThrowingConsumer<String> test =
|
||||||
|
longName -> {
|
||||||
|
User userToCreate = userService.newUser();
|
||||||
|
userToCreate.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
userToCreate.setFirstName("Martina");
|
userToCreate.setFirstName("Martina");
|
||||||
userToCreate.setLastName("Schmidt");
|
userToCreate.setLastName("Schmidt");
|
||||||
|
userToCreate.setLongName(longName);
|
||||||
|
|
||||||
User createdUser = userService.createUser(userToCreate);
|
User updatedUser = userService.createUser(userToCreate);
|
||||||
|
|
||||||
assertThat(createdUser.getLongName()).isEqualTo("Schmidt, Martina - (martina)");
|
assertThat(updatedUser.getLongName())
|
||||||
assertThat(createdUser.getFullName()).isEqualTo("Schmidt, Martina");
|
.isEqualTo("Schmidt, Martina - (%s)", userToCreate.getId());
|
||||||
|
};
|
||||||
|
|
||||||
|
return DynamicTest.stream(longNames, l -> "for " + l, test);
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@TestFactory
|
||||||
|
Stream<DynamicTest>
|
||||||
|
should_AutomaticallySetTheFullName_When_CreatingUserWithEmptyOrNullFullName() {
|
||||||
|
Stream<String> fullNames = Stream.of(null, "");
|
||||||
|
|
||||||
|
ThrowingConsumer<String> test =
|
||||||
|
fullName -> {
|
||||||
|
User userToCreate = userService.newUser();
|
||||||
|
userToCreate.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
userToCreate.setFirstName("Martina");
|
||||||
|
userToCreate.setLastName("Schmidt");
|
||||||
|
userToCreate.setFullName(fullName);
|
||||||
|
|
||||||
|
User updatedUser = userService.createUser(userToCreate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("Schmidt, Martina");
|
||||||
|
};
|
||||||
|
|
||||||
|
return DynamicTest.stream(fullNames, l -> "for " + l, test);
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepLongName_When_CreatingUserWithLongNameDefined() throws Exception {
|
||||||
|
User userToCreate = userService.newUser();
|
||||||
|
userToCreate.setId("user-1");
|
||||||
|
userToCreate.setFirstName("Martina");
|
||||||
|
userToCreate.setLastName("Schmidt");
|
||||||
|
userToCreate.setLongName("long name");
|
||||||
|
|
||||||
|
User updatedUser = userService.createUser(userToCreate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getLongName()).isEqualTo("long name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepFullName_When_CreatingUserWithFullNameDefined() throws Exception {
|
||||||
|
User userToCreate = userService.newUser();
|
||||||
|
userToCreate.setId("user-2");
|
||||||
|
userToCreate.setFirstName("Martina");
|
||||||
|
userToCreate.setLastName("Schmidt");
|
||||||
|
userToCreate.setFullName("full name");
|
||||||
|
|
||||||
|
User updatedUser = userService.createUser(userToCreate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("full name");
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Test
|
@Test
|
||||||
void should_ThrowInvalidArgumentException_When_TryingToCreateUserWithFirstNameNull() {
|
void should_ThrowInvalidArgumentException_When_TryingToCreateUserWithFirstNameNull() {
|
||||||
User userToCreate = userService.newUser();
|
User userToCreate = userService.newUser();
|
||||||
userToCreate.setId("user-1");
|
userToCreate.setId("user-3");
|
||||||
userToCreate.setFirstName(null);
|
userToCreate.setFirstName(null);
|
||||||
userToCreate.setLastName("Schmidt");
|
userToCreate.setLastName("Schmidt");
|
||||||
|
|
||||||
|
@ -154,8 +236,8 @@ class UserServiceAccTest {
|
||||||
@Test
|
@Test
|
||||||
void should_ThrowInvalidArgumentException_When_TryingToCreateUserWithLastNameNull() {
|
void should_ThrowInvalidArgumentException_When_TryingToCreateUserWithLastNameNull() {
|
||||||
User userToCreate = userService.newUser();
|
User userToCreate = userService.newUser();
|
||||||
userToCreate.setId("user-2");
|
userToCreate.setId("user-4");
|
||||||
userToCreate.setFirstName("User 1");
|
userToCreate.setFirstName("User 4");
|
||||||
userToCreate.setLastName(null);
|
userToCreate.setLastName(null);
|
||||||
|
|
||||||
ThrowingCallable callable = () -> userService.createUser(userToCreate);
|
ThrowingCallable callable = () -> userService.createUser(userToCreate);
|
||||||
|
@ -168,7 +250,7 @@ class UserServiceAccTest {
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@TestFactory
|
@TestFactory
|
||||||
Stream<DynamicTest> should_ThrowInvalidArgumentException_When_TryingToCreateUserWithNotSetId() {
|
Stream<DynamicTest> should_ThrowInvalidArgumentException_When_TryingToCreateUserWithNotSetId() {
|
||||||
Iterator<String> iterator = Arrays.asList("", null).iterator();
|
Stream<String> userIds = Stream.of("", null);
|
||||||
|
|
||||||
ThrowingConsumer<String> test =
|
ThrowingConsumer<String> test =
|
||||||
userId -> {
|
userId -> {
|
||||||
|
@ -181,10 +263,10 @@ class UserServiceAccTest {
|
||||||
|
|
||||||
assertThatThrownBy(callable)
|
assertThatThrownBy(callable)
|
||||||
.isInstanceOf(InvalidArgumentException.class)
|
.isInstanceOf(InvalidArgumentException.class)
|
||||||
.hasMessage("UserId must not be empty when creating User.");
|
.hasMessage("UserId must not be empty when creating or updating User.");
|
||||||
};
|
};
|
||||||
|
|
||||||
return DynamicTest.stream(iterator, c -> "for " + c, test);
|
return DynamicTest.stream(userIds, c -> "for " + c, test);
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@ -214,7 +296,7 @@ class UserServiceAccTest {
|
||||||
@Test
|
@Test
|
||||||
void should_ThrowNotAuthorizedException_When_TryingToCreateUserWithoutAdminRole() {
|
void should_ThrowNotAuthorizedException_When_TryingToCreateUserWithoutAdminRole() {
|
||||||
User userToCreate = userService.newUser();
|
User userToCreate = userService.newUser();
|
||||||
userToCreate.setId("user-3");
|
userToCreate.setId("user-5");
|
||||||
userToCreate.setFirstName("firstName");
|
userToCreate.setFirstName("firstName");
|
||||||
userToCreate.setLastName("lastName");
|
userToCreate.setLastName("lastName");
|
||||||
ThrowingCallable callable = () -> userService.createUser(userToCreate);
|
ThrowingCallable callable = () -> userService.createUser(userToCreate);
|
||||||
|
@ -224,6 +306,22 @@ class UserServiceAccTest {
|
||||||
assertThat(ex.getRoles())
|
assertThat(ex.getRoles())
|
||||||
.isEqualTo(new TaskanaRole[] {TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN});
|
.isEqualTo(new TaskanaRole[] {TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_MakeAccessIdsLowerCase_When_ConfigurationPropertyIsSet() throws Exception {
|
||||||
|
User userToCreate = userService.newUser();
|
||||||
|
userToCreate.setId("USER-ID-WITH-CAPS");
|
||||||
|
userToCreate.setFirstName("firstName");
|
||||||
|
userToCreate.setLastName("lastName");
|
||||||
|
userToCreate.setGroups(Set.of("GROUP1-ID-WITH-CAPS", "Group2-Id-With-Caps"));
|
||||||
|
|
||||||
|
User userInDatabase = userService.createUser(userToCreate);
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getId()).isEqualTo("user-id-with-caps");
|
||||||
|
assertThat(userInDatabase.getGroups())
|
||||||
|
.containsExactlyInAnyOrder("group1-id-with-caps", "group2-id-with-caps");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
|
@ -232,7 +330,7 @@ class UserServiceAccTest {
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Test
|
@Test
|
||||||
void should_UpdateUserInDatabase_When_IdExisting() throws Exception {
|
void should_UpdateUserInDatabase() throws Exception {
|
||||||
User userToUpdate = randomTestUser().buildAndStore(userService);
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
|
||||||
userToUpdate.setFirstName("Anton");
|
userToUpdate.setFirstName("Anton");
|
||||||
|
@ -242,6 +340,33 @@ class UserServiceAccTest {
|
||||||
assertThat(userInDatabase).isNotSameAs(userToUpdate).isEqualTo(userToUpdate);
|
assertThat(userInDatabase).isNotSameAs(userToUpdate).isEqualTo(userToUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@TestFactory
|
||||||
|
Stream<DynamicTest> should_UpdateGroups() {
|
||||||
|
Stream<Triplet<String, Set<String>, Set<String>>> testCases =
|
||||||
|
Stream.of(
|
||||||
|
Triplet.of(
|
||||||
|
"User has no groups before updating", Set.of(), Set.of("group1", "group2")),
|
||||||
|
Triplet.of("new groups differ all", Set.of("group1"), Set.of("group2", "group3")),
|
||||||
|
Triplet.of("some new groups differ", Set.of("group1"), Set.of("group1", "group2")),
|
||||||
|
Triplet.of("new groups are all the same", Set.of("group1"), Set.of("group1")));
|
||||||
|
|
||||||
|
ThrowingConsumer<Triplet<String, Set<String>, Set<String>>> test =
|
||||||
|
t -> {
|
||||||
|
Set<String> existingGroups = t.getMiddle();
|
||||||
|
Set<String> newGroups = t.getMiddle();
|
||||||
|
User userToUpdate = randomTestUser().groups(existingGroups).buildAndStore(userService);
|
||||||
|
|
||||||
|
userToUpdate.setGroups(newGroups);
|
||||||
|
userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(userToUpdate.getId());
|
||||||
|
assertThat(userInDatabase.getGroups()).containsExactlyInAnyOrderElementsOf(newGroups);
|
||||||
|
};
|
||||||
|
|
||||||
|
return DynamicTest.stream(testCases, Triplet::getLeft, test);
|
||||||
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "user-1-1")
|
@WithAccessId(user = "user-1-1")
|
||||||
@Test
|
@Test
|
||||||
void should_ThrowNotAuthorizedException_When_TryingToUpdateUserWithNoAdminRole()
|
void should_ThrowNotAuthorizedException_When_TryingToUpdateUserWithNoAdminRole()
|
||||||
|
@ -260,6 +385,213 @@ class UserServiceAccTest {
|
||||||
.isEqualTo(new TaskanaRole[] {TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN});
|
.isEqualTo(new TaskanaRole[] {TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@TestFactory
|
||||||
|
Stream<DynamicTest>
|
||||||
|
should_AutomaticallySetTheFullName_When_UpdatingUserWithEmptyOrNullFullName() {
|
||||||
|
Stream<String> fullNames = Stream.of(null, "");
|
||||||
|
|
||||||
|
ThrowingConsumer<String> test =
|
||||||
|
fullName -> {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
userToUpdate.setFullName(fullName);
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("Schmidt, Martina");
|
||||||
|
};
|
||||||
|
|
||||||
|
return DynamicTest.stream(fullNames, l -> "for " + l, test);
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@TestFactory
|
||||||
|
Stream<DynamicTest>
|
||||||
|
should_AutomaticallySetTheLongName_When_UpdatingUserWithEmptyOrNullLongName() {
|
||||||
|
Stream<String> longNames = Stream.of(null, "");
|
||||||
|
|
||||||
|
ThrowingConsumer<String> test =
|
||||||
|
longName -> {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
userToUpdate.setLongName(longName);
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getLongName())
|
||||||
|
.isEqualTo("Schmidt, Martina - (%s)", userToUpdate.getId());
|
||||||
|
};
|
||||||
|
|
||||||
|
return DynamicTest.stream(longNames, l -> "for " + l, test);
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_AutomaticallySetTheFullAndLongName_When_UpdatingFirstName() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("%s, Martina", updatedUser.getLastName());
|
||||||
|
assertThat(updatedUser.getLongName())
|
||||||
|
.isEqualTo("%s, Martina - (%s)", userToUpdate.getLastName(), userToUpdate.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_AutomaticallySetTheFullAndLongName_When_UpdatingLastName() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("Schmidt, %s", updatedUser.getFirstName());
|
||||||
|
assertThat(updatedUser.getLongName())
|
||||||
|
.isEqualTo("Schmidt, %s - (%s)", userToUpdate.getFirstName(), userToUpdate.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepFullName_When_UpdatingFirstNameWithFullNameDefined() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
userToUpdate.setFullName("full name");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("full name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepFullName_When_UpdatingLastNameWithFullNameDefined() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
userToUpdate.setFullName("full name");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("full name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepFullName_When_UpdatingFirstAndLastNameWithFullNameDefined() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
userToUpdate.setFullName("full name");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getFullName()).isEqualTo("full name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepLongName_When_UpdatingFirstNameWithLongNameDefined() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
userToUpdate.setLongName("long name");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getLongName()).isEqualTo("long name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepLongName_When_UpdatingLastNameWithLongNameDefined() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
userToUpdate.setLongName("long name");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getLongName()).isEqualTo("long name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_KeepLongName_When_UpdatingFirstAndLastNameWithLongNameDefined() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setFirstName("Martina");
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
userToUpdate.setLongName("long name");
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getLongName()).isEqualTo("long name");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_MakeGroupIdsLowerCase_When_UpdatingUserWithUpperCaseGroups() throws Exception {
|
||||||
|
User userToUpdate = randomTestUser().buildAndStore(userService);
|
||||||
|
userToUpdate.setGroups(Set.of("GROUP1-ID-WITH-CAPS", "Group2-Id-With-Caps"));
|
||||||
|
|
||||||
|
User updatedUser = userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThat(updatedUser.getGroups())
|
||||||
|
.containsExactlyInAnyOrder("group1-id-with-caps", "group2-id-with-caps");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_ThrowInvalidArgumentException_When_TryingToUpdateUserWithFirstNameNull() {
|
||||||
|
User userToUpdate = userService.newUser();
|
||||||
|
userToUpdate.setId("user-3");
|
||||||
|
userToUpdate.setFirstName(null);
|
||||||
|
userToUpdate.setLastName("Schmidt");
|
||||||
|
|
||||||
|
ThrowingCallable callable = () -> userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThatThrownBy(callable)
|
||||||
|
.isInstanceOf(InvalidArgumentException.class)
|
||||||
|
.hasMessage("First and last name of User must be set or empty.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_ThrowInvalidArgumentException_When_TryingToUpdateUserWithLastNameNull() {
|
||||||
|
User userToUpdate = userService.newUser();
|
||||||
|
userToUpdate.setId("user-4");
|
||||||
|
userToUpdate.setFirstName("User 4");
|
||||||
|
userToUpdate.setLastName(null);
|
||||||
|
|
||||||
|
ThrowingCallable callable = () -> userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThatThrownBy(callable)
|
||||||
|
.isInstanceOf(InvalidArgumentException.class)
|
||||||
|
.hasMessage("First and last name of User must be set or empty.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@TestFactory
|
||||||
|
Stream<DynamicTest> should_ThrowInvalidArgumentException_When_TryingToUpdateUserWithNotSetId() {
|
||||||
|
Stream<String> userIds = Stream.of("", null);
|
||||||
|
|
||||||
|
ThrowingConsumer<String> test =
|
||||||
|
userId -> {
|
||||||
|
User userToUpdate = userService.newUser();
|
||||||
|
userToUpdate.setFirstName("firstName");
|
||||||
|
userToUpdate.setLastName("lastName");
|
||||||
|
userToUpdate.setId(userId);
|
||||||
|
|
||||||
|
ThrowingCallable callable = () -> userService.updateUser(userToUpdate);
|
||||||
|
|
||||||
|
assertThatThrownBy(callable)
|
||||||
|
.isInstanceOf(InvalidArgumentException.class)
|
||||||
|
.hasMessage("UserId must not be empty when creating or updating User.");
|
||||||
|
};
|
||||||
|
|
||||||
|
return DynamicTest.stream(userIds, c -> "for " + c, test);
|
||||||
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Test
|
@Test
|
||||||
void should_ThrowUserNotFoundException_When_TryingToUpdateUserWithNonExistingId() {
|
void should_ThrowUserNotFoundException_When_TryingToUpdateUserWithNonExistingId() {
|
||||||
|
@ -284,7 +616,7 @@ class UserServiceAccTest {
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Test
|
@Test
|
||||||
void should_DeleteUserFromDatabase_When_IdExisting() throws Exception {
|
void should_DeleteUserFromDatabase() throws Exception {
|
||||||
User userToDelete = randomTestUser().buildAndStore(userService);
|
User userToDelete = randomTestUser().buildAndStore(userService);
|
||||||
|
|
||||||
userService.deleteUser(userToDelete.getId());
|
userService.deleteUser(userToDelete.getId());
|
||||||
|
@ -298,6 +630,20 @@ class UserServiceAccTest {
|
||||||
.isEqualTo(userToDelete.getId());
|
.isEqualTo(userToDelete.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_DeleteGroupsFromDatabase_When_UserHadGroups() throws Exception {
|
||||||
|
User userToDelete =
|
||||||
|
randomTestUser().groups(Set.of("group1", "group2")).buildAndStore(userService);
|
||||||
|
|
||||||
|
userService.deleteUser(userToDelete.getId());
|
||||||
|
|
||||||
|
// verify that groups are deleted by creating a new user with the same id and check its groups
|
||||||
|
User newUserWithSameId = randomTestUser().id(userToDelete.getId()).buildAndStore(userService);
|
||||||
|
User userInDatabase = userService.getUser(newUserWithSameId.getId());
|
||||||
|
assertThat(userInDatabase.getGroups()).isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Test
|
@Test
|
||||||
void should_ThrowUserNotFoundException_When_TryingToDeleteUserWithNonExistingId() {
|
void should_ThrowUserNotFoundException_When_TryingToDeleteUserWithNonExistingId() {
|
||||||
|
@ -336,7 +682,7 @@ class UserServiceAccTest {
|
||||||
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
||||||
Workbasket workbasket =
|
Workbasket workbasket =
|
||||||
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
createAccessItem(user, workbasket, WorkbasketPermission.READ);
|
createAccessItem(user.getId(), workbasket, WorkbasketPermission.READ);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
@ -361,7 +707,24 @@ class UserServiceAccTest {
|
||||||
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
||||||
Workbasket workbasket =
|
Workbasket workbasket =
|
||||||
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
createAccessItem(user, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
createAccessItem(
|
||||||
|
user.getId(), workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains()).containsExactly(workbasket.getDomain());
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "user-1-1")
|
||||||
|
@Test
|
||||||
|
void should_ReturnOneDomain_When_GroupHasSufficientMinimalPermissionsToAssignDomains()
|
||||||
|
throws Exception {
|
||||||
|
String groupId = UUID.randomUUID().toString();
|
||||||
|
User user =
|
||||||
|
randomTestUser().groups(Set.of(groupId)).buildAndStore(userService, "businessadmin");
|
||||||
|
Workbasket workbasket =
|
||||||
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
|
createAccessItem(groupId, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
@ -376,7 +739,8 @@ class UserServiceAccTest {
|
||||||
Workbasket workbasket =
|
Workbasket workbasket =
|
||||||
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
WorkbasketAccessItem wai =
|
WorkbasketAccessItem wai =
|
||||||
createAccessItem(user, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
createAccessItem(
|
||||||
|
user.getId(), workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
@ -392,6 +756,29 @@ class UserServiceAccTest {
|
||||||
assertThat(userInDatabase.getDomains()).isEmpty();
|
assertThat(userInDatabase.getDomains()).isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "businessadmin")
|
||||||
|
@Test
|
||||||
|
void should_ReturnEmptyDomains_When_GroupHasSufficientPermissionsAndThenGroupIsUpdated()
|
||||||
|
throws Exception {
|
||||||
|
String groupId = UUID.randomUUID().toString();
|
||||||
|
User user = randomTestUser().groups(Set.of(groupId)).buildAndStore(userService);
|
||||||
|
Workbasket workbasket = defaultTestWorkbasket().buildAndStore(workbasketService);
|
||||||
|
createAccessItem(groupId, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains()).containsExactly(workbasket.getDomain());
|
||||||
|
|
||||||
|
// then user is updated and other group is assigned
|
||||||
|
|
||||||
|
user.setGroups(Set.of("new group"));
|
||||||
|
userService.updateUser(user);
|
||||||
|
|
||||||
|
userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains()).isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
@WithAccessId(user = "user-1-1")
|
@WithAccessId(user = "user-1-1")
|
||||||
@Test
|
@Test
|
||||||
void should_ReturnMultipleDomains_When_UserHasSufficientMinimalPermissionsForMultipleDomains()
|
void should_ReturnMultipleDomains_When_UserHasSufficientMinimalPermissionsForMultipleDomains()
|
||||||
|
@ -403,8 +790,34 @@ class UserServiceAccTest {
|
||||||
defaultTestWorkbasket()
|
defaultTestWorkbasket()
|
||||||
.domain("DOMAIN_B")
|
.domain("DOMAIN_B")
|
||||||
.buildAndStore(workbasketService, "businessadmin");
|
.buildAndStore(workbasketService, "businessadmin");
|
||||||
createAccessItem(user, workbasket1, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
createAccessItem(
|
||||||
createAccessItem(user, workbasket2, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
user.getId(), workbasket1, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
createAccessItem(
|
||||||
|
user.getId(), workbasket2, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains())
|
||||||
|
.containsExactlyInAnyOrder(workbasket1.getDomain(), workbasket2.getDomain());
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "user-1-1")
|
||||||
|
@Test
|
||||||
|
void
|
||||||
|
should_ReturnMultipleDomains_When_UserAndGroupHaveSufficientMinimalPermsForMultipleDomains()
|
||||||
|
throws Exception {
|
||||||
|
String groupId = UUID.randomUUID().toString();
|
||||||
|
User user =
|
||||||
|
randomTestUser().groups(Set.of(groupId)).buildAndStore(userService, "businessadmin");
|
||||||
|
Workbasket workbasket1 =
|
||||||
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
|
Workbasket workbasket2 =
|
||||||
|
defaultTestWorkbasket()
|
||||||
|
.domain("DOMAIN_B")
|
||||||
|
.buildAndStore(workbasketService, "businessadmin");
|
||||||
|
createAccessItem(
|
||||||
|
user.getId(), workbasket1, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
createAccessItem(groupId, workbasket2, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
@ -432,7 +845,24 @@ class UserServiceAccTest {
|
||||||
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
||||||
Workbasket workbasket =
|
Workbasket workbasket =
|
||||||
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
createAccessItem(user, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
createAccessItem(
|
||||||
|
user.getId(), workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains()).isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "user-1-1")
|
||||||
|
@Test
|
||||||
|
void should_ReturnEmptyDomains_When_GroupHasInsufficientMinimalPermissionsToAssignDomains()
|
||||||
|
throws Exception {
|
||||||
|
String groupId = UUID.randomUUID().toString();
|
||||||
|
User user =
|
||||||
|
randomTestUser().groups(Set.of(groupId)).buildAndStore(userService, "businessadmin");
|
||||||
|
Workbasket workbasket =
|
||||||
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
|
createAccessItem(groupId, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
@ -446,11 +876,29 @@ class UserServiceAccTest {
|
||||||
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
||||||
Workbasket workbasket =
|
Workbasket workbasket =
|
||||||
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
createAccessItem(user, workbasket, WorkbasketPermission.APPEND);
|
createAccessItem(
|
||||||
|
user.getId(), workbasket, WorkbasketPermission.READ, WorkbasketPermission.APPEND);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
assertThat(userInDatabase.getDomains()).isEmpty();
|
assertThat(userInDatabase.getDomains()).containsExactly(workbasket.getDomain());
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "user-1-1")
|
||||||
|
@Test
|
||||||
|
void should_ReturnOneDomain_When_GroupHasSufficientMinimalPermissionsToAssignDomains()
|
||||||
|
throws Exception {
|
||||||
|
String groupId = UUID.randomUUID().toString();
|
||||||
|
User user =
|
||||||
|
randomTestUser().groups(Set.of(groupId)).buildAndStore(userService, "businessadmin");
|
||||||
|
Workbasket workbasket =
|
||||||
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
|
createAccessItem(
|
||||||
|
groupId, workbasket, WorkbasketPermission.READ, WorkbasketPermission.APPEND);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains()).containsExactly(workbasket.getDomain());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -473,7 +921,23 @@ class UserServiceAccTest {
|
||||||
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
User user = randomTestUser().buildAndStore(userService, "businessadmin");
|
||||||
Workbasket workbasket =
|
Workbasket workbasket =
|
||||||
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
createAccessItem(user, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
createAccessItem(
|
||||||
|
user.getId(), workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
assertThat(userInDatabase.getDomains()).isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
@WithAccessId(user = "user-1-1")
|
||||||
|
@Test
|
||||||
|
void should_ReturnEmptyDomains_When_PropertyIsNotSetAndGroupHasPermission() throws Exception {
|
||||||
|
String groupId = UUID.randomUUID().toString();
|
||||||
|
User user =
|
||||||
|
randomTestUser().groups(Set.of(groupId)).buildAndStore(userService, "businessadmin");
|
||||||
|
Workbasket workbasket =
|
||||||
|
defaultTestWorkbasket().buildAndStore(workbasketService, "businessadmin");
|
||||||
|
createAccessItem(groupId, workbasket, WorkbasketPermission.OPEN, WorkbasketPermission.READ);
|
||||||
|
|
||||||
User userInDatabase = userService.getUser(user.getId());
|
User userInDatabase = userService.getUser(user.getId());
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ import pro.taskana.workbasket.internal.WorkbasketServiceImpl;
|
||||||
public class TaskanaEngineImpl implements TaskanaEngine {
|
public class TaskanaEngineImpl implements TaskanaEngine {
|
||||||
|
|
||||||
// must match the VERSION value in table
|
// must match the VERSION value in table
|
||||||
private static final String MINIMAL_TASKANA_SCHEMA_VERSION = "5.0.0";
|
private static final String MINIMAL_TASKANA_SCHEMA_VERSION = "5.2.0";
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(TaskanaEngineImpl.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(TaskanaEngineImpl.class);
|
||||||
private static final SessionStack SESSION_STACK = new SessionStack();
|
private static final SessionStack SESSION_STACK = new SessionStack();
|
||||||
private final TaskRoutingManager taskRoutingManager;
|
private final TaskRoutingManager taskRoutingManager;
|
||||||
|
|
|
@ -11,7 +11,7 @@ public interface RefreshUserPostprocessor {
|
||||||
/**
|
/**
|
||||||
* Processes a {@linkplain User} after its refresh.
|
* Processes a {@linkplain User} after its refresh.
|
||||||
*
|
*
|
||||||
* @param userToProcess {@linkplain User} the User to preprocess
|
* @param userToProcess {@linkplain User} the User to postprocess
|
||||||
* @return the {@linkplain User} after it has been processed
|
* @return the {@linkplain User} after it has been processed
|
||||||
*/
|
*/
|
||||||
User processUserAfterRefresh(User userToProcess);
|
User processUserAfterRefresh(User userToProcess);
|
||||||
|
|
|
@ -74,8 +74,10 @@ public interface UserService {
|
||||||
* pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin}
|
* pro.taskana.common.api.TaskanaRole#BUSINESS_ADMIN business-admin}
|
||||||
* @throws UserNotFoundException if there does not exist a {@linkplain User} with the specified
|
* @throws UserNotFoundException if there does not exist a {@linkplain User} with the specified
|
||||||
* {@linkplain User#getId() id} inside the database
|
* {@linkplain User#getId() id} inside the database
|
||||||
|
* @throws InvalidArgumentException if some fields are not set properly
|
||||||
*/
|
*/
|
||||||
User updateUser(User userToUpdate) throws UserNotFoundException, NotAuthorizedException;
|
User updateUser(User userToUpdate)
|
||||||
|
throws UserNotFoundException, NotAuthorizedException, InvalidArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes a {@linkplain User}.
|
* Deletes a {@linkplain User}.
|
||||||
|
|
|
@ -21,6 +21,20 @@ public interface User {
|
||||||
*/
|
*/
|
||||||
void setId(String id);
|
void setId(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the groups of the User.
|
||||||
|
*
|
||||||
|
* @return userGroups
|
||||||
|
*/
|
||||||
|
Set<String> getGroups();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the groups of the User.
|
||||||
|
*
|
||||||
|
* @param groups the groups of the User
|
||||||
|
*/
|
||||||
|
void setGroups(Set<String> groups);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the first name of the User.
|
* Returns the first name of the User.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.user.internal;
|
package pro.taskana.user.internal;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
import org.apache.ibatis.annotations.DeleteProvider;
|
import org.apache.ibatis.annotations.DeleteProvider;
|
||||||
import org.apache.ibatis.annotations.InsertProvider;
|
import org.apache.ibatis.annotations.InsertProvider;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -27,12 +28,21 @@ public interface UserMapper {
|
||||||
@Result(property = "data", column = "DATA")
|
@Result(property = "data", column = "DATA")
|
||||||
UserImpl findById(@Param("id") String id);
|
UserImpl findById(@Param("id") String id);
|
||||||
|
|
||||||
|
@SelectProvider(type = UserMapperSqlProvider.class, method = "findGroupsById")
|
||||||
|
Set<String> findGroupsById(String id);
|
||||||
|
|
||||||
@InsertProvider(type = UserMapperSqlProvider.class, method = "insert")
|
@InsertProvider(type = UserMapperSqlProvider.class, method = "insert")
|
||||||
void insert(User user);
|
void insert(User user);
|
||||||
|
|
||||||
|
@InsertProvider(type = UserMapperSqlProvider.class, method = "insertGroups")
|
||||||
|
void insertGroups(User user);
|
||||||
|
|
||||||
@UpdateProvider(type = UserMapperSqlProvider.class, method = "update")
|
@UpdateProvider(type = UserMapperSqlProvider.class, method = "update")
|
||||||
void update(User user);
|
void update(User user);
|
||||||
|
|
||||||
@DeleteProvider(type = UserMapperSqlProvider.class, method = "delete")
|
@DeleteProvider(type = UserMapperSqlProvider.class, method = "delete")
|
||||||
void delete(String id);
|
void delete(String id);
|
||||||
|
|
||||||
|
@DeleteProvider(type = UserMapperSqlProvider.class, method = "deleteGroups")
|
||||||
|
void deleteGroups(String id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,14 +5,13 @@ import static pro.taskana.common.internal.util.SqlProviderUtil.DB2_WITH_UR;
|
||||||
import static pro.taskana.common.internal.util.SqlProviderUtil.OPENING_SCRIPT_TAG;
|
import static pro.taskana.common.internal.util.SqlProviderUtil.OPENING_SCRIPT_TAG;
|
||||||
|
|
||||||
public class UserMapperSqlProvider {
|
public class UserMapperSqlProvider {
|
||||||
private static final String USER_INFO = "USER_INFO ";
|
|
||||||
private static final String USER_INFO_COLUMNS =
|
private static final String USER_INFO_COLUMNS =
|
||||||
"USER_ID, FIRST_NAME, LASTNAME, FULL_NAME, LONG_NAME, E_MAIL, PHONE, MOBILE_PHONE, "
|
"USER_ID, FIRST_NAME, LASTNAME, FULL_NAME, LONG_NAME, E_MAIL, PHONE, MOBILE_PHONE, "
|
||||||
+ "ORG_LEVEL_4, ORG_LEVEL_3, ORG_LEVEL_2, ORG_LEVEL_1, DATA ";
|
+ "ORG_LEVEL_4, ORG_LEVEL_3, ORG_LEVEL_2, ORG_LEVEL_1, DATA ";
|
||||||
private static final String USER_INFO_VALUES =
|
private static final String USER_INFO_VALUES =
|
||||||
"#{id}, #{firstName}, #{lastName}, #{fullName}, #{longName}, #{email}, #{phone}, "
|
"#{id}, #{firstName}, #{lastName}, #{fullName}, #{longName}, #{email}, #{phone}, "
|
||||||
+ "#{mobilePhone}, #{orgLevel4}, #{orgLevel3}, #{orgLevel2}, #{orgLevel1}, #{data} ";
|
+ "#{mobilePhone}, #{orgLevel4}, #{orgLevel3}, #{orgLevel2}, #{orgLevel1}, #{data} ";
|
||||||
private static final String WHERE_USER_ID = "WHERE USER_ID = #{id} ";
|
|
||||||
|
|
||||||
private UserMapperSqlProvider() {}
|
private UserMapperSqlProvider() {}
|
||||||
|
|
||||||
|
@ -20,35 +19,48 @@ public class UserMapperSqlProvider {
|
||||||
return OPENING_SCRIPT_TAG
|
return OPENING_SCRIPT_TAG
|
||||||
+ "SELECT "
|
+ "SELECT "
|
||||||
+ USER_INFO_COLUMNS
|
+ USER_INFO_COLUMNS
|
||||||
+ "FROM "
|
+ "FROM USER_INFO "
|
||||||
+ USER_INFO
|
+ "WHERE USER_ID = #{id} "
|
||||||
+ WHERE_USER_ID
|
+ DB2_WITH_UR
|
||||||
|
+ CLOSING_SCRIPT_TAG;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String findGroupsById() {
|
||||||
|
return OPENING_SCRIPT_TAG
|
||||||
|
+ "SELECT GROUP_ID FROM GROUP_INFO WHERE USER_ID = #{id} "
|
||||||
+ DB2_WITH_UR
|
+ DB2_WITH_UR
|
||||||
+ CLOSING_SCRIPT_TAG;
|
+ CLOSING_SCRIPT_TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String insert() {
|
public static String insert() {
|
||||||
return "INSERT INTO "
|
return "INSERT INTO USER_INFO ( " + USER_INFO_COLUMNS + ") VALUES(" + USER_INFO_VALUES + ")";
|
||||||
+ USER_INFO
|
}
|
||||||
+ "( "
|
|
||||||
+ USER_INFO_COLUMNS
|
public static String insertGroups() {
|
||||||
+ ") VALUES("
|
return OPENING_SCRIPT_TAG
|
||||||
+ USER_INFO_VALUES
|
+ "INSERT INTO GROUP_INFO "
|
||||||
+ ")";
|
+ "(USER_ID, GROUP_ID) VALUES "
|
||||||
|
+ "<foreach item='group' collection='groups' open='(' separator='),(' close=')'>"
|
||||||
|
+ "#{id}, #{group}"
|
||||||
|
+ "</foreach> "
|
||||||
|
+ CLOSING_SCRIPT_TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String update() {
|
public static String update() {
|
||||||
return "UPDATE "
|
return "UPDATE USER_INFO "
|
||||||
+ USER_INFO
|
|
||||||
+ "SET FIRST_NAME = #{firstName}, "
|
+ "SET FIRST_NAME = #{firstName}, "
|
||||||
+ "LASTNAME = #{lastName}, FULL_NAME = #{fullName}, LONG_NAME = #{longName}, "
|
+ "LASTNAME = #{lastName}, FULL_NAME = #{fullName}, LONG_NAME = #{longName}, "
|
||||||
+ "E_MAIL = #{email}, PHONE = #{phone}, MOBILE_PHONE = #{mobilePhone}, "
|
+ "E_MAIL = #{email}, PHONE = #{phone}, MOBILE_PHONE = #{mobilePhone}, "
|
||||||
+ "ORG_LEVEL_4 = #{orgLevel4}, ORG_LEVEL_3 = #{orgLevel3}, "
|
+ "ORG_LEVEL_4 = #{orgLevel4}, ORG_LEVEL_3 = #{orgLevel3}, "
|
||||||
+ "ORG_LEVEL_2 = #{orgLevel2}, ORG_LEVEL_1 = #{orgLevel1}, DATA = #{data} "
|
+ "ORG_LEVEL_2 = #{orgLevel2}, ORG_LEVEL_1 = #{orgLevel1}, DATA = #{data} "
|
||||||
+ WHERE_USER_ID;
|
+ "WHERE USER_ID = #{id} ";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String delete() {
|
public static String delete() {
|
||||||
return "DELETE FROM " + USER_INFO + WHERE_USER_ID;
|
return "DELETE FROM USER_INFO WHERE USER_ID = #{id} ";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String deleteGroups() {
|
||||||
|
return "DELETE FROM GROUP_INFO WHERE USER_ID = #{id} ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,12 @@ import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import org.apache.ibatis.exceptions.PersistenceException;
|
import org.apache.ibatis.exceptions.PersistenceException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import pro.taskana.TaskanaEngineConfiguration;
|
||||||
import pro.taskana.common.api.BaseQuery.SortDirection;
|
import pro.taskana.common.api.BaseQuery.SortDirection;
|
||||||
import pro.taskana.common.api.TaskanaRole;
|
import pro.taskana.common.api.TaskanaRole;
|
||||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||||
|
@ -52,7 +54,13 @@ public class UserServiceImpl implements UserService {
|
||||||
throw new UserNotFoundException(id);
|
throw new UserNotFoundException(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
user.setDomains(determineDomains(user.getId()));
|
Set<String> groups =
|
||||||
|
internalTaskanaEngine.executeInDatabaseConnection(() -> userMapper.findGroupsById(id));
|
||||||
|
if (groups != null) {
|
||||||
|
user.setGroups(groups);
|
||||||
|
}
|
||||||
|
|
||||||
|
user.setDomains(determineDomains(user));
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,24 +70,32 @@ public class UserServiceImpl implements UserService {
|
||||||
internalTaskanaEngine
|
internalTaskanaEngine
|
||||||
.getEngine()
|
.getEngine()
|
||||||
.checkRoleMembership(TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
|
.checkRoleMembership(TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
|
||||||
validateAndPopulateFields(userToCreate);
|
validateFields(userToCreate);
|
||||||
|
standardCreateActions(userToCreate);
|
||||||
insertIntoDatabase(userToCreate);
|
insertIntoDatabase(userToCreate);
|
||||||
|
|
||||||
if (LOGGER.isDebugEnabled()) {
|
if (LOGGER.isDebugEnabled()) {
|
||||||
LOGGER.debug("Method createUser() created User '{}'.", userToCreate);
|
LOGGER.debug("Method createUser() created User '{}'.", userToCreate);
|
||||||
}
|
}
|
||||||
|
|
||||||
return userToCreate;
|
return userToCreate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public User updateUser(User userToUpdate) throws UserNotFoundException, NotAuthorizedException {
|
public User updateUser(User userToUpdate)
|
||||||
|
throws UserNotFoundException, NotAuthorizedException, InvalidArgumentException {
|
||||||
internalTaskanaEngine
|
internalTaskanaEngine
|
||||||
.getEngine()
|
.getEngine()
|
||||||
.checkRoleMembership(TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
|
.checkRoleMembership(TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
|
||||||
getUser(userToUpdate.getId());
|
validateFields(userToUpdate);
|
||||||
|
standardUpdateActions(getUser(userToUpdate.getId()), userToUpdate);
|
||||||
|
|
||||||
internalTaskanaEngine.executeInDatabaseConnection(() -> userMapper.update(userToUpdate));
|
internalTaskanaEngine.executeInDatabaseConnection(() -> userMapper.update(userToUpdate));
|
||||||
|
internalTaskanaEngine.executeInDatabaseConnection(
|
||||||
|
() -> userMapper.deleteGroups(userToUpdate.getId()));
|
||||||
|
if (userToUpdate.getGroups() != null && !userToUpdate.getGroups().isEmpty()) {
|
||||||
|
internalTaskanaEngine.executeInDatabaseConnection(
|
||||||
|
() -> userMapper.insertGroups(userToUpdate));
|
||||||
|
}
|
||||||
if (LOGGER.isDebugEnabled()) {
|
if (LOGGER.isDebugEnabled()) {
|
||||||
LOGGER.debug("Method updateUser() updated User '{}'.", userToUpdate);
|
LOGGER.debug("Method updateUser() updated User '{}'.", userToUpdate);
|
||||||
}
|
}
|
||||||
|
@ -94,13 +110,19 @@ public class UserServiceImpl implements UserService {
|
||||||
.checkRoleMembership(TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
|
.checkRoleMembership(TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
|
||||||
getUser(id);
|
getUser(id);
|
||||||
|
|
||||||
internalTaskanaEngine.executeInDatabaseConnection(() -> userMapper.delete(id));
|
internalTaskanaEngine.executeInDatabaseConnection(
|
||||||
|
() -> {
|
||||||
|
userMapper.delete(id);
|
||||||
|
userMapper.deleteGroups(id);
|
||||||
|
});
|
||||||
if (LOGGER.isDebugEnabled()) {
|
if (LOGGER.isDebugEnabled()) {
|
||||||
LOGGER.debug("Method deleteUser() deleted User with id '{}'.", id);
|
LOGGER.debug("Method deleteUser() deleted User with id '{}'.", id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Set<String> determineDomains(String... accessIds) {
|
private Set<String> determineDomains(User user) {
|
||||||
|
Set<String> accessIds = new HashSet<>(user.getGroups());
|
||||||
|
accessIds.add(user.getId());
|
||||||
if (minimalWorkbasketPermissions != null && !minimalWorkbasketPermissions.isEmpty()) {
|
if (minimalWorkbasketPermissions != null && !minimalWorkbasketPermissions.isEmpty()) {
|
||||||
// since WorkbasketService#accessIdsHavePermissions requires some role permissions we have to
|
// since WorkbasketService#accessIdsHavePermissions requires some role permissions we have to
|
||||||
// execute this query as an admin. Since we're only determining the domains of a given user
|
// execute this query as an admin. Since we're only determining the domains of a given user
|
||||||
|
@ -113,7 +135,8 @@ public class UserServiceImpl implements UserService {
|
||||||
() ->
|
() ->
|
||||||
workbasketService
|
workbasketService
|
||||||
.createWorkbasketQuery()
|
.createWorkbasketQuery()
|
||||||
.accessIdsHavePermissions(minimalWorkbasketPermissions, accessIds)
|
.accessIdsHavePermissions(
|
||||||
|
minimalWorkbasketPermissions, accessIds.toArray(String[]::new))
|
||||||
.listValues(
|
.listValues(
|
||||||
WorkbasketQueryColumnName.DOMAIN, SortDirection.ASCENDING))));
|
WorkbasketQueryColumnName.DOMAIN, SortDirection.ASCENDING))));
|
||||||
}
|
}
|
||||||
|
@ -124,6 +147,9 @@ public class UserServiceImpl implements UserService {
|
||||||
try {
|
try {
|
||||||
internalTaskanaEngine.openConnection();
|
internalTaskanaEngine.openConnection();
|
||||||
userMapper.insert(userToCreate);
|
userMapper.insert(userToCreate);
|
||||||
|
if (userToCreate.getGroups() != null && !userToCreate.getGroups().isEmpty()) {
|
||||||
|
userMapper.insertGroups(userToCreate);
|
||||||
|
}
|
||||||
} catch (PersistenceException e) {
|
} catch (PersistenceException e) {
|
||||||
throw new UserAlreadyExistException(userToCreate.getId(), e);
|
throw new UserAlreadyExistException(userToCreate.getId(), e);
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -131,19 +157,48 @@ public class UserServiceImpl implements UserService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateAndPopulateFields(User userToCreate) throws InvalidArgumentException {
|
private void validateFields(User userToValidate) throws InvalidArgumentException {
|
||||||
if (userToCreate.getId() == null || userToCreate.getId().isEmpty()) {
|
if (userToValidate.getId() == null || userToValidate.getId().isEmpty()) {
|
||||||
throw new InvalidArgumentException("UserId must not be empty when creating User.");
|
throw new InvalidArgumentException(
|
||||||
|
"UserId must not be empty when creating or updating User.");
|
||||||
}
|
}
|
||||||
if (userToCreate.getFirstName() == null || userToCreate.getLastName() == null) {
|
if (userToValidate.getFirstName() == null || userToValidate.getLastName() == null) {
|
||||||
throw new InvalidArgumentException("First and last name of User must be set or empty.");
|
throw new InvalidArgumentException("First and last name of User must be set or empty.");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (userToCreate.getFullName() == null || userToCreate.getFullName().isEmpty()) {
|
private void standardCreateActions(User user) {
|
||||||
userToCreate.setFullName(userToCreate.getLastName() + ", " + userToCreate.getFirstName());
|
if (user.getFullName() == null || user.getFullName().isEmpty()) {
|
||||||
|
user.setFullName(user.getLastName() + ", " + user.getFirstName());
|
||||||
}
|
}
|
||||||
if (userToCreate.getLongName() == null || userToCreate.getLongName().isEmpty()) {
|
if (user.getLongName() == null || user.getLongName().isEmpty()) {
|
||||||
userToCreate.setLongName(userToCreate.getFullName() + " - (" + userToCreate.getId() + ")");
|
user.setLongName(user.getFullName() + " - (" + user.getId() + ")");
|
||||||
|
}
|
||||||
|
if (TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()) {
|
||||||
|
user.setId(user.getId().toLowerCase());
|
||||||
|
user.setGroups(
|
||||||
|
user.getGroups().stream().map((String::toLowerCase)).collect(Collectors.toSet()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void standardUpdateActions(User oldUser, User newUser) {
|
||||||
|
if (!newUser.getFirstName().equals(oldUser.getFirstName())
|
||||||
|
|| !newUser.getLastName().equals(oldUser.getLastName())) {
|
||||||
|
if (newUser.getFullName() == null
|
||||||
|
|| newUser.getFullName().isEmpty()
|
||||||
|
|| newUser.getFullName().equals(oldUser.getFullName())) {
|
||||||
|
newUser.setFullName(newUser.getLastName() + ", " + newUser.getFirstName());
|
||||||
|
}
|
||||||
|
if (newUser.getLongName() == null
|
||||||
|
|| newUser.getLongName().isEmpty()
|
||||||
|
|| newUser.getLongName().equals(oldUser.getLongName())) {
|
||||||
|
newUser.setLongName(newUser.getFullName() + " - (" + newUser.getId() + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (TaskanaEngineConfiguration.shouldUseLowerCaseForAccessIds()) {
|
||||||
|
newUser.setId(newUser.getId().toLowerCase());
|
||||||
|
newUser.setGroups(
|
||||||
|
newUser.getGroups().stream().map((String::toLowerCase)).collect(Collectors.toSet()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package pro.taskana.user.internal.models;
|
package pro.taskana.user.internal.models;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.Collections;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import pro.taskana.user.api.models.User;
|
||||||
|
|
||||||
public class UserImpl implements User {
|
public class UserImpl implements User {
|
||||||
private String id;
|
private String id;
|
||||||
|
private Set<String> groups = Collections.emptySet();
|
||||||
private String firstName;
|
private String firstName;
|
||||||
private String lastName;
|
private String lastName;
|
||||||
private String fullName;
|
private String fullName;
|
||||||
|
@ -20,12 +21,13 @@ public class UserImpl implements User {
|
||||||
private String orgLevel2;
|
private String orgLevel2;
|
||||||
private String orgLevel1;
|
private String orgLevel1;
|
||||||
private String data;
|
private String data;
|
||||||
private Set<String> domains = new HashSet<>();
|
private Set<String> domains = Collections.emptySet();
|
||||||
|
|
||||||
public UserImpl() {}
|
public UserImpl() {}
|
||||||
|
|
||||||
protected UserImpl(UserImpl copyFrom) {
|
protected UserImpl(UserImpl copyFrom) {
|
||||||
this.id = copyFrom.id;
|
this.id = copyFrom.id;
|
||||||
|
this.groups = copyFrom.groups;
|
||||||
this.firstName = copyFrom.firstName;
|
this.firstName = copyFrom.firstName;
|
||||||
this.lastName = copyFrom.lastName;
|
this.lastName = copyFrom.lastName;
|
||||||
this.fullName = copyFrom.fullName;
|
this.fullName = copyFrom.fullName;
|
||||||
|
@ -51,6 +53,16 @@ public class UserImpl implements User {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<String> getGroups() {
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setGroups(Set<String> groups) {
|
||||||
|
this.groups = groups;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getFirstName() {
|
public String getFirstName() {
|
||||||
return firstName;
|
return firstName;
|
||||||
|
@ -189,6 +201,7 @@ public class UserImpl implements User {
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(
|
return Objects.hash(
|
||||||
id,
|
id,
|
||||||
|
groups,
|
||||||
firstName,
|
firstName,
|
||||||
lastName,
|
lastName,
|
||||||
fullName,
|
fullName,
|
||||||
|
@ -217,6 +230,7 @@ public class UserImpl implements User {
|
||||||
}
|
}
|
||||||
UserImpl other = (UserImpl) obj;
|
UserImpl other = (UserImpl) obj;
|
||||||
return Objects.equals(id, other.id)
|
return Objects.equals(id, other.id)
|
||||||
|
&& Objects.equals(groups, other.groups)
|
||||||
&& Objects.equals(firstName, other.firstName)
|
&& Objects.equals(firstName, other.firstName)
|
||||||
&& Objects.equals(lastName, other.lastName)
|
&& Objects.equals(lastName, other.lastName)
|
||||||
&& Objects.equals(fullName, other.fullName)
|
&& Objects.equals(fullName, other.fullName)
|
||||||
|
@ -236,9 +250,11 @@ public class UserImpl implements User {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "UserImpl [id="
|
return "UserImpl [id="
|
||||||
+ id
|
+ id
|
||||||
|
+ ", groups="
|
||||||
|
+ groups
|
||||||
+ ", firstName="
|
+ ", firstName="
|
||||||
+ firstName
|
+ firstName
|
||||||
+ ", lastname="
|
+ ", lastName="
|
||||||
+ lastName
|
+ lastName
|
||||||
+ ", fullName="
|
+ ", fullName="
|
||||||
+ fullName
|
+ fullName
|
||||||
|
|
|
@ -34,7 +34,7 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
||||||
private final List<String> orderBy;
|
private final List<String> orderBy;
|
||||||
private final List<String> orderColumns;
|
private final List<String> orderColumns;
|
||||||
private WorkbasketQueryColumnName columnName;
|
private WorkbasketQueryColumnName columnName;
|
||||||
private String[] accessId;
|
private String[] accessIds;
|
||||||
private String[] idIn;
|
private String[] idIn;
|
||||||
private WorkbasketPermission[] permissions;
|
private WorkbasketPermission[] permissions;
|
||||||
private String[] nameIn;
|
private String[] nameIn;
|
||||||
|
@ -180,8 +180,8 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
||||||
|
|
||||||
// set up permissions and ids
|
// set up permissions and ids
|
||||||
this.permissions = permissions.toArray(WorkbasketPermission[]::new);
|
this.permissions = permissions.toArray(WorkbasketPermission[]::new);
|
||||||
this.accessId = accessIds;
|
this.accessIds = accessIds;
|
||||||
lowercaseAccessIds(this.accessId);
|
lowercaseAccessIds(this.accessIds);
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -423,8 +423,8 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[] getAccessId() {
|
public String[] getAccessIds() {
|
||||||
return accessId;
|
return accessIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public WorkbasketPermission[] getPermissions() {
|
public WorkbasketPermission[] getPermissions() {
|
||||||
|
@ -618,25 +618,25 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
||||||
joinWithAccessList = true;
|
joinWithAccessList = true;
|
||||||
checkReadPermission = true;
|
checkReadPermission = true;
|
||||||
if (taskanaEngine.getEngine().isUserInRole(TaskanaRole.ADMIN, TaskanaRole.TASK_ADMIN)
|
if (taskanaEngine.getEngine().isUserInRole(TaskanaRole.ADMIN, TaskanaRole.TASK_ADMIN)
|
||||||
&& accessId == null) {
|
&& accessIds == null) {
|
||||||
checkReadPermission = false;
|
checkReadPermission = false;
|
||||||
joinWithAccessList = false;
|
joinWithAccessList = false;
|
||||||
} else if (taskanaEngine.getEngine().isUserInRole(TaskanaRole.BUSINESS_ADMIN)
|
} else if (taskanaEngine.getEngine().isUserInRole(TaskanaRole.BUSINESS_ADMIN)
|
||||||
&& !usedToAugmentTasks) {
|
&& !usedToAugmentTasks) {
|
||||||
checkReadPermission = false;
|
checkReadPermission = false;
|
||||||
if (accessId == null && (permissions == null || permissions.length == 0)) {
|
if (accessIds == null && (permissions == null || permissions.length == 0)) {
|
||||||
joinWithAccessList = false;
|
joinWithAccessList = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// might already be set by accessIdsHavePermission
|
// might already be set by accessIdsHavePermissions
|
||||||
if (this.accessId == null) {
|
if (this.accessIds == null) {
|
||||||
String[] accessIds = new String[0];
|
String[] accessIds = new String[0];
|
||||||
List<String> ucAccessIds = taskanaEngine.getEngine().getCurrentUserContext().getAccessIds();
|
List<String> ucAccessIds = taskanaEngine.getEngine().getCurrentUserContext().getAccessIds();
|
||||||
if (!ucAccessIds.isEmpty()) {
|
if (!ucAccessIds.isEmpty()) {
|
||||||
accessIds = ucAccessIds.toArray(accessIds);
|
accessIds = ucAccessIds.toArray(accessIds);
|
||||||
}
|
}
|
||||||
this.accessId = accessIds;
|
this.accessIds = accessIds;
|
||||||
lowercaseAccessIds(this.accessId);
|
lowercaseAccessIds(this.accessIds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -654,7 +654,7 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
|
||||||
return "WorkbasketQueryImpl [columnName="
|
return "WorkbasketQueryImpl [columnName="
|
||||||
+ columnName
|
+ columnName
|
||||||
+ ", accessId="
|
+ ", accessId="
|
||||||
+ Arrays.toString(accessId)
|
+ Arrays.toString(accessIds)
|
||||||
+ ", idIn="
|
+ ", idIn="
|
||||||
+ Arrays.toString(idIn)
|
+ Arrays.toString(idIn)
|
||||||
+ ", permission="
|
+ ", permission="
|
||||||
|
|
|
@ -31,7 +31,7 @@ public interface WorkbasketQueryMapper {
|
||||||
+ "MAX(PERM_CUSTOM_8::int) as MAX_CUSTOM_8, MAX(PERM_CUSTOM_9::int) as MAX_CUSTOM_9, MAX(PERM_CUSTOM_10::int) as MAX_CUSTOM_10, MAX(PERM_CUSTOM_11::int) as MAX_CUSTOM_11, MAX(PERM_CUSTOM_12::int) as MAX_CUSTOM_12 "
|
+ "MAX(PERM_CUSTOM_8::int) as MAX_CUSTOM_8, MAX(PERM_CUSTOM_9::int) as MAX_CUSTOM_9, MAX(PERM_CUSTOM_10::int) as MAX_CUSTOM_10, MAX(PERM_CUSTOM_11::int) as MAX_CUSTOM_11, MAX(PERM_CUSTOM_12::int) as MAX_CUSTOM_12 "
|
||||||
+ "</otherwise>"
|
+ "</otherwise>"
|
||||||
+ "</choose>"
|
+ "</choose>"
|
||||||
+ "FROM WORKBASKET_ACCESS_LIST where ACCESS_ID IN (<if test='accessId != null'><foreach item='item' collection='accessId' separator=',' >#{item}</foreach></if>) group by WORKBASKET_ID ) a "
|
+ "FROM WORKBASKET_ACCESS_LIST where ACCESS_ID IN (<if test='accessIds != null'><foreach item='item' collection='accessIds' separator=',' >#{item}</foreach></if>) group by WORKBASKET_ID ) a "
|
||||||
+ "on (w.ID = a.WID)"
|
+ "on (w.ID = a.WID)"
|
||||||
+ "</if> "
|
+ "</if> "
|
||||||
+ "<where> 1=1 "
|
+ "<where> 1=1 "
|
||||||
|
@ -175,7 +175,7 @@ public interface WorkbasketQueryMapper {
|
||||||
+ "MAX(PERM_CUSTOM_8::int) as MAX_CUSTOM_8, MAX(PERM_CUSTOM_9::int) as MAX_CUSTOM_9, MAX(PERM_CUSTOM_10::int) as MAX_CUSTOM_10, MAX(PERM_CUSTOM_11::int) as MAX_CUSTOM_11, MAX(PERM_CUSTOM_12::int) as MAX_CUSTOM_12 "
|
+ "MAX(PERM_CUSTOM_8::int) as MAX_CUSTOM_8, MAX(PERM_CUSTOM_9::int) as MAX_CUSTOM_9, MAX(PERM_CUSTOM_10::int) as MAX_CUSTOM_10, MAX(PERM_CUSTOM_11::int) as MAX_CUSTOM_11, MAX(PERM_CUSTOM_12::int) as MAX_CUSTOM_12 "
|
||||||
+ "</otherwise>"
|
+ "</otherwise>"
|
||||||
+ "</choose>"
|
+ "</choose>"
|
||||||
+ "FROM WORKBASKET_ACCESS_LIST where ACCESS_ID IN (<if test='accessId != null'><foreach item='item' collection='accessId' separator=',' >#{item}</foreach></if>) group by WORKBASKET_ID ) a "
|
+ "FROM WORKBASKET_ACCESS_LIST where ACCESS_ID IN (<if test='accessIds != null'><foreach item='item' collection='accessIds' separator=',' >#{item}</foreach></if>) group by WORKBASKET_ID ) a "
|
||||||
+ "on (w.ID = a.WID)"
|
+ "on (w.ID = a.WID)"
|
||||||
+ "</if> "
|
+ "</if> "
|
||||||
+ "<where> 1=1 "
|
+ "<where> 1=1 "
|
||||||
|
@ -271,7 +271,7 @@ public interface WorkbasketQueryMapper {
|
||||||
+ "MAX(PERM_CUSTOM_8::int) as MAX_CUSTOM_8, MAX(PERM_CUSTOM_9::int) as MAX_CUSTOM_9, MAX(PERM_CUSTOM_10::int) as MAX_CUSTOM_10, MAX(PERM_CUSTOM_11::int) as MAX_CUSTOM_11, MAX(PERM_CUSTOM_12::int) as MAX_CUSTOM_12 "
|
+ "MAX(PERM_CUSTOM_8::int) as MAX_CUSTOM_8, MAX(PERM_CUSTOM_9::int) as MAX_CUSTOM_9, MAX(PERM_CUSTOM_10::int) as MAX_CUSTOM_10, MAX(PERM_CUSTOM_11::int) as MAX_CUSTOM_11, MAX(PERM_CUSTOM_12::int) as MAX_CUSTOM_12 "
|
||||||
+ "</otherwise>"
|
+ "</otherwise>"
|
||||||
+ "</choose>"
|
+ "</choose>"
|
||||||
+ "FROM WORKBASKET_ACCESS_LIST where ACCESS_ID IN (<if test='accessId != null'><foreach item='item' collection='accessId' separator=',' >#{item}</foreach></if>) group by WORKBASKET_ID ) a "
|
+ "FROM WORKBASKET_ACCESS_LIST where ACCESS_ID IN (<if test='accessIds != null'><foreach item='item' collection='accessIds' separator=',' >#{item}</foreach></if>) group by WORKBASKET_ID ) a "
|
||||||
+ "on (w.ID = a.WID)"
|
+ "on (w.ID = a.WID)"
|
||||||
+ "</if> "
|
+ "</if> "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package pro.taskana.testapi.builder;
|
package pro.taskana.testapi.builder;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||||
import pro.taskana.common.api.exceptions.NotAuthorizedException;
|
import pro.taskana.common.api.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.user.api.UserService;
|
import pro.taskana.user.api.UserService;
|
||||||
|
@ -22,6 +24,11 @@ public class UserBuilder implements EntityBuilder<User, UserService> {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UserBuilder groups(Set<String> groups) {
|
||||||
|
testUser.setGroups(groups);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public UserBuilder firstName(String firstName) {
|
public UserBuilder firstName(String firstName) {
|
||||||
testUser.setFirstName(firstName);
|
testUser.setFirstName(firstName);
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -4,8 +4,10 @@ import static java.util.function.Predicate.not;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
@ -536,6 +538,7 @@ public class LdapClient {
|
||||||
String[] getLookUpUserInfoAttributesToReturn() {
|
String[] getLookUpUserInfoAttributesToReturn() {
|
||||||
return new String[] {
|
return new String[] {
|
||||||
getUserIdAttribute(),
|
getUserIdAttribute(),
|
||||||
|
getUserMemberOfGroupAttribute(),
|
||||||
getUserFirstnameAttribute(),
|
getUserFirstnameAttribute(),
|
||||||
getUserLastnameAttribute(),
|
getUserLastnameAttribute(),
|
||||||
getUserFullnameAttribute(),
|
getUserFullnameAttribute(),
|
||||||
|
@ -615,6 +618,19 @@ public class LdapClient {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Set<String> getGroupIdsFromContext(final DirContextOperations context) {
|
||||||
|
String[] groupAttributes = context.getStringAttributes(getUserMemberOfGroupAttribute());
|
||||||
|
Set<String> groups = groupAttributes != null ? Set.of(groupAttributes) : Collections.emptySet();
|
||||||
|
if (useLowerCaseForAccessIds) {
|
||||||
|
groups =
|
||||||
|
groups.stream()
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(String::toLowerCase)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
|
||||||
/** Context Mapper for user entries. */
|
/** Context Mapper for user entries. */
|
||||||
class GroupContextMapper extends AbstractContextMapper<AccessIdRepresentationModel> {
|
class GroupContextMapper extends AbstractContextMapper<AccessIdRepresentationModel> {
|
||||||
|
|
||||||
|
@ -634,6 +650,7 @@ public class LdapClient {
|
||||||
public User doMapFromContext(final DirContextOperations context) {
|
public User doMapFromContext(final DirContextOperations context) {
|
||||||
final User user = new UserImpl();
|
final User user = new UserImpl();
|
||||||
user.setId(getUserIdFromContext(context));
|
user.setId(getUserIdFromContext(context));
|
||||||
|
user.setGroups(getGroupIdsFromContext(context));
|
||||||
user.setFirstName(context.getStringAttribute(getUserFirstnameAttribute()));
|
user.setFirstName(context.getStringAttribute(getUserFirstnameAttribute()));
|
||||||
user.setLastName(context.getStringAttribute(getUserLastnameAttribute()));
|
user.setLastName(context.getStringAttribute(getUserLastnameAttribute()));
|
||||||
user.setFullName(context.getStringAttribute(getUserFullnameAttribute()));
|
user.setFullName(context.getStringAttribute(getUserFullnameAttribute()));
|
||||||
|
|
|
@ -27,7 +27,7 @@ public class UserInfoRefreshJob extends AbstractTaskanaJob {
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(UserInfoRefreshJob.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(UserInfoRefreshJob.class);
|
||||||
private final SqlConnectionRunner sqlConnectionRunner;
|
private final SqlConnectionRunner sqlConnectionRunner;
|
||||||
private RefreshUserPostprocessorManager refreshUserPostprocessorManager;
|
private final RefreshUserPostprocessorManager refreshUserPostprocessorManager;
|
||||||
|
|
||||||
public UserInfoRefreshJob(TaskanaEngine taskanaEngine) {
|
public UserInfoRefreshJob(TaskanaEngine taskanaEngine) {
|
||||||
this(taskanaEngine, null, null);
|
this(taskanaEngine, null, null);
|
||||||
|
@ -77,7 +77,7 @@ public class UserInfoRefreshJob extends AbstractTaskanaJob {
|
||||||
.map(user -> refreshUserPostprocessorManager.processUserAfterRefresh(user))
|
.map(user -> refreshUserPostprocessorManager.processUserAfterRefresh(user))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
addExistingConfigurationDataToUsers(usersAfterProcessing);
|
addExistingConfigurationDataToUsers(usersAfterProcessing);
|
||||||
clearExistingUsers();
|
clearExistingUsersAndGroups();
|
||||||
insertNewUsers(usersAfterProcessing);
|
insertNewUsers(usersAfterProcessing);
|
||||||
|
|
||||||
LOGGER.info("Job to refresh all user info has finished.");
|
LOGGER.info("Job to refresh all user info has finished.");
|
||||||
|
@ -87,13 +87,19 @@ public class UserInfoRefreshJob extends AbstractTaskanaJob {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clearExistingUsers() {
|
private void clearExistingUsersAndGroups() {
|
||||||
|
|
||||||
sqlConnectionRunner.runWithConnection(
|
sqlConnectionRunner.runWithConnection(
|
||||||
connection -> {
|
connection -> {
|
||||||
String sql = "DELETE FROM USER_INFO";
|
if (LOGGER.isDebugEnabled()) {
|
||||||
|
LOGGER.debug("Trying to delete all users and groups");
|
||||||
|
}
|
||||||
|
String sql = "DELETE FROM USER_INFO; DELETE FROM GROUP_INFO";
|
||||||
PreparedStatement statement = connection.prepareStatement(sql);
|
PreparedStatement statement = connection.prepareStatement(sql);
|
||||||
statement.execute();
|
statement.execute();
|
||||||
|
if (LOGGER.isDebugEnabled()) {
|
||||||
|
LOGGER.debug("Successfully deleted all users and groups");
|
||||||
|
}
|
||||||
|
|
||||||
if (!connection.getAutoCommit()) {
|
if (!connection.getAutoCommit()) {
|
||||||
connection.commit();
|
connection.commit();
|
||||||
|
@ -132,7 +138,7 @@ public class UserInfoRefreshJob extends AbstractTaskanaJob {
|
||||||
if (LOGGER.isDebugEnabled()) {
|
if (LOGGER.isDebugEnabled()) {
|
||||||
LOGGER.debug("Trying to set userData {} for user {}", userData, user);
|
LOGGER.debug("Trying to set userData {} for user {}", userData, user);
|
||||||
}
|
}
|
||||||
user.setData(taskanaEngineImpl.getUserService().getUser(user.getId()).getData());
|
user.setData(userData);
|
||||||
if (LOGGER.isDebugEnabled()) {
|
if (LOGGER.isDebugEnabled()) {
|
||||||
LOGGER.debug("Successfully set userData {} for user {}", userData, user);
|
LOGGER.debug("Successfully set userData {} for user {}", userData, user);
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ public class UserRepresentationModelAssembler
|
||||||
public UserRepresentationModel toModel(User entity) {
|
public UserRepresentationModel toModel(User entity) {
|
||||||
UserRepresentationModel repModel = new UserRepresentationModel();
|
UserRepresentationModel repModel = new UserRepresentationModel();
|
||||||
repModel.setUserId(entity.getId());
|
repModel.setUserId(entity.getId());
|
||||||
|
repModel.setGroups(entity.getGroups());
|
||||||
repModel.setFirstName(entity.getFirstName());
|
repModel.setFirstName(entity.getFirstName());
|
||||||
repModel.setLastName(entity.getLastName());
|
repModel.setLastName(entity.getLastName());
|
||||||
repModel.setFullName(entity.getFullName());
|
repModel.setFullName(entity.getFullName());
|
||||||
|
@ -38,6 +39,7 @@ public class UserRepresentationModelAssembler
|
||||||
public User toEntityModel(UserRepresentationModel repModel) {
|
public User toEntityModel(UserRepresentationModel repModel) {
|
||||||
UserImpl user = new UserImpl();
|
UserImpl user = new UserImpl();
|
||||||
user.setId(repModel.getUserId());
|
user.setId(repModel.getUserId());
|
||||||
|
user.setGroups(repModel.getGroups());
|
||||||
user.setFirstName(repModel.getFirstName());
|
user.setFirstName(repModel.getFirstName());
|
||||||
user.setLastName(repModel.getLastName());
|
user.setLastName(repModel.getLastName());
|
||||||
user.setFullName(repModel.getFullName());
|
user.setFullName(repModel.getFullName());
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package pro.taskana.user.rest.models;
|
package pro.taskana.user.rest.models;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.springframework.hateoas.RepresentationModel;
|
import org.springframework.hateoas.RepresentationModel;
|
||||||
|
|
||||||
|
@ -11,6 +12,8 @@ public class UserRepresentationModel extends RepresentationModel<UserRepresentat
|
||||||
|
|
||||||
/** Unique Id. */
|
/** Unique Id. */
|
||||||
@NotNull protected String userId;
|
@NotNull protected String userId;
|
||||||
|
/** The groups of the User. */
|
||||||
|
protected Set<String> groups;
|
||||||
/** The first name of the User. */
|
/** The first name of the User. */
|
||||||
protected String firstName;
|
protected String firstName;
|
||||||
/** The last name of the User. */
|
/** The last name of the User. */
|
||||||
|
@ -44,6 +47,14 @@ public class UserRepresentationModel extends RepresentationModel<UserRepresentat
|
||||||
this.userId = id;
|
this.userId = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<String> getGroups() {
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroups(Set<String> groups) {
|
||||||
|
this.groups = groups;
|
||||||
|
}
|
||||||
|
|
||||||
public String getFirstName() {
|
public String getFirstName() {
|
||||||
return firstName;
|
return firstName;
|
||||||
}
|
}
|
||||||
|
@ -145,6 +156,7 @@ public class UserRepresentationModel extends RepresentationModel<UserRepresentat
|
||||||
return Objects.hash(
|
return Objects.hash(
|
||||||
super.hashCode(),
|
super.hashCode(),
|
||||||
userId,
|
userId,
|
||||||
|
groups,
|
||||||
firstName,
|
firstName,
|
||||||
lastName,
|
lastName,
|
||||||
fullName,
|
fullName,
|
||||||
|
@ -175,6 +187,7 @@ public class UserRepresentationModel extends RepresentationModel<UserRepresentat
|
||||||
}
|
}
|
||||||
UserRepresentationModel other = (UserRepresentationModel) obj;
|
UserRepresentationModel other = (UserRepresentationModel) obj;
|
||||||
return userId.equals(other.userId)
|
return userId.equals(other.userId)
|
||||||
|
&& Objects.equals(groups, other.groups)
|
||||||
&& Objects.equals(firstName, other.firstName)
|
&& Objects.equals(firstName, other.firstName)
|
||||||
&& Objects.equals(lastName, other.lastName)
|
&& Objects.equals(lastName, other.lastName)
|
||||||
&& Objects.equals(fullName, other.fullName)
|
&& Objects.equals(fullName, other.fullName)
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
package pro.taskana.user.jobs;
|
package pro.taskana.user.jobs;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static pro.taskana.common.internal.util.CheckedFunction.wrap;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import org.assertj.core.api.recursive.comparison.RecursiveComparisonConfiguration;
|
||||||
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
|
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
|
||||||
import org.junit.jupiter.api.Order;
|
import org.junit.jupiter.api.Order;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
@ -16,13 +20,11 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
import pro.taskana.common.api.TaskanaEngine;
|
import pro.taskana.common.api.TaskanaEngine;
|
||||||
import pro.taskana.common.rest.ldap.LdapClient;
|
import pro.taskana.common.rest.ldap.LdapClient;
|
||||||
import pro.taskana.common.test.rest.RestHelper;
|
|
||||||
import pro.taskana.common.test.rest.TaskanaSpringBootTest;
|
import pro.taskana.common.test.rest.TaskanaSpringBootTest;
|
||||||
import pro.taskana.common.test.security.JaasExtension;
|
import pro.taskana.common.test.security.JaasExtension;
|
||||||
import pro.taskana.common.test.security.WithAccessId;
|
import pro.taskana.common.test.security.WithAccessId;
|
||||||
import pro.taskana.user.api.UserService;
|
import pro.taskana.user.api.UserService;
|
||||||
import pro.taskana.user.api.models.User;
|
import pro.taskana.user.api.models.User;
|
||||||
import pro.taskana.user.internal.models.UserImpl;
|
|
||||||
|
|
||||||
@TaskanaSpringBootTest
|
@TaskanaSpringBootTest
|
||||||
@ExtendWith(JaasExtension.class)
|
@ExtendWith(JaasExtension.class)
|
||||||
|
@ -32,18 +34,13 @@ class UserInfoRefreshJobIntTest {
|
||||||
TaskanaEngine taskanaEngine;
|
TaskanaEngine taskanaEngine;
|
||||||
UserService userService;
|
UserService userService;
|
||||||
LdapClient ldapClient;
|
LdapClient ldapClient;
|
||||||
private final RestHelper restHelper;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public UserInfoRefreshJobIntTest(
|
public UserInfoRefreshJobIntTest(
|
||||||
TaskanaEngine taskanaEngine,
|
TaskanaEngine taskanaEngine, UserService userService, LdapClient ldapClient) {
|
||||||
UserService userService,
|
|
||||||
LdapClient ldapClient,
|
|
||||||
RestHelper restHelper) {
|
|
||||||
this.taskanaEngine = taskanaEngine;
|
this.taskanaEngine = taskanaEngine;
|
||||||
this.userService = userService;
|
this.userService = userService;
|
||||||
this.ldapClient = ldapClient;
|
this.ldapClient = ldapClient;
|
||||||
this.restHelper = restHelper;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -61,11 +58,18 @@ class UserInfoRefreshJobIntTest {
|
||||||
|
|
||||||
users = getUsers(connection);
|
users = getUsers(connection);
|
||||||
List<User> ldapusers = ldapClient.searchUsersInUserRole();
|
List<User> ldapusers = ldapClient.searchUsersInUserRole();
|
||||||
|
users.sort(Comparator.comparing(User::getId));
|
||||||
|
ldapusers.sort(Comparator.comparing(User::getId));
|
||||||
|
|
||||||
|
RecursiveComparisonConfiguration comparisonConfiguration =
|
||||||
|
RecursiveComparisonConfiguration.builder()
|
||||||
|
.withIgnoredCollectionOrderInFields("groups")
|
||||||
|
.withIgnoredFields("longName", "data", "orgLevel1", "domains")
|
||||||
|
.build();
|
||||||
assertThat(users)
|
assertThat(users)
|
||||||
.hasSize(6)
|
.hasSize(6)
|
||||||
.hasSameSizeAs(ldapusers)
|
.hasSameSizeAs(ldapusers)
|
||||||
.usingRecursiveFieldByFieldElementComparatorIgnoringFields(
|
.usingRecursiveFieldByFieldElementComparator(comparisonConfiguration)
|
||||||
"longName", "data", "orgLevel1")
|
|
||||||
.containsExactlyElementsOf(ldapusers);
|
.containsExactlyElementsOf(ldapusers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,7 +77,7 @@ class UserInfoRefreshJobIntTest {
|
||||||
@Test
|
@Test
|
||||||
@WithAccessId(user = "businessadmin")
|
@WithAccessId(user = "businessadmin")
|
||||||
@Order(2)
|
@Order(2)
|
||||||
void should_PostprocessUser_When_RefrehUserPostprocessorIsActive() throws Exception {
|
void should_PostprocessUser_When_RefreshUserPostprocessorIsActive() throws Exception {
|
||||||
|
|
||||||
try (Connection connection = taskanaEngine.getConfiguration().getDatasource().getConnection()) {
|
try (Connection connection = taskanaEngine.getConfiguration().getDatasource().getConnection()) {
|
||||||
|
|
||||||
|
@ -95,29 +99,14 @@ class UserInfoRefreshJobIntTest {
|
||||||
|
|
||||||
private List<User> getUsers(Connection connection) throws Exception {
|
private List<User> getUsers(Connection connection) throws Exception {
|
||||||
|
|
||||||
List<User> users = new ArrayList<>();
|
List<String> users = new ArrayList<>();
|
||||||
Statement statement = connection.createStatement();
|
Statement statement = connection.createStatement();
|
||||||
ResultSet rs = statement.executeQuery("SELECT * FROM " + connection.getSchema() + ".USER_INFO");
|
ResultSet rs = statement.executeQuery("SELECT * FROM " + connection.getSchema() + ".USER_INFO");
|
||||||
|
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
User ldapUser = new UserImpl();
|
users.add(rs.getString("USER_ID"));
|
||||||
ldapUser.setId(rs.getString("USER_ID"));
|
|
||||||
ldapUser.setFirstName(rs.getString("FIRST_NAME"));
|
|
||||||
ldapUser.setLastName(rs.getString("LASTNAME"));
|
|
||||||
ldapUser.setFullName(rs.getString("FULL_NAME"));
|
|
||||||
ldapUser.setLongName(rs.getString("LONG_NAME"));
|
|
||||||
ldapUser.setEmail(rs.getString("E_MAIL"));
|
|
||||||
ldapUser.setPhone(rs.getString("PHONE"));
|
|
||||||
ldapUser.setMobilePhone(rs.getString("MOBILE_PHONE"));
|
|
||||||
ldapUser.setOrgLevel4(rs.getString("ORG_LEVEL_4"));
|
|
||||||
ldapUser.setOrgLevel3(rs.getString("ORG_LEVEL_3"));
|
|
||||||
ldapUser.setOrgLevel2(rs.getString("ORG_LEVEL_2"));
|
|
||||||
ldapUser.setOrgLevel1(rs.getString("ORG_LEVEL_1"));
|
|
||||||
ldapUser.setData(rs.getString("DATA"));
|
|
||||||
|
|
||||||
users.add(ldapUser);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return users;
|
return users.stream().map(wrap(userService::getUser)).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
import static pro.taskana.common.test.rest.RestHelper.TEMPLATE;
|
import static pro.taskana.common.test.rest.RestHelper.TEMPLATE;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
|
import org.assertj.core.api.ThrowableAssert.ThrowingCallable;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -47,6 +48,7 @@ class UserControllerIntTest {
|
||||||
void should_CreateValidUser_When_CallingCreateEndpoint() throws Exception {
|
void should_CreateValidUser_When_CallingCreateEndpoint() throws Exception {
|
||||||
UserRepresentationModel newUser = new UserRepresentationModel();
|
UserRepresentationModel newUser = new UserRepresentationModel();
|
||||||
newUser.setUserId("12345");
|
newUser.setUserId("12345");
|
||||||
|
newUser.setGroups(Set.of("group1", "group2"));
|
||||||
newUser.setFirstName("Hans");
|
newUser.setFirstName("Hans");
|
||||||
newUser.setLastName("Georg");
|
newUser.setLastName("Georg");
|
||||||
newUser.setFullName("Georg, Hans");
|
newUser.setFullName("Georg, Hans");
|
||||||
|
@ -75,8 +77,7 @@ class UserControllerIntTest {
|
||||||
HttpMethod.GET,
|
HttpMethod.GET,
|
||||||
auth,
|
auth,
|
||||||
ParameterizedTypeReference.forType(UserRepresentationModel.class));
|
ParameterizedTypeReference.forType(UserRepresentationModel.class));
|
||||||
assertThat(responseEntity.getBody()).isNotNull();
|
assertThat(responseEntity.getBody()).isNotNull().isEqualTo(newUser);
|
||||||
assertThat(responseEntity.getBody()).isEqualTo(newUser);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -2,6 +2,7 @@ package pro.taskana.user.rest.assembler;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
@ -27,6 +28,7 @@ class UserRepresentationModelAssemblerTest {
|
||||||
void should_ReturnRepresentationModel_When_ConvertingUserEntityToRepresentationModel() {
|
void should_ReturnRepresentationModel_When_ConvertingUserEntityToRepresentationModel() {
|
||||||
User user = userService.newUser();
|
User user = userService.newUser();
|
||||||
user.setId("user-1-2");
|
user.setId("user-1-2");
|
||||||
|
user.setGroups(Set.of("group1", "group2"));
|
||||||
user.setFirstName("Hans");
|
user.setFirstName("Hans");
|
||||||
user.setLastName("Georg");
|
user.setLastName("Georg");
|
||||||
user.setFullName("Hans Georg");
|
user.setFullName("Hans Georg");
|
||||||
|
@ -48,6 +50,7 @@ class UserRepresentationModelAssemblerTest {
|
||||||
void should_ReturnEntity_When_ConvertingUserRepresentationModelToEntity() {
|
void should_ReturnEntity_When_ConvertingUserRepresentationModelToEntity() {
|
||||||
UserRepresentationModel repModel = new UserRepresentationModel();
|
UserRepresentationModel repModel = new UserRepresentationModel();
|
||||||
repModel.setUserId("user-1-2");
|
repModel.setUserId("user-1-2");
|
||||||
|
repModel.setGroups(Set.of("group1", "group2"));
|
||||||
repModel.setFirstName("Hans");
|
repModel.setFirstName("Hans");
|
||||||
repModel.setLastName("Georg");
|
repModel.setLastName("Georg");
|
||||||
repModel.setFullName("Hans Georg");
|
repModel.setFullName("Hans Georg");
|
||||||
|
@ -69,6 +72,7 @@ class UserRepresentationModelAssemblerTest {
|
||||||
void should_BeEqual_When_ConvertingEntityToRepModelAndBackToEntity() {
|
void should_BeEqual_When_ConvertingEntityToRepModelAndBackToEntity() {
|
||||||
User user = userService.newUser();
|
User user = userService.newUser();
|
||||||
user.setId("user-1-2");
|
user.setId("user-1-2");
|
||||||
|
user.setGroups(Set.of("group1", "group2"));
|
||||||
user.setFirstName("Hans");
|
user.setFirstName("Hans");
|
||||||
user.setLastName("Georg");
|
user.setLastName("Georg");
|
||||||
user.setFullName("Hans Georg");
|
user.setFullName("Hans Georg");
|
||||||
|
@ -92,11 +96,11 @@ class UserRepresentationModelAssemblerTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void testEquality(User entity, UserRepresentationModel repModel) {
|
private static void testEquality(User entity, UserRepresentationModel repModel) {
|
||||||
assertThat(entity).hasNoNullFieldsOrProperties();
|
|
||||||
assertThat(entity).hasNoNullFieldsOrProperties();
|
assertThat(entity).hasNoNullFieldsOrProperties();
|
||||||
assertThat(repModel).hasNoNullFieldsOrProperties();
|
assertThat(repModel).hasNoNullFieldsOrProperties();
|
||||||
|
|
||||||
assertThat(entity.getId()).isEqualTo(repModel.getUserId());
|
assertThat(entity.getId()).isEqualTo(repModel.getUserId());
|
||||||
|
assertThat(entity.getGroups()).isEqualTo(repModel.getGroups());
|
||||||
assertThat(entity.getFirstName()).isEqualTo(repModel.getFirstName());
|
assertThat(entity.getFirstName()).isEqualTo(repModel.getFirstName());
|
||||||
assertThat(entity.getLastName()).isEqualTo(repModel.getLastName());
|
assertThat(entity.getLastName()).isEqualTo(repModel.getLastName());
|
||||||
assertThat(entity.getFullName()).isEqualTo(repModel.getFullName());
|
assertThat(entity.getFullName()).isEqualTo(repModel.getFullName());
|
||||||
|
|
Loading…
Reference in New Issue