01: /*
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2006 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: *
22: * $Id: OperSend.java 9155 2007-09-19 14:01:14Z mpreston $
23: */
24: package com.bostechcorp.cbesb.common.trn.compiler;
25:
26: import com.bostechcorp.cbesb.common.util.TabbingPrintWriter;
27:
28: public class OperSend extends OperBuiltin {
29:
30: public OperSend(String name) {
31: super (name);
32: this .builtinType = OpType.BUILTIN_OP_SEND;
33:
34: }
35:
36: protected String clearTarget = "yes";
37:
38: public String getClearTarget() {
39: return clearTarget;
40: }
41:
42: public void setClearTarget(String clearTarget) {
43: this .clearTarget = clearTarget;
44: }
45:
46: @Override
47: public void handleProperty(String propertyName, String propertyValue) {
48:
49: if (propertyName.equals("clearTarget"))
50: this .clearTarget = propertyValue;
51:
52: }
53:
54: @Override
55: public void startCode(TransformerCompiler compiler) {
56:
57: TabbingPrintWriter javaWriter = compiler.javaWriter;
58: javaWriter.println("// start send ");
59: javaWriter
60: .println("Node output = outTree.makeDomTree(targetDoc, \""
61: + compiler.outputRootNode + "\");");
62: javaWriter.println("targetDoc.appendChild(output);");
63: javaWriter
64: .println("TransformerMessage target = new TransformerMessage();");
65: javaWriter.println("target.setDocument(targetDoc);");
66: javaWriter.println("target.setMetadataMap(targetMetadataMap);");
67: javaWriter
68: .println("target.setAttachmentMap(targetAttachmentMap);");
69: javaWriter.println("outputVector.addElement(target);");
70: javaWriter.println("targetDoc=targetDocBuilder.newDocument();");
71: javaWriter
72: .println("targetDoc.setDocumentURI(outFormat.getTargetNamespace());");
73:
74: if (this .getClearTarget().equals("yes")) {
75: javaWriter.println("outTree=new RepeatNode();");
76: javaWriter
77: .println("outTree.formatModelNode=outFormatRoot;");
78: }
79:
80: }
81:
82: public void endCode(TabbingPrintWriter javaWriter) {
83:
84: javaWriter.println(" // end send ");
85: }
86:
87: }
|