You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ni...@apache.org on 2007/04/25 16:57:24 UTC

svn commit: r532377 [3/3] - in /jakarta/commons/proper/jci/trunk: compilers/eclipse/src/main/java/org/apache/commons/jci/compilers/ compilers/eclipse/src/test/java/org/apache/commons/jci/compilers/ compilers/groovy/src/main/java/org/apache/commons/jci/...

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/commandline/CommandlineCompiler.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/commandline/CommandlineCompiler.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/commandline/CommandlineCompiler.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/commandline/CommandlineCompiler.java Wed Apr 25 07:57:21 2007
@@ -48,137 +48,137 @@
     
     public static void main( String[] args ) throws Exception {
 
-		final Options options = new Options();
-		
-		options.addOption(
-				OptionBuilder.withArgName("a.jar:b.jar")
-					.hasArg()
-					.withValueSeparator( ':' )
-					.withDescription("Specify where to find user class files")
-					.create( "classpath" ));
-
-		options.addOption(
-				OptionBuilder.withArgName("release")
-					.hasArg()
-					.withDescription("Provide source compatibility with specified release")
-					.create( "source" ));
-
-		options.addOption(
-				OptionBuilder.withArgName("release")
-					.hasArg()
-					.withDescription("Generate class files for specific VM version")
-					.create( "target" ));
-
-		options.addOption(
-				OptionBuilder.withArgName("path")
-					.hasArg()
-					.withDescription("Specify where to find input source files")
-					.create( "sourcepath" ));
-
-		options.addOption(
-				OptionBuilder.withArgName("directory")
-					.hasArg()
-					.withDescription("Specify where to place generated class files")
-					.create( "d" ));
-
-		options.addOption(
-				OptionBuilder.withArgName("num")
-					.hasArg()
-					.withDescription("Stop compilation after these number of errors")
-					.create( "Xmaxerrs" ));
-
-		options.addOption(
-				OptionBuilder.withArgName("num")
-					.hasArg()
-					.withDescription("Stop compilation after these number of warning")
-					.create( "Xmaxwarns" ));
-
-		options.addOption(
-				OptionBuilder.withDescription("Generate no warnings")
-					.create( "nowarn" ));
-		
-//		final HelpFormatter formatter = new HelpFormatter();
-//		formatter.printHelp("jci", options);
-		
-		final CommandLineParser parser = new GnuParser();
-		final CommandLine cmd = parser.parse(options, args, true);
-
-		ClassLoader classloader = CommandlineCompiler.class.getClassLoader();
-		File sourcepath = new File(".");
-		File targetpath = new File(".");
-		int maxerrs = 10;
-		int maxwarns = 10;
-		final boolean nowarn = cmd.hasOption("nowarn");
-		
-		
-		final JavaCompiler compiler = new JavaCompilerFactory().createCompiler("eclipse");		
-		final JavaCompilerSettings settings = compiler.createDefaultSettings();
-		
-		
-		for (Iterator it = cmd.iterator(); it.hasNext();) {
-			final Option option = (Option) it.next();
-			
-			if ("classpath".equals(option.getOpt())) {
-				final String[] values = option.getValues();
-				final URL[] urls = new URL[values.length];
-				for (int i = 0; i < urls.length; i++) {
-					urls[i] = new File(values[i]).toURL();
-				}
-				classloader = new URLClassLoader(urls);
-			} else if ("source".equals(option.getOpt())) {
-				settings.setSourceVersion(option.getValue());
-			} else if ("target".equals(option.getOpt())) {
-				settings.setTargetVersion(option.getValue());
-			} else if ("sourcepath".equals(option.getOpt())) {
-				sourcepath = new File(option.getValue());
-			} else if ("d".equals(option.getOpt())) {
-				targetpath = new File(option.getValue());
-			} else if ("Xmaxerrs".equals(option.getOpt())) {
-				maxerrs = Integer.parseInt(option.getValue());
-			} else if ("Xmaxwarns".equals(option.getOpt())) {
-				maxwarns = Integer.parseInt(option.getValue());
-			}
-		}
-		
+        final Options options = new Options();
+
+        options.addOption(
+                OptionBuilder.withArgName("a.jar:b.jar")
+                    .hasArg()
+                    .withValueSeparator( ':' )
+                    .withDescription("Specify where to find user class files")
+                    .create( "classpath" ));
+
+        options.addOption(
+                OptionBuilder.withArgName("release")
+                    .hasArg()
+                    .withDescription("Provide source compatibility with specified release")
+                    .create( "source" ));
+
+        options.addOption(
+                OptionBuilder.withArgName("release")
+                    .hasArg()
+                    .withDescription("Generate class files for specific VM version")
+                    .create( "target" ));
+
+        options.addOption(
+                OptionBuilder.withArgName("path")
+                    .hasArg()
+                    .withDescription("Specify where to find input source files")
+                    .create( "sourcepath" ));
+
+        options.addOption(
+                OptionBuilder.withArgName("directory")
+                    .hasArg()
+                    .withDescription("Specify where to place generated class files")
+                    .create( "d" ));
+
+        options.addOption(
+                OptionBuilder.withArgName("num")
+                    .hasArg()
+                    .withDescription("Stop compilation after these number of errors")
+                    .create( "Xmaxerrs" ));
+
+        options.addOption(
+                OptionBuilder.withArgName("num")
+                    .hasArg()
+                    .withDescription("Stop compilation after these number of warning")
+                    .create( "Xmaxwarns" ));
+
+        options.addOption(
+                OptionBuilder.withDescription("Generate no warnings")
+                    .create( "nowarn" ));
+
+//        final HelpFormatter formatter = new HelpFormatter();
+//        formatter.printHelp("jci", options);
+
+        final CommandLineParser parser = new GnuParser();
+        final CommandLine cmd = parser.parse(options, args, true);
+
+        ClassLoader classloader = CommandlineCompiler.class.getClassLoader();
+        File sourcepath = new File(".");
+        File targetpath = new File(".");
+        int maxerrs = 10;
+        int maxwarns = 10;
+        final boolean nowarn = cmd.hasOption("nowarn");
+
+
+        final JavaCompiler compiler = new JavaCompilerFactory().createCompiler("eclipse");
+        final JavaCompilerSettings settings = compiler.createDefaultSettings();
+
+
+        for (Iterator it = cmd.iterator(); it.hasNext();) {
+            final Option option = (Option) it.next();
+
+            if ("classpath".equals(option.getOpt())) {
+                final String[] values = option.getValues();
+                final URL[] urls = new URL[values.length];
+                for (int i = 0; i < urls.length; i++) {
+                    urls[i] = new File(values[i]).toURL();
+                }
+                classloader = new URLClassLoader(urls);
+            } else if ("source".equals(option.getOpt())) {
+                settings.setSourceVersion(option.getValue());
+            } else if ("target".equals(option.getOpt())) {
+                settings.setTargetVersion(option.getValue());
+            } else if ("sourcepath".equals(option.getOpt())) {
+                sourcepath = new File(option.getValue());
+            } else if ("d".equals(option.getOpt())) {
+                targetpath = new File(option.getValue());
+            } else if ("Xmaxerrs".equals(option.getOpt())) {
+                maxerrs = Integer.parseInt(option.getValue());
+            } else if ("Xmaxwarns".equals(option.getOpt())) {
+                maxwarns = Integer.parseInt(option.getValue());
+            }
+        }
+
         final ResourceReader reader = new FileResourceReader(sourcepath);
         final ResourceStore store = new FileResourceStore(targetpath);
         
         final int maxErrors = maxerrs;
         final int maxWarnings = maxwarns;
         compiler.setCompilationProblemHandler(new CompilationProblemHandler() {
-        	int errors = 0;
-        	int warnings = 0;
-			public boolean handle(final CompilationProblem pProblem) {				
-
-				if (pProblem.isError()) {
-					System.err.println(pProblem);				
-
-					errors++;
-
-					if (errors >= maxErrors) {
-						return false;
-					}
-				} else {
-					if (!nowarn) {
-						System.err.println(pProblem);				
-					}
-					
-					warnings++;
-
-					if (warnings >= maxWarnings) {
-						return false;
-					}
-				}
-				
-				return true;
-			}        	
+            int errors = 0;
+            int warnings = 0;
+            public boolean handle(final CompilationProblem pProblem) {
+
+                if (pProblem.isError()) {
+                    System.err.println(pProblem);
+
+                    errors++;
+
+                    if (errors >= maxErrors) {
+                        return false;
+                    }
+                } else {
+                    if (!nowarn) {
+                        System.err.println(pProblem);
+                    }
+
+                    warnings++;
+
+                    if (warnings >= maxWarnings) {
+                        return false;
+                    }
+                }
+
+                return true;
+            }
         });
         
         final String[] resource = cmd.getArgs();
         
         for (int i = 0; i < resource.length; i++) {
-			System.out.println("compiling " + resource[i]);
-		}
+            System.out.println("compiling " + resource[i]);
+        }
         
         final CompilationResult result = compiler.compile(resource, reader, store, classloader);
         

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Configurable.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Configurable.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Configurable.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Configurable.java Wed Apr 25 07:57:21 2007
@@ -20,7 +20,7 @@
 import java.util.Properties;
 
 public interface Configurable {
-	
-	void configure( Properties properties ) throws ConfigurationException;
+
+    void configure( Properties properties ) throws ConfigurationException;
 
 }

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationException.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationException.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationException.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationException.java Wed Apr 25 07:57:21 2007
@@ -19,6 +19,6 @@
 
 public class ConfigurationException extends Exception {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
 }

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationReloading.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationReloading.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationReloading.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/ConfigurationReloading.java Wed Apr 25 07:57:21 2007
@@ -35,57 +35,57 @@
  */
 public final class ConfigurationReloading {
 
-	private final FilesystemAlterationMonitor fam = new FilesystemAlterationMonitor();
-	
-	private void run(String[] args) {
-		
-		final File configFile = new File("some.properties");
-
-		System.out.println("Watching " + configFile.getAbsolutePath());
-		
-		final Collection configurables = new ArrayList();
-		
-		final FilesystemAlterationListener listener = new FileChangeListener() {
-			public void onStop(FilesystemAlterationObserver pObserver) {
-				super.onStop(pObserver);
-				
-				if (hasChanged()) {
-					System.out.println("Configuration change detected " + configFile);
-
-					final Properties props = new Properties();
-					try {
-						
-						props.load(new FileInputStream(configFile));
-
-						System.out.println("Notifying about configuration change " + configFile);
-
-						for (Iterator it = configurables.iterator(); it.hasNext();) {
-							final Configurable configurable = (Configurable) it.next();
-							configurable.configure(props);
-						}
-						
-					} catch (Exception e) {
-						System.err.println("Failed to load configuration " + configFile);
-					}
-
-				}
-			}			
-		};
-		
-		fam.addListener(configFile, listener);			
+    private final FilesystemAlterationMonitor fam = new FilesystemAlterationMonitor();
+
+    private void run(String[] args) {
+
+        final File configFile = new File("some.properties");
+
+        System.out.println("Watching " + configFile.getAbsolutePath());
+
+        final Collection configurables = new ArrayList();
+
+        final FilesystemAlterationListener listener = new FileChangeListener() {
+            public void onStop(FilesystemAlterationObserver pObserver) {
+                super.onStop(pObserver);
+
+                if (hasChanged()) {
+                    System.out.println("Configuration change detected " + configFile);
+
+                    final Properties props = new Properties();
+                    try {
+
+                        props.load(new FileInputStream(configFile));
+
+                        System.out.println("Notifying about configuration change " + configFile);
+
+                        for (Iterator it = configurables.iterator(); it.hasNext();) {
+                            final Configurable configurable = (Configurable) it.next();
+                            configurable.configure(props);
+                        }
+
+                    } catch (Exception e) {
+                        System.err.println("Failed to load configuration " + configFile);
+                    }
+
+                }
+            }
+        };
+
+        fam.addListener(configFile, listener);
 		fam.start();
 
 		configurables.add(new Something());
-		
-		while(true) {
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-	
-	public static void main(String[] args) {
-		new ConfigurationReloading().run(args);
-	}
+
+        while(true) {
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+        }
+    }
+
+    public static void main(String[] args) {
+        new ConfigurationReloading().run(args);
+    }
 }

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Something.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Something.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Something.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/configuration/Something.java Wed Apr 25 07:57:21 2007
@@ -21,8 +21,8 @@
 
 public class Something implements Configurable {
 
-	public void configure( Properties properties ) throws ConfigurationException {
-		System.out.println("Configuration changed");
-	}
+    public void configure( Properties properties ) throws ConfigurationException {
+        System.out.println("Configuration changed");
+    }
 
 }

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspGenerator.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspGenerator.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspGenerator.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspGenerator.java Wed Apr 25 07:57:21 2007
@@ -33,134 +33,134 @@
  */
 public final class JspGenerator {
 
-	private String quote( final String s ) {
-		
-		final StringBuffer sb = new StringBuffer();
-		final char[] input = s.toCharArray();
-		
-		for (int i = 0; i < input.length; i++) {
-			final char c = input[i];
-			if (c == '"') {
-				sb.append('\\');
-			}
-			if (c == '\\') {
-				sb.append('\\');
-			}
-			
-			if (c == '\n') {
-				sb.append("\");\n").append("    out.write(\"");
-				continue;
-			}
-			sb.append(c);
-		}
-		
-		return sb.toString();
-	}
-	
-	private void wrap( final StringBuffer pInput, final Writer pOutput ) throws IOException {
-		
-		pOutput.append("    out.write(\"");
-		
-		pOutput.append(quote(pInput.toString()));
-
-		pOutput.append("\");").append('\n');
-	}
-	
-	public byte[] generateJavaSource( final  String pResourceName, final File pFile ) {
-
-		try {
-			final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-			final Reader input = new InputStreamReader(new FileInputStream(pFile));
-			final Writer output = new OutputStreamWriter(outputStream);
-			
-			final int p = pResourceName.lastIndexOf('/');
-
-			final String className;
-			final String packageName;
-
-			if (p < 0) {
-				className = ConversionUtils.stripExtension(pResourceName);
-				packageName = "";
-			} else {
-				className = ConversionUtils.stripExtension(pResourceName.substring(p+1));
-				packageName = pResourceName.substring(0, p).replace('/', '.');
-				output.append("package ").append(packageName).append(";").append('\n');				
-			}
-			
-			
-			output.append("import java.io.PrintWriter;").append('\n');
-			output.append("import java.io.IOException;").append('\n');
-			output.append("import javax.servlet.http.HttpServlet;").append('\n');
-			output.append("import javax.servlet.http.HttpServletRequest;").append('\n');
-			output.append("import javax.servlet.http.HttpServletResponse;").append('\n');
-			output.append("import javax.servlet.ServletException;").append('\n');
-			output.append("public class ").append(className).append(" extends HttpServlet {").append('\n');
-			output.append("  protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {").append('\n');
-			output.append("    final PrintWriter out = response.getWriter();").append('\n');
-			
-			
-			final char[] open = "<?".toCharArray();
-			final char[] close = "?>".toCharArray();
-
-			StringBuffer sb = new StringBuffer();
-			char[] watch = open;
-			int w = 0;
-			while(true) {
-				int c = input.read();
-				
-				if (c < 0) {
-					break;
-				}
-
-				if (c == watch[w]) {
-					w++;
-					if (watch.length == w) {
-						if (watch == open) {
-							// found open
-							
-							wrap(sb, output);
-
-							sb = new StringBuffer();
-							watch = close;
-						} else if (watch == close) {
-							// found close
-
-							// <? ... ?> is java
-							output.append(sb.toString());
-							
-							sb = new StringBuffer();
-							watch = open;
-						}
-						w = 0;
-					}
-				} else {
-					if (w > 0) {
-						sb.append(watch, 0, w);
-					}
-
-					sb.append((char)c);
-
-					w = 0;
-				}
-			}
-
-			if (watch == open) {
-				wrap(sb, output);
-			}
-
-			
-			output.append("    out.close();").append('\n');
-			output.append("    out.flush();").append('\n');
-			output.append("  }").append('\n');
-			output.append("}").append('\n');
-			
-			
-			output.close();
-			
-			return outputStream.toByteArray();
-		} catch (IOException e) {
-			return null;
-		}
-	}
+    private String quote( final String s ) {
+
+        final StringBuffer sb = new StringBuffer();
+        final char[] input = s.toCharArray();
+
+        for (int i = 0; i < input.length; i++) {
+            final char c = input[i];
+            if (c == '"') {
+                sb.append('\\');
+            }
+            if (c == '\\') {
+                sb.append('\\');
+            }
+
+            if (c == '\n') {
+                sb.append("\");\n").append("    out.write(\"");
+                continue;
+            }
+            sb.append(c);
+        }
+
+        return sb.toString();
+    }
+
+    private void wrap( final StringBuffer pInput, final Writer pOutput ) throws IOException {
+
+        pOutput.append("    out.write(\"");
+
+        pOutput.append(quote(pInput.toString()));
+
+        pOutput.append("\");").append('\n');
+    }
+
+    public byte[] generateJavaSource( final  String pResourceName, final File pFile ) {
+
+        try {
+            final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+            final Reader input = new InputStreamReader(new FileInputStream(pFile));
+            final Writer output = new OutputStreamWriter(outputStream);
+
+            final int p = pResourceName.lastIndexOf('/');
+
+            final String className;
+            final String packageName;
+
+            if (p < 0) {
+                className = ConversionUtils.stripExtension(pResourceName);
+                packageName = "";
+            } else {
+                className = ConversionUtils.stripExtension(pResourceName.substring(p+1));
+                packageName = pResourceName.substring(0, p).replace('/', '.');
+                output.append("package ").append(packageName).append(";").append('\n');
+            }
+
+
+            output.append("import java.io.PrintWriter;").append('\n');
+            output.append("import java.io.IOException;").append('\n');
+            output.append("import javax.servlet.http.HttpServlet;").append('\n');
+            output.append("import javax.servlet.http.HttpServletRequest;").append('\n');
+            output.append("import javax.servlet.http.HttpServletResponse;").append('\n');
+            output.append("import javax.servlet.ServletException;").append('\n');
+            output.append("public class ").append(className).append(" extends HttpServlet {").append('\n');
+            output.append("  protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {").append('\n');
+            output.append("    final PrintWriter out = response.getWriter();").append('\n');
+
+
+            final char[] open = "<?".toCharArray();
+            final char[] close = "?>".toCharArray();
+
+            StringBuffer sb = new StringBuffer();
+            char[] watch = open;
+            int w = 0;
+            while(true) {
+                int c = input.read();
+
+                if (c < 0) {
+                    break;
+                }
+
+                if (c == watch[w]) {
+                    w++;
+                    if (watch.length == w) {
+                        if (watch == open) {
+                            // found open
+
+                            wrap(sb, output);
+
+                            sb = new StringBuffer();
+                            watch = close;
+                        } else if (watch == close) {
+                            // found close
+
+                            // <? ... ?> is java
+                            output.append(sb.toString());
+
+                            sb = new StringBuffer();
+                            watch = open;
+                        }
+                        w = 0;
+                    }
+                } else {
+                    if (w > 0) {
+                        sb.append(watch, 0, w);
+                    }
+
+                    sb.append((char)c);
+
+                    w = 0;
+                }
+            }
+
+            if (watch == open) {
+                wrap(sb, output);
+            }
+
+
+            output.append("    out.close();").append('\n');
+            output.append("    out.flush();").append('\n');
+            output.append("  }").append('\n');
+            output.append("}").append('\n');
+
+
+            output.close();
+
+            return outputStream.toByteArray();
+        } catch (IOException e) {
+            return null;
+        }
+    }
 
 }

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspReader.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspReader.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspReader.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/JspReader.java Wed Apr 25 07:57:21 2007
@@ -26,34 +26,34 @@
  */
 public final class JspReader implements ResourceReader {
 
-	private final Map sources;
-	private final ResourceReader reader;
-	
-	
-	public JspReader( final Map pSources, final ResourceReader pReader ) {
-		reader = pReader;
-		sources = pSources;
-	}
-	
-	
-	public byte[] getBytes( String pResourceName ) {
-
-		final byte[] bytes = (byte[]) sources.get(pResourceName);
-		
-		if (bytes != null) {
-			return bytes;
-		}
-
-		return reader.getBytes(pResourceName);		
-	}
-
-	public boolean isAvailable( String pResourceName ) {
-
-		if (sources.containsKey(pResourceName)) {
-			return true;
-		}
-		
-		return reader.isAvailable(pResourceName);
-	}
+    private final Map sources;
+    private final ResourceReader reader;
+
+
+    public JspReader( final Map pSources, final ResourceReader pReader ) {
+        reader = pReader;
+        sources = pSources;
+    }
+
+
+    public byte[] getBytes( String pResourceName ) {
+
+        final byte[] bytes = (byte[]) sources.get(pResourceName);
+
+        if (bytes != null) {
+            return bytes;
+        }
+
+        return reader.getBytes(pResourceName);
+    }
+
+    public boolean isAvailable( String pResourceName ) {
+
+        if (sources.containsKey(pResourceName)) {
+            return true;
+        }
+
+        return reader.isAvailable(pResourceName);
+    }
 
 }

Modified: jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/ServerPageServlet.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/ServerPageServlet.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/ServerPageServlet.java (original)
+++ jakarta/commons/proper/jci/trunk/examples/src/main/java/org/apache/commons/jci/examples/serverpages/ServerPageServlet.java Wed Apr 25 07:57:21 2007
@@ -53,194 +53,194 @@
  */
 public final class ServerPageServlet extends HttpServlet {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	private final ReloadingClassLoader classloader = new ReloadingClassLoader(ServerPageServlet.class.getClassLoader());
-	private FilesystemAlterationMonitor fam;
-	private CompilingListener jspListener; 
-
-	private Map servletsByClassname = new HashMap();
-
-	public void init() throws ServletException {
-		super.init();
-		
-		final File serverpagesDir = new File(getServletContext().getRealPath("/") + getInitParameter("serverpagesDir"));
-		
-		log("Monitoring serverpages in " + serverpagesDir);
-		
-		final TransactionalResourceStore store = new TransactionalResourceStore(new MemoryResourceStore()) {
-
-			private Set newClasses;
-			private Map newServletsByClassname;
-			
-			public void onStart() {
-				super.onStart();
-
-				newClasses = new HashSet();
-				newServletsByClassname = new HashMap(servletsByClassname);				
-			}
-
-			public void onStop() {
-				super.onStop();
-
-				boolean reload = false;
-				for (Iterator it = newClasses.iterator(); it.hasNext();) {
-					final String clazzName = (String) it.next();
-					
-					try {
-						final Class clazz = classloader.loadClass(clazzName);
-
-						if (!HttpServlet.class.isAssignableFrom(clazz)) {
-							log(clazzName + " is not a servlet");
-							continue;
-						}
-
-					    // create new instance of jsp page
-						final HttpServlet servlet = (HttpServlet) clazz.newInstance();
-						newServletsByClassname.put(clazzName, servlet);
-
-						reload = true;
-					} catch(Exception e) {
-						log("", e);
-					}					
-				}
-
-				if (reload) {
-					log("Activating new map of servlets "+ newServletsByClassname);
-					servletsByClassname = newServletsByClassname;					
-				}
-			}
-
-			public void write(String pResourceName, byte[] pResourceData) {
-				super.write(pResourceName, pResourceData);
-				
-				if (pResourceName.endsWith(".class")) {
-
-				    // compiler writes a new class, remember the classes to reload
-					newClasses.add(pResourceName.replace('/', '.').substring(0, pResourceName.length() - ".class".length()));
-				}
-			}
-			
-		};
-		
-		// listener that generates the java code from the jsp page and provides that to the compiler
-		jspListener = new CompilingListener(new JavaCompilerFactory().createCompiler("eclipse"), store) {
-
-			private final JspGenerator transformer = new JspGenerator();
-			private final Map sources = new HashMap();
-			private final Set resourceToCompile = new HashSet();
-
-			public void onStart(FilesystemAlterationObserver pObserver) {
-				super.onStart(pObserver);
-
-				resourceToCompile.clear();
-			}
-
-
-			public void onFileChange(File pFile) {
-				if (pFile.getName().endsWith(".jsp")) {
-					final String resourceName = ConversionUtils.stripExtension(getSourceNameFromFile(observer, pFile)) + ".java";
-					
-					log("Updating " + resourceName);
-					
-					sources.put(resourceName, transformer.generateJavaSource(resourceName, pFile));
-
-					resourceToCompile.add(resourceName);
-				}
-				super.onFileChange(pFile);
-			}
-
-
-			public void onFileCreate(File pFile) {
-				if (pFile.getName().endsWith(".jsp")) {
-					final String resourceName = ConversionUtils.stripExtension(getSourceNameFromFile(observer, pFile)) + ".java";
-
-					log("Creating " + resourceName);
-
-					sources.put(resourceName, transformer.generateJavaSource(resourceName, pFile));					
-
-					resourceToCompile.add(resourceName);
-				}
-				super.onFileCreate(pFile);
-			}
-
-
-			public String[] getResourcesToCompile(FilesystemAlterationObserver pObserver) {
-			    // we only want to compile the jsp pages
-				final String[] resourceNames = new String[resourceToCompile.size()];
-				resourceToCompile.toArray(resourceNames);
-				return resourceNames;
-			}
-
-
-			public ResourceReader getReader( final FilesystemAlterationObserver pObserver ) {
-				return new JspReader(sources, super.getReader(pObserver));
-			}
+    private final ReloadingClassLoader classloader = new ReloadingClassLoader(ServerPageServlet.class.getClassLoader());
+    private FilesystemAlterationMonitor fam;
+    private CompilingListener jspListener; 
+
+    private Map servletsByClassname = new HashMap();
+
+    public void init() throws ServletException {
+        super.init();
+
+        final File serverpagesDir = new File(getServletContext().getRealPath("/") + getInitParameter("serverpagesDir"));
+
+        log("Monitoring serverpages in " + serverpagesDir);
+
+        final TransactionalResourceStore store = new TransactionalResourceStore(new MemoryResourceStore()) {
+
+            private Set newClasses;
+            private Map newServletsByClassname;
+
+            public void onStart() {
+                super.onStart();
+
+                newClasses = new HashSet();
+                newServletsByClassname = new HashMap(servletsByClassname);
+            }
+
+            public void onStop() {
+                super.onStop();
+
+                boolean reload = false;
+                for (Iterator it = newClasses.iterator(); it.hasNext();) {
+                    final String clazzName = (String) it.next();
+
+                    try {
+                        final Class clazz = classloader.loadClass(clazzName);
+
+                        if (!HttpServlet.class.isAssignableFrom(clazz)) {
+                            log(clazzName + " is not a servlet");
+                            continue;
+                        }
+
+                        // create new instance of jsp page
+                        final HttpServlet servlet = (HttpServlet) clazz.newInstance();
+                        newServletsByClassname.put(clazzName, servlet);
+
+                        reload = true;
+                    } catch(Exception e) {
+                        log("", e);
+                    }
+                }
+
+                if (reload) {
+                    log("Activating new map of servlets "+ newServletsByClassname);
+                    servletsByClassname = newServletsByClassname;
+                }
+            }
+
+            public void write(String pResourceName, byte[] pResourceData) {
+                super.write(pResourceName, pResourceData);
+
+                if (pResourceName.endsWith(".class")) {
+
+                    // compiler writes a new class, remember the classes to reload
+                    newClasses.add(pResourceName.replace('/', '.').substring(0, pResourceName.length() - ".class".length()));
+                }
+            }
+
+        };
+
+        // listener that generates the java code from the jsp page and provides that to the compiler
+        jspListener = new CompilingListener(new JavaCompilerFactory().createCompiler("eclipse"), store) {
+
+            private final JspGenerator transformer = new JspGenerator();
+            private final Map sources = new HashMap();
+            private final Set resourceToCompile = new HashSet();
+
+            public void onStart(FilesystemAlterationObserver pObserver) {
+                super.onStart(pObserver);
+
+                resourceToCompile.clear();
+            }
+
+
+            public void onFileChange(File pFile) {
+                if (pFile.getName().endsWith(".jsp")) {
+                    final String resourceName = ConversionUtils.stripExtension(getSourceNameFromFile(observer, pFile)) + ".java";
+
+                    log("Updating " + resourceName);
+
+                    sources.put(resourceName, transformer.generateJavaSource(resourceName, pFile));
+
+                    resourceToCompile.add(resourceName);
+                }
+                super.onFileChange(pFile);
+            }
+
+
+            public void onFileCreate(File pFile) {
+                if (pFile.getName().endsWith(".jsp")) {
+                    final String resourceName = ConversionUtils.stripExtension(getSourceNameFromFile(observer, pFile)) + ".java";
+
+                    log("Creating " + resourceName);
+
+                    sources.put(resourceName, transformer.generateJavaSource(resourceName, pFile));
+
+                    resourceToCompile.add(resourceName);
+                }
+                super.onFileCreate(pFile);
+            }
+
+
+            public String[] getResourcesToCompile(FilesystemAlterationObserver pObserver) {
+                // we only want to compile the jsp pages
+                final String[] resourceNames = new String[resourceToCompile.size()];
+                resourceToCompile.toArray(resourceNames);
+                return resourceNames;
+            }
+
+
+            public ResourceReader getReader( final FilesystemAlterationObserver pObserver ) {
+                return new JspReader(sources, super.getReader(pObserver));
+            }
         };
         jspListener.addReloadNotificationListener(classloader);
         
         fam = new FilesystemAlterationMonitor();
         fam.addListener(serverpagesDir, jspListener);
         fam.start();
-	}
+    }
+
+    private String convertRequestToServletClassname( final HttpServletRequest request ) {
+
+        final String path = request.getPathInfo().substring(1);
+
+        final String clazz = ConversionUtils.stripExtension(path).replace('/', '.');
+
+        return clazz;
+    }
+
+    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+        log("Request " + request.getRequestURI());
+
+        final CompilationResult result = jspListener.getCompilationResult();
+        final CompilationProblem[] errors = result.getErrors();
+
+        if (errors.length > 0) {
+
+            // if there are errors we provide the compilation errors instead of the jsp page
+
+            final PrintWriter out = response.getWriter();
+
+            out.append("<html><body>");
+
+            for (int i = 0; i < errors.length; i++) {
+                final CompilationProblem problem = errors[i];
+                out.append(problem.toString()).append("<br/>").append('\n');
+            }
+
+            out.append("</body></html>");
+
+            out.flush();
+            out.close();
+            return;
+        }
+
+        final String servletClassname = convertRequestToServletClassname(request);
+
+        log("Checking for serverpage " + servletClassname);
+
+        final HttpServlet servlet = (HttpServlet) servletsByClassname.get(servletClassname);
+
+        if (servlet == null) {
+            log("No servlet  for " + request.getRequestURI());
+            response.sendError(404);
+            return;
+        }
+
+        log("Delegating request to " + servletClassname);
+
+        servlet.service(request, response);
+    }
 
-	private String convertRequestToServletClassname( final HttpServletRequest request ) {
+    public void destroy() {
 
-		final String path = request.getPathInfo().substring(1);
+        fam.stop();
 
-		final String clazz = ConversionUtils.stripExtension(path).replace('/', '.');
-		
-		return clazz;
-	}
-	
-	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
-		log("Request " + request.getRequestURI());
-		
-		final CompilationResult result = jspListener.getCompilationResult();
-		final CompilationProblem[] errors = result.getErrors();
-
-		if (errors.length > 0) {
-		    
-		    // if there are errors we provide the compilation errors instead of the jsp page
-		    
-			final PrintWriter out = response.getWriter();
-			
-			out.append("<html><body>");
-
-			for (int i = 0; i < errors.length; i++) {
-				final CompilationProblem problem = errors[i];
-				out.append(problem.toString()).append("<br/>").append('\n');
-			}
-			
-			out.append("</body></html>");
-			
-			out.flush();
-			out.close();
-			return;			
-		}
-		
-		final String servletClassname = convertRequestToServletClassname(request);
-
-		log("Checking for serverpage " + servletClassname);
-		
-		final HttpServlet servlet = (HttpServlet) servletsByClassname.get(servletClassname);
-		
-		if (servlet == null) {
-			log("No servlet  for " + request.getRequestURI());
-			response.sendError(404);
-			return;
-		}
-
-		log("Delegating request to " + servletClassname);
-		
-		servlet.service(request, response);
-	}
-
-	public void destroy() {
-		
-		fam.stop();
-		
-		super.destroy();		
-	}
+        super.destroy();
+    }
 }

Modified: jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/listeners/AbstractFilesystemAlterationListener.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/listeners/AbstractFilesystemAlterationListener.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/listeners/AbstractFilesystemAlterationListener.java (original)
+++ jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/listeners/AbstractFilesystemAlterationListener.java Wed Apr 25 07:57:21 2007
@@ -50,83 +50,83 @@
     private final Signal eventSignal = new Signal();
     private final Signal checkSignal = new Signal();
     
-	protected FilesystemAlterationObserver observer;
-	    
-	public void onDirectoryCreate( final File pDir ) {
-		createdDirectories.add(pDir);
-	}
-	public void onDirectoryChange( final File pDir ) {
-    	changedDirectories.add(pDir);
-	}
-	public void onDirectoryDelete( final File pDir ) {
-		deletedDirectories.add(pDir);
-	}
-
-	public void onFileCreate( final File pFile) {
-		createdFiles.add(pFile);
-	}
-	public void onFileChange( final File pFile ) {
-		changedFiles.add(pFile);
-	}
-	public void onFileDelete( final File pFile ) {
-		deletedFiles.add(pFile);
-	}
-
-	
-	public Collection getChangedDirectories() {
-		return changedDirectories;
-	}
-
-	public Collection getChangedFiles() {
-		return changedFiles;
-	}
-
-	public Collection getCreatedDirectories() {
-		return createdDirectories;
-	}
-
-	public Collection getCreatedFiles() {
-		return createdFiles;
-	}
-
-	public Collection getDeletedDirectories() {
-		return deletedDirectories;
-	}
-
-	public Collection getDeletedFiles() {
-		return deletedFiles;
-	}
-
-	protected void signals() {
-    	if (createdFiles.size() > 0 || createdDirectories.size() > 0 ||
-        	changedFiles.size() > 0 || changedDirectories.size() > 0 ||
-        	deletedFiles.size() > 0 || deletedDirectories.size() > 0) {
-
-    		log.debug("event signal");
-    		
-    		synchronized(eventSignal) {
+    protected FilesystemAlterationObserver observer;
+
+    public void onDirectoryCreate( final File pDir ) {
+        createdDirectories.add(pDir);
+    }
+    public void onDirectoryChange( final File pDir ) {
+        changedDirectories.add(pDir);
+    }
+    public void onDirectoryDelete( final File pDir ) {
+        deletedDirectories.add(pDir);
+    }
+
+    public void onFileCreate( final File pFile) {
+        createdFiles.add(pFile);
+    }
+    public void onFileChange( final File pFile ) {
+        changedFiles.add(pFile);
+    }
+    public void onFileDelete( final File pFile ) {
+        deletedFiles.add(pFile);
+    }
+
+
+    public Collection getChangedDirectories() {
+        return changedDirectories;
+    }
+
+    public Collection getChangedFiles() {
+        return changedFiles;
+    }
+
+    public Collection getCreatedDirectories() {
+        return createdDirectories;
+    }
+
+    public Collection getCreatedFiles() {
+        return createdFiles;
+    }
+
+    public Collection getDeletedDirectories() {
+        return deletedDirectories;
+    }
+
+    public Collection getDeletedFiles() {
+        return deletedFiles;
+    }
+
+    protected void signals() {
+        if (createdFiles.size() > 0 || createdDirectories.size() > 0 ||
+            changedFiles.size() > 0 || changedDirectories.size() > 0 ||
+            deletedFiles.size() > 0 || deletedDirectories.size() > 0) {
+
+            log.debug("event signal");
+
+            synchronized(eventSignal) {
                 eventSignal.triggered = true;
                 eventSignal.notifyAll();
-            }    	    		
-    	}
-    	
-    	log.debug("check signal");
-    	
+            }
+        }
+
+        log.debug("check signal");
+
         synchronized(checkSignal) {
             checkSignal.triggered = true;
             checkSignal.notifyAll();
-        }		
-	}
+        }
+    }
 
