1 19 20 package org.netbeans.modules.j2ee.deployment.config; 21 22 import java.io.File ; 23 import java.util.ArrayList ; 24 import java.util.Collection ; 25 import java.util.Iterator ; 26 import java.util.List ; 27 import org.netbeans.modules.j2ee.deployment.devmodules.spi.ConfigurationFilesListener; 28 import org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider; 29 import org.netbeans.modules.j2ee.deployment.impl.Server; 30 import org.netbeans.modules.j2ee.deployment.impl.ServerRegistry; 31 import org.openide.filesystems.FileObject; 32 33 36 public class ConfigFilesListener extends AbstractFilesListener { 37 List consumers; 39 public ConfigFilesListener(J2eeModuleProvider provider, List consumers) { 40 super(provider); 41 this.consumers = consumers; 42 } 43 44 protected File [] getTargetFiles() { 45 Collection servers = ServerRegistry.getInstance().getServers(); 47 ArrayList result = new ArrayList (); 48 for (Iterator i=servers.iterator(); i.hasNext();) { 49 Server s = (Server) i.next(); 50 String [] paths = s.getDeploymentPlanFiles(provider.getJ2eeModule().getModuleType()); 51 if (paths == null) 52 continue; 53 54 for (int j = 0; j < paths.length; j++) { 55 File f = provider.getDeploymentConfigurationFile(paths[j]); 56 if (f != null) 57 result.add(f); 58 } 59 } 60 return (File []) result.toArray(new File [result.size()]); 61 } 62 63 protected void targetDeleted(FileObject deleted) { 64 fireConfigurationFilesChanged(false, deleted); 65 } 66 67 protected void targetCreated(FileObject added) { 68 fireConfigurationFilesChanged(true, added); 69 } 70 71 protected void targetChanged(FileObject deleted) { 72 } 73 74 private void fireConfigurationFilesChanged(boolean added, FileObject fo) { 75 for (Iterator i=consumers.iterator(); i.hasNext();) { 76 ConfigurationFilesListener cfl = (ConfigurationFilesListener) i.next(); 77 if (added) { 78 cfl.fileCreated(fo); 79 } else { 80 cfl.fileDeleted(fo); 81 } 82 } 83 } 84 85 protected boolean isTarget(FileObject fo) { 86 return isTarget(fo.getNameExt()); 87 } 88 protected boolean isTarget(String fileName) { 89 return ServerRegistry.getInstance().isConfigFileName(fileName, provider.getJ2eeModule().getModuleType()); 90 } 91 } 92 | Popular Tags |