1 23 24 27 28 package com.sun.enterprise.ddgenerator.sun; 29 30 import java.util.*; 31 import java.io.File ; 32 33 import com.sun.enterprise.deployment.*; 34 import com.sun.enterprise.deployment.io.DescriptorConstants; 35 import com.sun.enterprise.util.io.FileUtils; 36 37 import com.sun.enterprise.deployment.archivist.*; 38 import com.sun.enterprise.deployment.deploy.shared.FileArchive; 39 import com.sun.enterprise.deployment.interfaces.*; 40 41 46 47 public class EjbModule implements DDGenerator { 48 49 private EjbBundleDescriptor ejbBundleDescriptor = null; 50 private String applicationDirectory = null; 51 52 public EjbModule () { 53 } 54 55 public EjbModule (EjbBundleDescriptor ejbBundleDescriptor, String applicationDirectory) { 56 this.ejbBundleDescriptor = ejbBundleDescriptor; 57 this.applicationDirectory = applicationDirectory; 58 } 59 60 public void setApplicationDirectory(String applicationDirectory) { 61 this.applicationDirectory = applicationDirectory; 62 } 63 64 public void setDescriptor(com.sun.enterprise.deployment.Descriptor descriptor) { 65 this.ejbBundleDescriptor = (com.sun.enterprise.deployment.EjbBundleDescriptor) descriptor; 66 } 67 68 public void generate() { 69 if (ejbBundleDescriptor == null) return; 70 71 java.util.Set ejbDescriptors = ejbBundleDescriptor.getEjbs(); 72 73 for (Iterator it = ejbDescriptors.iterator(); it.hasNext();) { 74 EjbDescriptor ejbDescriptor = (EjbDescriptor) it.next(); 75 String jndiName = ejbDescriptor.getJndiName(); 76 if ((jndiName == null) || (jndiName.length() <1)) { 77 String homeName = ejbDescriptor.getHomeClassName(); 78 ejbDescriptor.setJndiName(homeName); 79 } 80 } 81 82 } 83 84 public boolean hasSunDescriptor() { 85 86 File file = getSunDescriptorFile(); 87 88 if (file == null) return false; 89 90 if (file.exists()) { 91 return true; 92 } 93 94 return false; 95 } 96 97 public void backupSunDescriptor() { 98 99 File file = getSunDescriptorFile(); 100 101 if (file == null) return; 102 103 if (file.exists()) { 104 try { 105 FileUtils.copy(file, new File (file.getAbsolutePath() + ".bak")); 106 } catch (java.io.IOException ioe) { 107 } 108 } 109 110 } 111 112 113 private File getSunDescriptorFile () { 114 115 File file = null; 116 117 String archiveUri = ejbBundleDescriptor.getModuleDescriptor().getArchiveUri(); 118 119 String friendlyFileName = FileUtils.makeFriendlyFilename(archiveUri); 120 121 String sunXmlFileName = (applicationDirectory + File.separator + 122 friendlyFileName + File.separator + 123 com.sun.enterprise.deployment.io.DescriptorConstants.S1AS_EJB_DD_ENTRY); 124 125 file = new File (sunXmlFileName); 126 127 return file; 128 } 129 130 public static void main (String args[]) { 131 132 System.out.println("Ejb"); 133 134 String appDir = "/home/sreeni/TEMP/stateless-converterEjb_1"; 135 136 System.out.println("Press enter to continue ..."); 137 try { 138 System.in.read(); 139 } catch (java.io.IOException ioe) { 140 } 141 142 FileArchive in = new FileArchive(); 143 144 try { 145 in.open(appDir); 146 } catch (java.io.IOException ioe) { 147 } 148 149 150 EjbArchivist ejbArchivist = new EjbArchivist(); 151 ejbArchivist.setXMLValidation(false); 152 ejbArchivist.setClassLoader(null); 153 154 com.sun.enterprise.deployment.Application application = null; 155 try { 156 application = (com.sun.enterprise.deployment.Application) 157 ApplicationArchivist.openArchive(ejbArchivist, in, true); 158 } catch (java.io.IOException ioe) { 159 } catch (org.xml.sax.SAXParseException saxpe) { 160 } 161 162 com.sun.enterprise.ddgenerator.sun.Application app = 163 new com.sun.enterprise.ddgenerator.sun.Application(application, appDir); 164 165 app.generate(); 166 } 167 168 } 169 | Popular Tags |