diff --git a/source/java/org/alfresco/repo/transaction/TransactionUtil.java b/source/java/org/alfresco/repo/transaction/TransactionUtil.java index e43a858907..a18ea58457 100644 --- a/source/java/org/alfresco/repo/transaction/TransactionUtil.java +++ b/source/java/org/alfresco/repo/transaction/TransactionUtil.java @@ -16,9 +16,11 @@ */ package org.alfresco.repo.transaction; +import javax.transaction.RollbackException; import javax.transaction.Status; import javax.transaction.UserTransaction; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.service.transaction.TransactionService; import org.alfresco.util.ParameterCheck; import org.apache.commons.logging.Log; @@ -137,6 +139,13 @@ public class TransactionUtil txn.commit(); } } + catch (RollbackException exception) + { + // commit failed + throw new AlfrescoRuntimeException( + "Unexpected rollback of exception: \n" + exception.getMessage(), + exception); + } catch (Throwable exception) { try diff --git a/source/java/org/alfresco/service/cmr/repository/datatype/DefaultTypeConverter.java b/source/java/org/alfresco/service/cmr/repository/datatype/DefaultTypeConverter.java index c6e6383a0f..4d47639484 100644 --- a/source/java/org/alfresco/service/cmr/repository/datatype/DefaultTypeConverter.java +++ b/source/java/org/alfresco/service/cmr/repository/datatype/DefaultTypeConverter.java @@ -235,6 +235,19 @@ public class DefaultTypeConverter }); + // + // From enum + // + + INSTANCE.addConverter(Enum.class, String.class, new TypeConverter.Converter() + { + public String convert(Enum source) + { + return source.toString(); + } + }); + + // // Number to Subtypes and Date //