Skip to content

Commit e922ace

Browse files
committed
Move BaseMailActivityDelegate to engine common and CandidateUtil#extractCandidates for parsing recipients
1 parent c6dacb0 commit e922ace

File tree

4 files changed

+7
-28
lines changed

4 files changed

+7
-28
lines changed

modules/flowable-cmmn-engine/src/main/java/org/flowable/cmmn/engine/impl/behavior/impl/mail/CmmnMailActivityDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
import org.flowable.cmmn.engine.CmmnEngineConfiguration;
1919
import org.flowable.cmmn.engine.impl.util.CommandContextUtil;
2020
import org.flowable.common.engine.api.delegate.Expression;
21+
import org.flowable.common.engine.impl.mail.BaseMailActivityDelegate;
2122
import org.flowable.content.api.ContentService;
2223
import org.flowable.mail.common.api.client.FlowableMailClient;
23-
import org.flowable.mail.common.impl.BaseMailActivityDelegate;
2424

2525
/**
2626
* @author Filip Hrisafov

modules/flowable-mail/src/main/java/org/flowable/mail/common/impl/BaseMailActivityDelegate.java renamed to modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/mail/BaseMailActivityDelegate.java

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,39 +10,35 @@
1010
* See the License for the specific language governing permissions and
1111
* limitations under the License.
1212
*/
13-
package org.flowable.mail.common.impl;
13+
package org.flowable.common.engine.impl.mail;
1414

1515
import java.io.File;
1616
import java.io.IOException;
1717
import java.io.InputStream;
1818
import java.io.OutputStream;
1919
import java.nio.charset.Charset;
20-
import java.util.ArrayList;
21-
import java.util.Arrays;
2220
import java.util.Collection;
2321
import java.util.Collections;
2422

2523
import jakarta.activation.DataSource;
2624
import jakarta.activation.FileDataSource;
2725

28-
import org.apache.commons.lang3.StringUtils;
2926
import org.flowable.common.engine.api.FlowableException;
3027
import org.flowable.common.engine.api.FlowableIllegalArgumentException;
3128
import org.flowable.common.engine.api.delegate.Expression;
3229
import org.flowable.common.engine.api.variable.VariableContainer;
30+
import org.flowable.common.engine.impl.assignment.CandidateUtil;
3331
import org.flowable.content.api.ContentItem;
3432
import org.flowable.content.api.ContentService;
3533
import org.flowable.mail.common.api.MailMessage;
3634
import org.flowable.mail.common.api.MailResponse;
3735
import org.flowable.mail.common.api.SendMailRequest;
3836
import org.flowable.mail.common.api.client.ExecutableSendMailRequest;
3937
import org.flowable.mail.common.api.client.FlowableMailClient;
38+
import org.flowable.mail.common.impl.FlowableMailException;
4039
import org.slf4j.Logger;
4140
import org.slf4j.LoggerFactory;
4241

43-
import tools.jackson.databind.JsonNode;
44-
import tools.jackson.databind.node.ArrayNode;
45-
4642
/**
4743
* @param <V> The type of the variable container
4844
* @author Filip Hrisafov
@@ -230,24 +226,7 @@ protected Collection<String> parseRecipients(Expression expression, V variableCo
230226
return Collections.emptyList();
231227
}
232228
Object value = expression.getValue(variableContainer);
233-
if (value == null) {
234-
return Collections.emptyList();
235-
}
236-
if (value instanceof Collection) {
237-
return (Collection<String>) value;
238-
} else if (value instanceof ArrayNode arrayNode) {
239-
Collection<String> recipients = new ArrayList<>(arrayNode.size());
240-
for (JsonNode node : arrayNode) {
241-
recipients.add(node.asText());
242-
}
243-
return recipients;
244-
} else {
245-
String str = value.toString();
246-
if (StringUtils.isNotEmpty(str)) {
247-
return Arrays.asList(value.toString().split("[\\s]*,[\\s]*"));
248-
}
249-
}
250-
return Collections.emptyList();
229+
return CandidateUtil.extractCandidates(value);
251230
}
252231

253232
protected boolean fileExists(File file) {

modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/mail/BpmnMailActivityDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414

1515
import org.apache.commons.lang3.StringUtils;
1616
import org.flowable.common.engine.api.delegate.Expression;
17+
import org.flowable.common.engine.impl.mail.BaseMailActivityDelegate;
1718
import org.flowable.content.api.ContentService;
1819
import org.flowable.engine.delegate.DelegateExecution;
1920
import org.flowable.engine.delegate.JavaDelegate;
2021
import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl;
2122
import org.flowable.engine.impl.util.CommandContextUtil;
2223
import org.flowable.mail.common.api.client.FlowableMailClient;
23-
import org.flowable.mail.common.impl.BaseMailActivityDelegate;
2424

2525
/**
2626
* @author Filip Hrisafov

modules/flowable5-engine/src/main/java/org/activiti/engine/impl/bpmn/mail/BpmnMailActivityDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.flowable.engine.delegate.DelegateExecution;
2121
import org.flowable.engine.delegate.JavaDelegate;
2222
import org.flowable.mail.common.api.client.FlowableMailClient;
23-
import org.flowable.mail.common.impl.BaseMailActivityDelegate;
23+
import org.flowable.common.engine.impl.mail.BaseMailActivityDelegate;
2424

2525
public class BpmnMailActivityDelegate extends BaseMailActivityDelegate<DelegateExecution>
2626
implements JavaDelegate {

0 commit comments

Comments
 (0)