diff --git a/src/main/groovy/com/netgrif/application/engine/DevConsole.groovy b/src/main/groovy/com/netgrif/application/engine/DevConsole.groovy index 3ff4c89cf34..92b614eb107 100644 --- a/src/main/groovy/com/netgrif/application/engine/DevConsole.groovy +++ b/src/main/groovy/com/netgrif/application/engine/DevConsole.groovy @@ -26,12 +26,20 @@ class DevConsole { private static final Logger log = LoggerFactory.getLogger(DevConsole) - @Autowired private CaseRepository caseRepository - @Autowired private PetriNetRepository netRepository + @Autowired + void setCaseRepository(CaseRepository caseRepository) { + this.caseRepository = caseRepository + } + + @Autowired + void setNetRepository(PetriNetRepository netRepository) { + this.netRepository = netRepository + } + @GetMapping(value = "/dataset/{title}", produces = APPLICATION_JSON_VALUE) String dataset(@PathVariable String title) { def useCase = caseRepository.findAll().find { it.title == title } diff --git a/src/main/groovy/com/netgrif/application/engine/migration/ActionMigration.groovy b/src/main/groovy/com/netgrif/application/engine/migration/ActionMigration.groovy index 20228cbce3d..181c5808499 100644 --- a/src/main/groovy/com/netgrif/application/engine/migration/ActionMigration.groovy +++ b/src/main/groovy/com/netgrif/application/engine/migration/ActionMigration.groovy @@ -16,12 +16,20 @@ import java.util.stream.Collectors @Slf4j class ActionMigration { - @Autowired private IPetriNetService petriNetService - @Autowired private IUserService userService; + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setUserService(IUserService userService) { + this.userService = userService + } + void migrateActions(String petriNetPath) { InputStream netStream = new ClassPathResource(petriNetPath).inputStream ImportPetriNetEventOutcome newPetriNet = petriNetService.importPetriNet(netStream, VersionType.MAJOR, userService.loggedOrSystem.transformToLoggedUser()) diff --git a/src/main/groovy/com/netgrif/application/engine/migration/MigrationOrderedCommandLineRunner.groovy b/src/main/groovy/com/netgrif/application/engine/migration/MigrationOrderedCommandLineRunner.groovy index 8fc940ac528..452f0c02fdd 100644 --- a/src/main/groovy/com/netgrif/application/engine/migration/MigrationOrderedCommandLineRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/migration/MigrationOrderedCommandLineRunner.groovy @@ -15,12 +15,20 @@ abstract class MigrationOrderedCommandLineRunner extends AbstractOrderedCommandL private String title = this.class.simpleName - @Autowired private MigrationRepository repository - @Autowired private IPetriNetService service + @Autowired + void setRepository(MigrationRepository repository) { + this.repository = repository + } + + @Autowired + void setService(IPetriNetService service) { + this.service = service + } + @Override void run(String... strings) throws Exception { if (repository.existsByTitle(title)) { diff --git a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/ActionDelegate.groovy b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/ActionDelegate.groovy index a7fed6ee26f..387c5ea5f09 100644 --- a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/ActionDelegate.groovy +++ b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/ActionDelegate.groovy @@ -98,104 +98,192 @@ class ActionDelegate { @Value('${nae.create.default.filters:false}') private Boolean createDefaultFilters - @Autowired FieldFactory fieldFactory - - @Autowired TaskService taskService + IDataService dataService + IWorkflowService workflowService + IUserService userService + IPetriNetService petriNetService + AsyncRunner async + IPdfGenerator pdfGenerator + IMailService mailService + INextGroupService nextGroupService + IRegistrationService registrationService + IMailAttemptService mailAttemptService + UserDetailsServiceImpl userDetailsService + IDataValidationExpressionEvaluator dataValidationExpressionEvaluator + IInitValueExpressionEvaluator initValueExpressionEvaluator + RuleRepository ruleRepository + Scheduler scheduler + IUserFilterSearchService filterSearchService + IConfigurableMenuService configurableMenuService + IMenuImportExportService menuImportExportService + IFilterImportExportService filterImportExportService + IExportService exportService + IElasticCaseService elasticCaseService + IElasticTaskService elasticTaskService + ExportConfiguration exportConfiguration + IUriService uriService + IImpersonationService impersonationService + IHistoryService historyService + PublicViewProperties publicViewProperties + + FrontendActionOutcome Frontend + + /** + * Reference of case and task in which current action is taking place. + */ + Case useCase + Optional task + def map = [:] + Action action + FieldActionsRunner actionsRunner + List outcomes @Autowired - IDataService dataService + void setFieldFactory(FieldFactory fieldFactory) { + this.fieldFactory = fieldFactory + } @Autowired - IWorkflowService workflowService + void setTaskService(TaskService taskService) { + this.taskService = taskService + } @Autowired - IUserService userService + void setDataService(IDataService dataService) { + this.dataService = dataService + } @Autowired - IPetriNetService petriNetService + void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService + } @Autowired - AsyncRunner async + void setUserService(IUserService userService) { + this.userService = userService + } @Autowired - IPdfGenerator pdfGenerator + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } @Autowired - IMailService mailService + void setAsync(AsyncRunner async) { + this.async = async + } @Autowired - INextGroupService nextGroupService + void setPdfGenerator(IPdfGenerator pdfGenerator) { + this.pdfGenerator = pdfGenerator + } @Autowired - IRegistrationService registrationService + void setMailService(IMailService mailService) { + this.mailService = mailService + } @Autowired - IMailAttemptService mailAttemptService + void setNextGroupService(INextGroupService nextGroupService) { + this.nextGroupService = nextGroupService + } @Autowired - UserDetailsServiceImpl userDetailsService + void setRegistrationService(IRegistrationService registrationService) { + this.registrationService = registrationService + } @Autowired - IDataValidationExpressionEvaluator dataValidationExpressionEvaluator + void setMailAttemptService(IMailAttemptService mailAttemptService) { + this.mailAttemptService = mailAttemptService + } @Autowired - IInitValueExpressionEvaluator initValueExpressionEvaluator + void setUserDetailsService(UserDetailsServiceImpl userDetailsService) { + this.userDetailsService = userDetailsService + } @Autowired - RuleRepository ruleRepository + void setDataValidationExpressionEvaluator(IDataValidationExpressionEvaluator dataValidationExpressionEvaluator) { + this.dataValidationExpressionEvaluator = dataValidationExpressionEvaluator + } @Autowired - Scheduler scheduler + void setInitValueExpressionEvaluator(IInitValueExpressionEvaluator initValueExpressionEvaluator) { + this.initValueExpressionEvaluator = initValueExpressionEvaluator + } @Autowired - IUserFilterSearchService filterSearchService + void setRuleRepository(RuleRepository ruleRepository) { + this.ruleRepository = ruleRepository + } @Autowired - IConfigurableMenuService configurableMenuService + void setScheduler(Scheduler scheduler) { + this.scheduler = scheduler + } @Autowired - IMenuImportExportService menuImportExportService + void setFilterSearchService(IUserFilterSearchService filterSearchService) { + this.filterSearchService = filterSearchService + } @Autowired - IFilterImportExportService filterImportExportService + void setConfigurableMenuService(IConfigurableMenuService configurableMenuService) { + this.configurableMenuService = configurableMenuService + } @Autowired - IExportService exportService + void setMenuImportExportService(IMenuImportExportService menuImportExportService) { + this.menuImportExportService = menuImportExportService + } @Autowired - IElasticCaseService elasticCaseService + void setFilterImportExportService(IFilterImportExportService filterImportExportService) { + this.filterImportExportService = filterImportExportService + } @Autowired - IElasticTaskService elasticTaskService + void setExportService(IExportService exportService) { + this.exportService = exportService + } @Autowired - ExportConfiguration exportConfiguration + void setElasticCaseService(IElasticCaseService elasticCaseService) { + this.elasticCaseService = elasticCaseService + } @Autowired - IUriService uriService + void setElasticTaskService(IElasticTaskService elasticTaskService) { + this.elasticTaskService = elasticTaskService + } @Autowired - IImpersonationService impersonationService + void setExportConfiguration(ExportConfiguration exportConfiguration) { + this.exportConfiguration = exportConfiguration + } @Autowired - IHistoryService historyService + void setUriService(IUriService uriService) { + this.uriService = uriService + } @Autowired - PublicViewProperties publicViewProperties + void setImpersonationService(IImpersonationService impersonationService) { + this.impersonationService = impersonationService + } - FrontendActionOutcome Frontend + @Autowired + void setHistoryService(IHistoryService historyService) { + this.historyService = historyService + } - /** - * Reference of case and task in which current action is taking place. - */ - Case useCase - Optional task - def map = [:] - Action action - FieldActionsRunner actionsRunner - List outcomes + @Autowired + void setPublicViewProperties(PublicViewProperties publicViewProperties) { + this.publicViewProperties = publicViewProperties + } def init(Action action, Case useCase, Optional task, FieldActionsRunner actionsRunner) { this.action = action diff --git a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/FieldActionsRunner.groovy b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/FieldActionsRunner.groovy index ae7264634c3..0fbca5d188e 100644 --- a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/FieldActionsRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/FieldActionsRunner.groovy @@ -23,20 +23,36 @@ abstract class FieldActionsRunner { @Lookup("actionDelegate") abstract ActionDelegate getActionDeleget() - @Autowired private IOrsrService orsrService - @Autowired private IPostalCodeService postalCodeService - @Autowired private FieldFactory fieldFactory - @Autowired private IFieldActionsCacheService actionsCacheService private Map actionsCache = new HashMap<>() + @Autowired + void setOrsrService(IOrsrService orsrService) { + this.orsrService = orsrService + } + + @Autowired + void setPostalCodeService(IPostalCodeService postalCodeService) { + this.postalCodeService = postalCodeService + } + + @Autowired + void setFieldFactory(FieldFactory fieldFactory) { + this.fieldFactory = fieldFactory + } + + @Autowired + void setActionsCacheService(IFieldActionsCacheService actionsCacheService) { + this.actionsCacheService = actionsCacheService + } + List run(Action action, Case useCase, List functions = []) { return run(action, useCase, Optional.empty(), functions) } diff --git a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/delegate/RoleActionDelegate.groovy b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/delegate/RoleActionDelegate.groovy index a0d59ce52a6..146f911533a 100644 --- a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/delegate/RoleActionDelegate.groovy +++ b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/delegate/RoleActionDelegate.groovy @@ -16,13 +16,10 @@ import org.springframework.stereotype.Component @SuppressWarnings(["GrMethodMayBeStatic", "GroovyUnusedDeclaration"]) class RoleActionDelegate extends AbstractActionDelegate { - @Autowired IUserService userService - @Autowired IPetriNetService petriNetService - @Autowired IProcessRoleService processRoleService Action action @@ -30,6 +27,21 @@ class RoleActionDelegate extends AbstractActionDelegate { PetriNet petriNet def affectedUser + @Autowired + void setUserService(IUserService userService) { + this.userService = userService + } + + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService + } + def init(Action action, RoleContext roleContext) { this.action = action this.actionContext = actionContext diff --git a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/CaseFieldsExpressionRunner.groovy b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/CaseFieldsExpressionRunner.groovy index 497916fa501..840283d85f4 100644 --- a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/CaseFieldsExpressionRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/CaseFieldsExpressionRunner.groovy @@ -19,13 +19,17 @@ abstract class CaseFieldsExpressionRunner { @Lookup("actionDelegate") abstract ActionDelegate getActionDelegate() - @Autowired private IGroovyShellFactory shellFactory private int cacheSize private Map cache = new MaxSizeHashMap<>(cacheSize) + @Autowired + void setShellFactory(IGroovyShellFactory shellFactory) { + this.shellFactory = shellFactory + } + @Autowired CaseFieldsExpressionRunner(@Value('${nae.expressions.runner.cache-size}') int cacheSize) { this.cacheSize = cacheSize diff --git a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/RoleActionsRunner.groovy b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/RoleActionsRunner.groovy index 3b492f097fa..4a71d3ff553 100644 --- a/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/RoleActionsRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/petrinet/domain/dataset/logic/action/runner/RoleActionsRunner.groovy @@ -21,12 +21,15 @@ abstract class RoleActionsRunner { @Lookup("roleActionDelegate") abstract RoleActionDelegate getRoleActionDelegate() - @Autowired private IGroovyShellFactory shellFactory - private Map actionsCache = new HashMap<>() private Map actions = new HashMap<>() + @Autowired + void setShellFactory(IGroovyShellFactory shellFactory) { + this.shellFactory = shellFactory + } + void run(Action action, RoleContext roleContext) { if (!actionsCache) actionsCache = new HashMap<>() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/AbstractOrderedCommandLineRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/AbstractOrderedCommandLineRunner.groovy index 18b54c0e99d..fd8d36f9966 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/AbstractOrderedCommandLineRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/AbstractOrderedCommandLineRunner.groovy @@ -9,9 +9,13 @@ import org.springframework.stereotype.Component @Component abstract class AbstractOrderedCommandLineRunner implements CommandLineRunner, Ordered { - @Autowired protected RunnerController runner + @Autowired + void setRunner(RunnerController runner) { + this.runner = runner + } + @Override int getOrder() { return runner.getOrder(this.class) diff --git a/src/main/groovy/com/netgrif/application/engine/startup/AnonymousRoleRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/AnonymousRoleRunner.groovy index 8c7e36e1ad1..fcee9f72bc0 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/AnonymousRoleRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/AnonymousRoleRunner.groovy @@ -13,9 +13,13 @@ import org.springframework.stereotype.Component @Component class AnonymousRoleRunner extends AbstractOrderedCommandLineRunner { - @Autowired private ProcessRoleRepository repository + @Autowired + void setRepository(ProcessRoleRepository repository) { + this.repository = repository + } + @Override void run(String... strings) throws Exception { log.info("Creating anonymous process role") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/AuthorityRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/AuthorityRunner.groovy index 12504add93f..c82e1a2d8b6 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/AuthorityRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/AuthorityRunner.groovy @@ -8,9 +8,13 @@ import org.springframework.stereotype.Component @Component class AuthorityRunner extends AbstractOrderedCommandLineRunner { - @Autowired private IAuthorityService service + @Autowired + void setService(IAuthorityService service) { + this.service = service + } + @Override void run(String... strings) throws Exception { service.getOrCreate(Authority.user) diff --git a/src/main/groovy/com/netgrif/application/engine/startup/DashboardRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/DashboardRunner.groovy index 4c3690da982..386d2e33475 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/DashboardRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/DashboardRunner.groovy @@ -13,13 +13,10 @@ import org.springframework.stereotype.Component @ConditionalOnProperty(value = "nae.dashboard.enabled", matchIfMissing = false) class DashboardRunner extends AbstractOrderedCommandLineRunner { - @Autowired private IPetriNetService petriNetService - @Autowired private ImportHelper helper - @Autowired private SystemUserRunner systemCreator public static final String DASHBOARD_NET_IDENTIFIER = "dashboard" @@ -28,6 +25,21 @@ class DashboardRunner extends AbstractOrderedCommandLineRunner { public static final String DASHBOARD_TILE_NET_IDENTIFIER = "dashboard_tile" private static final String DASHBOARD_TILE_FILE_NAME = "engine-processes/dashboard_tile.xml" + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setHelper(ImportHelper helper) { + this.helper = helper + } + + @Autowired + void setSystemCreator(SystemUserRunner systemCreator) { + this.systemCreator = systemCreator + } + @Override void run(String... args) throws Exception { createDashboardNet() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/DefaultFiltersRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/DefaultFiltersRunner.groovy index 3f2f1e2b371..12362630060 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/DefaultFiltersRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/DefaultFiltersRunner.groovy @@ -42,21 +42,41 @@ class DefaultFiltersRunner extends AbstractOrderedCommandLineRunner { @Value('${nae.create.default.filters:false}') private Boolean createDefaultFilters - @Autowired private IPetriNetService petriNetService - @Autowired private IWorkflowService workflowService - @Autowired private IUserService userService - @Autowired private ITaskService taskService - @Autowired private IDataService dataService + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService + } + + @Autowired + void setUserService(IUserService userService) { + this.userService = userService + } + + @Autowired + void setTaskService(ITaskService taskService) { + this.taskService = taskService + } + + @Autowired + void setDataService(IDataService dataService) { + this.dataService = dataService + } + @Override void run(String... args) throws Exception { if (createDefaultFilters) { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/DefaultRoleRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/DefaultRoleRunner.groovy index bd6ec042ffb..c27d3cea773 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/DefaultRoleRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/DefaultRoleRunner.groovy @@ -17,9 +17,13 @@ class DefaultRoleRunner extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(DefaultRoleRunner.class) - @Autowired private ProcessRoleRepository repository + @Autowired + void setRepository(ProcessRoleRepository repository) { + this.repository = repository + } + @Override void run(String... strings) throws Exception { log.info("Creating default process role") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/DemoRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/DemoRunner.groovy index 4d7eb1b6e02..641ca138477 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/DemoRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/DemoRunner.groovy @@ -19,29 +19,54 @@ class DemoRunner extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(DemoRunner) - @Autowired private ImportHelper helper + private CaseRepository caseRepository + private TaskRepository taskRepository + private IElasticCaseService caseService + private ElasticCaseRepository repository + private ElasticTaskRepository elasticTaskRepository + private IDataService dataService; + private IWorkflowService workflowService; @Autowired - private CaseRepository caseRepository + void setHelper(ImportHelper helper) { + this.helper = helper + } @Autowired - private TaskRepository taskRepository + void setCaseRepository(CaseRepository caseRepository) { + this.caseRepository = caseRepository + } @Autowired - private IElasticCaseService caseService + void setTaskRepository(TaskRepository taskRepository) { + this.taskRepository = taskRepository + } @Autowired - private ElasticCaseRepository repository + void setCaseService(IElasticCaseService caseService) { + this.caseService = caseService + } @Autowired - private ElasticTaskRepository elasticTaskRepository + void setRepository(ElasticCaseRepository repository) { + this.repository = repository + } @Autowired - private IDataService dataService; + void setElasticTaskRepository(ElasticTaskRepository elasticTaskRepository) { + this.elasticTaskRepository = elasticTaskRepository + } @Autowired - private IWorkflowService workflowService; + void setDataService(IDataService dataService) { + this.dataService = dataService + } + + @Autowired + void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService + } @Override void run(String... args) throws Exception { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/ElasticsearchRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/ElasticsearchRunner.groovy index 8c7613ef362..ebaa973cc52 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/ElasticsearchRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/ElasticsearchRunner.groovy @@ -36,12 +36,20 @@ class ElasticsearchRunner extends AbstractOrderedCommandLineRunner { @Value('${spring.data.elasticsearch.index.task}') private String taskIndex - @Autowired private UriProperties uriProperties - @Autowired private IElasticIndexService template + @Autowired + void setUriProperties(UriProperties uriProperties) { + this.uriProperties = uriProperties + } + + @Autowired + void setTemplate(IElasticIndexService template) { + this.template = template + } + @Override void run(String... args) throws Exception { if (drop) { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/FilterRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/FilterRunner.groovy index 0e1608c6da4..370ef6305da 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/FilterRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/FilterRunner.groovy @@ -12,13 +12,10 @@ import org.springframework.stereotype.Component @Component class FilterRunner extends AbstractOrderedCommandLineRunner { - @Autowired private IPetriNetService petriNetService - @Autowired private ImportHelper helper - @Autowired private SystemUserRunner systemCreator private static final String FILTER_FILE_NAME = "engine-processes/filter.xml" @@ -33,6 +30,21 @@ class FilterRunner extends AbstractOrderedCommandLineRunner { private static final String IMPORT_FILTER_FILE_NAME = "engine-processes/import_filters.xml" private static final String IMPORT_NET_IDENTIFIER = "import_filters" + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setHelper(ImportHelper helper) { + this.helper = helper + } + + @Autowired + void setSystemCreator(SystemUserRunner systemCreator) { + this.systemCreator = systemCreator + } + @Override void run(String... args) throws Exception { createFilterNet() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/FinisherRunnerSuperCreator.groovy b/src/main/groovy/com/netgrif/application/engine/startup/FinisherRunnerSuperCreator.groovy index 14b5184075a..25d6e06ea66 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/FinisherRunnerSuperCreator.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/FinisherRunnerSuperCreator.groovy @@ -13,9 +13,13 @@ class FinisherRunnerSuperCreator extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(FinisherRunnerSuperCreator) - @Autowired private SuperCreator superCreator + @Autowired + void setSuperCreator(SuperCreator superCreator) { + this.superCreator = superCreator + } + @Override void run(String... strings) throws Exception { superCreator.setAllToSuperUser() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/FlushSessionsRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/FlushSessionsRunner.groovy index b46c952294e..f9fe21ab83c 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/FlushSessionsRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/FlushSessionsRunner.groovy @@ -14,12 +14,19 @@ class FlushSessionsRunner extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(FlushSessionsRunner.class.name) - @Autowired private JedisConnectionFactory connectionFactory - @Autowired private RedisIndexedSessionRepository repository + @Autowired + void setConnectionFactory(JedisConnectionFactory connectionFactory) { + this.connectionFactory = connectionFactory + } + + @Autowired + void setRepository(RedisIndexedSessionRepository repository) { + this.repository = repository + } @Override void run(String... args) { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/FunctionsCacheRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/FunctionsCacheRunner.groovy index bc0496c72a6..6077572bb10 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/FunctionsCacheRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/FunctionsCacheRunner.groovy @@ -10,12 +10,20 @@ import org.springframework.stereotype.Component @Slf4j class FunctionsCacheRunner extends AbstractOrderedCommandLineRunner { - @Autowired private IPetriNetService petriNetService - @Autowired private IFieldActionsCacheService cacheService + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setCacheService(IFieldActionsCacheService cacheService) { + this.cacheService = cacheService + } + @Override void run(String... args) throws Exception { log.info("Namespace function caching started") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/GroupRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/GroupRunner.groovy index a3bd113f46f..13f10dece01 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/GroupRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/GroupRunner.groovy @@ -19,28 +19,52 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty @Slf4j public class GroupRunner extends AbstractOrderedCommandLineRunner { - @Autowired private ImportHelper helper - @Autowired private INextGroupService nextGroupService - @Autowired private IUserService userService - @Autowired private SystemUserRunner systemCreator - @Autowired private IPetriNetService petriNetService - @Autowired private GroupConfigurationProperties groupProperties private static final String GROUP_FILE_NAME = "engine-processes/org_group.xml"; private static final String GROUP_PETRINET_IDENTIFIER = "org_group" public static final String DEFAULT_GROUP_TITLE = "Default system group" + @Autowired + void setHelper(ImportHelper helper) { + this.helper = helper + } + + @Autowired + void setNextGroupService(INextGroupService nextGroupService) { + this.nextGroupService = nextGroupService + } + + @Autowired + void setUserService(IUserService userService) { + this.userService = userService + } + + @Autowired + void setSystemCreator(SystemUserRunner systemCreator) { + this.systemCreator = systemCreator + } + + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setGroupProperties(GroupConfigurationProperties groupProperties) { + this.groupProperties = groupProperties + } + @Override void run(String... args) throws Exception { createDefaultGroup() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/ImpersonationRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/ImpersonationRunner.groovy index d2766a4e413..408015f42eb 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/ImpersonationRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/ImpersonationRunner.groovy @@ -11,13 +11,10 @@ import org.springframework.stereotype.Component @Component class ImpersonationRunner extends AbstractOrderedCommandLineRunner { - @Autowired protected IPetriNetService petriNetService - @Autowired protected ImportHelper helper - @Autowired protected SystemUserRunner systemCreator protected static final String IMPERSONATION_CONFIG_FILE_NAME = "engine-processes/impersonation_config.xml" @@ -26,6 +23,21 @@ class ImpersonationRunner extends AbstractOrderedCommandLineRunner { protected static final String IMPERSONATION_CONFIG_USER_SELECT_FILE_NAME = "engine-processes/impersonation_users_select.xml" public static final String IMPERSONATION_CONFIG_USER_SELECT_PETRI_NET_IDENTIFIER = "impersonation_users_select" + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setHelper(ImportHelper helper) { + this.helper = helper + } + + @Autowired + void setSystemCreator(SystemUserRunner systemCreator) { + this.systemCreator = systemCreator + } + @Override void run(String... args) throws Exception { createConfigNets() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/ImportHelper.groovy b/src/main/groovy/com/netgrif/application/engine/startup/ImportHelper.groovy index 0a92f223747..d3d22b75c18 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/ImportHelper.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/ImportHelper.groovy @@ -48,50 +48,105 @@ class ImportHelper { private static final Logger log = LoggerFactory.getLogger(ImportHelper.class.name) - @Autowired private PetriNetRepository petriNetRepository - @Autowired private IUserService userService - @Autowired private CaseRepository caseRepository - @Autowired private IAuthorityService authorityService - @Autowired private ITaskService taskService - @Autowired private IPetriNetService petriNetService - @Autowired private ResourceLoader resourceLoader - @Autowired private IFilterService filterService - @Autowired(required = false) private SuperCreator superCreator - @Autowired private IDataService dataService - @Autowired private IWorkflowService workflowService - @Autowired private INextGroupService groupService - @Autowired private ProcessRoleService processRoleService - @Autowired private IUriService uriService private final ClassLoader loader = ImportHelper.getClassLoader() + @Autowired + void setPetriNetRepository(PetriNetRepository petriNetRepository) { + this.petriNetRepository = petriNetRepository + } + + @Autowired + void setUserService(IUserService userService) { + this.userService = userService + } + + @Autowired + void setCaseRepository(CaseRepository caseRepository) { + this.caseRepository = caseRepository + } + + @Autowired + void setAuthorityService(IAuthorityService authorityService) { + this.authorityService = authorityService + } + + @Autowired + void setTaskService(ITaskService taskService) { + this.taskService = taskService + } + + @Autowired + void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService + } + + @Autowired + void setResourceLoader(ResourceLoader resourceLoader) { + this.resourceLoader = resourceLoader + } + + @Autowired + void setFilterService(IFilterService filterService) { + this.filterService = filterService + } + + @Autowired(required = false) + void setSuperCreator(SuperCreator superCreator) { + this.superCreator = superCreator + } + + @Autowired + void setDataService(IDataService dataService) { + this.dataService = dataService + } + + @Autowired + void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService + } + + @Autowired + void setGroupService(INextGroupService groupService) { + this.groupService = groupService + } + + @Autowired + void setProcessRoleService(ProcessRoleService processRoleService) { + this.processRoleService = processRoleService + } + + @Autowired + void setUriService(IUriService uriService) { + this.uriService = uriService + } @SuppressWarnings("GroovyAssignabilityCheck") Map createAuthorities(Map authorities) { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/MailRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/MailRunner.groovy index 06c3cf838e5..f3f706f7dae 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/MailRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/MailRunner.groovy @@ -13,9 +13,13 @@ class MailRunner extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(MailRunner) - @Autowired private IMailService service + @Autowired + void setService(IMailService service) { + this.service = service + } + @Override void run(String... strings) throws Exception { log.info("Starting test for mail connection") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/MongoDbRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/MongoDbRunner.groovy index 4fac0dc985e..190b6b01e5b 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/MongoDbRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/MongoDbRunner.groovy @@ -21,7 +21,6 @@ class MongoDbRunner extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(MongoDbRunner) - @Autowired private MongoTemplate mongoTemplate @Value('${spring.data.mongodb.database}') @@ -42,6 +41,11 @@ class MongoDbRunner extends AbstractOrderedCommandLineRunner { @Value('${spring.data.mongodb.runner-ensure-index}') private boolean resolveIndexesOnStartup + @Autowired + void setMongoTemplate(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate + } + @Override void run(String... strings) throws Exception { if (dropDatabase) { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/PdfRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/PdfRunner.groovy index 64b4d3f8c3b..af2e699822f 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/PdfRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/PdfRunner.groovy @@ -11,9 +11,13 @@ import org.springframework.stereotype.Component @Slf4j class PdfRunner extends AbstractOrderedCommandLineRunner{ - @Autowired private PdfResource resource + @Autowired + void setResource(PdfResource resource) { + this.resource = resource + } + @Override void run(String... args) throws Exception { assert resource.fontTitleResource.exists() diff --git a/src/main/groovy/com/netgrif/application/engine/startup/PostalCodeImporter.groovy b/src/main/groovy/com/netgrif/application/engine/startup/PostalCodeImporter.groovy index 07a204d2e84..4b40b28174b 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/PostalCodeImporter.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/PostalCodeImporter.groovy @@ -23,12 +23,20 @@ class PostalCodeImporter extends AbstractOrderedCommandLineRunner { @Value("\${nae.postal.codes.csv}") String postalCodesPath - @Autowired private IPostalCodeService service - @Autowired private PostalCodeRepository repository + @Autowired + void setService(IPostalCodeService service) { + this.service = service + } + + @Autowired + void setRepository(PostalCodeRepository repository) { + this.repository = repository + } + void run(String... strings) { if (!importPostalCode) { log.info("Skip import postal codes") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/QuartzSchedulerRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/QuartzSchedulerRunner.groovy index 29cfa466f9d..f76ea47cff9 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/QuartzSchedulerRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/QuartzSchedulerRunner.groovy @@ -16,9 +16,13 @@ class QuartzSchedulerRunner extends AbstractOrderedCommandLineRunner { @Value('${quartz.scheduler.run:#{true}}') private boolean start - @Autowired private Scheduler scheduler + @Autowired + void setScheduler(Scheduler scheduler) { + this.scheduler = scheduler + } + @Override void run(String... strings) throws Exception { if (start) { diff --git a/src/main/groovy/com/netgrif/application/engine/startup/RuleEngineRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/RuleEngineRunner.groovy index b2c78beb216..3f05a481cd7 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/RuleEngineRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/RuleEngineRunner.groovy @@ -15,10 +15,8 @@ class RuleEngineRunner extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(RuleEngineRunner) - @Autowired private IRefreshableKieBase refreshableKieBase - @Autowired private IRuleEngineGlobalsProvider sessionInitializer @Value('${drools.template.generate:#{true}}') @@ -30,6 +28,16 @@ class RuleEngineRunner extends AbstractOrderedCommandLineRunner { @Value('${drools.template-resource.classpath:#{"rules/templates/template.drl"}}') private String templateResource + @Autowired + void setRefreshableKieBase(IRefreshableKieBase refreshableKieBase) { + this.refreshableKieBase = refreshableKieBase + } + + @Autowired + void setSessionInitializer(IRuleEngineGlobalsProvider sessionInitializer) { + this.sessionInitializer = sessionInitializer + } + @Override void run(String... strings) throws Exception { log.info("Rule engine runner starting") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/StorageRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/StorageRunner.groovy index ea1eef785f5..da924a077d1 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/StorageRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/StorageRunner.groovy @@ -17,9 +17,13 @@ class StorageRunner extends AbstractOrderedCommandLineRunner { @Value('${nae.storage.clean}') private boolean cleanStorage - @Autowired private FileStorageConfiguration fileStorageConfiguration + @Autowired + void setFileStorageConfiguration(FileStorageConfiguration fileStorageConfiguration) { + this.fileStorageConfiguration = fileStorageConfiguration + } + @Override void run(String... strings) throws Exception { log.info("Creating storage folder") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/SuperCreator.groovy b/src/main/groovy/com/netgrif/application/engine/startup/SuperCreator.groovy index 9d52d29532b..6b61fea17d3 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/SuperCreator.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/SuperCreator.groovy @@ -19,16 +19,12 @@ class SuperCreator extends AbstractOrderedCommandLineRunner { private static final Logger log = LoggerFactory.getLogger(SuperCreator.class.name) - @Autowired private IAuthorityService authorityService - @Autowired private IUserService userService - @Autowired private INextGroupService groupService - @Autowired private IProcessRoleService processRoleService @Value('${nae.admin.password}') @@ -36,6 +32,26 @@ class SuperCreator extends AbstractOrderedCommandLineRunner { private IUser superUser + @Autowired + void setAuthorityService(IAuthorityService authorityService) { + this.authorityService = authorityService + } + + @Autowired + void setUserService(IUserService userService) { + this.userService = userService + } + + @Autowired + void setGroupService(INextGroupService groupService) { + this.groupService = groupService + } + + @Autowired + void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService + } + @Override void run(String... strings) { log.info("Creating Super user") diff --git a/src/main/groovy/com/netgrif/application/engine/startup/SystemUserRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/SystemUserRunner.groovy index 81ca09f99c0..82e39bec0dc 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/SystemUserRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/SystemUserRunner.groovy @@ -15,11 +15,15 @@ class SystemUserRunner extends AbstractOrderedCommandLineRunner { public static final String SYSTEM_USER_NAME = "application" public static final String SYSTEM_USER_SURNAME = "engine" - @Autowired private IUserService service private IUser systemUser + @Autowired + void setService(IUserService service) { + this.service = service + } + IUser createSystemUser() { return service.createSystemUser() } diff --git a/src/main/groovy/com/netgrif/application/engine/startup/UriRunner.groovy b/src/main/groovy/com/netgrif/application/engine/startup/UriRunner.groovy index 1ee40d403c3..9d20c9c3eaa 100644 --- a/src/main/groovy/com/netgrif/application/engine/startup/UriRunner.groovy +++ b/src/main/groovy/com/netgrif/application/engine/startup/UriRunner.groovy @@ -8,9 +8,12 @@ import org.springframework.stereotype.Component @Component class UriRunner extends AbstractOrderedCommandLineRunner { - @Autowired private IUriService uriService + @Autowired + void setUriService(IUriService uriService) { + this.uriService = uriService + } @Override void run(String... args) throws Exception { diff --git a/src/main/java/com/netgrif/application/engine/auth/service/AbstractUserService.java b/src/main/java/com/netgrif/application/engine/auth/service/AbstractUserService.java index eca49924733..f049a9d901d 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/AbstractUserService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/AbstractUserService.java @@ -23,21 +23,40 @@ public abstract class AbstractUserService implements IUserService { - @Autowired protected IAuthorityService authorityService; - @Autowired protected IProcessRoleService processRoleService; + protected INextGroupService groupService; + + protected UserRepository userRepository; + + private ISecurityContextService securityContextService; @Autowired - protected INextGroupService groupService; + public void setAuthorityService(IAuthorityService authorityService) { + this.authorityService = authorityService; + } @Autowired - protected UserRepository repository; + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } @Autowired - private ISecurityContextService securityContextService; + public void setGroupService(INextGroupService groupService) { + this.groupService = groupService; + } + + @Autowired + public void setUserRepository(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Autowired + public void setSecurityContextService(ISecurityContextService securityContextService) { + this.securityContextService = securityContextService; + } @Override public void addDefaultRole(IUser user) { @@ -109,11 +128,11 @@ public void removeRoleOfDeletedPetriNet(PetriNet net) { @Override public IUser createSystemUser() { - User system = repository.findByEmail(SYSTEM_USER_EMAIL); + User system = userRepository.findByEmail(SYSTEM_USER_EMAIL); if (system == null) { system = new User(SYSTEM_USER_EMAIL, "n/a", SYSTEM_USER_NAME, SYSTEM_USER_SURNAME); system.setState(UserState.ACTIVE); - repository.save(system); + userRepository.save(system); } return system; } diff --git a/src/main/java/com/netgrif/application/engine/auth/service/AuthorityService.java b/src/main/java/com/netgrif/application/engine/auth/service/AuthorityService.java index 86f6ca26ed7..c11bbaa9999 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/AuthorityService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/AuthorityService.java @@ -15,9 +15,13 @@ @Service public class AuthorityService implements IAuthorityService { - @Autowired private AuthorityRepository repository; + @Autowired + public void setRepository(AuthorityRepository repository) { + this.repository = repository; + } + @Override public List findAll() { return repository.findAll(); diff --git a/src/main/java/com/netgrif/application/engine/auth/service/AuthorizationService.java b/src/main/java/com/netgrif/application/engine/auth/service/AuthorizationService.java index 4050f20a223..5cfa6c9cdf8 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/AuthorizationService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/AuthorizationService.java @@ -10,9 +10,13 @@ @Service public class AuthorizationService implements IAuthorizationService { - @Autowired private IUserService userService; + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + @Override public boolean hasAuthority(String authority) { LoggedUser loggedUser = userService.getLoggedUserFromContext().getSelfOrImpersonated(); diff --git a/src/main/java/com/netgrif/application/engine/auth/service/LoginAttemptService.java b/src/main/java/com/netgrif/application/engine/auth/service/LoginAttemptService.java index 8a6778a61c2..cbb5200dd8c 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/LoginAttemptService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/LoginAttemptService.java @@ -16,7 +16,6 @@ @Service public class LoginAttemptService implements ILoginAttemptService { - @Autowired private SecurityLimitsProperties securityLimitsProperties; private LoadingCache attemptsCache; @@ -31,6 +30,10 @@ public Integer load(String key) { }); } + @Autowired + public void setSecurityLimitsProperties(SecurityLimitsProperties securityLimitsProperties) { + this.securityLimitsProperties = securityLimitsProperties; + } public void loginSucceeded(String key) { attemptsCache.invalidate(key); diff --git a/src/main/java/com/netgrif/application/engine/auth/service/RegistrationService.java b/src/main/java/com/netgrif/application/engine/auth/service/RegistrationService.java index 6c1b9e0e4e6..b0d17435a4d 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/RegistrationService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/RegistrationService.java @@ -31,24 +31,48 @@ @Service public class RegistrationService implements IRegistrationService { - @Autowired private UserRepository userRepository; - @Autowired private IUserService userService; - @Autowired private INextGroupService groupService; - @Autowired private IProcessRoleService processRole; - @Autowired private ServerAuthProperties serverAuthProperties; - @Autowired protected BCryptPasswordEncoder bCryptPasswordEncoder; + @Autowired + public void setUserRepository(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setGroupService(INextGroupService groupService) { + this.groupService = groupService; + } + + @Autowired + public void setProcessRole(IProcessRoleService processRole) { + this.processRole = processRole; + } + + @Autowired + public void setServerAuthProperties(ServerAuthProperties serverAuthProperties) { + this.serverAuthProperties = serverAuthProperties; + } + + @Autowired + public void setbCryptPasswordEncoder(BCryptPasswordEncoder bCryptPasswordEncoder) { + this.bCryptPasswordEncoder = bCryptPasswordEncoder; + } + @Override @Transactional @Scheduled(cron = "0 0 1 * * *") diff --git a/src/main/java/com/netgrif/application/engine/auth/service/UserDetailsServiceImpl.java b/src/main/java/com/netgrif/application/engine/auth/service/UserDetailsServiceImpl.java index 638d403d4d3..51a5d7db1b7 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/UserDetailsServiceImpl.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/UserDetailsServiceImpl.java @@ -23,18 +23,34 @@ public class UserDetailsServiceImpl implements UserDetailsService { private static final Logger logger = LoggerFactory.getLogger(UserDetailsServiceImpl.class); - @Autowired protected UserRepository userRepository; - @Autowired protected ApplicationEventPublisher publisher; - @Autowired protected ILoginAttemptService loginAttemptService; - @Autowired protected HttpServletRequest request; + @Autowired + public void setUserRepository(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Autowired + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } + + @Autowired + public void setLoginAttemptService(ILoginAttemptService loginAttemptService) { + this.loginAttemptService = loginAttemptService; + } + + @Autowired + public void setRequest(HttpServletRequest request) { + this.request = request; + } + @Override @Transactional(readOnly = true) public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { diff --git a/src/main/java/com/netgrif/application/engine/auth/service/UserResourceHelperService.java b/src/main/java/com/netgrif/application/engine/auth/service/UserResourceHelperService.java index f53a6806151..adc84e4ea5d 100644 --- a/src/main/java/com/netgrif/application/engine/auth/service/UserResourceHelperService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/UserResourceHelperService.java @@ -20,15 +20,27 @@ public class UserResourceHelperService implements IUserResourceHelperService { public static final Logger log = LoggerFactory.getLogger(UserResourceHelperService.class); - @Autowired private IUserService userService; - @Autowired private IUserFactory userFactory; - @Autowired private IImpersonationService impersonationService; + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setUserFactory(IUserFactory userFactory) { + this.userFactory = userFactory; + } + + @Autowired + public void setImpersonationService(IImpersonationService impersonationService) { + this.impersonationService = impersonationService; + } + @Override public UserResource getResource(LoggedUser loggedUser, Locale locale, boolean small) { IUser user = userService.findById(loggedUser.getId(), small); diff --git a/src/main/java/com/netgrif/application/engine/auth/service/UserService.java b/src/main/java/com/netgrif/application/engine/auth/service/UserService.java index ac003963922..52b0f9c6842 100755 --- a/src/main/java/com/netgrif/application/engine/auth/service/UserService.java +++ b/src/main/java/com/netgrif/application/engine/auth/service/UserService.java @@ -26,32 +26,47 @@ public class UserService extends AbstractUserService { - @Autowired - protected UserRepository userRepository; - - @Autowired protected AuthorityRepository authorityRepository; - @Autowired - protected IProcessRoleService processRoleService; + protected ApplicationEventPublisher publisher; + + protected IRegistrationService registrationService; + + private BCryptPasswordEncoder bCryptPasswordEncoder; + + private GroupConfigurationProperties groupProperties; + + private IFilterImportExportService filterImportExportService; @Autowired - protected ApplicationEventPublisher publisher; + public void setAuthorityRepository(AuthorityRepository authorityRepository) { + this.authorityRepository = authorityRepository; + } @Autowired - protected INextGroupService groupService; + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } @Autowired - protected IRegistrationService registrationService; + public void setRegistrationService(IRegistrationService registrationService) { + this.registrationService = registrationService; + } @Autowired - private BCryptPasswordEncoder bCryptPasswordEncoder; + public void setbCryptPasswordEncoder(BCryptPasswordEncoder bCryptPasswordEncoder) { + this.bCryptPasswordEncoder = bCryptPasswordEncoder; + } @Autowired - private GroupConfigurationProperties groupProperties; + public void setGroupProperties(GroupConfigurationProperties groupProperties) { + this.groupProperties = groupProperties; + } @Autowired - private IFilterImportExportService filterImportExportService; + public void setFilterImportExportService(IFilterImportExportService filterImportExportService) { + this.filterImportExportService = filterImportExportService; + } @Override public IUser saveNewAndAuthenticate(IUser user) { diff --git a/src/main/java/com/netgrif/application/engine/auth/web/AuthenticationController.java b/src/main/java/com/netgrif/application/engine/auth/web/AuthenticationController.java index ba0184b266c..a8360cda79b 100644 --- a/src/main/java/com/netgrif/application/engine/auth/web/AuthenticationController.java +++ b/src/main/java/com/netgrif/application/engine/auth/web/AuthenticationController.java @@ -46,29 +46,54 @@ @Tag(name = "Authentication") public class AuthenticationController { - @Autowired private IRegistrationService registrationService; + private IMailService mailService; + + private IUserService userService; + + private IMailAttemptService mailAttemptService; + + private ServerAuthProperties serverAuthProperties; + + private IUserFactory userResponseFactory; + + private ISecurityContextService securityContextService; + @Autowired - private UserDetailsServiceImpl userDetailsService; + public void setRegistrationService(IRegistrationService registrationService) { + this.registrationService = registrationService; + } @Autowired - private IMailService mailService; + public void setMailService(IMailService mailService) { + this.mailService = mailService; + } @Autowired - private IUserService userService; + public void setUserService(IUserService userService) { + this.userService = userService; + } @Autowired - private IMailAttemptService mailAttemptService; + public void setMailAttemptService(IMailAttemptService mailAttemptService) { + this.mailAttemptService = mailAttemptService; + } @Autowired - private ServerAuthProperties serverAuthProperties; + public void setServerAuthProperties(ServerAuthProperties serverAuthProperties) { + this.serverAuthProperties = serverAuthProperties; + } @Autowired - private IUserFactory userResponseFactory; + public void setUserResponseFactory(IUserFactory userResponseFactory) { + this.userResponseFactory = userResponseFactory; + } @Autowired - private ISecurityContextService securityContextService; + public void setSecurityContextService(ISecurityContextService securityContextService) { + this.securityContextService = securityContextService; + } @Operation(summary = "New user registration") @PostMapping(value = "/signup", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaTypes.HAL_JSON_VALUE) diff --git a/src/main/java/com/netgrif/application/engine/auth/web/PublicUserController.java b/src/main/java/com/netgrif/application/engine/auth/web/PublicUserController.java index 4b26a78dbf2..2a4bd6eb92d 100644 --- a/src/main/java/com/netgrif/application/engine/auth/web/PublicUserController.java +++ b/src/main/java/com/netgrif/application/engine/auth/web/PublicUserController.java @@ -43,21 +43,37 @@ @RequestMapping("/api/public/user") public class PublicUserController { - @Autowired private IUserFactory userResponseFactory; - @Autowired private Provider userResourceAssemblerProvider; - @Autowired private IUserService userService; - @Autowired private IPreferencesService preferencesService; public PublicUserController() { } + @Autowired + public void setUserResponseFactory(IUserFactory userResponseFactory) { + this.userResponseFactory = userResponseFactory; + } + + @Autowired + public void setUserResourceAssemblerProvider(Provider userResourceAssemblerProvider) { + this.userResourceAssemblerProvider = userResourceAssemblerProvider; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setPreferencesService(IPreferencesService preferencesService) { + this.preferencesService = preferencesService; + } + protected UserResourceAssembler getUserResourceAssembler(Locale locale, boolean small, String selfRel) { UserResourceAssembler result = userResourceAssemblerProvider.get(); result.initialize(locale, small, selfRel); diff --git a/src/main/java/com/netgrif/application/engine/auth/web/UserController.java b/src/main/java/com/netgrif/application/engine/auth/web/UserController.java index 6d6b47d178f..4e8e9884ffc 100644 --- a/src/main/java/com/netgrif/application/engine/auth/web/UserController.java +++ b/src/main/java/com/netgrif/application/engine/auth/web/UserController.java @@ -59,33 +59,69 @@ @Tag(name = "User") public class UserController { - @Autowired private IUserService userService; - @Autowired private IUserResourceHelperService userResourceHelperService; - @Autowired private IProcessRoleService processRoleService; - @Autowired private IAuthorityService authorityService; - @Autowired private IPreferencesService preferencesService; - @Autowired private ServerAuthProperties serverAuthProperties; - @Autowired private IUserFactory userResponseFactory; - @Autowired private Provider userResourceAssemblerProvider; - @Autowired private ISecurityContextService securityContextService; + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setUserResourceHelperService(IUserResourceHelperService userResourceHelperService) { + this.userResourceHelperService = userResourceHelperService; + } + + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } + + @Autowired + public void setAuthorityService(IAuthorityService authorityService) { + this.authorityService = authorityService; + } + + @Autowired + public void setPreferencesService(IPreferencesService preferencesService) { + this.preferencesService = preferencesService; + } + + @Autowired + public void setServerAuthProperties(ServerAuthProperties serverAuthProperties) { + this.serverAuthProperties = serverAuthProperties; + } + + @Autowired + public void setUserResponseFactory(IUserFactory userResponseFactory) { + this.userResponseFactory = userResponseFactory; + } + + @Autowired + public void setUserResourceAssemblerProvider(Provider userResourceAssemblerProvider) { + this.userResourceAssemblerProvider = userResourceAssemblerProvider; + } + + @Autowired + public void setSecurityContextService(ISecurityContextService securityContextService) { + this.securityContextService = securityContextService; + } + protected UserResourceAssembler getUserResourceAssembler(Locale locale, boolean small, String selfRel) { UserResourceAssembler result = userResourceAssemblerProvider.get(); result.initialize(locale, small, selfRel); diff --git a/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/ProcessRoleFactory.java b/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/ProcessRoleFactory.java index 95f6b1ad19d..5341ab92d47 100644 --- a/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/ProcessRoleFactory.java +++ b/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/ProcessRoleFactory.java @@ -11,9 +11,13 @@ @Service public class ProcessRoleFactory implements IProcessRoleFactory { - @Autowired private IPetriNetService petriNetService; + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + @Override public ProcessRole getProcessRole(com.netgrif.application.engine.petrinet.domain.roles.ProcessRole role, Locale locale) { /*if (!role.getStringId().equals(userProcessRole.getRoleId())) { diff --git a/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserFactory.java b/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserFactory.java index 4043af9130d..6ba8afbf5f2 100644 --- a/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserFactory.java +++ b/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserFactory.java @@ -9,12 +9,20 @@ public class UserFactory implements IUserFactory { - @Autowired private IProcessRoleService processRoleService; - @Autowired private IProcessRoleFactory processRoleFactory; + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } + + @Autowired + public void setProcessRoleFactory(IProcessRoleFactory processRoleFactory) { + this.processRoleFactory = processRoleFactory; + } + @Override public User getUser(IUser user, Locale locale) { User result = getUser(user); diff --git a/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserResourceAssembler.java b/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserResourceAssembler.java index 2e1187481ea..9e57f989a35 100644 --- a/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserResourceAssembler.java +++ b/src/main/java/com/netgrif/application/engine/auth/web/responsebodies/UserResourceAssembler.java @@ -8,7 +8,6 @@ public class UserResourceAssembler implements RepresentationModelAssembler { - @Autowired private IUserFactory userFactory; private Locale locale; @@ -20,6 +19,11 @@ public class UserResourceAssembler implements RepresentationModelAssembler codes) { List savedCodes = repository.saveAll(codes); diff --git a/src/main/java/com/netgrif/application/engine/configuration/AbstractSecurityConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/AbstractSecurityConfiguration.java index 306e3f018a4..8e1d5a52eaf 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/AbstractSecurityConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/AbstractSecurityConfiguration.java @@ -28,17 +28,33 @@ public abstract class AbstractSecurityConfiguration extends WebSecurityConfigurerAdapter { - @Autowired protected ServerAuthProperties serverAuthProperties; - @Autowired protected SessionUtilsProperties sessionUtilsProperties; + protected NaeAuthProperties naeAuthProperties; + + private ApplicationContext context; + @Autowired - private NaeAuthProperties naeAuthProperties; + public void setServerAuthProperties(ServerAuthProperties serverAuthProperties) { + this.serverAuthProperties = serverAuthProperties; + } @Autowired - private ApplicationContext context; + public void setSessionUtilsProperties(SessionUtilsProperties sessionUtilsProperties) { + this.sessionUtilsProperties = sessionUtilsProperties; + } + + @Autowired + public void setNaeAuthProperties(NaeAuthProperties naeAuthProperties) { + this.naeAuthProperties = naeAuthProperties; + } + + @Autowired + public void setContext(ApplicationContext context) { + this.context = context; + } protected void setHeaders(HttpSecurity http) throws Exception { setStrictTransportSecurity(http); diff --git a/src/main/java/com/netgrif/application/engine/configuration/ElasticServiceConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/ElasticServiceConfiguration.java index 02404db0b1d..2bc5e35df50 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/ElasticServiceConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/ElasticServiceConfiguration.java @@ -26,9 +26,6 @@ public class ElasticServiceConfiguration { @Autowired private ElasticCaseRepository caseRepository; - @Autowired - private ElasticTaskRepository taskRepository; - @Autowired private ElasticsearchRestTemplate elasticsearchTemplate; diff --git a/src/main/java/com/netgrif/application/engine/configuration/EncryptionConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/EncryptionConfiguration.java index afe159e24a7..b2fe527fd44 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/EncryptionConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/EncryptionConfiguration.java @@ -16,9 +16,13 @@ public class EncryptionConfiguration { @Value("${nae.database.password}") private String password; - @Autowired private UserDetailsService userDetailsService; + @Autowired + public void setUserDetailsService(UserDetailsService userDetailsService) { + this.userDetailsService = userDetailsService; + } + @Bean public StandardPBEStringEncryptor standardPBEStringEncryptor() { StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); diff --git a/src/main/java/com/netgrif/application/engine/configuration/MailConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/MailConfiguration.java index c7fb902eb78..ad18ba20360 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/MailConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/MailConfiguration.java @@ -14,7 +14,6 @@ @Configuration public class MailConfiguration { - @Autowired private freemarker.template.Configuration configuration; @Value("${spring.mail.default-encoding}") @@ -44,6 +43,11 @@ public class MailConfiguration { @Value("${spring.mail.smtp.starttls.required}") private boolean smtpStartTlsRequired; + @Autowired + public void setConfiguration(freemarker.template.Configuration configuration) { + this.configuration = configuration; + } + @Bean public JavaMailSenderImpl mailSender() { Properties mailProperties = new Properties(); diff --git a/src/main/java/com/netgrif/application/engine/configuration/NaeSecurityConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/NaeSecurityConfiguration.java index 59bbdaa17fc..c81ef1cf375 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/NaeSecurityConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/NaeSecurityConfiguration.java @@ -50,37 +50,70 @@ @Order(SecurityProperties.DEFAULT_FILTER_ORDER) public class NaeSecurityConfiguration extends AbstractSecurityConfiguration { - @Autowired private Environment env; - @Autowired private RestAuthenticationEntryPoint authenticationEntryPoint; - @Autowired private IAuthorityService authorityService; - @Autowired private IJwtService jwtService; - @Autowired private IUserService userService; + private SecurityConfigProperties properties; + + private ISecurityContextService securityContextService; + + protected NaeLdapProperties ldapProperties; + + protected IImpersonationService impersonationService; + + private static final String ANONYMOUS_USER = "anonymousUser"; + @Autowired - private NaeAuthProperties naeAuthProperties; + public void setEnv(Environment env) { + this.env = env; + } @Autowired - private SecurityConfigProperties properties; + public void setAuthenticationEntryPoint(RestAuthenticationEntryPoint authenticationEntryPoint) { + this.authenticationEntryPoint = authenticationEntryPoint; + } @Autowired - private ISecurityContextService securityContextService; + public void setAuthorityService(IAuthorityService authorityService) { + this.authorityService = authorityService; + } @Autowired - protected NaeLdapProperties ldapProperties; + public void setJwtService(IJwtService jwtService) { + this.jwtService = jwtService; + } @Autowired - protected IImpersonationService impersonationService; + public void setUserService(IUserService userService) { + this.userService = userService; + } - private static final String ANONYMOUS_USER = "anonymousUser"; + @Autowired + public void setProperties(SecurityConfigProperties properties) { + this.properties = properties; + } + + @Autowired + public void setSecurityContextService(ISecurityContextService securityContextService) { + this.securityContextService = securityContextService; + } + + @Autowired + public void setLdapProperties(NaeLdapProperties ldapProperties) { + this.ldapProperties = ldapProperties; + } + + @Autowired + public void setImpersonationService(IImpersonationService impersonationService) { + this.impersonationService = impersonationService; + } @Bean public HttpSessionIdResolver httpSessionIdResolver() { diff --git a/src/main/java/com/netgrif/application/engine/configuration/SessionRegistryConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/SessionRegistryConfiguration.java index 5940986f89f..4929d59486e 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/SessionRegistryConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/SessionRegistryConfiguration.java @@ -11,9 +11,13 @@ @Configuration public class SessionRegistryConfiguration { - @Autowired private ImpersonationProperties impersonationProperties; + @Autowired + public void setImpersonationProperties(ImpersonationProperties impersonationProperties) { + this.impersonationProperties = impersonationProperties; + } + @Bean public SpringSessionBackedSessionRegistry springSessionBackedSessionRegistry(FindByIndexNameSessionRepository sessionRepository) { return new SpringSessionBackedSessionRegistry<>(sessionRepository); diff --git a/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/NetgrifAuthenticationProvider.java b/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/NetgrifAuthenticationProvider.java index 64a93f48ca5..4164802653c 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/NetgrifAuthenticationProvider.java +++ b/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/NetgrifAuthenticationProvider.java @@ -13,19 +13,33 @@ public abstract class NetgrifAuthenticationProvider implements AuthenticationProvider { - - @Autowired protected UserDetailsService userDetailsService; - @Autowired protected HttpServletRequest request; - @Autowired protected ApplicationEventPublisher publisher; - @Autowired protected ILoginAttemptService loginAttemptService; + @Autowired + public void setUserDetailsService(UserDetailsService userDetailsService) { + this.userDetailsService = userDetailsService; + } + + @Autowired + public void setRequest(HttpServletRequest request) { + this.request = request; + } + + @Autowired + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } + + @Autowired + public void setLoginAttemptService(ILoginAttemptService loginAttemptService) { + this.loginAttemptService = loginAttemptService; + } public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { return null; diff --git a/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProvider.java b/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProvider.java index 7c9241c227f..5275596ec24 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProvider.java +++ b/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProvider.java @@ -22,13 +22,16 @@ @Component public class NetgrifBasicAuthenticationProvider extends NetgrifAuthenticationProvider { - @Autowired protected UserRepository userRepository; protected MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor(); protected PasswordEncoder passwordEncoder; + @Autowired + public void setUserRepository(UserRepository userRepository) { + this.userRepository = userRepository; + } @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { diff --git a/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProviderLoader.java b/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProviderLoader.java index ce8785f741c..7464305d89f 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProviderLoader.java +++ b/src/main/java/com/netgrif/application/engine/configuration/authentication/providers/basic/NetgrifBasicAuthenticationProviderLoader.java @@ -12,9 +12,13 @@ @Configuration public class NetgrifBasicAuthenticationProviderLoader { - @Autowired private EncryptionConfiguration passwordEncoder; + @Autowired + public void setPasswordEncoder(EncryptionConfiguration passwordEncoder) { + this.passwordEncoder = passwordEncoder; + } + @Lazy @Bean("netgrifBasicAuthenticationProvider") public NetgrifAuthenticationProvider netgrifBasicAuthenticationProvider() { diff --git a/src/main/java/com/netgrif/application/engine/configuration/drools/DroolsConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/drools/DroolsConfiguration.java index 11862f82fed..25d8b9d020d 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/drools/DroolsConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/drools/DroolsConfiguration.java @@ -15,15 +15,27 @@ @Configuration public class DroolsConfiguration { - @Autowired private IKnowledgeBaseInitializer baseInitializer; - @Autowired private IRuleEngineGlobalsProvider sessionInitializer; - @Autowired private RuleRepository ruleRepository; + @Autowired + public void setBaseInitializer(IKnowledgeBaseInitializer baseInitializer) { + this.baseInitializer = baseInitializer; + } + + @Autowired + public void setSessionInitializer(IRuleEngineGlobalsProvider sessionInitializer) { + this.sessionInitializer = sessionInitializer; + } + + @Autowired + public void setRuleRepository(RuleRepository ruleRepository) { + this.ruleRepository = ruleRepository; + } + @Bean(name = "kieRuntime") @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public KieSession kieRuntime() { diff --git a/src/main/java/com/netgrif/application/engine/configuration/drools/KnowledgeBaseInitializer.java b/src/main/java/com/netgrif/application/engine/configuration/drools/KnowledgeBaseInitializer.java index 3a2f27c33ba..c1bd2963c27 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/drools/KnowledgeBaseInitializer.java +++ b/src/main/java/com/netgrif/application/engine/configuration/drools/KnowledgeBaseInitializer.java @@ -39,12 +39,20 @@ public class KnowledgeBaseInitializer implements IKnowledgeBaseInitializer { @Value("${drools.compile.page-size:100}") private Integer pageSize; - @Autowired private RuleRepository ruleRepository; - @Autowired private ObjectDataCompiler compiler; + @Autowired + public void setRuleRepository(RuleRepository ruleRepository) { + this.ruleRepository = ruleRepository; + } + + @Autowired + public void setCompiler(ObjectDataCompiler compiler) { + this.compiler = compiler; + } + @Override public KieBase constructKieBase() { KieHelper kieHelper = new KieHelper(); diff --git a/src/main/java/com/netgrif/application/engine/configuration/drools/RuleEngineGlobalsProvider.java b/src/main/java/com/netgrif/application/engine/configuration/drools/RuleEngineGlobalsProvider.java index 02d8e8dd450..0af442cf5f7 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/drools/RuleEngineGlobalsProvider.java +++ b/src/main/java/com/netgrif/application/engine/configuration/drools/RuleEngineGlobalsProvider.java @@ -30,33 +30,58 @@ public class RuleEngineGlobalsProvider implements IRuleEngineGlobalsProvider { protected List globals; protected List imports; - private final IRuleEvaluationScheduleService ruleEvaluationScheduleService; - private final IWorkflowService workflowService; - private final ITaskService taskService; - private final IElasticCaseService elasticCaseService; - private final IElasticTaskService elasticTaskService; - private final IDataService dataService; - private final IMailService mailService; - private final IUserService userService; - private final FactRepository factRepository; - - public RuleEngineGlobalsProvider(@Autowired IRuleEvaluationScheduleService ruleEvaluationScheduleService, - @Autowired IWorkflowService workflowService, - @Autowired ITaskService taskService, - @Autowired IElasticCaseService elasticCaseService, - @Autowired IElasticTaskService elasticTaskService, - @Autowired IDataService dataService, - @Autowired IMailService mailService, - @Autowired IUserService userService, - @Autowired FactRepository factRepository) { + private IRuleEvaluationScheduleService ruleEvaluationScheduleService; + private IWorkflowService workflowService; + private ITaskService taskService; + private IElasticCaseService elasticCaseService; + private IElasticTaskService elasticTaskService; + private IDataService dataService; + private IMailService mailService; + private IUserService userService; + private FactRepository factRepository; + + @Autowired + public void setRuleEvaluationScheduleService(IRuleEvaluationScheduleService ruleEvaluationScheduleService) { this.ruleEvaluationScheduleService = ruleEvaluationScheduleService; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { this.workflowService = workflowService; + } + + @Autowired + public void setTaskService(ITaskService taskService) { this.taskService = taskService; + } + + @Autowired + public void setElasticCaseService(IElasticCaseService elasticCaseService) { this.elasticCaseService = elasticCaseService; + } + + @Autowired + public void setElasticTaskService(IElasticTaskService elasticTaskService) { this.elasticTaskService = elasticTaskService; + } + + @Autowired + public void setDataService(IDataService dataService) { this.dataService = dataService; + } + + @Autowired + public void setMailService(IMailService mailService) { this.mailService = mailService; + } + + @Autowired + public void setUserService(IUserService userService) { this.userService = userService; + } + + @Autowired + public void setFactRepository(FactRepository factRepository) { this.factRepository = factRepository; } diff --git a/src/main/java/com/netgrif/application/engine/configuration/groovy/GroovyShellConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/groovy/GroovyShellConfiguration.java index 6ea43c0efd5..d40e4196eb6 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/groovy/GroovyShellConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/groovy/GroovyShellConfiguration.java @@ -11,9 +11,13 @@ @Configuration public class GroovyShellConfiguration { - @Autowired private ActionsProperties actionsProperties; + @Autowired + public void setActionsProperties(ActionsProperties actionsProperties) { + this.actionsProperties = actionsProperties; + } + @Bean @ConditionalOnMissingBean public ImportCustomizer importCustomizer() { diff --git a/src/main/java/com/netgrif/application/engine/configuration/ldap/AdLdapConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/ldap/AdLdapConfiguration.java index 49a97c7aed0..f02e857835d 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/ldap/AdLdapConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/ldap/AdLdapConfiguration.java @@ -12,9 +12,13 @@ @ConditionalOnExpression("${nae.ldap.enabled:false} AND ${nae.ldap.ignore-partial:false}") public class AdLdapConfiguration { - @Autowired protected LdapContextSource ldapContextSource; + @Autowired + public void setLdapContextSource(LdapContextSource ldapContextSource) { + this.ldapContextSource = ldapContextSource; + } + @Bean @Primary public LdapTemplate ldapTemplate() { diff --git a/src/main/java/com/netgrif/application/engine/configuration/ldap/LdapConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/ldap/LdapConfiguration.java index 918a5721f34..b16b44b3588 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/ldap/LdapConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/ldap/LdapConfiguration.java @@ -12,9 +12,13 @@ @ConditionalOnExpression("${nae.ldap.enabled:false}") public class LdapConfiguration { - @Autowired private NaeLdapProperties ldapProperties; + @Autowired + public void setLdapProperties(NaeLdapProperties ldapProperties) { + this.ldapProperties = ldapProperties; + } + @Bean public LdapContextSource contextSource() { LdapContextSource contextSource = new LdapContextSource(); diff --git a/src/main/java/com/netgrif/application/engine/configuration/quartz/QuartzConfiguration.java b/src/main/java/com/netgrif/application/engine/configuration/quartz/QuartzConfiguration.java index b31b45a1816..dcde7774cce 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/quartz/QuartzConfiguration.java +++ b/src/main/java/com/netgrif/application/engine/configuration/quartz/QuartzConfiguration.java @@ -23,10 +23,8 @@ @Configuration public class QuartzConfiguration { - @Autowired private ApplicationContext applicationContext; - @Autowired private AutowiringSpringBeanJobFactory jobFactory; @Value("${spring.data.mongodb.host:null}") @@ -38,6 +36,16 @@ public class QuartzConfiguration { @Value("${nae.quartz.dbName:nae}") private String db; + @Autowired + public void setApplicationContext(ApplicationContext applicationContext) { + this.applicationContext = applicationContext; + } + + @Autowired + public void setJobFactory(AutowiringSpringBeanJobFactory jobFactory) { + this.jobFactory = jobFactory; + } + @Bean public Properties quartzProperties() throws IOException { PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean(); diff --git a/src/main/java/com/netgrif/application/engine/configuration/security/AuthenticationService.java b/src/main/java/com/netgrif/application/engine/configuration/security/AuthenticationService.java index 1026df00dc2..14ff2579fab 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/security/AuthenticationService.java +++ b/src/main/java/com/netgrif/application/engine/configuration/security/AuthenticationService.java @@ -28,7 +28,6 @@ @Service public class AuthenticationService implements IAuthenticationService, ApplicationListener { - @Value("${server.login.attempts:10}") private int maxLoginAttempts; @@ -37,7 +36,6 @@ public class AuthenticationService implements IAuthenticationService, Applicatio private ConcurrentMap cache; - @Autowired private IImpersonationService impersonationService; public AuthenticationService() { @@ -45,6 +43,11 @@ public AuthenticationService() { cache = new ConcurrentHashMap<>(); } + @Autowired + public void setImpersonationService(IImpersonationService impersonationService) { + this.impersonationService = impersonationService; + } + public static String getClientIP(HttpServletRequest request) { String xHeader = request.getHeader("X-Forwarded-For"); if (xHeader == null) diff --git a/src/main/java/com/netgrif/application/engine/configuration/security/jwt/JwtService.java b/src/main/java/com/netgrif/application/engine/configuration/security/jwt/JwtService.java index 60d5757b456..33e1d8decb4 100644 --- a/src/main/java/com/netgrif/application/engine/configuration/security/jwt/JwtService.java +++ b/src/main/java/com/netgrif/application/engine/configuration/security/jwt/JwtService.java @@ -24,12 +24,20 @@ public class JwtService implements IJwtService { private String secret = ""; - @Autowired private JwtProperties properties; - @Autowired private IProcessRoleService roleService; + @Autowired + public void setProperties(JwtProperties properties) { + this.properties = properties; + } + + @Autowired + public void setRoleService(IProcessRoleService roleService) { + this.roleService = roleService; + } + @PostConstruct private void resolveSecret() { try { diff --git a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCasePrioritySearch.java b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCasePrioritySearch.java index 5bd6e66142e..9340b19a45b 100644 --- a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCasePrioritySearch.java +++ b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCasePrioritySearch.java @@ -11,9 +11,13 @@ public class ElasticCasePrioritySearch implements IElasticCasePrioritySearch { - @Autowired protected ElasticCaseSearchConfiguration elasticCaseSearchConfiguration; + @Autowired + public void setElasticCaseSearchConfiguration(ElasticCaseSearchConfiguration elasticCaseSearchConfiguration) { + this.elasticCaseSearchConfiguration = elasticCaseSearchConfiguration; + } + @Override public Map fullTextFields() { return elasticCaseSearchConfiguration.getFullTextFieldMap(); diff --git a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCaseService.java b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCaseService.java index 5c9e1cb9602..50630bb9d74 100644 --- a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCaseService.java +++ b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticCaseService.java @@ -55,10 +55,8 @@ public class ElasticCaseService extends ElasticViewPermissionService implements private Executor executors; - @Autowired private IPetriNetService petriNetService; - @Autowired private IElasticCasePrioritySearch iElasticCasePrioritySearch; @Autowired @@ -68,6 +66,16 @@ public ElasticCaseService(ElasticCaseRepository repository, ElasticsearchRestTem this.executors = executors; } + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setiElasticCasePrioritySearch(IElasticCasePrioritySearch iElasticCasePrioritySearch) { + this.iElasticCasePrioritySearch = iElasticCasePrioritySearch; + } + @Autowired @Lazy public void setWorkflowService(IWorkflowService workflowService) { diff --git a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticIndexService.java b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticIndexService.java index c4cdd5f2708..264de8921ed 100644 --- a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticIndexService.java +++ b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticIndexService.java @@ -36,17 +36,29 @@ @Service public class ElasticIndexService implements IElasticIndexService { - @Autowired private ApplicationContext context; - @Autowired private ElasticsearchRestTemplate elasticsearchTemplate; - @Autowired private ElasticsearchOperations operations; private static final String PLACEHOLDERS = "petriNetIndex, caseIndex, taskIndex"; + @Autowired + public void setContext(ApplicationContext context) { + this.context = context; + } + + @Autowired + public void setElasticsearchTemplate(ElasticsearchRestTemplate elasticsearchTemplate) { + this.elasticsearchTemplate = elasticsearchTemplate; + } + + @Autowired + public void setOperations(ElasticsearchOperations operations) { + this.operations = operations; + } + @Override public boolean indexExists(String indexName) { try { diff --git a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticTaskService.java b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticTaskService.java index be620d23549..af1c4db3272 100644 --- a/src/main/java/com/netgrif/application/engine/elastic/service/ElasticTaskService.java +++ b/src/main/java/com/netgrif/application/engine/elastic/service/ElasticTaskService.java @@ -48,23 +48,29 @@ public class ElasticTaskService extends ElasticViewPermissionService implements private static final Logger log = LoggerFactory.getLogger(ElasticTaskService.class); protected ITaskService taskService; - protected ElasticsearchRestTemplate template; @Value("${spring.data.elasticsearch.index.task}") protected String taskIndex; - @Autowired protected ElasticsearchRestTemplate elasticsearchTemplate; - @Autowired private ElasticTaskQueueManager elasticTaskQueueManager; - @Autowired protected IPetriNetService petriNetService; @Autowired - public ElasticTaskService(ElasticsearchRestTemplate template) { - this.template = template; + public ElasticTaskService(ElasticsearchRestTemplate elasticsearchTemplate) { + this.elasticsearchTemplate = elasticsearchTemplate; + } + + @Autowired + public void setElasticTaskQueueManager(ElasticTaskQueueManager elasticTaskQueueManager) { + this.elasticTaskQueueManager = elasticTaskQueueManager; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; } @Autowired @@ -142,7 +148,7 @@ public Page search(List requests, LoggedUser use public long count(List requests, LoggedUser user, Locale locale, Boolean isIntersection) { NativeSearchQuery query = buildQuery(requests, user.getSelfOrImpersonated(), new FullPageRequest(), locale, isIntersection); if (query != null) { - return template.count(query, ElasticTask.class); + return elasticsearchTemplate.count(query, ElasticTask.class); } else { return 0; } diff --git a/src/main/java/com/netgrif/application/engine/elastic/web/ElasticController.java b/src/main/java/com/netgrif/application/engine/elastic/web/ElasticController.java index 2678bda86c7..9e70484a7cc 100644 --- a/src/main/java/com/netgrif/application/engine/elastic/web/ElasticController.java +++ b/src/main/java/com/netgrif/application/engine/elastic/web/ElasticController.java @@ -37,18 +37,30 @@ public class ElasticController { private static final Logger log = LoggerFactory.getLogger(ElasticController.class.getName()); - @Autowired private IWorkflowService workflowService; - @Autowired private CaseSearchService searchService; - @Autowired private ReindexingTask reindexingTask; @Value("${spring.data.elasticsearch.reindexExecutor.size:20}") private int pageSize; + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setSearchService(CaseSearchService searchService) { + this.searchService = searchService; + } + + @Autowired + public void setReindexingTask(ReindexingTask reindexingTask) { + this.reindexingTask = reindexingTask; + } + @PreAuthorize("@authorizationService.hasAuthority('ADMIN')") @Operation(summary = "Reindex specified cases", description = "Caller must have the ADMIN role", diff --git a/src/main/java/com/netgrif/application/engine/event/GroovyShellFactory.java b/src/main/java/com/netgrif/application/engine/event/GroovyShellFactory.java index dd92e6f9ee5..3aa3db55e7b 100644 --- a/src/main/java/com/netgrif/application/engine/event/GroovyShellFactory.java +++ b/src/main/java/com/netgrif/application/engine/event/GroovyShellFactory.java @@ -8,9 +8,13 @@ @Service public class GroovyShellFactory implements IGroovyShellFactory { - @Autowired private CompilerConfiguration configuration; + @Autowired + public void setConfiguration(CompilerConfiguration configuration) { + this.configuration = configuration; + } + @Override public GroovyShell getGroovyShell() { return new GroovyShell(this.getClass().getClassLoader(), this.configuration); diff --git a/src/main/java/com/netgrif/application/engine/event/listeners/AuthEventListener.java b/src/main/java/com/netgrif/application/engine/event/listeners/AuthEventListener.java index 7d5111ba76c..b6e08f7164b 100644 --- a/src/main/java/com/netgrif/application/engine/event/listeners/AuthEventListener.java +++ b/src/main/java/com/netgrif/application/engine/event/listeners/AuthEventListener.java @@ -13,9 +13,13 @@ @Profile("!test") public class AuthEventListener { - @Autowired private ILoginAttemptService loginAttemptService; + @Autowired + public void setLoginAttemptService(ILoginAttemptService loginAttemptService) { + this.loginAttemptService = loginAttemptService; + } + @EventListener public void onAuthenticationFailureBadCredentialsEvent(final AuthenticationFailureBadCredentialsEvent e) { WebAuthenticationDetails auth = (WebAuthenticationDetails) e.getAuthentication().getDetails(); diff --git a/src/main/java/com/netgrif/application/engine/export/service/ExportService.java b/src/main/java/com/netgrif/application/engine/export/service/ExportService.java index 25c6bc7b3b9..ff4681cbe6a 100644 --- a/src/main/java/com/netgrif/application/engine/export/service/ExportService.java +++ b/src/main/java/com/netgrif/application/engine/export/service/ExportService.java @@ -35,30 +35,61 @@ @Service public class ExportService implements IExportService { - @Autowired private IWorkflowService workflowService; - @Autowired private IElasticCaseService elasticCaseService; - @Autowired private IElasticTaskService elasticTaskService; - @Autowired private CaseRepository caseRepository; - @Autowired private ITaskService taskService; - @Autowired private TaskRepository taskRepository; - @Autowired private ExportConfiguration exportConfiguration; - @Autowired private IUserService userService; + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setElasticCaseService(IElasticCaseService elasticCaseService) { + this.elasticCaseService = elasticCaseService; + } + + @Autowired + public void setElasticTaskService(IElasticTaskService elasticTaskService) { + this.elasticTaskService = elasticTaskService; + } + + @Autowired + public void setCaseRepository(CaseRepository caseRepository) { + this.caseRepository = caseRepository; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setTaskRepository(TaskRepository taskRepository) { + this.taskRepository = taskRepository; + } + + @Autowired + public void setExportConfiguration(ExportConfiguration exportConfiguration) { + this.exportConfiguration = exportConfiguration; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } @Override public Set buildDefaultCsvCaseHeader(List exportCases) { diff --git a/src/main/java/com/netgrif/application/engine/history/service/HistoryService.java b/src/main/java/com/netgrif/application/engine/history/service/HistoryService.java index d3d324ecab7..91756237c9d 100644 --- a/src/main/java/com/netgrif/application/engine/history/service/HistoryService.java +++ b/src/main/java/com/netgrif/application/engine/history/service/HistoryService.java @@ -26,12 +26,21 @@ @Service public class HistoryService implements IHistoryService { - @Autowired + private EventLogRepository eventLogRepository; - @Autowired private MongoTemplate mongoTemplate; + @Autowired + public void setEventLogRepository(EventLogRepository eventLogRepository) { + this.eventLogRepository = eventLogRepository; + } + + @Autowired + public void setMongoTemplate(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + @Override @Async public void save(EventLog eventLog) { diff --git a/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationAuthorizationService.java b/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationAuthorizationService.java index 19dabda6ee5..2d0a7423bb6 100644 --- a/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationAuthorizationService.java +++ b/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationAuthorizationService.java @@ -33,24 +33,48 @@ @Service public class ImpersonationAuthorizationService implements IImpersonationAuthorizationService { - @Autowired protected ImpersonationProperties properties; - @Autowired protected IUserService userService; - @Autowired protected IElasticCaseService elasticCaseService; - @Autowired protected IAuthorityService authorityService; - @Autowired protected IWorkflowService workflowService; - @Autowired protected IProcessRoleService processRoleService; + @Autowired + public void setProperties(ImpersonationProperties properties) { + this.properties = properties; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setElasticCaseService(IElasticCaseService elasticCaseService) { + this.elasticCaseService = elasticCaseService; + } + + @Autowired + public void setAuthorityService(IAuthorityService authorityService) { + this.authorityService = authorityService; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } + @Override public Page getConfiguredImpersonationUsers(String query, LoggedUser impersonator, Pageable pageable) { if (impersonator.isAdmin()) { diff --git a/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationService.java b/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationService.java index 3d22f0aa222..4ec349569c8 100644 --- a/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationService.java +++ b/src/main/java/com/netgrif/application/engine/impersonation/service/ImpersonationService.java @@ -29,27 +29,55 @@ @Service public class ImpersonationService implements IImpersonationService { - @Autowired protected ImpersonationProperties properties; - @Autowired protected IUserService userService; - @Autowired protected IHistoryService historyService; - @Autowired protected IImpersonationSessionService sessionService; - @Autowired protected ISecurityContextService securityContextService; - @Autowired protected ImpersonatorRepository impersonatorRepository; - @Autowired protected IImpersonationAuthorizationService impersonationAuthorizationService; + @Autowired + public void setProperties(ImpersonationProperties properties) { + this.properties = properties; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setHistoryService(IHistoryService historyService) { + this.historyService = historyService; + } + + @Autowired + public void setSessionService(IImpersonationSessionService sessionService) { + this.sessionService = sessionService; + } + + @Autowired + public void setSecurityContextService(ISecurityContextService securityContextService) { + this.securityContextService = securityContextService; + } + + @Autowired + public void setImpersonatorRepository(ImpersonatorRepository impersonatorRepository) { + this.impersonatorRepository = impersonatorRepository; + } + + @Autowired + public void setImpersonationAuthorizationService(IImpersonationAuthorizationService impersonationAuthorizationService) { + this.impersonationAuthorizationService = impersonationAuthorizationService; + } + @Override public LoggedUser impersonateUser(String impersonatedId) throws ImpersonatedUserHasSessionException { if (!properties.isEnabled()) { diff --git a/src/main/java/com/netgrif/application/engine/impersonation/web/ImpersonationController.java b/src/main/java/com/netgrif/application/engine/impersonation/web/ImpersonationController.java index 1d5fe27c62b..2c28297784d 100644 --- a/src/main/java/com/netgrif/application/engine/impersonation/web/ImpersonationController.java +++ b/src/main/java/com/netgrif/application/engine/impersonation/web/ImpersonationController.java @@ -41,21 +41,41 @@ @Tag(name = "Impersonation") public class ImpersonationController { - @Autowired protected IImpersonationService impersonationService; - @Autowired protected IImpersonationAuthorizationService impersonationAuthorizationService; - @Autowired protected IUserService userService; - @Autowired protected IUserResourceHelperService userResourceHelperService; - @Autowired protected Provider userResourceAssemblerProvider; + @Autowired + public void setImpersonationService(IImpersonationService impersonationService) { + this.impersonationService = impersonationService; + } + + @Autowired + public void setImpersonationAuthorizationService(IImpersonationAuthorizationService impersonationAuthorizationService) { + this.impersonationAuthorizationService = impersonationAuthorizationService; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setUserResourceHelperService(IUserResourceHelperService userResourceHelperService) { + this.userResourceHelperService = userResourceHelperService; + } + + @Autowired + public void setUserResourceAssemblerProvider(Provider userResourceAssemblerProvider) { + this.userResourceAssemblerProvider = userResourceAssemblerProvider; + } + protected UserResourceAssembler getUserResourceAssembler(Locale locale, boolean small, String selfRel) { UserResourceAssembler result = userResourceAssemblerProvider.get(); result.initialize(locale, small, selfRel); diff --git a/src/main/java/com/netgrif/application/engine/importer/service/FieldFactory.java b/src/main/java/com/netgrif/application/engine/importer/service/FieldFactory.java index 3e87e04cb1c..0570a6ed857 100644 --- a/src/main/java/com/netgrif/application/engine/importer/service/FieldFactory.java +++ b/src/main/java/com/netgrif/application/engine/importer/service/FieldFactory.java @@ -31,24 +31,48 @@ @Slf4j public final class FieldFactory { - @Autowired private FormatFactory formatFactory; - @Autowired private ViewFactory viewFactory; - @Autowired private ComponentFactory componentFactory; - @Autowired private IDataValidator dataValidator; - @Autowired private IUserService userService; - @Autowired private IDataValidationExpressionEvaluator dataValidationExpressionEvaluator; + @Autowired + public void setFormatFactory(FormatFactory formatFactory) { + this.formatFactory = formatFactory; + } + + @Autowired + public void setViewFactory(ViewFactory viewFactory) { + this.viewFactory = viewFactory; + } + + @Autowired + public void setComponentFactory(ComponentFactory componentFactory) { + this.componentFactory = componentFactory; + } + + @Autowired + public void setDataValidator(IDataValidator dataValidator) { + this.dataValidator = dataValidator; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setDataValidationExpressionEvaluator(IDataValidationExpressionEvaluator dataValidationExpressionEvaluator) { + this.dataValidationExpressionEvaluator = dataValidationExpressionEvaluator; + } + // TODO: refactor this shit Field getField(Data data, Importer importer) throws IllegalArgumentException, MissingIconKeyException { Field field; diff --git a/src/main/java/com/netgrif/application/engine/importer/service/Importer.java b/src/main/java/com/netgrif/application/engine/importer/service/Importer.java index 6c4d13f08c9..2524c8c3a84 100644 --- a/src/main/java/com/netgrif/application/engine/importer/service/Importer.java +++ b/src/main/java/com/netgrif/application/engine/importer/service/Importer.java @@ -78,50 +78,96 @@ public class Importer { protected Map actionRefs; protected List functions; - @Autowired protected FieldFactory fieldFactory; + protected FunctionFactory functionFactory; + protected IPetriNetService service; + protected IProcessRoleService processRoleService; + protected ArcFactory arcFactory; + protected RoleFactory roleFactory; + protected TriggerFactory triggerFactory; + protected IActionValidator actionValidator; + protected FieldActionsRunner actionsRunner; + protected FileStorageConfiguration fileStorageConfiguration; + protected ComponentFactory componentFactory; + protected IFieldActionsCacheService actionsCacheService; + private IDocumentValidator documentValidator; + private ITransitionValidator transitionValidator; + private ILogicValidator logicValidator; @Autowired - protected FunctionFactory functionFactory; + public void setFieldFactory(FieldFactory fieldFactory) { + this.fieldFactory = fieldFactory; + } @Autowired - protected IPetriNetService service; + public void setFunctionFactory(FunctionFactory functionFactory) { + this.functionFactory = functionFactory; + } @Autowired - protected IProcessRoleService processRoleService; + public void setService(IPetriNetService service) { + this.service = service; + } @Autowired - protected ArcFactory arcFactory; + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } @Autowired - protected RoleFactory roleFactory; + public void setArcFactory(ArcFactory arcFactory) { + this.arcFactory = arcFactory; + } @Autowired - protected TriggerFactory triggerFactory; + public void setRoleFactory(RoleFactory roleFactory) { + this.roleFactory = roleFactory; + } @Autowired - protected IActionValidator actionValidator; + public void setTriggerFactory(TriggerFactory triggerFactory) { + this.triggerFactory = triggerFactory; + } @Autowired - protected FieldActionsRunner actionsRunner; + public void setActionValidator(IActionValidator actionValidator) { + this.actionValidator = actionValidator; + } @Autowired - protected FileStorageConfiguration fileStorageConfiguration; + public void setActionsRunner(FieldActionsRunner actionsRunner) { + this.actionsRunner = actionsRunner; + } @Autowired - protected ComponentFactory componentFactory; + public void setFileStorageConfiguration(FileStorageConfiguration fileStorageConfiguration) { + this.fileStorageConfiguration = fileStorageConfiguration; + } @Autowired - protected IFieldActionsCacheService actionsCacheService; + public void setComponentFactory(ComponentFactory componentFactory) { + this.componentFactory = componentFactory; + } @Autowired - private IDocumentValidator documentValidator; + public void setActionsCacheService(IFieldActionsCacheService actionsCacheService) { + this.actionsCacheService = actionsCacheService; + } @Autowired - private ITransitionValidator transitionValidator; + public void setDocumentValidator(IDocumentValidator documentValidator) { + this.documentValidator = documentValidator; + } @Autowired - private ILogicValidator logicValidator; + public void setTransitionValidator(ITransitionValidator transitionValidator) { + this.transitionValidator = transitionValidator; + } + + @Autowired + public void setLogicValidator(ILogicValidator logicValidator) { + this.logicValidator = logicValidator; + } @Transactional public Optional importPetriNet(InputStream xml) throws MissingPetriNetMetaDataException, MissingIconKeyException { diff --git a/src/main/java/com/netgrif/application/engine/importer/service/RoleFactory.java b/src/main/java/com/netgrif/application/engine/importer/service/RoleFactory.java index 778236f06e3..1cce74494d2 100644 --- a/src/main/java/com/netgrif/application/engine/importer/service/RoleFactory.java +++ b/src/main/java/com/netgrif/application/engine/importer/service/RoleFactory.java @@ -18,9 +18,13 @@ @Component public class RoleFactory { - @Autowired private ProcessRoleRepository repository; + @Autowired + public void setRepository(ProcessRoleRepository repository) { + this.repository = repository; + } + Map getPermissions(Logic roleLogic) { Map permissions = new HashMap<>(); diff --git a/src/main/java/com/netgrif/application/engine/integration/dashboards/service/DashboardService.java b/src/main/java/com/netgrif/application/engine/integration/dashboards/service/DashboardService.java index 5ee009447e6..2ae23ebb1e7 100644 --- a/src/main/java/com/netgrif/application/engine/integration/dashboards/service/DashboardService.java +++ b/src/main/java/com/netgrif/application/engine/integration/dashboards/service/DashboardService.java @@ -12,9 +12,13 @@ @Service public class DashboardService implements IDashboardService { - @Autowired private ElasticsearchProperties properties; + @Autowired + public void setProperties(ElasticsearchProperties properties) { + this.properties = properties; + } + @Override public String searchByQuery(String searchBody, String type) { HttpHeaders headers = makeHeaders(); diff --git a/src/main/java/com/netgrif/application/engine/ldap/service/LdapGroupRefService.java b/src/main/java/com/netgrif/application/engine/ldap/service/LdapGroupRefService.java index b94c7c36e50..c2fef50d5b9 100644 --- a/src/main/java/com/netgrif/application/engine/ldap/service/LdapGroupRefService.java +++ b/src/main/java/com/netgrif/application/engine/ldap/service/LdapGroupRefService.java @@ -11,6 +11,7 @@ import com.netgrif.application.engine.petrinet.domain.roles.ProcessRole; import com.netgrif.application.engine.petrinet.service.interfaces.IProcessRoleService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.ldap.core.ContextMapper; import org.springframework.ldap.core.DirContextAdapter; @@ -31,19 +32,31 @@ @ConditionalOnExpression("${nae.ldap.enabled:false}") public class LdapGroupRefService implements ILdapGroupRefService { - private final LdapConfiguration ldapConfiguration; + private LdapConfiguration ldapConfiguration; - private final LdapGroupRoleRepository ldapGroupRoleRepository; + private LdapGroupRoleRepository ldapGroupRoleRepository; - private final IProcessRoleService processRoleService; + private IProcessRoleService processRoleService; - private final NaeLdapProperties ldapProperties; + private NaeLdapProperties ldapProperties; - public LdapGroupRefService(LdapConfiguration ldapConfiguration, LdapGroupRoleRepository ldapGroupRoleRepository, - IProcessRoleService processRoleService, NaeLdapProperties ldapProperties) { + @Autowired + public void setLdapConfiguration(LdapConfiguration ldapConfiguration) { this.ldapConfiguration = ldapConfiguration; + } + + @Autowired + public void setLdapGroupRoleRepository(LdapGroupRoleRepository ldapGroupRoleRepository) { this.ldapGroupRoleRepository = ldapGroupRoleRepository; + } + + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { this.processRoleService = processRoleService; + } + + @Autowired + public void setLdapProperties(NaeLdapProperties ldapProperties) { this.ldapProperties = ldapProperties; } diff --git a/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserRefService.java b/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserRefService.java index f763d1f7098..b5a4a870a66 100644 --- a/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserRefService.java +++ b/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserRefService.java @@ -39,30 +39,62 @@ @ConditionalOnExpression("${nae.ldap.enabled:false}") public class LdapUserRefService implements ILdapUserRefService { - @Autowired private LdapUserRefRepository repository; - @Autowired private LdapUserService ldapUserService; - @Autowired private INextGroupService groupService; - @Autowired private ApplicationEventPublisher publisher; - @Autowired private GroupConfigurationProperties groupProperties; - @Autowired private NaeLdapProperties ldapProperties; - @Autowired private LdapConfiguration ldapUserConfiguration; - @Autowired protected ILdapGroupRefService ldapGroupRefService; + @Autowired + public void setRepository(LdapUserRefRepository repository) { + this.repository = repository; + } + + @Autowired + public void setLdapUserService(LdapUserService ldapUserService) { + this.ldapUserService = ldapUserService; + } + + @Autowired + public void setGroupService(INextGroupService groupService) { + this.groupService = groupService; + } + + @Autowired + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } + + @Autowired + public void setGroupProperties(GroupConfigurationProperties groupProperties) { + this.groupProperties = groupProperties; + } + + @Autowired + public void setLdapProperties(NaeLdapProperties ldapProperties) { + this.ldapProperties = ldapProperties; + } + + @Autowired + public void setLdapUserConfiguration(LdapConfiguration ldapUserConfiguration) { + this.ldapUserConfiguration = ldapUserConfiguration; + } + + @Autowired + public void setLdapGroupRefService(ILdapGroupRefService ldapGroupRefService) { + this.ldapGroupRefService = ldapGroupRefService; + } + @Override public IUser createUser(LdapUserRef ldapUserRef) { LdapUser ldapUser = new LdapUser(ldapUserRef.getDn().toString(), ldapUserRef.getCn(), ldapUserRef.getUid(), ldapUserRef.getHomeDirectory(), ldapUserRef.getMail(), ldapUserRef.getFirstName(), ldapUserRef.getSurname(), ldapUserRef.getMemberOf(), ldapUserRef.getTelNumber()); diff --git a/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserService.java b/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserService.java index 338fda5fd96..e88523cd4a6 100644 --- a/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserService.java +++ b/src/main/java/com/netgrif/application/engine/ldap/service/LdapUserService.java @@ -20,12 +20,20 @@ @ConditionalOnExpression("${nae.ldap.enabled:false}") public class LdapUserService extends UserService { - @Autowired private LdapUserRepository ldapUserRepository; - @Autowired private LdapGroupRefService ldapGroupRefService; + @Autowired + public void setLdapUserRepository(LdapUserRepository ldapUserRepository) { + this.ldapUserRepository = ldapUserRepository; + } + + @Autowired + public void setLdapGroupRefService(LdapGroupRefService ldapGroupRefService) { + this.ldapGroupRefService = ldapGroupRefService; + } + public LdapUser findByDn(Name dn) { return ldapUserRepository.findByDn(dn.toString()); } diff --git a/src/main/java/com/netgrif/application/engine/mail/MailService.java b/src/main/java/com/netgrif/application/engine/mail/MailService.java index f6e93d87b31..3faa40fd6c9 100644 --- a/src/main/java/com/netgrif/application/engine/mail/MailService.java +++ b/src/main/java/com/netgrif/application/engine/mail/MailService.java @@ -37,10 +37,8 @@ public class MailService implements IMailService { public static final String SERVER = "server"; public static final String NAME = "name"; - @Autowired private IRegistrationService registrationService; - @Autowired private ServerAuthProperties serverAuthProperties; @Getter @@ -67,6 +65,16 @@ public class MailService implements IMailService { @Setter protected Configuration configuration; + @Autowired + public void setRegistrationService(IRegistrationService registrationService) { + this.registrationService = registrationService; + } + + @Autowired + public void setServerAuthProperties(ServerAuthProperties serverAuthProperties) { + this.serverAuthProperties = serverAuthProperties; + } + @Override public void sendRegistrationEmail(RegisteredUser user) throws MessagingException, IOException, TemplateException { List recipients = new LinkedList<>(); diff --git a/src/main/java/com/netgrif/application/engine/manager/web/SessionManagerController.java b/src/main/java/com/netgrif/application/engine/manager/web/SessionManagerController.java index f95f1613f37..86c940d91fb 100644 --- a/src/main/java/com/netgrif/application/engine/manager/web/SessionManagerController.java +++ b/src/main/java/com/netgrif/application/engine/manager/web/SessionManagerController.java @@ -30,9 +30,13 @@ @Tag(name = "Session Manager") public class SessionManagerController { - @Autowired private ISessionManagerService sessionManagerService; + @Autowired + public void setSessionManagerService(ISessionManagerService sessionManagerService) { + this.sessionManagerService = sessionManagerService; + } + @PreAuthorize("hasRole('ADMIN')") @Operation(summary = "Get All logged users", description = "Caller must have the ADMIN role", diff --git a/src/main/java/com/netgrif/application/engine/orgstructure/groups/NextGroupService.java b/src/main/java/com/netgrif/application/engine/orgstructure/groups/NextGroupService.java index dfdb81121cb..5c65959cccd 100644 --- a/src/main/java/com/netgrif/application/engine/orgstructure/groups/NextGroupService.java +++ b/src/main/java/com/netgrif/application/engine/orgstructure/groups/NextGroupService.java @@ -44,37 +44,26 @@ @Slf4j public class NextGroupService implements INextGroupService { - @Autowired protected IWorkflowService workflowService; - @Autowired protected IMailService mailService; - @Autowired protected IMailAttemptService mailAttemptService; - @Autowired protected IUserService userService; - @Autowired protected IDataService dataService; - @Autowired protected IRegistrationService registrationService; - @Autowired protected IPetriNetService petriNetService; - @Autowired protected ITaskService taskService; - @Autowired protected IElasticCaseService elasticCaseService; - @Autowired protected ISecurityContextService securityContextService; - protected final static String GROUP_NET_IDENTIFIER = "org_group"; protected final static String GROUP_INIT_TASK_ID = "2"; @@ -83,6 +72,56 @@ public class NextGroupService implements INextGroupService { protected final static String GROUP_AUTHOR_FIELD = "author"; protected final static String GROUP_TITLE_FIELD = "group_name"; + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setMailService(IMailService mailService) { + this.mailService = mailService; + } + + @Autowired + public void setMailAttemptService(IMailAttemptService mailAttemptService) { + this.mailAttemptService = mailAttemptService; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setDataService(IDataService dataService) { + this.dataService = dataService; + } + + @Autowired + public void setRegistrationService(IRegistrationService registrationService) { + this.registrationService = registrationService; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setElasticCaseService(IElasticCaseService elasticCaseService) { + this.elasticCaseService = elasticCaseService; + } + + @Autowired + public void setSecurityContextService(ISecurityContextService securityContextService) { + this.securityContextService = securityContextService; + } + @Override public CreateCaseEventOutcome createDefaultSystemGroup(IUser author){ if(findDefaultGroup() != null) { diff --git a/src/main/java/com/netgrif/application/engine/orgstructure/web/GroupController.java b/src/main/java/com/netgrif/application/engine/orgstructure/web/GroupController.java index fe71caf115c..d63e3f286d1 100644 --- a/src/main/java/com/netgrif/application/engine/orgstructure/web/GroupController.java +++ b/src/main/java/com/netgrif/application/engine/orgstructure/web/GroupController.java @@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.hateoas.MediaTypes; import org.springframework.security.access.prepost.PreAuthorize; @@ -31,9 +32,10 @@ @Tag(name = "Group") public class GroupController { - private final INextGroupService service; + private INextGroupService service; - public GroupController(INextGroupService service) { + @Autowired + public void setService(INextGroupService service) { this.service = service; } diff --git a/src/main/java/com/netgrif/application/engine/orgstructure/web/LdapController.java b/src/main/java/com/netgrif/application/engine/orgstructure/web/LdapController.java index 9181d391b0c..2634a05bf64 100644 --- a/src/main/java/com/netgrif/application/engine/orgstructure/web/LdapController.java +++ b/src/main/java/com/netgrif/application/engine/orgstructure/web/LdapController.java @@ -40,9 +40,13 @@ @Tag(name = "Ldap") public class LdapController { - @Autowired protected ILdapGroupRefService service; + @Autowired + public void setService(ILdapGroupRefService service) { + this.service = service; + } + @PreAuthorize("@authorizationService.hasAuthority('ADMIN')") @Operation(summary = "Get all ldap groups", description = "Caller must have the ADMIN role", diff --git a/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfDataHelper.java b/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfDataHelper.java index 88e824d21bf..cb24c3b103c 100644 --- a/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfDataHelper.java +++ b/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfDataHelper.java @@ -26,10 +26,8 @@ @Service public class PdfDataHelper implements IPdfDataHelper { - @Autowired private ITaskService taskService; - @Autowired private IDataService dataService; @Getter @@ -70,6 +68,16 @@ public class PdfDataHelper implements IPdfDataHelper { private static final String DIVIDER = "divider"; + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setDataService(IDataService dataService) { + this.dataService = dataService; + } + @Override public void setupDataHelper(PdfResource resource) { log.info("Setting up data helper for PDF generator..."); diff --git a/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfGenerator.java b/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfGenerator.java index 22b7bceb7dc..1149ec0e8c8 100644 --- a/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfGenerator.java +++ b/src/main/java/com/netgrif/application/engine/pdf/generator/service/PdfGenerator.java @@ -35,12 +35,20 @@ public class PdfGenerator implements IPdfGenerator { private PDDocument pdf; - @Autowired private IPdfDataHelper pdfDataHelper; - @Autowired private IPdfDrawer pdfDrawer; + @Autowired + public void setPdfDataHelper(IPdfDataHelper pdfDataHelper) { + this.pdfDataHelper = pdfDataHelper; + } + + @Autowired + public void setPdfDrawer(IPdfDrawer pdfDrawer) { + this.pdfDrawer = pdfDrawer; + } + @Override public void setupPdfGenerator(PdfResource pdfResource) throws IOException { setupPdfGenerator(pdfResource, 1.4f); diff --git a/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetEventHandler.java b/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetEventHandler.java index cacc8b352f2..cf8116e15b3 100644 --- a/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetEventHandler.java +++ b/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetEventHandler.java @@ -14,9 +14,13 @@ @Component public class PetriNetEventHandler extends AbstractMongoEventListener { - @Autowired private IElasticPetriNetService service; + @Autowired + public void setService(IElasticPetriNetService service) { + this.service = service; + } + @Override public void onAfterDelete(AfterDeleteEvent event) { Document document = event.getDocument(); diff --git a/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java b/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java index ec71a83f90d..2b3fcf3a94a 100644 --- a/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java +++ b/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java @@ -71,61 +71,43 @@ @Service public class PetriNetService implements IPetriNetService { - @Autowired private IProcessRoleService processRoleService; - @Autowired private PetriNetRepository repository; - @Autowired private MongoTemplate mongoTemplate; - @Autowired private FileStorageConfiguration fileStorageConfiguration; - @Autowired private IRuleEngine ruleEngine; - @Autowired private IWorkflowService workflowService; - @Autowired private INextGroupService groupService; - @Autowired private Provider importerProvider; - @Autowired private FieldActionsRunner actionsRunner; - @Autowired(required = false) private ILdapGroupRefService ldapGroupService; - @Autowired private IFieldActionsCacheService functionCacheService; - @Autowired private IUserService userService; - @Autowired private IEventService eventService; - @Autowired private IHistoryService historyService; - @Autowired private CacheManager cacheManager; - @Autowired private CacheProperties cacheProperties; @Resource private IPetriNetService self; - @Autowired private IElasticPetriNetMappingService petriNetMappingService; - @Autowired private IUriService uriService; private IElasticPetriNetService elasticPetriNetService; @@ -135,6 +117,96 @@ public void setElasticPetriNetService(IElasticPetriNetService elasticPetriNetSer this.elasticPetriNetService = elasticPetriNetService; } + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } + + @Autowired + public void setRepository(PetriNetRepository repository) { + this.repository = repository; + } + + @Autowired + public void setMongoTemplate(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + + @Autowired + public void setFileStorageConfiguration(FileStorageConfiguration fileStorageConfiguration) { + this.fileStorageConfiguration = fileStorageConfiguration; + } + + @Autowired + public void setRuleEngine(IRuleEngine ruleEngine) { + this.ruleEngine = ruleEngine; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setGroupService(INextGroupService groupService) { + this.groupService = groupService; + } + + @Autowired + public void setImporterProvider(Provider importerProvider) { + this.importerProvider = importerProvider; + } + + @Autowired + public void setActionsRunner(FieldActionsRunner actionsRunner) { + this.actionsRunner = actionsRunner; + } + + @Autowired(required = false) + public void setLdapGroupService(ILdapGroupRefService ldapGroupService) { + this.ldapGroupService = ldapGroupService; + } + + @Autowired + public void setFunctionCacheService(IFieldActionsCacheService functionCacheService) { + this.functionCacheService = functionCacheService; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setEventService(IEventService eventService) { + this.eventService = eventService; + } + + @Autowired + public void setHistoryService(IHistoryService historyService) { + this.historyService = historyService; + } + + @Autowired + public void setCacheManager(CacheManager cacheManager) { + this.cacheManager = cacheManager; + } + + @Autowired + public void setCacheProperties(CacheProperties cacheProperties) { + this.cacheProperties = cacheProperties; + } + + @Autowired + public void setPetriNetMappingService(IElasticPetriNetMappingService petriNetMappingService) { + this.petriNetMappingService = petriNetMappingService; + } + + @Autowired + public void setUriService(IUriService uriService) { + this.uriService = uriService; + } + protected Importer getImporter() { return importerProvider.get(); } diff --git a/src/main/java/com/netgrif/application/engine/petrinet/service/ProcessRoleService.java b/src/main/java/com/netgrif/application/engine/petrinet/service/ProcessRoleService.java index b0bb3b08ab4..48a2aa5711b 100644 --- a/src/main/java/com/netgrif/application/engine/petrinet/service/ProcessRoleService.java +++ b/src/main/java/com/netgrif/application/engine/petrinet/service/ProcessRoleService.java @@ -20,6 +20,7 @@ import org.bson.types.ObjectId; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -33,27 +34,51 @@ public class ProcessRoleService implements IProcessRoleService { private static final Logger log = LoggerFactory.getLogger(ProcessRoleService.class); - private final IUserService userService; - private final ProcessRoleRepository processRoleRepository; - private final PetriNetRepository netRepository; - private final ApplicationEventPublisher publisher; - private final RoleActionsRunner roleActionsRunner; - private final IPetriNetService petriNetService; - private final ISecurityContextService securityContextService; + private IUserService userService; + private ProcessRoleRepository processRoleRepository; + private PetriNetRepository netRepository; + private ApplicationEventPublisher publisher; + private RoleActionsRunner roleActionsRunner; + private IPetriNetService petriNetService; + private ISecurityContextService securityContextService; private ProcessRole defaultRole; private ProcessRole anonymousRole; - public ProcessRoleService(ProcessRoleRepository processRoleRepository, - PetriNetRepository netRepository, - ApplicationEventPublisher publisher, RoleActionsRunner roleActionsRunner, - @Lazy IPetriNetService petriNetService, @Lazy IUserService userService, ISecurityContextService securityContextService) { + @Autowired + @Lazy + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setProcessRoleRepository(ProcessRoleRepository processRoleRepository) { this.processRoleRepository = processRoleRepository; + } + + @Autowired + public void setNetRepository(PetriNetRepository netRepository) { this.netRepository = netRepository; + } + + @Autowired + public void setPublisher(ApplicationEventPublisher publisher) { this.publisher = publisher; + } + + @Autowired + public void setRoleActionsRunner(RoleActionsRunner roleActionsRunner) { this.roleActionsRunner = roleActionsRunner; + } + + @Autowired + @Lazy + public void setPetriNetService(IPetriNetService petriNetService) { this.petriNetService = petriNetService; - this.userService = userService; + } + + @Autowired + public void setSecurityContextService(ISecurityContextService securityContextService) { this.securityContextService = securityContextService; } diff --git a/src/main/java/com/netgrif/application/engine/petrinet/web/PetriNetController.java b/src/main/java/com/netgrif/application/engine/petrinet/web/PetriNetController.java index 1f3099104dd..1b4abe46833 100644 --- a/src/main/java/com/netgrif/application/engine/petrinet/web/PetriNetController.java +++ b/src/main/java/com/netgrif/application/engine/petrinet/web/PetriNetController.java @@ -61,21 +61,41 @@ public class PetriNetController { private static final Logger log = LoggerFactory.getLogger(PetriNetController.class); - @Autowired private FileStorageConfiguration fileStorageConfiguration; - @Autowired private IPetriNetService service; - @Autowired private IProcessRoleService roleService; - @Autowired private StringToVersionConverter converter; - @Autowired private AsyncRunner asyncRunner; + @Autowired + public void setFileStorageConfiguration(FileStorageConfiguration fileStorageConfiguration) { + this.fileStorageConfiguration = fileStorageConfiguration; + } + + @Autowired + public void setService(IPetriNetService service) { + this.service = service; + } + + @Autowired + public void setRoleService(IProcessRoleService roleService) { + this.roleService = roleService; + } + + @Autowired + public void setConverter(StringToVersionConverter converter) { + this.converter = converter; + } + + @Autowired + public void setAsyncRunner(AsyncRunner asyncRunner) { + this.asyncRunner = asyncRunner; + } + @PreAuthorize("@authorizationService.hasAuthority('ADMIN')") @Operation(summary = "Import new process", description = "Caller must have the ADMIN role. Imports an entirely new process or a new version of an existing process.", diff --git a/src/main/java/com/netgrif/application/engine/petrinet/web/PublicPetriNetController.java b/src/main/java/com/netgrif/application/engine/petrinet/web/PublicPetriNetController.java index 4075a552308..2a656b67056 100644 --- a/src/main/java/com/netgrif/application/engine/petrinet/web/PublicPetriNetController.java +++ b/src/main/java/com/netgrif/application/engine/petrinet/web/PublicPetriNetController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -39,21 +40,34 @@ @RequestMapping({"/api/public/petrinet"}) public class PublicPetriNetController { - private final IPetriNetService petriNetService; + private IPetriNetService petriNetService; - private final IProcessRoleService roleService; + private IProcessRoleService roleService; - private final IUserService userService; + private IUserService userService; - private final StringToVersionConverter converter; + private StringToVersionConverter converter; - public PublicPetriNetController(IPetriNetService petriNetService, IUserService userService, StringToVersionConverter converter, IProcessRoleService roleService) { + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { this.petriNetService = petriNetService; - this.converter = converter; - this.userService = userService; + } + + @Autowired + public void setRoleService(IProcessRoleService roleService) { this.roleService = roleService; } + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setConverter(StringToVersionConverter converter) { + this.converter = converter; + } + @GetMapping(value = "/{id}", produces = MediaTypes.HAL_JSON_VALUE) @Operation(summary = "Get process by id") public PetriNetReferenceResource getOne(@PathVariable("id") String id, Locale locale) { diff --git a/src/main/java/com/netgrif/application/engine/petrinet/web/UriController.java b/src/main/java/com/netgrif/application/engine/petrinet/web/UriController.java index 2b0f851ce60..7dcfac92765 100644 --- a/src/main/java/com/netgrif/application/engine/petrinet/web/UriController.java +++ b/src/main/java/com/netgrif/application/engine/petrinet/web/UriController.java @@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.CollectionModel; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.MediaTypes; @@ -25,10 +26,10 @@ @Tag(name = "Process URI") public class UriController { - private final IUriService uriService; + private IUriService uriService; - - public UriController(IUriService uriService) { + @Autowired + public void setUriService(IUriService uriService) { this.uriService = uriService; } diff --git a/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/CaseRuleEvaluationJob.java b/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/CaseRuleEvaluationJob.java index a4f9a4975e1..42d332570b5 100644 --- a/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/CaseRuleEvaluationJob.java +++ b/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/CaseRuleEvaluationJob.java @@ -18,12 +18,20 @@ public class CaseRuleEvaluationJob extends RuleJob { private static final Logger log = LoggerFactory.getLogger(CaseRuleEvaluationJob.class); - @Autowired private IRuleEngine ruleEngine; - @Autowired private IWorkflowService workflowService; + @Autowired + public void setRuleEngine(IRuleEngine ruleEngine) { + this.ruleEngine = ruleEngine; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + @Override public void doExecute(JobExecutionContext context) { String caseId = getInstanceId(context); diff --git a/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/PetriNetRuleEvaluationJob.java b/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/PetriNetRuleEvaluationJob.java index aecea6285fa..670d2ad5938 100644 --- a/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/PetriNetRuleEvaluationJob.java +++ b/src/main/java/com/netgrif/application/engine/rules/domain/scheduled/PetriNetRuleEvaluationJob.java @@ -18,12 +18,20 @@ public class PetriNetRuleEvaluationJob extends RuleJob { private static final Logger log = LoggerFactory.getLogger(PetriNetRuleEvaluationJob.class); - @Autowired private IRuleEngine ruleEngine; - @Autowired private IPetriNetService petriNetService; + @Autowired + public void setRuleEngine(IRuleEngine ruleEngine) { + this.ruleEngine = ruleEngine; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + @Override public void doExecute(JobExecutionContext context) { String netId = getInstanceId(context); diff --git a/src/main/java/com/netgrif/application/engine/rules/service/RuleEngine.java b/src/main/java/com/netgrif/application/engine/rules/service/RuleEngine.java index 130dea6b1fc..f6cb0e574ed 100644 --- a/src/main/java/com/netgrif/application/engine/rules/service/RuleEngine.java +++ b/src/main/java/com/netgrif/application/engine/rules/service/RuleEngine.java @@ -28,9 +28,13 @@ public abstract class RuleEngine implements IRuleEngine { @Value("${rule-engine.rethrow-exceptions:#{false}}") protected boolean rethrowExceptions; - @Autowired private RuleRepository ruleRepository; + @Autowired + public void setRuleRepository(RuleRepository ruleRepository) { + this.ruleRepository = ruleRepository; + } + @Lookup protected abstract KieSession ruleEngine(); diff --git a/src/main/java/com/netgrif/application/engine/rules/service/RuleEvaluationScheduleService.java b/src/main/java/com/netgrif/application/engine/rules/service/RuleEvaluationScheduleService.java index 89a6fad447c..55b4bf009a7 100644 --- a/src/main/java/com/netgrif/application/engine/rules/service/RuleEvaluationScheduleService.java +++ b/src/main/java/com/netgrif/application/engine/rules/service/RuleEvaluationScheduleService.java @@ -23,12 +23,20 @@ public class RuleEvaluationScheduleService implements IRuleEvaluationScheduleSer private static final Logger log = LoggerFactory.getLogger(RuleEvaluationScheduleService.class); - @Autowired private Scheduler scheduler; - @Autowired private RuleRepository ruleRepository; + @Autowired + public void setScheduler(Scheduler scheduler) { + this.scheduler = scheduler; + } + + @Autowired + public void setRuleRepository(RuleRepository ruleRepository) { + this.ruleRepository = ruleRepository; + } + @Override public ScheduleOutcome scheduleRuleEvaluationForCase(Case useCase, String ruleIdentifier, TriggerBuilder triggerBuilder) throws RuleEvaluationScheduleException { return scheduleRuleEvaluationForCase(useCase, Collections.singletonList(ruleIdentifier), triggerBuilder).values().iterator().next(); diff --git a/src/main/java/com/netgrif/application/engine/security/service/EncryptionService.java b/src/main/java/com/netgrif/application/engine/security/service/EncryptionService.java index a145b2ae0a4..dc61a014ae3 100644 --- a/src/main/java/com/netgrif/application/engine/security/service/EncryptionService.java +++ b/src/main/java/com/netgrif/application/engine/security/service/EncryptionService.java @@ -11,7 +11,6 @@ @Service public class EncryptionService implements IEncryptionService { - @Autowired private StandardPBEStringEncryptor standardEncryptor; @Value("${nae.database.password}") @@ -24,6 +23,11 @@ public class EncryptionService implements IEncryptionService { private HashMap encryptors = new HashMap<>(); + @Autowired + public void setStandardEncryptor(StandardPBEStringEncryptor standardEncryptor) { + this.standardEncryptor = standardEncryptor; + } + @Override public String encrypt(String value) { return encrypt(value, standardEncryptor); diff --git a/src/main/java/com/netgrif/application/engine/settings/service/PreferencesService.java b/src/main/java/com/netgrif/application/engine/settings/service/PreferencesService.java index 3d2f8e7dbc2..73bb8aaeb1f 100644 --- a/src/main/java/com/netgrif/application/engine/settings/service/PreferencesService.java +++ b/src/main/java/com/netgrif/application/engine/settings/service/PreferencesService.java @@ -8,9 +8,13 @@ @Service public class PreferencesService implements IPreferencesService { - @Autowired private PreferencesRepository repository; + @Autowired + public void setRepository(PreferencesRepository repository) { + this.repository = repository; + } + @Override public Preferences get(String userId) { return repository.findByUserId(userId); diff --git a/src/main/java/com/netgrif/application/engine/workflow/domain/repositories/CaseRepositoryImpl.java b/src/main/java/com/netgrif/application/engine/workflow/domain/repositories/CaseRepositoryImpl.java index 88c6fc0b58d..7d36ea282e2 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/domain/repositories/CaseRepositoryImpl.java +++ b/src/main/java/com/netgrif/application/engine/workflow/domain/repositories/CaseRepositoryImpl.java @@ -24,9 +24,13 @@ @Repository("caseRepository") public abstract class CaseRepositoryImpl implements CaseRepository { - @Autowired private IPetriNetService petriNetService; + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + @Override public void customize(QuerydslBindings bindings, QCase qCase) { Authentication auth = SecurityContextHolder.getContext().getAuthentication(); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/CaseEventHandler.java b/src/main/java/com/netgrif/application/engine/workflow/service/CaseEventHandler.java index 89cb9b2b3df..730b8fe9a04 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/CaseEventHandler.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/CaseEventHandler.java @@ -16,9 +16,13 @@ public class CaseEventHandler extends AbstractMongoEventListener { private static final Logger log = LoggerFactory.getLogger(CaseEventHandler.class); - @Autowired private IElasticCaseService service; + @Autowired + public void setService(IElasticCaseService service) { + this.service = service; + } + @Override public void onAfterDelete(AfterDeleteEvent event) { Document document = event.getDocument(); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/CaseSearchService.java b/src/main/java/com/netgrif/application/engine/workflow/service/CaseSearchService.java index 0ba4cfc56d7..a639bd28ade 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/CaseSearchService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/CaseSearchService.java @@ -50,9 +50,13 @@ public class CaseSearchService extends MongoSearchService { public static final String CASE_ID = "stringId"; public static final String GROUP = "group"; - @Autowired private IPetriNetService petriNetService; + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + public Predicate buildQuery(Map requestQuery, LoggedUser user, Locale locale) { BooleanBuilder builder = new BooleanBuilder(); LoggedUser loggedOrImpersonated = user.getSelfOrImpersonated(); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/ConfigurableMenuService.java b/src/main/java/com/netgrif/application/engine/workflow/service/ConfigurableMenuService.java index ea569ad1d6a..c2113526f91 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/ConfigurableMenuService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/ConfigurableMenuService.java @@ -23,11 +23,19 @@ @Service public class ConfigurableMenuService implements IConfigurableMenuService { - @Autowired private PetriNetService petriNetService; - @Autowired private StringToVersionConverter converter; + @Autowired + public void setPetriNetService(PetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setConverter(StringToVersionConverter converter) { + this.converter = converter; + } + /** * Constructs a map that can be used as a value for any {@link com.netgrif.application.engine.petrinet.domain.dataset.MapOptionsField}. * diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java index 1cf9e643c38..e6fa03bfc9f 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/DataService.java @@ -66,34 +66,24 @@ public class DataService implements IDataService { public static final int MONGO_ID_LENGTH = 24; - @Autowired protected ApplicationEventPublisher publisher; - @Autowired protected ITaskService taskService; - @Autowired protected IWorkflowService workflowService; - @Autowired protected IUserService userService; - @Autowired protected FieldFactory fieldFactory; - @Autowired protected FieldActionsRunner actionsRunner; - @Autowired protected IEventService eventService; - @Autowired protected IHistoryService historyService; - @Autowired protected IPetriNetService petriNetService; - @Autowired protected IValidationService validation; @Value("${nae.image.preview.scaling.px:400}") @@ -102,6 +92,56 @@ public class DataService implements IDataService { @Value("${nae.validation.setData.enable:false}") protected boolean validationEnable; + @Autowired + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setFieldFactory(FieldFactory fieldFactory) { + this.fieldFactory = fieldFactory; + } + + @Autowired + public void setActionsRunner(FieldActionsRunner actionsRunner) { + this.actionsRunner = actionsRunner; + } + + @Autowired + public void setEventService(IEventService eventService) { + this.eventService = eventService; + } + + @Autowired + public void setHistoryService(IHistoryService historyService) { + this.historyService = historyService; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setValidation(IValidationService validation) { + this.validation = validation; + } + @Override public GetDataEventOutcome getData(String taskId) { Task task = taskService.findOne(taskId); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/DataValidationExpressionEvaluator.java b/src/main/java/com/netgrif/application/engine/workflow/service/DataValidationExpressionEvaluator.java index 551c53bfa81..96d7df8577a 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/DataValidationExpressionEvaluator.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/DataValidationExpressionEvaluator.java @@ -10,9 +10,13 @@ @Component public class DataValidationExpressionEvaluator implements IDataValidationExpressionEvaluator { - @Autowired protected CaseFieldsExpressionRunner runner; + @Autowired + public void setRunner(CaseFieldsExpressionRunner runner) { + this.runner = runner; + } + @Override public String compile(Case useCase, Expression expression) { return runner.run(useCase, expression).toString(); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/EventService.java b/src/main/java/com/netgrif/application/engine/workflow/service/EventService.java index 37976cd935e..f3c8096c996 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/EventService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/EventService.java @@ -15,6 +15,7 @@ import com.netgrif.application.engine.workflow.service.interfaces.IEventService; import com.netgrif.application.engine.workflow.service.interfaces.IWorkflowService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -25,12 +26,17 @@ @Service public class EventService implements IEventService { - private final FieldActionsRunner actionsRunner; + private FieldActionsRunner actionsRunner; - private final IWorkflowService workflowService; + private IWorkflowService workflowService; - public EventService(FieldActionsRunner actionsRunner, IWorkflowService workflowService) { + @Autowired + public void setActionsRunner(FieldActionsRunner actionsRunner) { this.actionsRunner = actionsRunner; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { this.workflowService = workflowService; } diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/FilterImportExportService.java b/src/main/java/com/netgrif/application/engine/workflow/service/FilterImportExportService.java index 4ea7211b54c..2350a504329 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/FilterImportExportService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/FilterImportExportService.java @@ -68,30 +68,62 @@ public class FilterImportExportService implements IFilterImportExportService { private static final String FIELD_MISSING_ALLOWED_NETS = "missing_allowed_nets"; private static final String FIELD_MISSING_NETS_TRANSLATION = "missing_nets_translation"; - @Autowired IUserService userService; - @Autowired IWorkflowService workflowService; - @Autowired IPetriNetService petriNetService; - @Autowired DefaultFiltersRunner defaultFiltersRunner; - @Autowired private ITaskService taskService; - @Autowired private IDataService dataService; - @Autowired private FileStorageConfiguration fileStorageConfiguration; - @Autowired private FilterProperties filterProperties; + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setDefaultFiltersRunner(DefaultFiltersRunner defaultFiltersRunner) { + this.defaultFiltersRunner = defaultFiltersRunner; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setDataService(IDataService dataService) { + this.dataService = dataService; + } + + @Autowired + public void setFileStorageConfiguration(FileStorageConfiguration fileStorageConfiguration) { + this.fileStorageConfiguration = fileStorageConfiguration; + } + + @Autowired + public void setFilterProperties(FilterProperties filterProperties) { + this.filterProperties = filterProperties; + } + @Override public void createFilterImport(IUser author) { workflowService.createCaseByIdentifier(IMPORT_NET_IDENTIFIER,"Import filters " + author.getFullName(), "", author.transformToLoggedUser()); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/FilterService.java b/src/main/java/com/netgrif/application/engine/workflow/service/FilterService.java index 62dd24934ab..b64b4ff0ffe 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/FilterService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/FilterService.java @@ -24,15 +24,27 @@ @Service public class FilterService implements IFilterService { - @Autowired private FilterRepository repository; - @Autowired private FilterSearchService searchService; - @Autowired private FilterAuthorizationService authenticationService; + @Autowired + public void setRepository(FilterRepository repository) { + this.repository = repository; + } + + @Autowired + public void setSearchService(FilterSearchService searchService) { + this.searchService = searchService; + } + + @Autowired + public void setAuthenticationService(FilterAuthorizationService authenticationService) { + this.authenticationService = authenticationService; + } + @Override public boolean deleteFilter(String filterId, LoggedUser user) throws UnauthorisedRequestException { Optional result = repository.findById(filterId); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/InitValueExpressionEvaluator.java b/src/main/java/com/netgrif/application/engine/workflow/service/InitValueExpressionEvaluator.java index 928f0f60f73..5ecf0adefe9 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/InitValueExpressionEvaluator.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/InitValueExpressionEvaluator.java @@ -17,9 +17,13 @@ @Service public class InitValueExpressionEvaluator implements IInitValueExpressionEvaluator { - @Autowired private CaseFieldsExpressionRunner runner; + @Autowired + public void setRunner(CaseFieldsExpressionRunner runner) { + this.runner = runner; + } + @Override public T evaluate(Case useCase, Field defaultField) { return (T) evaluate(useCase, defaultField.getInitExpression()); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/MenuImportExportService.java b/src/main/java/com/netgrif/application/engine/workflow/service/MenuImportExportService.java index 806faf5dd12..73d4ac09771 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/MenuImportExportService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/MenuImportExportService.java @@ -54,27 +54,55 @@ public class MenuImportExportService implements IMenuImportExportService { private static final String ENTRY_DEFAULT_NAME = "entry_default_name"; private static final String GROUP_NAV_TASK = "navigationMenuConfig"; - @Autowired IUserService userService; - @Autowired IWorkflowService workflowService; - @Autowired IPetriNetService petriNetService; - @Autowired DefaultFiltersRunner defaultFiltersRunner; - @Autowired private ITaskService taskService; - @Autowired private IDataService dataService; - @Autowired private IFilterImportExportService filterImportExportService; + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setDefaultFiltersRunner(DefaultFiltersRunner defaultFiltersRunner) { + this.defaultFiltersRunner = defaultFiltersRunner; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setDataService(IDataService dataService) { + this.dataService = dataService; + } + + @Autowired + public void setFilterImportExportService(IFilterImportExportService filterImportExportService) { + this.filterImportExportService = filterImportExportService; + } + /** * Method which performs export of selected menu entries with their filters into xml file. * Method finds all cases by provided ids, transform them into FilterImportExportList object diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/MongoSearchService.java b/src/main/java/com/netgrif/application/engine/workflow/service/MongoSearchService.java index b0209cf0bf2..8311f5d9f32 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/MongoSearchService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/MongoSearchService.java @@ -28,14 +28,22 @@ public class MongoSearchService { private static final String ERROR_KEY = "ERROR"; - @Autowired private IUserService userService; - @Autowired private MongoTemplate mongoTemplate; private Class tClass; + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setMongoTemplate(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + public Page search(Map searchRequest, Pageable pageable, Class clazz) { try { this.tClass = clazz; diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/TaskAuthorizationService.java b/src/main/java/com/netgrif/application/engine/workflow/service/TaskAuthorizationService.java index 3f434663c15..fc33768beab 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/TaskAuthorizationService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/TaskAuthorizationService.java @@ -17,9 +17,13 @@ @Service public class TaskAuthorizationService extends AbstractAuthorizationService implements ITaskAuthorizationService { - @Autowired ITaskService taskService; + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + @Override public Boolean userHasAtLeastOneRolePermission(LoggedUser loggedUser, String taskId, RolePermission... permissions) { return userHasAtLeastOneRolePermission(loggedUser.transformToUser(), taskService.findById(taskId), permissions); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/TaskEventHandler.java b/src/main/java/com/netgrif/application/engine/workflow/service/TaskEventHandler.java index f6dd7181708..2391088029a 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/TaskEventHandler.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/TaskEventHandler.java @@ -19,12 +19,20 @@ public class TaskEventHandler extends AbstractMongoEventListener { private static final Logger log = LoggerFactory.getLogger(TaskEventHandler.class); - @Autowired private IElasticTaskService service; - @Autowired private IElasticTaskMappingService taskMappingService; + @Autowired + public void setService(IElasticTaskService service) { + this.service = service; + } + + @Autowired + public void setTaskMappingService(IElasticTaskMappingService taskMappingService) { + this.taskMappingService = taskMappingService; + } + @Async @Override public void onAfterSave(AfterSaveEvent event) { diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/TaskSearchService.java b/src/main/java/com/netgrif/application/engine/workflow/service/TaskSearchService.java index aace6fb0348..bc2fc65f6b5 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/TaskSearchService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/TaskSearchService.java @@ -21,9 +21,13 @@ @Service public class TaskSearchService extends MongoSearchService { - @Autowired private IPetriNetService petriNetService; + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + public Predicate buildQuery(List requests, LoggedUser user, Locale locale, Boolean isIntersection) { LoggedUser loggedOrImpersonated = user.getSelfOrImpersonated(); List singleQueries = requests.stream().map(r -> this.buildSingleQuery(r, loggedOrImpersonated, locale)).collect(Collectors.toList()); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java b/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java index d750f911c1a..3453e1f093c 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/TaskService.java @@ -70,55 +70,111 @@ public class TaskService implements ITaskService { private static final Logger log = LoggerFactory.getLogger(TaskService.class); - @Autowired protected ApplicationEventPublisher publisher; - @Autowired protected TaskRepository taskRepository; - @Autowired protected IUserService userService; - @Autowired protected MongoTemplate mongoTemplate; - @Autowired protected TaskSearchService searchService; - @Autowired @Qualifier("taskScheduler") protected TaskScheduler scheduler; - @Autowired protected IWorkflowService workflowService; - @Autowired protected IDataService dataService; - @Autowired protected IProcessRoleService processRoleService; - @Autowired protected IElasticTaskMappingService taskMappingService; - @Autowired protected IEventService eventService; protected IElasticTaskService elasticTaskService; - @Autowired protected IHistoryService historyService; - @Autowired protected IValidationService validation; + private IRuleEngine ruleEngine; + @Autowired public void setElasticTaskService(IElasticTaskService elasticTaskService) { this.elasticTaskService = elasticTaskService; } @Autowired - private IRuleEngine ruleEngine; + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } + + @Autowired + public void setTaskRepository(TaskRepository taskRepository) { + this.taskRepository = taskRepository; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setMongoTemplate(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + + @Autowired + public void setSearchService(TaskSearchService searchService) { + this.searchService = searchService; + } + + @Autowired + public void setScheduler(TaskScheduler scheduler) { + this.scheduler = scheduler; + } + + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setDataService(IDataService dataService) { + this.dataService = dataService; + } + + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } + + @Autowired + public void setTaskMappingService(IElasticTaskMappingService taskMappingService) { + this.taskMappingService = taskMappingService; + } + + @Autowired + public void setEventService(IEventService eventService) { + this.eventService = eventService; + } + + @Autowired + public void setHistoryService(IHistoryService historyService) { + this.historyService = historyService; + } + + @Autowired + public void setValidation(IValidationService validation) { + this.validation = validation; + } + + @Autowired + public void setRuleEngine(IRuleEngine ruleEngine) { + this.ruleEngine = ruleEngine; + } @Override public List assignTasks(List tasks, IUser user) throws TransitionNotExecutableException { diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/UserFilterSearchService.java b/src/main/java/com/netgrif/application/engine/workflow/service/UserFilterSearchService.java index d8649a911dd..47e8bb4c322 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/UserFilterSearchService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/UserFilterSearchService.java @@ -18,12 +18,20 @@ @Service public class UserFilterSearchService implements IUserFilterSearchService { - @Autowired private IElasticCaseService caseSearchService; - @Autowired private IUserService userService; + @Autowired + public void setCaseSearchService(IElasticCaseService caseSearchService) { + this.caseSearchService = caseSearchService; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + @Override public List autocompleteFindFilters(String userInput) { Page page = this.caseSearchService.search(Collections.singletonList( diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowAuthorizationService.java b/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowAuthorizationService.java index 0027947ae27..6cbbcca965b 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowAuthorizationService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowAuthorizationService.java @@ -17,12 +17,20 @@ @Service public class WorkflowAuthorizationService extends AbstractAuthorizationService implements IWorkflowAuthorizationService { - @Autowired private IWorkflowService workflowService; - @Autowired private IPetriNetService petriNetService; + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + @Override public boolean canCallDelete(LoggedUser user, String caseId) { Case requestedCase = workflowService.findOne(caseId); diff --git a/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowService.java b/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowService.java index 113ddbcb799..d3f30238fb5 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowService.java +++ b/src/main/java/com/netgrif/application/engine/workflow/service/WorkflowService.java @@ -62,57 +62,121 @@ public class WorkflowService implements IWorkflowService { private static final Logger log = LoggerFactory.getLogger(WorkflowService.class); - @Autowired protected CaseRepository repository; - @Autowired protected MongoTemplate mongoTemplate; - @Autowired protected IPetriNetService petriNetService; - @Autowired protected IProcessRoleService processRoleService; - @Autowired protected ITaskService taskService; - @Autowired protected CaseSearchService searchService; - @Autowired protected ApplicationEventPublisher publisher; - @Autowired protected EncryptionService encryptionService; - @Autowired protected FieldFactory fieldFactory; - @Autowired protected IRuleEngine ruleEngine; - @Autowired protected FieldActionsRunner actionsRunner; - @Autowired protected IUserService userService; - @Autowired protected IInitValueExpressionEvaluator initValueExpressionEvaluator; - @Autowired protected IElasticCaseMappingService caseMappingService; - @Lazy - @Autowired private IEventService eventService; - @Autowired private IHistoryService historyService; protected IElasticCaseService elasticCaseService; + @Autowired + public void setRepository(CaseRepository repository) { + this.repository = repository; + } + + @Autowired + public void setMongoTemplate(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + + @Autowired + public void setPetriNetService(IPetriNetService petriNetService) { + this.petriNetService = petriNetService; + } + + @Autowired + public void setProcessRoleService(IProcessRoleService processRoleService) { + this.processRoleService = processRoleService; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setSearchService(CaseSearchService searchService) { + this.searchService = searchService; + } + + @Autowired + public void setPublisher(ApplicationEventPublisher publisher) { + this.publisher = publisher; + } + + @Autowired + public void setEncryptionService(EncryptionService encryptionService) { + this.encryptionService = encryptionService; + } + + @Autowired + public void setFieldFactory(FieldFactory fieldFactory) { + this.fieldFactory = fieldFactory; + } + + @Autowired + public void setRuleEngine(IRuleEngine ruleEngine) { + this.ruleEngine = ruleEngine; + } + + @Autowired + public void setActionsRunner(FieldActionsRunner actionsRunner) { + this.actionsRunner = actionsRunner; + } + + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + + @Autowired + public void setInitValueExpressionEvaluator(IInitValueExpressionEvaluator initValueExpressionEvaluator) { + this.initValueExpressionEvaluator = initValueExpressionEvaluator; + } + + @Autowired + public void setCaseMappingService(IElasticCaseMappingService caseMappingService) { + this.caseMappingService = caseMappingService; + } + + @Lazy + @Autowired + public void setEventService(IEventService eventService) { + this.eventService = eventService; + } + + @Autowired + public void setHistoryService(IHistoryService historyService) { + this.historyService = historyService; + } + @Autowired public void setElasticCaseService(IElasticCaseService elasticCaseService) { this.elasticCaseService = elasticCaseService; diff --git a/src/main/java/com/netgrif/application/engine/workflow/web/PublicWorkflowController.java b/src/main/java/com/netgrif/application/engine/workflow/web/PublicWorkflowController.java index 360dffe49f2..7f7459ef762 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/web/PublicWorkflowController.java +++ b/src/main/java/com/netgrif/application/engine/workflow/web/PublicWorkflowController.java @@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.hateoas.EntityModel; import org.springframework.hateoas.MediaTypes; @@ -33,15 +34,20 @@ @Tag(name = "Public Workflow Controller") public class PublicWorkflowController { - private final IWorkflowService workflowService; + private IWorkflowService workflowService; - private final IUserService userService; + private IUserService userService; - public PublicWorkflowController(IWorkflowService workflowService, IUserService userService) { - this.userService = userService; + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { this.workflowService = workflowService; } + @Autowired + public void setUserService(IUserService userService) { + this.userService = userService; + } + @PreAuthorize("@workflowAuthorizationService.canCallCreate(@userService.getAnonymousLogged(), #body.netId)") @PostMapping(value = "/case", consumes = "application/json;charset=UTF-8", produces = MediaTypes.HAL_JSON_VALUE) @Operation(summary = "Create new case") diff --git a/src/main/java/com/netgrif/application/engine/workflow/web/WorkflowController.java b/src/main/java/com/netgrif/application/engine/workflow/web/WorkflowController.java index fc9caae3ddc..6787493b706 100644 --- a/src/main/java/com/netgrif/application/engine/workflow/web/WorkflowController.java +++ b/src/main/java/com/netgrif/application/engine/workflow/web/WorkflowController.java @@ -66,18 +66,33 @@ public class WorkflowController { private static final Logger log = LoggerFactory.getLogger(WorkflowController.class.getName()); - @Autowired private IWorkflowService workflowService; - @Autowired private ITaskService taskService; - @Autowired private IElasticCaseService elasticCaseService; - @Autowired private IDataService dataService; + @Autowired + public void setWorkflowService(IWorkflowService workflowService) { + this.workflowService = workflowService; + } + + @Autowired + public void setTaskService(ITaskService taskService) { + this.taskService = taskService; + } + + @Autowired + public void setElasticCaseService(IElasticCaseService elasticCaseService) { + this.elasticCaseService = elasticCaseService; + } + + @Autowired + public void setDataService(IDataService dataService) { + this.dataService = dataService; + } @PreAuthorize("@workflowAuthorizationService.canCallCreate(#auth.getPrincipal(), #body.netId)") @Operation(summary = "Create new case", security = {@SecurityRequirement(name = "BasicAuth")})