vgritsenko 01/08/20 09:19:00
Modified: src/org/apache/cocoon Tag: cocoon_20_branch Main.java
Log:
Added -followLinks option, fixed cache-dir context entry
Revision Changes Path
No revision
No revision
1.4.2.9 +21 -5 xml-cocoon2/src/org/apache/cocoon/Main.java
Index: Main.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/Main.java,v
retrieving revision 1.4.2.8
retrieving revision 1.4.2.9
diff -u -r1.4.2.8 -r1.4.2.9
--- Main.java 2001/08/20 14:07:24 1.4.2.8
+++ Main.java 2001/08/20 16:19:00 1.4.2.9
@@ -50,7 +50,7 @@
* Command line entry point.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
- * @version CVS $Revision: 1.4.2.8 $ $Date: 2001/08/20 14:07:24 $
+ * @version CVS $Revision: 1.4.2.9 $ $Date: 2001/08/20 16:19:00 $
*/
public class Main {
@@ -68,6 +68,7 @@
protected static final int AGENT_OPT = 'a';
protected static final int ACCEPT_OPT = 'p';
protected static final int URI_FILE = 'f';
+ protected static final int FOLLOW_LINKS_OPT ='r';
protected static final String DEFAULT_USER_AGENT = Constants.COMPLETE_NAME;
protected static final String DEFAULT_ACCEPT = "text/html, */*";
@@ -117,6 +118,11 @@
CLOptionDescriptor.ARGUMENT_REQUIRED,
ACCEPT_OPT,
"use given string for accept header"),
+ new CLOptionDescriptor("followLinks",
+ CLOptionDescriptor.ARGUMENT_REQUIRED,
+ FOLLOW_LINKS_OPT,
+ "process pages linked from starting page or not"
+ + " (boolean argument is expected, default is
true)"),
};
public static void processFile(String filename, List uris) {
@@ -154,6 +160,7 @@
String userAgent = DEFAULT_USER_AGENT;
String accept = DEFAULT_ACCEPT;
String logDir = "", logFile = "";
+ boolean followLinks = true;
List clOptions = parser.getArguments();
int size = clOptions.size();
@@ -209,6 +216,10 @@
case Main.URI_FILE:
Main.processFile(option.getArgument(), targets);
break;
+
+ case Main.FOLLOW_LINKS_OPT:
+ followLinks = "yes".equals(option.getArgument())
+ || "true".equals(option.getArgument());
}
}
@@ -279,7 +290,8 @@
appContext.put(Constants.CONTEXT_CLASSPATH, getClassPath(contextDir));
appContext.put(Constants.CONTEXT_WORK_DIR, work);
appContext.put(Constants.CONTEXT_UPLOAD_DIR, contextDir + "image-dir");
- appContext.put(Constants.CONTEXT_CACHE_DIR, contextDir + "cache-dir");
+ File cacheDir = getDir(workDir + File.separator + "cache-dir", "cache");
+ appContext.put(Constants.CONTEXT_CACHE_DIR, cacheDir);
appContext.put(Constants.CONTEXT_CONFIG_URL, conf.toURL());
appContext.put(Constants.CONTEXT_LOG_DIR, logDir);
appContext.put(Constants.CONTEXT_LOG_FILE, logFile);
@@ -290,6 +302,7 @@
Main main = new Main(c, context, dest);
main.userAgent = userAgent;
main.accept = accept;
+ main.followLinks = followLinks;
main.warmup();
if(main.process(targets, xspOnly)==0)
main.recursivelyProcessXSP(context, context);
@@ -375,6 +388,7 @@
private Map allTranslatedLinks;
private String userAgent;
private String accept;
+ private boolean followLinks;
/**
* Creates the Main class
@@ -412,10 +426,12 @@
Iterator i = links.iterator();
String url = (String)i.next();
if(allProcessedLinks.get(url) == null){
- if(xspOnly){
+ if (xspOnly) {
this.processXSP(url);
- }else{
+ } else if (this.followLinks) {
links.addAll(this.processURI(url));
+ } else {
+ this.processURI(url);
}
}
links.remove(url);
@@ -470,7 +486,7 @@
public Collection processURI(String uri) throws Exception {
log.info("Processing URI: " + uri);
- // Get parameters, deperameterized URI and path from URI
+ // Get parameters, deparameterized URI and path from URI
final HashMap parameters = new HashMap();
parameters.put("user-agent", userAgent);
parameters.put("accept", accept);
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]