1 28 29 package com.caucho.ejb.gen; 30 31 import com.caucho.bytecode.JMethod; 32 import com.caucho.java.JavaWriter; 33 import com.caucho.java.gen.BaseMethod; 34 import com.caucho.util.L10N; 35 36 import java.io.IOException ; 37 38 41 public class ManyToOneSetter extends BaseMethod { 42 private static final L10N L = new L10N(ManyToOneSetter.class); 43 44 private JMethod _method; 45 private String _implClassName; 46 47 public ManyToOneSetter(JMethod method, 48 String implClassName) 49 { 50 super(method); 51 52 _method = method; 53 _implClassName = implClassName; 54 } 55 56 61 public void generateCall(JavaWriter out, String []args) 62 throws IOException 63 { 64 out.println("com.caucho.ejb.xa.TransactionContext xa = _xaManager.beginRequired();"); 65 out.println(); 66 67 out.println("try {"); 68 out.println(" Bean ptr = _context._ejb_begin(xa, false, true);"); 69 70 String methodName = _method.getName(); 71 72 out.println(" if (" + args[0] + " != null) {"); 73 out.println(" ptr._amber_" + methodName + "(" + args[0] + ".getId());"); 74 out.println(" } else {"); 75 out.println(" ptr._amber_" + methodName + "(null);"); 76 out.println(" }"); 77 78 out.println("} finally {"); 79 out.println(" xa.commit();"); 80 out.println("}"); 81 } 82 } 83 | Popular Tags |