1 7 package com.inversoft.savant.ant.taskdefs; 8 9 10 import java.io.File ; 11 import java.util.ArrayList ; 12 import java.util.List ; 13 14 import org.apache.tools.ant.BuildException; 15 import org.apache.tools.ant.Task; 16 17 18 26 public class J2EEArtifactDeployTask extends Task { 27 28 private File todir; 29 private List ears = new ArrayList (); 30 31 32 public File getTodir() { 33 return todir; 34 } 35 36 public void setTodir(File todir) { 37 this.todir = todir; 38 } 39 40 45 public void addConfiguredEar(Ear ear) { 46 String name = ear.getName(); 47 if (name == null) { 48 throw new BuildException("All ear elements must be named"); 49 } 50 51 File earDir = new File (todir, name); 52 ear.setTodir(earDir); 53 ear.setFlatten(true); 54 ears.add(ear); 55 } 56 57 60 public void execute() { 61 for (int i = 0; i < ears.size(); i++) { 62 ArtifactCopyTask act = (ArtifactCopyTask) ears.get(i); 63 act.perform(); 64 } 65 } 66 67 68 public static class Ear extends ArtifactCopyTask { 69 70 private String name; 71 private List wars = new ArrayList (); 72 73 76 public String getName() { 77 return name; 78 } 79 80 83 public void setName(String name) { 84 this.name = name; 85 } 86 87 public void addConfiguredWar(War war) { 88 String name = war.getName(); 89 if (name == null) { 90 throw new BuildException("All war elements must be named"); 91 } 92 93 war.setFlatten(true); 94 wars.add(war); 95 } 96 97 100 public void execute() { 101 for (int i = 0; i < wars.size(); i++) { 102 War war = (War) wars.get(i); 103 String warPath = war.getName() + File.separator + "WEB-INF" + 104 File.separator + "lib"; 105 File warDir = new File (super.destDir, warPath); 106 107 war.setTodir(warDir); 108 war.perform(); 109 } 110 } 111 } 112 113 public static class War extends ArtifactCopyTask { 114 115 private String name; 116 117 120 public String getName() { 121 return name; 122 } 123 124 127 public void setName(String name) { 128 this.name = name; 129 } 130 } 131 } 132 | Popular Tags |