1 package org.netbeans.modules.j2ee.sun.ide.j2ee; 2 20 25 26 import java.io.File ; 27 import java.io.FileFilter ; 28 import java.io.FileInputStream ; 29 import java.io.FileOutputStream ; 30 import java.io.IOException ; 31 import java.io.OutputStream ; 32 import java.io.PrintWriter ; 33 import java.text.MessageFormat ; 34 import java.util.ResourceBundle ; 35 36 import org.netbeans.modules.j2ee.deployment.common.api.SourceFileMap; 37 import org.netbeans.modules.j2ee.sun.dd.api.DDProvider; 38 import org.netbeans.modules.j2ee.sun.dd.api.serverresources.*; 39 import org.netbeans.modules.j2ee.sun.api.ServerInterface; 40 import org.netbeans.modules.j2ee.sun.api.SunDeploymentManagerInterface; 41 import org.netbeans.modules.j2ee.sun.ide.sunresources.beans.ResourceUtils; 42 43 import org.openide.filesystems.FileObject; 44 import org.openide.filesystems.FileUtil; 45 46 50 public class Utils { 51 52 static final ResourceBundle bundle = ResourceBundle.getBundle("org.netbeans.modules.j2ee.sun.ide.j2ee.Bundle"); static final File [] EMPTY_FILE_LIST = new File [0]; 54 55 56 public Utils() { 57 } 58 59 66 67 public static File createTempPasswordFile(String password, String masterPassword){ 68 69 OutputStream output=null; 70 PrintWriter p =null; 71 try { 72 File file = File.createTempFile("admin",null); file.deleteOnExit(); 74 output = new FileOutputStream (file); 75 p = new PrintWriter (output); 76 p.println("AS_ADMIN_ADMINPASSWORD="+ password); p.println("AS_ADMIN_PASSWORD="+ password); p.println("AS_ADMIN_MASTERPASSWORD="+ masterPassword); return file; 80 } catch(IOException e) { 81 return null; 82 83 } finally { 84 try { 85 if (p!=null) { 86 p.close(); 87 } 88 } catch (Exception ex) { 89 return null; 90 } 91 } 92 } 93 94 95 public static Object getResource(java.io.File primaryFile) { 96 Resources resources = getResourceGraph(primaryFile); 97 98 JdbcConnectionPool[] pools = resources.getJdbcConnectionPool(); 100 if(pools.length != 0){ 101 return pools[0]; 102 } 103 JdbcResource[] dataSources = resources.getJdbcResource(); 105 if(dataSources.length != 0){ 106 return dataSources[0]; 107 } 108 return null; 109 } 110 111 public static String getResourceType(Resources resources) { 112 PersistenceManagerFactoryResource[] pmfResources = resources.getPersistenceManagerFactoryResource(); 114 if(pmfResources.length != 0){ 115 return "persistence-manager-factory-resource"; 116 } 117 MailResource[] mailResources = resources.getMailResource(); 119 if(mailResources.length != 0){ 120 return "mail-resource"; 121 } 122 ConnectorResource[] connResources = resources.getConnectorResource(); 124 ConnectorConnectionPool[] connPoolResources = resources.getConnectorConnectionPool(); 125 AdminObjectResource[] admObjResources = resources.getAdminObjectResource(); 126 if(admObjResources.length != 0 ||(connPoolResources.length != 0 && connResources.length != 0)){ 127 return "jms-resource"; 128 } 129 return null; 130 } 131 132 public static void setTopManagerStatus(String msg){ 133 org.openide.awt.StatusDisplayer.getDefault().setStatusText(msg); 134 } 135 136 137 public static File [] getResourceDirs(javax.enterprise.deploy.model.DeployableObject deployableObject){ 138 try{ 139 SourceFileMap sourceFileMap = SourceFileMap.findSourceMap(deployableObject); 140 if (sourceFileMap != null) { 141 return sourceFileMap.getEnterpriseResourceDirs(); 142 } 143 }catch(Exception exception){ 144 System.out.println(exception.getMessage()); 145 } 146 return EMPTY_FILE_LIST; 147 } 148 149 150 public static File [] getResourceDirs(File file){ 151 try{ 152 FileObject fo = FileUtil.toFileObject(file); 153 SourceFileMap sourceFileMap = SourceFileMap.findSourceMap(fo); 154 if (sourceFileMap != null) 155 return sourceFileMap.getEnterpriseResourceDirs(); 156 }catch(Exception exception){ 157 System.out.println(exception.getMessage()); 158 } 159 return EMPTY_FILE_LIST; 160 } 161 162 163 public static void registerResources(java.io.File [] resourceDirs, ServerInterface mejb){ 164 System.out.println(bundle.getString("Msg_ProjResRegisterStart")); try{ 166 SunDeploymentManagerInterface sunDm = (SunDeploymentManagerInterface)mejb.getDeploymentManager(); 167 for (int j=0; j<resourceDirs.length; j++){ 168 File resourceDir = resourceDirs[j]; 169 File [] resources = null; 170 171 if(resourceDir != null){ 172 resources = resourceDir.listFiles(new ResourceFileFilter()); 173 } 174 175 File resource = null; 176 Object sunResource = null; 177 if(resources != null){ 178 for(int i=0; i<resources.length; i++ ){ 180 resource = resources[i]; 181 if((resource != null) && (!resource.isDirectory())){ 182 sunResource = Utils.getResource(resource); 183 if(sunResource != null && sunResource instanceof JdbcConnectionPool){ 184 JdbcConnectionPool connectionPoolBean =(JdbcConnectionPool)sunResource; 185 ResourceUtils.register(connectionPoolBean, mejb, true); 186 } 187 } 188 } 190 for(int i=0; i<resources.length; i++ ){ 192 resource = resources[i]; 193 if((resource != null) && (!resource.isDirectory())){ 194 sunResource = Utils.getResource(resource); 195 if(sunResource != null && sunResource instanceof JdbcResource){ 196 JdbcResource datasourceBean = (JdbcResource)sunResource; 197 ResourceUtils.register(datasourceBean, mejb, true); 198 } 199 } 200 } 202 for(int i=0; i<resources.length; i++ ){ 204 resource = resources[i]; 205 if((resource != null) && (!resource.isDirectory())){ 206 Resources res = getResourceGraph(resource); 207 String resourceType = Utils.getResourceType(res); 208 if(resourceType != null){ 209 ResourceUtils.register(res, sunDm, true, resourceType); 210 } 211 } 212 } } 214 } 215 }catch(Exception ex){ 216 String errorMsg = MessageFormat.format(bundle.getString( "Msg_RegFailure"), new Object []{ex.getLocalizedMessage()}); System.out.println(errorMsg); 218 } 219 System.out.println(bundle.getString("Msg_ProjResRegisterFinish")); } 221 222 223 public static class ResourceFileFilter implements FileFilter { 224 public boolean accept(File f) { 225 return f.isDirectory() || f.getName().toLowerCase().endsWith(".sun-resource"); } 227 } 228 229 static Resources getResourceGraph(java.io.File primaryFile) { 230 Resources resources = null; 231 try { 232 if((! primaryFile.isDirectory())){ 233 FileInputStream in = new FileInputStream (primaryFile); 234 235 resources = DDProvider.getDefault().getResourcesGraph(in); 236 } 237 }catch(Exception ex){} 238 return resources; 239 } 240 241 242 } 243 | Popular Tags |