You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by sh...@apache.org on 2017/10/16 10:07:05 UTC
incubator-unomi git commit: DMF-2028 Multiple regressions since last
deployment - Make sure even properties that have no type are still updated.
Repository: incubator-unomi
Updated Branches:
refs/heads/master fe4d27b89 -> a6b1e3a94
DMF-2028 Multiple regressions since last deployment
- Make sure even properties that have no type are still updated.
Signed-off-by: Serge Huber <sh...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-unomi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-unomi/commit/a6b1e3a9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-unomi/tree/a6b1e3a9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-unomi/diff/a6b1e3a9
Branch: refs/heads/master
Commit: a6b1e3a94b2afdb19dc392f7bb9ad1fa986b5df4
Parents: fe4d27b
Author: Serge Huber <sh...@apache.org>
Authored: Mon Oct 16 12:06:52 2017 +0200
Committer: Serge Huber <sh...@apache.org>
Committed: Mon Oct 16 12:06:52 2017 +0200
----------------------------------------------------------------------
.../baseplugin/actions/SetPropertyAction.java | 2 +-
.../actions/UpdateProfilePropertiesAction.java | 23 +++++++++++---------
2 files changed, 14 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/a6b1e3a9/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
----------------------------------------------------------------------
diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
index 8da3b0f..ed857bd 100644
--- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
+++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
@@ -46,7 +46,7 @@ public class SetPropertyAction implements ActionExecutor {
Object setPropertyValueMultiple = action.getParameterValues().get("setPropertyValueMultiple");
Object setPropertyValueBoolean = action.getParameterValues().get("setPropertyValueBoolean");
- Event updateProfileProperties = new Event("updateProfileProperties", null, event.getProfile(), null, null, event.getProfile(), new Date());
+ Event updateProfileProperties = new Event("updateProfileProperties", event.getSession(), event.getProfile(), event.getScope(), null, event.getProfile(), new Date());
updateProfileProperties.setPersistent(false);
if (propertyValue == null) {
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/a6b1e3a9/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/UpdateProfilePropertiesAction.java
----------------------------------------------------------------------
diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/UpdateProfilePropertiesAction.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/UpdateProfilePropertiesAction.java
index d39eb0f..4a68a3b 100644
--- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/UpdateProfilePropertiesAction.java
+++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/UpdateProfilePropertiesAction.java
@@ -33,7 +33,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.regex.Pattern;
public class UpdateProfilePropertiesAction implements ActionExecutor {
@@ -64,10 +63,14 @@ public class UpdateProfilePropertiesAction implements ActionExecutor {
Map<String, Object> propsToAdd = (HashMap<String, Object>) event.getProperties().get(PROPS_TO_ADD);
if (propsToAdd != null) {
for (String prop : propsToAdd.keySet()) {
- String[] splitPropName = prop.split(Pattern.quote("."));
- PropertyType propType = profileService.getPropertyType(splitPropName[splitPropName.length - 1]);
+ PropertyType propType = null;
+ if (prop.startsWith("properties.")) {
+ propType = profileService.getPropertyType(prop.substring("properties.".length()));
+ }
if (propType != null) {
isProfileUpdated |= PropertyHelper.setProperty(target, prop, PropertyHelper.getValueByTypeId(propsToAdd.get(prop), propType.getValueTypeId()), "setIfMissing");
+ } else {
+ isProfileUpdated |= PropertyHelper.setProperty(target, prop, propsToAdd.get(prop), "setIfMissing");
}
}
}
@@ -75,10 +78,14 @@ public class UpdateProfilePropertiesAction implements ActionExecutor {
Map<String, Object> propsToUpdate = (HashMap<String, Object>) event.getProperties().get(PROPS_TO_UPDATE);
if (propsToUpdate != null) {
for (String prop : propsToUpdate.keySet()) {
- String[] splitPropName = prop.split(Pattern.quote("."));
- PropertyType propType = profileService.getPropertyType(splitPropName[splitPropName.length - 1]);
+ PropertyType propType = null;
+ if (prop.startsWith("properties.")) {
+ propType = profileService.getPropertyType(prop.substring("properties.".length()));
+ }
if (propType != null) {
isProfileUpdated |= PropertyHelper.setProperty(target, prop, PropertyHelper.getValueByTypeId(propsToUpdate.get(prop), propType.getValueTypeId()), "alwaysSet");
+ } else {
+ isProfileUpdated |= PropertyHelper.setProperty(target, prop, propsToUpdate.get(prop), "alwaysSet");
}
}
}
@@ -86,11 +93,7 @@ public class UpdateProfilePropertiesAction implements ActionExecutor {
List<String> propsToDelete = (List<String>) event.getProperties().get(PROPS_TO_DELETE);
if (propsToDelete != null) {
for (String prop : propsToDelete) {
- String[] splitPropName = prop.split(Pattern.quote("."));
- PropertyType propType = profileService.getPropertyType(splitPropName[splitPropName.length - 1]);
- if (propType != null) {
- isProfileUpdated |= PropertyHelper.setProperty(target, prop, null, "remove");
- }
+ isProfileUpdated |= PropertyHelper.setProperty(target, prop, null, "remove");
}
}