Merge branch 'master' into feature_rsql_parser_suggestion

This commit is contained in:
Gaurav
2016-09-07 13:11:23 +02:00
22 changed files with 77 additions and 1080 deletions

View File

@@ -183,8 +183,8 @@ public class JpaAction extends AbstractJpaTenantAwareBaseEntity implements Actio
@Override
public void fireUpdateEvent(final DescriptorEvent descriptorEvent) {
EventBusHolder.getInstance().getEventBus().post(new ActionPropertyChangeEvent(this,
EntityPropertyChangeHelper.getChangeSet(Action.class, descriptorEvent)));
EventBusHolder.getInstance().getEventBus()
.post(new ActionPropertyChangeEvent(this, EntityPropertyChangeHelper.getChangeSet(descriptorEvent)));
}
@Override

View File

@@ -72,8 +72,6 @@ import org.eclipse.persistence.descriptors.DescriptorEvent;
public class JpaDistributionSet extends AbstractJpaNamedVersionedEntity implements DistributionSet, EventAwareEntity {
private static final long serialVersionUID = 1L;
private static final String COMPLETE_PROPERTY = "complete";
private static final String DELETED_PROPERTY = "deleted";
@Column(name = "required_migration_step")
@@ -299,8 +297,7 @@ public class JpaDistributionSet extends AbstractJpaNamedVersionedEntity implemen
@Override
public void fireUpdateEvent(final DescriptorEvent descriptorEvent) {
final Map<String, PropertyChange> changeSet = EntityPropertyChangeHelper.getChangeSet(JpaDistributionSet.class,
descriptorEvent);
final Map<String, PropertyChange> changeSet = EntityPropertyChangeHelper.getChangeSet(descriptorEvent);
EventBusHolder.getInstance().getEventBus().post(new DistributionSetUpdateEvent(this));
if (changeSet.containsKey(DELETED_PROPERTY)) {

View File

@@ -208,8 +208,8 @@ public class JpaRollout extends AbstractJpaNamedEntity implements Rollout, Event
@Override
public void fireUpdateEvent(final DescriptorEvent descriptorEvent) {
EventBusHolder.getInstance().getEventBus().post(new RolloutPropertyChangeEvent(this,
EntityPropertyChangeHelper.getChangeSet(Rollout.class, descriptorEvent)));
EventBusHolder.getInstance().getEventBus()
.post(new RolloutPropertyChangeEvent(this, EntityPropertyChangeHelper.getChangeSet(descriptorEvent)));
}

View File

@@ -247,8 +247,8 @@ public class JpaRolloutGroup extends AbstractJpaNamedEntity implements RolloutGr
@Override
public void fireUpdateEvent(final DescriptorEvent descriptorEvent) {
EventBusHolder.getInstance().getEventBus().post(new RolloutGroupPropertyChangeEvent(this,
EntityPropertyChangeHelper.getChangeSet(RolloutGroup.class, descriptorEvent)));
EventBusHolder.getInstance().getEventBus().post(
new RolloutGroupPropertyChangeEvent(this, EntityPropertyChangeHelper.getChangeSet(descriptorEvent)));
}
@Override

View File

@@ -12,7 +12,6 @@ import java.util.Map;
import java.util.stream.Collectors;
import org.eclipse.hawkbit.repository.eventbus.event.AbstractPropertyChangeEvent.PropertyChange;
import org.eclipse.hawkbit.repository.model.TenantAwareBaseEntity;
import org.eclipse.persistence.descriptors.DescriptorEvent;
import org.eclipse.persistence.internal.sessions.ObjectChangeSet;
import org.eclipse.persistence.queries.UpdateObjectQuery;
@@ -21,9 +20,12 @@ import org.eclipse.persistence.sessions.changesets.DirectToFieldChangeRecord;
/**
* Helper class to get the change set for the property changes in the Entity.
*
* @param <T>
*/
public class EntityPropertyChangeHelper<T extends TenantAwareBaseEntity> {
public final class EntityPropertyChangeHelper {
private EntityPropertyChangeHelper() {
// noop
}
/**
* To get the map of entity property change set
@@ -32,14 +34,11 @@ public class EntityPropertyChangeHelper<T extends TenantAwareBaseEntity> {
* @param event
* @return the map of the changeSet
*/
public static <T extends TenantAwareBaseEntity> Map<String, PropertyChange> getChangeSet(final Class<T> clazz,
final DescriptorEvent event) {
final T rolloutGroup = clazz.cast(event.getObject());
public static Map<String, PropertyChange> getChangeSet(final DescriptorEvent event) {
final ObjectChangeSet changeSet = ((UpdateObjectQuery) event.getQuery()).getObjectChangeSet();
return changeSet.getChanges().stream().filter(record -> record instanceof DirectToFieldChangeRecord)
.map(record -> (DirectToFieldChangeRecord) record)
.collect(Collectors.toMap(record -> record.getAttribute(),
record -> new PropertyChange(record.getOldValue(), record.getNewValue())));
}
}