Skip to content

Commit 9b6fb7a

Browse files
authored
Bump Micronaut to version 4.4.1 (#20)
1 parent 467c618 commit 9b6fb7a

File tree

52 files changed

+143
-91
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+143
-91
lines changed

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/camunda/MicronautBeanResolver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ public MicronautBeanResolver(ApplicationContext applicationContext) {
3030

3131
@Override
3232
public boolean containsKey(Object key) {
33-
log.trace("Looking up key {} in {}", key, getKeySet());
33+
log.debug("Looking up key {} in {}", key, getKeySet());
3434
return key instanceof String && getKeySet().contains(key);
3535
}
3636

3737
@Override
3838
public Object get(Object key) {
3939
if (key instanceof String) {
40-
log.trace("Looking up bean {} in {}", key, getKeySet());
40+
log.debug("Looking up bean {} in {}", key, getKeySet());
4141
Qualifier<Object> qualifier = Qualifiers.byName((String) key);
4242
if (applicationContext.containsBean(Object.class, qualifier)) {
4343
return applicationContext.getBean(Object.class, qualifier);

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/camunda/MicronautElResolver.java

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,28 @@
11
package com.jongsoft.finance.bpmn.camunda;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import io.micronaut.context.ApplicationContext;
5+
import io.micronaut.core.type.Argument;
46
import io.micronaut.inject.qualifiers.Qualifiers;
57
import org.camunda.bpm.engine.ProcessEngineException;
68
import org.camunda.bpm.impl.juel.jakarta.el.ELContext;
79
import org.camunda.bpm.impl.juel.jakarta.el.ELResolver;
10+
import org.slf4j.Logger;
11+
import org.slf4j.LoggerFactory;
812

913
import java.beans.FeatureDescriptor;
1014
import java.util.Iterator;
15+
import java.util.Optional;
1116

1217
/**
1318
* This ELResolver implementation allows to resolve beans from the Micronaut application-context.
1419
*/
1520
public class MicronautElResolver extends ELResolver {
1621

22+
private static final Argument<JavaBean> TYPE = Argument.of(JavaBean.class);
23+
24+
private static final Logger log = LoggerFactory.getLogger(MicronautElResolver.class);
25+
1726
protected final ApplicationContext applicationContext;
1827

1928
public MicronautElResolver(ApplicationContext applicationContext) {
@@ -23,13 +32,11 @@ public MicronautElResolver(ApplicationContext applicationContext) {
2332
@Override
2433
public Object getValue(ELContext context, Object base, Object property) {
2534
if (base == null) {
26-
// according to javadoc, can only be a String
27-
var key = (String) property;
28-
29-
var qualifier = Qualifiers.byName(key);
30-
if (applicationContext.containsBean(Object.class, qualifier)) {
35+
log.debug("Looking up bean '{}' in Micronaut application-context", property);
36+
var resolvedBean = getBeanForKey(property.toString());
37+
if (resolvedBean.isPresent()) {
3138
context.setPropertyResolved(true);
32-
return applicationContext.getBean(Object.class, qualifier);
39+
return resolvedBean.get();
3340
}
3441
}
3542

@@ -43,12 +50,10 @@ public boolean isReadOnly(ELContext context, Object base, Object property) {
4350

4451
@Override
4552
public void setValue(ELContext context, Object base, Object property, Object value) {
46-
if (base == null) {
47-
var key = (String) property;
48-
if (applicationContext.containsBean(Object.class, Qualifiers.byName(key))) {
49-
throw new ProcessEngineException("Cannot set value of '" + property +
50-
"', it resolves to a bean defined in the Micronaut application-context.");
51-
}
53+
if (base == null && !applicationContext.containsBean(TYPE, Qualifiers.byName(property.toString()))) {
54+
throw new ProcessEngineException("Cannot set value of '"
55+
+ property +
56+
"', it resolves to a bean defined in the Micronaut application-context.");
5257
}
5358
}
5459

@@ -67,4 +72,12 @@ public Class<?> getType(ELContext context, Object arg1, Object arg2) {
6772
return Object.class;
6873
}
6974

75+
private Optional<?> getBeanForKey(String key) {
76+
if (applicationContext.containsBean(TYPE, Qualifiers.byName(key))) {
77+
return Optional.of(applicationContext.getBean(TYPE, Qualifiers.byName(key)));
78+
}
79+
80+
return Optional.empty();
81+
}
82+
7083
}

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/ComputeBalanceDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.domain.core.EntityRef;
45
import com.jongsoft.finance.factory.FilterFactory;
56
import com.jongsoft.finance.providers.TransactionProvider;
@@ -17,7 +18,7 @@
1718

1819
@Slf4j
1920
@Singleton
20-
public class ComputeBalanceDelegate implements JavaDelegate {
21+
public class ComputeBalanceDelegate implements JavaDelegate, JavaBean {
2122

2223
private final FilterFactory filterFactory;
2324
private final TransactionProvider transactionProvider;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/PropertyConversionDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import jakarta.inject.Singleton;
45
import org.camunda.bpm.engine.delegate.DelegateExecution;
56
import org.camunda.bpm.engine.delegate.JavaDelegate;
@@ -10,7 +11,7 @@
1011
import static org.slf4j.LoggerFactory.getLogger;
1112

1213
@Singleton
13-
public class PropertyConversionDelegate implements JavaDelegate {
14+
public class PropertyConversionDelegate implements JavaDelegate, JavaBean {
1415

1516
private static final Logger log = getLogger(PropertyConversionDelegate.class);
1617

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/account/AccountSynonymLookupDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.account;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.domain.account.Account;
45
import com.jongsoft.finance.providers.AccountProvider;
56
import jakarta.inject.Singleton;
@@ -26,7 +27,7 @@
2627
*/
2728
@Slf4j
2829
@Singleton
29-
public class AccountSynonymLookupDelegate implements JavaDelegate {
30+
public class AccountSynonymLookupDelegate implements JavaDelegate, JavaBean {
3031

3132
private final AccountProvider accountProvider;
3233

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/account/ProcessAccountCreationDelegate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.jongsoft.finance.ProcessMapper;
44
import com.jongsoft.finance.StorageService;
5+
import com.jongsoft.finance.core.JavaBean;
56
import com.jongsoft.finance.domain.account.Account;
67
import com.jongsoft.finance.providers.AccountProvider;
78
import com.jongsoft.finance.security.CurrentUserProvider;
@@ -26,7 +27,7 @@
2627
*/
2728
@Slf4j
2829
@Singleton
29-
public class ProcessAccountCreationDelegate implements JavaDelegate {
30+
public class ProcessAccountCreationDelegate implements JavaDelegate, JavaBean {
3031

3132
private final CurrentUserProvider userProvider;
3233
private final AccountProvider accountProvider;
@@ -79,7 +80,6 @@ public void execute(DelegateExecution execution) {
7980

8081
if (accountJson.getIcon() != null) {
8182
account.registerIcon(storageService.store(Hex.decode(accountJson.getIcon())));
82-
;
8383
}
8484
});
8585
});

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/account/ProcessAccountLookupDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.account;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.domain.account.Account;
45
import com.jongsoft.finance.factory.FilterFactory;
56
import com.jongsoft.finance.providers.AccountProvider;
@@ -26,7 +27,7 @@
2627
*/
2728
@Slf4j
2829
@Singleton
29-
public class ProcessAccountLookupDelegate implements JavaDelegate {
30+
public class ProcessAccountLookupDelegate implements JavaDelegate, JavaBean {
3031

3132
private final AccountProvider accountProvider;
3233
private final FilterFactory accountFilterFactory;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/account/ReconcileAccountDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.account;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.core.SystemAccountTypes;
45
import com.jongsoft.finance.core.exception.StatusException;
56
import com.jongsoft.finance.domain.account.Account;
@@ -32,7 +33,7 @@
3233
*/
3334
@Slf4j
3435
@Singleton
35-
public class ReconcileAccountDelegate implements JavaDelegate {
36+
public class ReconcileAccountDelegate implements JavaDelegate, JavaBean {
3637

3738
private final AccountProvider accountProvider;
3839
private final TransactionCreationHandler creationHandler;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/budget/ProcessBudgetAnalysisDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jongsoft.finance.bpmn.delegate.budget;
22

33
import com.jongsoft.finance.core.DateUtils;
4+
import com.jongsoft.finance.core.JavaBean;
45
import com.jongsoft.finance.domain.core.EntityRef;
56
import com.jongsoft.finance.domain.user.Budget;
67
import com.jongsoft.finance.factory.FilterFactory;
@@ -28,7 +29,7 @@
2829
*/
2930
@Slf4j
3031
@Singleton
31-
public class ProcessBudgetAnalysisDelegate implements JavaDelegate {
32+
public class ProcessBudgetAnalysisDelegate implements JavaDelegate, JavaBean {
3233

3334
private final TransactionProvider transactionProvider;
3435
private final FilterFactory filterFactory;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/budget/ProcessBudgetCreateDelegate.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jongsoft.finance.bpmn.delegate.budget;
22

33
import com.jongsoft.finance.ProcessMapper;
4+
import com.jongsoft.finance.core.JavaBean;
45
import com.jongsoft.finance.domain.user.Budget;
56
import com.jongsoft.finance.messaging.EventBus;
67
import com.jongsoft.finance.messaging.commands.budget.CloseBudgetCommand;
@@ -27,17 +28,14 @@
2728
*/
2829
@Slf4j
2930
@Singleton
30-
public class ProcessBudgetCreateDelegate implements JavaDelegate {
31+
public class ProcessBudgetCreateDelegate implements JavaDelegate, JavaBean {
3132

32-
private final CurrentUserProvider currentUserProvider;
3333
private final BudgetProvider budgetProvider;
3434
private final ProcessMapper mapper;
3535

3636
ProcessBudgetCreateDelegate(
37-
CurrentUserProvider currentUserProvider,
3837
BudgetProvider budgetProvider,
3938
ProcessMapper mapper) {
40-
this.currentUserProvider = currentUserProvider;
4139
this.budgetProvider = budgetProvider;
4240
this.mapper = mapper;
4341
}

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/budget/ProcessBudgetLookupDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.budget;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.domain.user.Budget;
45
import com.jongsoft.finance.factory.FilterFactory;
56
import com.jongsoft.finance.providers.ExpenseProvider;
@@ -21,7 +22,7 @@
2122
*/
2223
@Slf4j
2324
@Singleton
24-
public class ProcessBudgetLookupDelegate implements JavaDelegate {
25+
public class ProcessBudgetLookupDelegate implements JavaDelegate, JavaBean {
2526

2627
private final FilterFactory filterFactory;
2728
private final ExpenseProvider expenseProvider;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/budget/ProcessBudgetMonthSelect.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.budget;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.providers.BudgetProvider;
45
import jakarta.inject.Inject;
56
import jakarta.inject.Singleton;
@@ -9,7 +10,7 @@
910

1011
@Slf4j
1112
@Singleton
12-
public class ProcessBudgetMonthSelect implements JavaDelegate {
13+
public class ProcessBudgetMonthSelect implements JavaDelegate, JavaBean {
1314

1415
private final BudgetProvider budgetProvider;
1516

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/category/ProcessCategoryLookupDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.category;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.domain.user.Category;
45
import com.jongsoft.finance.providers.CategoryProvider;
56
import jakarta.inject.Singleton;
@@ -27,7 +28,7 @@
2728
*/
2829
@Slf4j
2930
@Singleton
30-
public class ProcessCategoryLookupDelegate implements JavaDelegate {
31+
public class ProcessCategoryLookupDelegate implements JavaDelegate, JavaBean {
3132

3233
private final CategoryProvider categoryProvider;
3334

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/category/ProcessCreateCategoryDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jongsoft.finance.bpmn.delegate.category;
22

33
import com.jongsoft.finance.ProcessMapper;
4+
import com.jongsoft.finance.core.JavaBean;
45
import com.jongsoft.finance.domain.user.Category;
56
import com.jongsoft.finance.providers.CategoryProvider;
67
import com.jongsoft.finance.security.CurrentUserProvider;
@@ -24,7 +25,7 @@
2425
*/
2526
@Slf4j
2627
@Singleton
27-
public class ProcessCreateCategoryDelegate implements JavaDelegate {
28+
public class ProcessCreateCategoryDelegate implements JavaDelegate, JavaBean {
2829

2930
private final CurrentUserProvider currentUserProvider;
3031
private final CategoryProvider categoryProvider;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/contract/ProcessContractCreateDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.jongsoft.finance.ProcessMapper;
44
import com.jongsoft.finance.StorageService;
5+
import com.jongsoft.finance.core.JavaBean;
56
import com.jongsoft.finance.providers.AccountProvider;
67
import com.jongsoft.finance.providers.ContractProvider;
78
import com.jongsoft.finance.serialized.ContractJson;
@@ -14,7 +15,7 @@
1415

1516
@Slf4j
1617
@Singleton
17-
public class ProcessContractCreateDelegate implements JavaDelegate {
18+
public class ProcessContractCreateDelegate implements JavaDelegate, JavaBean {
1819

1920
private final AccountProvider accountProvider;
2021
private final ContractProvider contractProvider;

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/contract/ProcessContractLookupDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.contract;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.domain.account.Contract;
45
import com.jongsoft.finance.providers.ContractProvider;
56
import jakarta.inject.Singleton;
@@ -9,7 +10,7 @@
910

1011
@Slf4j
1112
@Singleton
12-
public class ProcessContractLookupDelegate implements JavaDelegate {
13+
public class ProcessContractLookupDelegate implements JavaDelegate, JavaBean {
1314

1415
private final ContractProvider contractProvider;
1516

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/importer/AccountRuleDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.importer;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import com.jongsoft.finance.core.RuleColumn;
45
import com.jongsoft.finance.domain.account.Account;
56
import com.jongsoft.finance.rule.RuleDataSet;
@@ -12,7 +13,7 @@
1213

1314
@Slf4j
1415
@Singleton
15-
public class AccountRuleDelegate implements JavaDelegate {
16+
public class AccountRuleDelegate implements JavaDelegate, JavaBean {
1617

1718
private final RuleEngine ruleEngine;
1819

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/importer/ImportAccountExtractorDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jongsoft.finance.bpmn.delegate.importer;
22

3+
import com.jongsoft.finance.core.JavaBean;
34
import lombok.extern.slf4j.Slf4j;
45
import org.camunda.bpm.engine.delegate.DelegateExecution;
56
import org.camunda.bpm.engine.delegate.JavaDelegate;
@@ -17,7 +18,7 @@
1718
* <p>
1819
*/
1920
@Slf4j
20-
public class ImportAccountExtractorDelegate implements JavaDelegate {
21+
public class ImportAccountExtractorDelegate implements JavaDelegate, JavaBean {
2122

2223
@Override
2324
public void execute(DelegateExecution execution) throws Exception {

bpmn-process/src/main/java/com/jongsoft/finance/bpmn/delegate/importer/ImportFinishedDelegate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.jongsoft.finance.bpmn.delegate.importer;
22

33
import com.jongsoft.finance.StorageService;
4+
import com.jongsoft.finance.core.JavaBean;
45
import com.jongsoft.finance.providers.ImportProvider;
56
import jakarta.inject.Singleton;
67
import lombok.extern.slf4j.Slf4j;
@@ -13,7 +14,7 @@
1314

1415
@Slf4j
1516
@Singleton
16-
public class ImportFinishedDelegate implements JavaDelegate {
17+
public class ImportFinishedDelegate implements JavaDelegate, JavaBean {
1718

1819
private final StorageService storageService;
1920
private final ImportProvider importProvider;

0 commit comments

Comments
 (0)