From: Juergen H. <jho...@us...> - 2008-10-08 12:59:36
|
Update of /cvsroot/springframework/spring/tiger/src/org/springframework/transaction/annotation In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13360/tiger/src/org/springframework/transaction/annotation Modified Files: Ejb3TransactionAnnotationParser.java SpringTransactionAnnotationParser.java Log Message: factored out specific annotation parsing into public methods Index: Ejb3TransactionAnnotationParser.java =================================================================== RCS file: /cvsroot/springframework/spring/tiger/src/org/springframework/transaction/annotation/Ejb3TransactionAnnotationParser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Ejb3TransactionAnnotationParser.java 5 Oct 2007 20:10:17 -0000 1.1 --- Ejb3TransactionAnnotationParser.java 8 Oct 2008 12:28:16 -0000 1.2 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 38,42 **** javax.ejb.TransactionAttribute ann = ae.getAnnotation(javax.ejb.TransactionAttribute.class); if (ann != null) { ! return new Ejb3TransactionAttribute(ann.value()); } else { --- 38,42 ---- javax.ejb.TransactionAttribute ann = ae.getAnnotation(javax.ejb.TransactionAttribute.class); if (ann != null) { ! return parseTransactionAnnotation(ann); } else { *************** *** 45,48 **** --- 45,52 ---- } + public TransactionAttribute parseTransactionAnnotation(javax.ejb.TransactionAttribute ann) { + return new Ejb3TransactionAttribute(ann.value()); + } + /** Index: SpringTransactionAnnotationParser.java =================================================================== RCS file: /cvsroot/springframework/spring/tiger/src/org/springframework/transaction/annotation/SpringTransactionAnnotationParser.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SpringTransactionAnnotationParser.java 5 Oct 2007 20:10:17 -0000 1.1 --- SpringTransactionAnnotationParser.java 8 Oct 2008 12:28:16 -0000 1.2 *************** *** 1,4 **** /* ! * Copyright 2002-2007 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); --- 1,4 ---- /* ! * Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); *************** *** 37,68 **** Transactional ann = ae.getAnnotation(Transactional.class); if (ann != null) { ! RuleBasedTransactionAttribute rbta = new RuleBasedTransactionAttribute(); ! rbta.setPropagationBehavior(ann.propagation().value()); ! rbta.setIsolationLevel(ann.isolation().value()); ! rbta.setTimeout(ann.timeout()); ! rbta.setReadOnly(ann.readOnly()); ! ArrayList<RollbackRuleAttribute> rollBackRules = new ArrayList<RollbackRuleAttribute>(); ! Class[] rbf = ann.rollbackFor(); ! for (int i = 0; i < rbf.length; ++i) { ! RollbackRuleAttribute rule = new RollbackRuleAttribute(rbf[i]); ! rollBackRules.add(rule); ! } ! String[] rbfc = ann.rollbackForClassName(); ! for (int i = 0; i < rbfc.length; ++i) { ! RollbackRuleAttribute rule = new RollbackRuleAttribute(rbfc[i]); ! rollBackRules.add(rule); ! } ! Class[] nrbf = ann.noRollbackFor(); ! for (int i = 0; i < nrbf.length; ++i) { ! NoRollbackRuleAttribute rule = new NoRollbackRuleAttribute(nrbf[i]); ! rollBackRules.add(rule); ! } ! String[] nrbfc = ann.noRollbackForClassName(); ! for (int i = 0; i < nrbfc.length; ++i) { ! NoRollbackRuleAttribute rule = new NoRollbackRuleAttribute(nrbfc[i]); ! rollBackRules.add(rule); ! } ! rbta.getRollbackRules().addAll(rollBackRules); ! return rbta; } else { --- 37,41 ---- Transactional ann = ae.getAnnotation(Transactional.class); if (ann != null) { ! return parseTransactionAnnotation(ann); } else { *************** *** 71,73 **** --- 44,77 ---- } + public TransactionAttribute parseTransactionAnnotation(Transactional ann) { + RuleBasedTransactionAttribute rbta = new RuleBasedTransactionAttribute(); + rbta.setPropagationBehavior(ann.propagation().value()); + rbta.setIsolationLevel(ann.isolation().value()); + rbta.setTimeout(ann.timeout()); + rbta.setReadOnly(ann.readOnly()); + ArrayList<RollbackRuleAttribute> rollBackRules = new ArrayList<RollbackRuleAttribute>(); + Class[] rbf = ann.rollbackFor(); + for (int i = 0; i < rbf.length; ++i) { + RollbackRuleAttribute rule = new RollbackRuleAttribute(rbf[i]); + rollBackRules.add(rule); + } + String[] rbfc = ann.rollbackForClassName(); + for (int i = 0; i < rbfc.length; ++i) { + RollbackRuleAttribute rule = new RollbackRuleAttribute(rbfc[i]); + rollBackRules.add(rule); + } + Class[] nrbf = ann.noRollbackFor(); + for (int i = 0; i < nrbf.length; ++i) { + NoRollbackRuleAttribute rule = new NoRollbackRuleAttribute(nrbf[i]); + rollBackRules.add(rule); + } + String[] nrbfc = ann.noRollbackForClassName(); + for (int i = 0; i < nrbfc.length; ++i) { + NoRollbackRuleAttribute rule = new NoRollbackRuleAttribute(nrbfc[i]); + rollBackRules.add(rule); + } + rbta.getRollbackRules().addAll(rollBackRules); + return rbta; + } + } |