org.apache.avalon.framework.context.ContextException
org.apache.avalon.framework.component.ComponentException
org.apache.cocoon.ProcessingException
java.net.URL
java.net.MalformedURLException
org.apache.cocoon.components.language.markup.xsp.XSPUtil
org.apache.avalon.framework.context.ContextException
org.apache.cocoon.components.search.*
org.apache.lucene.store.Directory
org.apache.lucene.analysis.Analyzer
java.util.*
String base = "docs/xdocs" ;
String baseContext = "context://" + base;
File []allFiles(File base) {
List allFiles = new ArrayList();
try {
if (base == null) {
base = theBaseDir();
}
File []allTheFiles = base.listFiles();
for (int i = 0; i < allTheFiles.length; i++ ) {
File f = allTheFiles[i];
if (f.isDirectory()) {
File[] allFilesOfDirectory = allFiles( f );
allFiles.addAll( Arrays.asList( allFilesOfDirectory ) );
} else if (f.isFile()) {
if (f.canRead() && f.getName().endsWith( ".xml" )) {
allFiles.add( f );
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return (File[])allFiles.toArray(new File[0]);
}
File theBaseDir() {
File f = null;
try {
org.apache.excalibur.source.Source source = resolver.resolveURI( baseContext );
String s = source.getURI();
f = new File( new URL(s).getFile() );
} catch (Exception e) {
e.printStackTrace();
}
return f;
}
String strippedFileName( File f ) {
String sf = f.toString();
int index = sf.indexOf("xdocs");
if (index >= 0) {
sf = sf.substring( index + 5 + 1);
}
sf = sf.replace( '\\', '/' );
return sf;
}
theBaseDir()
File []allFiles = allFiles(null);
for (int i = 0; allFiles != null && i < allFiles.length; i++) {
File f = allFiles[i];
if (f.isFile()) {
strippedFileName(f)
f.getAbsolutePath()
}
}