1 package org.nanocontainer.deployer; 2 3 import org.apache.commons.vfs.FileObject; 4 import org.apache.commons.vfs.FileSystemException; 5 import org.picocontainer.Startable; 6 7 11 public class DeployingFolderListener implements FolderListener, Startable { 12 private final Deployer deployer; 13 private final DifferenceAnalysingFolderContentHandler handler; 14 15 public DeployingFolderListener(Deployer deployer, DifferenceAnalysingFolderContentHandler handler) { 16 this.deployer = deployer; 17 this.handler = handler; 18 } 19 20 public void folderAdded(FileObject folder) { 21 try { 22 deployer.deploy(folder, getClass().getClassLoader(), null); 23 } catch (FileSystemException e) { 24 throw new DeploymentException(e); 25 } catch (ClassNotFoundException e) { 26 throw new DeploymentException(e); 27 } 28 } 29 30 public void folderRemoved(FileObject fileObject) { 31 32 } 33 34 public void start() { 35 handler.addFolderListener(this); 36 } 37 38 public void stop() { 39 handler.removeFolderListener(this); 40 } 41 } | Popular Tags |