@Override public Boolean doInTransaction(TransactionStatus status) { // Refresh the entity to avoid optimistic locking errors final IPortletDefinition portletDefinition = portletDefinitionRegistry.getPortletDefinition(portletDefinitionId); final Map<String, IPortletPreference> targetPortletPreferences = getTargetPortletPreferences(); final Collection<IPortletPreference> values = targetPortletPreferences.values(); final boolean modified = portletDefinition.setPortletPreferences( new ArrayList<IPortletPreference>(values)); if (!modified) { // Nothing actually changed, skip the store return Boolean.FALSE; } portletDefinitionRegistry.savePortletDefinition(portletDefinition); return Boolean.TRUE; } });
@Override public Boolean doInTransaction(TransactionStatus status) { // Refresh the entity to avoid optimistic locking errors final IPortletDefinition portletDefinition = portletDefinitionRegistry.getPortletDefinition(portletDefinitionId); final Map<String, IPortletPreference> targetPortletPreferences = getTargetPortletPreferences(); final Collection<IPortletPreference> values = targetPortletPreferences.values(); final boolean modified = portletDefinition.setPortletPreferences( new ArrayList<IPortletPreference>(values)); if (!modified) { // Nothing actually changed, skip the store return Boolean.FALSE; } portletDefinitionRegistry.savePortletDefinition(portletDefinition); return Boolean.TRUE; } });