From 32992cbbff6980e809a2e98972d820e0857d0786 Mon Sep 17 00:00:00 2001 From: Arne Burmeister Date: Tue, 30 Aug 2022 16:05:58 +0200 Subject: [PATCH] #80 add template supporting labels --- .../TransactionAttributeTemplate.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/com/arangodb/springframework/transaction/TransactionAttributeTemplate.java diff --git a/src/main/java/com/arangodb/springframework/transaction/TransactionAttributeTemplate.java b/src/main/java/com/arangodb/springframework/transaction/TransactionAttributeTemplate.java new file mode 100644 index 000000000..1a6daa718 --- /dev/null +++ b/src/main/java/com/arangodb/springframework/transaction/TransactionAttributeTemplate.java @@ -0,0 +1,41 @@ +package com.arangodb.springframework.transaction; + +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.interceptor.TransactionAttribute; +import org.springframework.transaction.support.TransactionTemplate; + +import java.util.Collection; +import java.util.Collections; + +public class TransactionAttributeTemplate extends TransactionTemplate implements TransactionAttribute { + + private String qualifier; + private Collection labels = Collections.emptyList(); + + public TransactionAttributeTemplate(PlatformTransactionManager transactionManager) { + super(transactionManager); + } + + @Override + public String getQualifier() { + return qualifier; + } + + public void setQualifier(String qualifier) { + this.qualifier = qualifier; + } + + @Override + public Collection getLabels() { + return labels; + } + + public void setLabels(Collection labels) { + this.labels = labels; + } + + @Override + public boolean rollbackOn(Throwable ex) { + return (ex instanceof RuntimeException || ex instanceof Error); + } +}