Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Commit 0b3cffb

Browse files
authored
Merge pull request #341 from xenit-eu/master
Release 2.1.2
2 parents f8c0ff8 + 600e5ed commit 0b3cffb

File tree

4 files changed

+26
-5
lines changed

4 files changed

+26
-5
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Changelog - Dynamic Extensions for Alfresco
3-
date: 10 May 2021
3+
date: 03 February 2022
44
report: true
55
colorlinks: true
66
---
@@ -21,6 +21,10 @@ Version template:
2121
-->
2222
# Dynamic Extensions For Alfresco Changelog
2323

24+
## [2.1.2] - 2022-02-03
25+
### Fixed
26+
* [#338](https://github.com/xenit-eu/dynamic-extensions-for-alfresco/issues/338) DEVEM-499 Fix @ActionMethod usage on Alfresco 7.0
27+
2428
## [2.1.1] - 2021-09-08
2529
### Fixed
2630
* [#329](https://github.com/xenit-eu/dynamic-extensions-for-alfresco/issues/329) Reenable publishing of gradle plugin

annotations-runtime/src/main/java/com/github/dynamicextensionsalfresco/actions/AnnotationBasedActionRegistrar.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.alfresco.service.cmr.dictionary.DictionaryService;
2323
import org.alfresco.service.cmr.repository.NodeRef;
2424
import org.alfresco.service.namespace.QName;
25-
import org.apache.commons.lang.StringUtils;
2625
import org.springframework.beans.factory.BeanFactory;
2726
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
2827
import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
@@ -31,6 +30,7 @@
3130
import org.springframework.util.ClassUtils;
3231
import org.springframework.util.ReflectionUtils;
3332
import org.springframework.util.ReflectionUtils.MethodCallback;
33+
import org.springframework.util.StringUtils;
3434

3535
/**
3636
* Manages annotation-based Actions in a {@link BeanFactory}.
@@ -229,7 +229,8 @@ protected ActionMethodMapping resolveActionMethodMapping(final Object bean, fina
229229
}
230230
final boolean mandatory = actionParameter.mandatory();
231231
final String displayLabel = actionParameter.displayLabel();
232-
final String constraintName = StringUtils.stripToNull(actionParameter.constraintName());
232+
String trimmedConstraintName = StringUtils.trimWhitespace(actionParameter.constraintName());
233+
final String constraintName = trimmedConstraintName.isEmpty() ? null : trimmedConstraintName;
233234
final ParameterDefinition parameterDefinition = new ParameterDefinitionImpl(name,
234235
dataType.getName(), mandatory, displayLabel, multivalued, constraintName);
235236
parameterDefinitions.add(parameterDefinition);
@@ -249,7 +250,7 @@ protected ActionMethodMapping resolveActionMethodMapping(final Object bean, fina
249250

250251
private DataTypeDefinition getDataType(final Class<?> clazz, final ActionParam actionParameter) {
251252
final DataTypeDefinition dataType;
252-
if (StringUtils.isNotEmpty(actionParameter.type())) {
253+
if (!StringUtils.isEmpty(actionParameter.type())) {
253254
dataType = getDictionaryService().getDataType(parseQName(actionParameter.type(), actionParameter));
254255
if (dataType == null) {
255256
throw new RuntimeException(String.format("Invalid or unknown DataType: %s", actionParameter.type()));

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def copyPropertyValueIfExists(sourcePropertyName, targetPropertyName) {
3232

3333
allprojects {
3434
group = 'eu.xenit.de'
35-
version = '2.1.1'
35+
version = '2.1.2'
3636

3737
boolean isRelease = ci.branch?.startsWith("release")
3838
if (!isRelease) {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package eu.xenit.de.testing.actions;
2+
3+
import com.github.dynamicextensionsalfresco.actions.annotations.ActionMethod;
4+
import com.github.dynamicextensionsalfresco.actions.annotations.ActionParam;
5+
import org.alfresco.service.cmr.repository.NodeRef;
6+
import org.springframework.stereotype.Component;
7+
8+
@Component
9+
public class TestAction {
10+
11+
@ActionMethod(value = "testAction")
12+
public void testAction(final NodeRef nodeRef, @ActionParam("name") final String name) {
13+
throw new UnsupportedOperationException();
14+
}
15+
16+
}

0 commit comments

Comments
 (0)