-	public void onStart( final FilesystemAlterationObserver pObserver ) {
-		observer = pObserver;
+    public void onStart( final FilesystemAlterationObserver pObserver ) {
+        observer = pObserver;
 
-		createdFiles.clear();
-    	changedFiles.clear();
-    	deletedFiles.clear();
-    	createdDirectories.clear();
-    	changedDirectories.clear();
-    	deletedDirectories.clear();
+        createdFiles.clear();
+        changedFiles.clear();
+        deletedFiles.clear();
+        createdDirectories.clear();
+        changedDirectories.clear();
+        deletedDirectories.clear();
     }
 
     public void onStop( final FilesystemAlterationObserver pObserver ) {
@@ -134,7 +134,7 @@
         observer = null;
     }
         
-	public void waitForEvent() throws Exception {
+    public void waitForEvent() throws Exception {
         synchronized(eventSignal) {
             eventSignal.triggered = false;
         }

Modified: jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationListener.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationListener.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationListener.java (original)
+++ jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationListener.java Wed Apr 25 07:57:21 2007
@@ -27,7 +27,7 @@
  * @author tcurdt
  */
 public interface FilesystemAlterationListener {
-	
+
     void onStart( final FilesystemAlterationObserver pObserver );
     void onFileCreate( final File pFile );
     void onFileChange( final File pFile );

Modified: jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitor.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitor.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitor.java (original)
+++ jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitor.java Wed Apr 25 07:57:21 2007
@@ -69,39 +69,39 @@
 
 
     public void addListener( final File pRoot, final FilesystemAlterationListener pListener ) {
-    	
-    	FilesystemAlterationObserver observer;
-    	
-    	synchronized (observersLock) {
-        	observer = (FilesystemAlterationObserver)observers.get(pRoot);
-
-        	if (observer == null) {
-    			final Map newObservers = new HashMap(observers);    			
-        		observer = new FilesystemAlterationObserverImpl(pRoot);
-        		newObservers.put(pRoot, observer);
-        		observers = Collections.unmodifiableMap(newObservers);
-        	}			
-		}
-    	
-    	observer.addListener(pListener);    	
+
+        FilesystemAlterationObserver observer;
+
+        synchronized (observersLock) {
+            observer = (FilesystemAlterationObserver)observers.get(pRoot);
+
+            if (observer == null) {
+                final Map newObservers = new HashMap(observers);
+                observer = new FilesystemAlterationObserverImpl(pRoot);
+                newObservers.put(pRoot, observer);
+                observers = Collections.unmodifiableMap(newObservers);
+            }
+        }
+
+        observer.addListener(pListener);
     }
    
     public void removeListener( final FilesystemAlterationListener pListener ) {
-    	synchronized (observersLock) {
-    		for (Iterator it = observers.values().iterator(); it.hasNext();) {
-				final FilesystemAlterationObserver observer = (FilesystemAlterationObserver) it.next();
-				observer.removeListener(pListener);
-				// FIXME: remove observer if there are no listeners?
-			}
-    	}
+        synchronized (observersLock) {
+            for (Iterator it = observers.values().iterator(); it.hasNext();) {
+                final FilesystemAlterationObserver observer = (FilesystemAlterationObserver) it.next();
+                observer.removeListener(pListener);
+                // FIXME: remove observer if there are no listeners?
+            }
+        }
     }
 
     public FilesystemAlterationListener[] getListenersFor( final File pRoot  ) {
-    	final FilesystemAlterationObserver observer = (FilesystemAlterationObserver)observers.get(pRoot);
+        final FilesystemAlterationObserver observer = (FilesystemAlterationObserver)observers.get(pRoot);
 
         if (observer == null) {
-        	return new FilesystemAlterationListener[0];
-        }			
+            return new FilesystemAlterationListener[0];
+        }
 
         return observer.getListeners();
     }
@@ -117,11 +117,11 @@
 
             final Map currentObservers = observers;
             
-        	for (Iterator it = currentObservers.values().iterator(); it.hasNext();) {
-				final FilesystemAlterationObserver observer = (FilesystemAlterationObserver) it.next();
-				observer.checkAndNotify();				
-			}
-        	            
+            for (Iterator it = currentObservers.values().iterator(); it.hasNext();) {
+                final FilesystemAlterationObserver observer = (FilesystemAlterationObserver) it.next();
+                observer.checkAndNotify();
+            }
+
             try {
                 Thread.sleep(delay);
             } catch (final InterruptedException e) {

Modified: jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserver.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserver.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserver.java (original)
+++ jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserver.java Wed Apr 25 07:57:21 2007
@@ -28,14 +28,14 @@
  */
 public interface FilesystemAlterationObserver {
 
-	File getRootDirectory();
-	
-	void checkAndNotify();
-	
-	void addListener( final FilesystemAlterationListener pListener );	
+    File getRootDirectory();
 
-	void removeListener( final FilesystemAlterationListener pListener );
-	
-	FilesystemAlterationListener[] getListeners();
+    void checkAndNotify();
+
+    void addListener( final FilesystemAlterationListener pListener );
+
+    void removeListener( final FilesystemAlterationListener pListener );
+
+    FilesystemAlterationListener[] getListeners();
 
 }

Modified: jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserverImpl.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserverImpl.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserverImpl.java (original)
+++ jakarta/commons/proper/jci/trunk/fam/src/main/java/org/apache/commons/jci/monitor/FilesystemAlterationObserverImpl.java Wed Apr 25 07:57:21 2007
@@ -38,60 +38,60 @@
     
     private interface MonitorFile {
 
-    	long lastModified();
-    	MonitorFile[] listFiles();
-    	boolean isDirectory();
-    	boolean exists();
-    	String getName();
+        long lastModified();
+        MonitorFile[] listFiles();
+        boolean isDirectory();
+        boolean exists();
+        String getName();
 
     }
     
-	private final static class MonitorFileImpl implements MonitorFile {
-		
-		private final File file;
-		
-		public MonitorFileImpl( final File pFile ) {
-			file = pFile;
-		}
-
-		public boolean exists() {
-			return file.exists();
-		}
-
-		public MonitorFile[] listFiles() {
-			final File[] childs = file.listFiles();
-			
-			final MonitorFile[] providers = new MonitorFile[childs.length];
-			for (int i = 0; i < providers.length; i++) {
-				providers[i] = new MonitorFileImpl(childs[i]);
-			}
-			return providers;
-		}
-
-		public String getName() {
-			return file.getName();
-		}
-
-		public boolean isDirectory() {
-			return file.isDirectory();
-		}
-
-		public long lastModified() {
-			return file.lastModified();
-		}
-		
-		public String toString() {
-			return file.toString();
-		}
-		
-	}
-	
-	private final class Entry {
-
-    	private final static int TYPE_UNKNOWN = 0;
-    	private final static int TYPE_FILE = 1;
-    	private final static int TYPE_DIRECTORY = 2;
-    	
+    private final static class MonitorFileImpl implements MonitorFile {
+
+        private final File file;
+
+        public MonitorFileImpl( final File pFile ) {
+            file = pFile;
+        }
+
+        public boolean exists() {
+            return file.exists();
+        }
+
+        public MonitorFile[] listFiles() {
+            final File[] childs = file.listFiles();
+
+            final MonitorFile[] providers = new MonitorFile[childs.length];
+            for (int i = 0; i < providers.length; i++) {
+                providers[i] = new MonitorFileImpl(childs[i]);
+            }
+            return providers;
+        }
+
+        public String getName() {
+            return file.getName();
+        }
+
+        public boolean isDirectory() {
+            return file.isDirectory();
+        }
+
+        public long lastModified() {
+            return file.lastModified();
+        }
+
+        public String toString() {
+            return file.toString();
+        }
+
+    }
+
+    private final class Entry {
+
+        private final static int TYPE_UNKNOWN = 0;
+        private final static int TYPE_FILE = 1;
+        private final static int TYPE_DIRECTORY = 2;
+
         private final MonitorFile file;
         private long lastModified = -1;
         private int lastType = TYPE_UNKNOWN;
@@ -102,132 +102,132 @@
         }
 
         public String getName() {
-        	return file.getName();
+            return file.getName();
         }
         
         
-		public String toString() {
+        public String toString() {
             return file.toString();
         }
 
 
-		private void compareChilds() {
-			if (!file.isDirectory()) {
-				return;
-			}
-			
-			final MonitorFile[] files = file.listFiles();
-			final Set deleted = new HashSet(childs.values());
-			for (int i = 0; i < files.length; i++) {
-				final MonitorFile f = files[i];
-				final String name = f.getName();
-				final Entry entry = (Entry)childs.get(name);
-				if (entry != null) {
-					// already recognized as child
-					deleted.remove(entry);
-					
-					if(entry.needsToBeDeleted()) {
-						// we have to delete this one
-						childs.remove(name);
-					}
-				} else {
-					// a new child
-					final Entry newChild = new Entry(f);
-					childs.put(name, newChild);
-					newChild.needsToBeDeleted();
-				}
-			}
-			
-			// the ones not found on disk anymore
-			
-			for (Iterator it = deleted.iterator(); it.hasNext();) {
-				final Entry entry = (Entry) it.next();
-				entry.deleteChildsAndNotify();				
-				childs.remove(entry.getName());
-			}
-		}
-
-		
-		private void deleteChildsAndNotify() {
-        	for (Iterator it = childs.values().iterator(); it.hasNext();) {
-				final Entry entry = (Entry) it.next();
-
-				entry.deleteChildsAndNotify();
-			}
-        	childs.clear();			
-
-			if(lastType == TYPE_DIRECTORY) {
-				notifyOnDirectoryDelete(this);
-			} else if (lastType == TYPE_FILE) {
-				notifyOnFileDelete(this);					
-			}
-		}
-		
+        private void compareChilds() {
+            if (!file.isDirectory()) {
+                return;
+            }
+
+            final MonitorFile[] files = file.listFiles();
+            final Set deleted = new HashSet(childs.values());
+            for (int i = 0; i < files.length; i++) {
+                final MonitorFile f = files[i];
+                final String name = f.getName();
+                final Entry entry = (Entry)childs.get(name);
+                if (entry != null) {
+                    // already recognized as child
+                    deleted.remove(entry);
+
+                    if(entry.needsToBeDeleted()) {
+                        // we have to delete this one
+                        childs.remove(name);
+                    }
+                } else {
+                    // a new child
+                    final Entry newChild = new Entry(f);
+                    childs.put(name, newChild);
+                    newChild.needsToBeDeleted();
+                }
+            }
+
+            // the ones not found on disk anymore
+
+            for (Iterator it = deleted.iterator(); it.hasNext();) {
+                final Entry entry = (Entry) it.next();
+                entry.deleteChildsAndNotify();
+                childs.remove(entry.getName());
+            }
+        }
+
+
+        private void deleteChildsAndNotify() {
+            for (Iterator it = childs.values().iterator(); it.hasNext();) {
+                final Entry entry = (Entry) it.next();
+
+                entry.deleteChildsAndNotify();
+            }
+            childs.clear();
+
+            if(lastType == TYPE_DIRECTORY) {
+                notifyOnDirectoryDelete(this);
+            } else if (lastType == TYPE_FILE) {
+                notifyOnFileDelete(this);
+            }
+        }
+
         public boolean needsToBeDeleted() {
-        	
-        	if (!file.exists()) {
-        		// deleted or has never existed yet
-        		
-//        		log.debug(file + " does not exist or has been deleted");
-
-        		deleteChildsAndNotify();
-
-        		// mark to be deleted by parent
-        		return true;        		
-        	} else {
-        		// exists
-        		final long currentModified = file.lastModified(); 
-
-        		if (currentModified != lastModified) {
-	        		// last modified has changed
-    				lastModified = currentModified;
-
-//            		log.debug(file + " has new last modified");
-    				
-        			// types only changes when also the last modified changes
-	        		final int newType = (file.isDirectory()?TYPE_DIRECTORY:TYPE_FILE); 
-	
-	        		if (lastType != newType) {
-	        			// the type has changed
-
-//	            		log.debug(file + " has a new type");
-	        			
-	        			deleteChildsAndNotify();
-	        				        			
-	        			lastType = newType;
-
-	        			// and then an add as the new type
-
-	        			if (newType == TYPE_DIRECTORY) {
-	        				notifyOnDirectoryCreate(this);     				
-	        				compareChilds();        				
-		        		} else {	        		
-		    				notifyOnFileCreate(this);     				
-		        		}
-
-	    	    		return false;
-	        		}
-	        		        		
-	        		if (newType == TYPE_DIRECTORY) {
-        				notifyOnDirectoryChange(this);     				
-        				compareChilds();        				
-	        		} else {	        		
-	    				notifyOnFileChange(this);     				
-	        		}
-	        		
-    	    		return false;
-
-        		} else {
-
-        			// so exists and has not changed
-        			
-//            		log.debug(file + " does exist and has not changed");
-
-        			compareChilds();
-
-        			return false;
-	        	}
-        	}    		
+
+            if (!file.exists()) {
+                // deleted or has never existed yet
+
+//                log.debug(file + " does not exist or has been deleted");
+
+                deleteChildsAndNotify();
+
+                // mark to be deleted by parent
+                return true;
+            } else {
+                // exists
+                final long currentModified = file.lastModified(); 
+
+                if (currentModified != lastModified) {
+                    // last modified has changed
+                    lastModified = currentModified;
+
+//                    log.debug(file + " has new last modified");
+
+                    // types only changes when also the last modified changes
+                    final int newType = (file.isDirectory()?TYPE_DIRECTORY:TYPE_FILE); 
+
+                    if (lastType != newType) {
+                        // the type has changed
+
+//                        log.debug(file + " has a new type");
+
+                        deleteChildsAndNotify();
+
+                        lastType = newType;
+
+                        // and then an add as the new type
+
+                        if (newType == TYPE_DIRECTORY) {
+                            notifyOnDirectoryCreate(this);
+                            compareChilds();
+                        } else {
+                            notifyOnFileCreate(this);
+                        }
+
+                        return false;
+                    }
+
+                    if (newType == TYPE_DIRECTORY) {
+                        notifyOnDirectoryChange(this);
+                        compareChilds();
+                    } else {
+                        notifyOnFileChange(this);
+                    }
+
+                    return false;
+
+                } else {
+
+                    // so exists and has not changed
+
+//                    log.debug(file + " does exist and has not changed");
+
+                    compareChilds();
+
+                    return false;
+                }
+            }
         }
         
         public MonitorFile getFile() {
@@ -240,135 +240,135 @@
 
     }
 
-	private final File rootDirectory;
-	private final Entry rootEntry;
+    private final File rootDirectory;
+    private final Entry rootEntry;
+
+    private FilesystemAlterationListener[] listeners = new FilesystemAlterationListener[0];
+    private Set listenersSet = new HashSet();
+
+    public FilesystemAlterationObserverImpl( final File pRootDirectory ) {
+        rootDirectory = pRootDirectory;
+        rootEntry = new Entry(new MonitorFileImpl(pRootDirectory));
+    }
+
+
+
+    private void notifyOnStart() {
+        log.debug("onStart " + rootEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onStart(this);
+        }
+    }
+    private void notifyOnStop() {
+        log.debug("onStop " + rootEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onStop(this);
+        }
+    }
+
+    private void notifyOnFileCreate( final Entry pEntry ) {
+        log.debug("onFileCreate " + pEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onFileCreate(((MonitorFileImpl)pEntry.getFile()).file );
+        }
+    }
+    private void notifyOnFileChange( final Entry pEntry ) {
+        log.debug("onFileChange " + pEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onFileChange(((MonitorFileImpl)pEntry.getFile()).file );
+        }
+    }
+    private void notifyOnFileDelete( final Entry pEntry ) {
+        log.debug("onFileDelete " + pEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onFileDelete(((MonitorFileImpl)pEntry.getFile()).file );
+        }
+    }
+
+    private void notifyOnDirectoryCreate( final Entry pEntry ) {
+        log.debug("onDirectoryCreate " + pEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onDirectoryCreate(((MonitorFileImpl)pEntry.getFile()).file );
+        }
+    }
+    private void notifyOnDirectoryChange( final Entry pEntry ) {
+        log.debug("onDirectoryChange " + pEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onDirectoryChange(((MonitorFileImpl)pEntry.getFile()).file );
+        }
+    }
+    private void notifyOnDirectoryDelete( final Entry pEntry ) {
+        log.debug("onDirectoryDelete " + pEntry);
+        for (int i = 0; i < listeners.length; i++) {
+            final FilesystemAlterationListener listener = listeners[i];
+            listener.onDirectoryDelete(((MonitorFileImpl)pEntry.getFile()).file );
+        }
+    }
 
-	private FilesystemAlterationListener[] listeners = new FilesystemAlterationListener[0];
-	private Set listenersSet = new HashSet();
-	
-	public FilesystemAlterationObserverImpl( final File pRootDirectory ) {
-		rootDirectory = pRootDirectory;
-		rootEntry = new Entry(new MonitorFileImpl(pRootDirectory));
-	}
-
-	
-	
-	private void notifyOnStart() {
-		log.debug("onStart " + rootEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onStart(this);
-		}
-	}
-	private void notifyOnStop() {
-		log.debug("onStop " + rootEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onStop(this);
-		}
-	}
-
-	private void notifyOnFileCreate( final Entry pEntry ) {
-		log.debug("onFileCreate " + pEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onFileCreate(((MonitorFileImpl)pEntry.getFile()).file );
-		}
-	}
-	private void notifyOnFileChange( final Entry pEntry ) {
-		log.debug("onFileChange " + pEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onFileChange(((MonitorFileImpl)pEntry.getFile()).file );
-		}
-	}
-	private void notifyOnFileDelete( final Entry pEntry ) {
-		log.debug("onFileDelete " + pEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onFileDelete(((MonitorFileImpl)pEntry.getFile()).file );
-		}
-	}
-
-	private void notifyOnDirectoryCreate( final Entry pEntry ) {
-		log.debug("onDirectoryCreate " + pEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onDirectoryCreate(((MonitorFileImpl)pEntry.getFile()).file );
-		}
-	}
-	private void notifyOnDirectoryChange( final Entry pEntry ) {
-		log.debug("onDirectoryChange " + pEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onDirectoryChange(((MonitorFileImpl)pEntry.getFile()).file );
-		}
-	}
-	private void notifyOnDirectoryDelete( final Entry pEntry ) {
-		log.debug("onDirectoryDelete " + pEntry);
-		for (int i = 0; i < listeners.length; i++) {
-			final FilesystemAlterationListener listener = listeners[i];
-			listener.onDirectoryDelete(((MonitorFileImpl)pEntry.getFile()).file );
-		}
-	}
-	
 
     private void checkEntries() {
-		if(rootEntry.needsToBeDeleted()) {
-			// root not existing
-			rootEntry.lastType = Entry.TYPE_UNKNOWN;
-		}    	
+        if(rootEntry.needsToBeDeleted()) {
+            // root not existing
+            rootEntry.lastType = Entry.TYPE_UNKNOWN;
+        }
     }
 
     
-    public synchronized void checkAndNotify() {    	
-    	if (listeners.length == 0) {
-    		return;
-    	}
-    	
-    	notifyOnStart();
+    public synchronized void checkAndNotify() {
+        if (listeners.length == 0) {
+            return;
+        }
+
+        notifyOnStart();
         
         checkEntries();
         
-    	notifyOnStop();			
+        notifyOnStop();
     }
 
     
     public File getRootDirectory() {
-    	return rootDirectory;
+        return rootDirectory;
+    }
+
+    public synchronized void addListener( final FilesystemAlterationListener pListener ) {
+        if (listenersSet.add(pListener)) {
+            createArrayFromSet();
+        }
+    }
+
+    public synchronized void removeListener( final FilesystemAlterationListener pListener ) {
+        if (listenersSet.remove(pListener)) {
+            createArrayFromSet();
+        }
+    }
+
+    private void createArrayFromSet() {
+        final FilesystemAlterationListener[] newListeners = new FilesystemAlterationListener[listenersSet.size()];
+        listenersSet.toArray(newListeners);
+        listeners = newListeners;
     }
 
-	public synchronized void addListener( final FilesystemAlterationListener pListener ) {
-		if (listenersSet.add(pListener)) {
-			createArrayFromSet();			
-		}		
-	}
-
-	public synchronized void removeListener( final FilesystemAlterationListener pListener ) {
-		if (listenersSet.remove(pListener)) {
-			createArrayFromSet();			
-		}		
-	}
-
-	private void createArrayFromSet() {
-		final FilesystemAlterationListener[] newListeners = new FilesystemAlterationListener[listenersSet.size()];
-		listenersSet.toArray(newListeners);
-		listeners = newListeners;		
-	}
-	
-	public FilesystemAlterationListener[] getListeners() {
-		return listeners;
-	}
-
-	
-	public static void main( String[] args ) {
-		final FilesystemAlterationObserverImpl observer = new FilesystemAlterationObserverImpl(new File(args[0]));
-		while(true) {
-			observer.checkEntries();
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-			}
-		}
-	}
+    public FilesystemAlterationListener[] getListeners() {
+        return listeners;
+    }
+
+
+    public static void main( String[] args ) {
+        final FilesystemAlterationObserverImpl observer = new FilesystemAlterationObserverImpl(new File(args[0]));
+        while(true) {
+            observer.checkEntries();
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+        }
+    }
 }

Modified: jakarta/commons/proper/jci/trunk/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/jci/trunk/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java?view=diff&rev=532377&r1=532376&r2=532377
==============================================================================
--- jakarta/commons/proper/jci/trunk/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java (original)
+++ jakarta/commons/proper/jci/trunk/fam/src/test/java/org/apache/commons/jci/monitor/FilesystemAlterationMonitorTestCase.java Wed Apr 25 07:57:21 2007
@@ -300,9 +300,9 @@
     }
     
     public void testInterval() throws Exception {
-    	
-    	final long interval = 1000;
-    	
+
+        final long interval = 1000;
+
         start();
         fam.setInterval(interval);
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org