From: <bra...@us...> - 2008-07-28 20:54:28
|
Revision: 2512 http://archive-access.svn.sourceforge.net/archive-access/?rev=2512&view=rev Author: bradtofel Date: 2008-07-28 20:54:37 +0000 (Mon, 28 Jul 2008) Log Message: ----------- CONFIG: eclipse project files changed for Eclipse 3.4 Modified Paths: -------------- trunk/archive-access/projects/wayback/.classpath trunk/archive-access/projects/wayback/.project Added Paths: ----------- trunk/archive-access/projects/wayback/.settings/ trunk/archive-access/projects/wayback/.settings/org.eclipse.jdt.core.prefs trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.component trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.project.facet.core.xml trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.container trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.name Modified: trunk/archive-access/projects/wayback/.classpath =================================================================== --- trunk/archive-access/projects/wayback/.classpath 2008-07-28 20:52:25 UTC (rev 2511) +++ trunk/archive-access/projects/wayback/.classpath 2008-07-28 20:54:37 UTC (rev 2512) @@ -1,8 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="wayback-core/src/main/java"/> - <classpathentry kind="src" path="wayback-core/src/test/java"/> + <classpathentry kind="src" output="wayback-core/target/classes" path="wayback-core/src/main/java"/> + <classpathentry kind="src" output="wayback-core/target/test-classes" path="wayback-core/src/test/java"/> + <classpathentry kind="src" output="wayback-mapreduce-prereq/target/classes" path="wayback-mapreduce-prereq/src/main/java"/> + <classpathentry kind="src" output="wayback-webapp/target/classes" path="wayback-webapp/src/main/java"/> + <classpathentry kind="src" output="wayback-webapp/target/test-classes" path="wayback-webapp/src/test/java"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v5.5"/> + <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> + <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"> + <attributes> + <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="output" path="target/classes"/> </classpath> Modified: trunk/archive-access/projects/wayback/.project =================================================================== --- trunk/archive-access/projects/wayback/.project 2008-07-28 20:52:25 UTC (rev 2511) +++ trunk/archive-access/projects/wayback/.project 2008-07-28 20:54:37 UTC (rev 2512) @@ -6,11 +6,26 @@ </projects> <buildSpec> <buildCommand> + <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> <name>org.maven.ide.eclipse.maven2Builder</name> <arguments> </arguments> @@ -19,6 +34,9 @@ <natures> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.maven.ide.eclipse.maven2Nature</nature> - <nature>com.sysdeo.eclipse.tomcat.tomcatnature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> </natures> </projectDescription> Added: trunk/archive-access/projects/wayback/.settings/org.eclipse.jdt.core.prefs =================================================================== --- trunk/archive-access/projects/wayback/.settings/org.eclipse.jdt.core.prefs (rev 0) +++ trunk/archive-access/projects/wayback/.settings/org.eclipse.jdt.core.prefs 2008-07-28 20:54:37 UTC (rev 2512) @@ -0,0 +1,12 @@ +#Fri Jul 25 18:19:09 PDT 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 Added: trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.component =================================================================== --- trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.component (rev 0) +++ trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.component 2008-07-28 20:54:37 UTC (rev 2512) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project-modules id="moduleCoreId" project-version="1.5.0"> +<wb-module deploy-name="wayback"> +<wb-resource deploy-path="/" source-path="/wayback-webapp/src/main/webapp"/> +<wb-resource deploy-path="/WEB-INF/classes" source-path="/wayback-core/src/main/java"/> +<wb-resource deploy-path="/WEB-INF/classes" source-path="/wayback-core/src/test/java"/> +<wb-resource deploy-path="/WEB-INF/classes" source-path="/wayback-mapreduce-prereq/src/main/java"/> +<wb-resource deploy-path="/WEB-INF/classes" source-path="/wayback-webapp/src/main/java"/> +<wb-resource deploy-path="/WEB-INF/classes" source-path="/wayback-webapp/src/test/java"/> +<property name="context-root"/> +<property name="java-output-path"/> +</wb-module> +</project-modules> Added: trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.project.facet.core.xml =================================================================== --- trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0) +++ trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.common.project.facet.core.xml 2008-07-28 20:54:37 UTC (rev 2512) @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <installed facet="jst.java" version="5.0"/> + <installed facet="jst.web" version="2.4"/> +</faceted-project> Added: trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.container =================================================================== --- trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.container (rev 0) +++ trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.container 2008-07-28 20:54:37 UTC (rev 2512) @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file Added: trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.name =================================================================== --- trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.name (rev 0) +++ trunk/archive-access/projects/wayback/.settings/org.eclipse.wst.jsdt.ui.superType.name 2008-07-28 20:54:37 UTC (rev 2512) @@ -0,0 +1 @@ +Window \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2008-08-19 22:59:43
|
Revision: 2573 http://archive-access.svn.sourceforge.net/archive-access/?rev=2573&view=rev Author: bradtofel Date: 2008-08-19 22:59:52 +0000 (Tue, 19 Aug 2008) Log Message: ----------- TWEAK: updating .pom files for 1.4.0! Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2008-08-19 22:50:25 UTC (rev 2572) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2008-08-19 22:59:52 UTC (rev 2573) @@ -3,7 +3,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -54,13 +54,13 @@ <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-webapp</artifactId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> <type>war</type> </dependency> <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-mapreduce</artifactId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> </dependency> </dependencies> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2008-08-19 22:50:25 UTC (rev 2572) +++ trunk/archive-access/projects/wayback/pom.xml 2008-08-19 22:59:52 UTC (rev 2573) @@ -16,7 +16,10 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.3.0-SNAPSHOT</version> + <properties> + <globalVersion>1.4.0</globalVersion> + </properties> + <version>1.4.0</version> <packaging>pom</packaging> <name>Wayback</name> Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2008-08-19 22:50:25 UTC (rev 2572) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2008-08-19 22:59:52 UTC (rev 2573) @@ -17,7 +17,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml 2008-08-19 22:50:25 UTC (rev 2572) +++ trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml 2008-08-19 22:59:52 UTC (rev 2573) @@ -12,7 +12,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-mapreduce</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml 2008-08-19 22:50:25 UTC (rev 2572) +++ trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml 2008-08-19 22:59:52 UTC (rev 2573) @@ -10,7 +10,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-mapreduce-prereq</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2008-08-19 22:50:25 UTC (rev 2572) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2008-08-19 22:59:52 UTC (rev 2573) @@ -3,7 +3,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.3.0-SNAPSHOT</version> + <version>1.4.0</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2008-08-25 23:20:01
|
Revision: 2582 http://archive-access.svn.sourceforge.net/archive-access/?rev=2582&view=rev Author: bradtofel Date: 2008-08-25 23:20:02 +0000 (Mon, 25 Aug 2008) Log Message: ----------- POST-RELEASE version update. Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2008-08-21 20:50:48 UTC (rev 2581) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2008-08-25 23:20:02 UTC (rev 2582) @@ -3,7 +3,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -54,13 +54,13 @@ <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-webapp</artifactId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> <type>war</type> </dependency> <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-mapreduce</artifactId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> </dependency> </dependencies> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2008-08-21 20:50:48 UTC (rev 2581) +++ trunk/archive-access/projects/wayback/pom.xml 2008-08-25 23:20:02 UTC (rev 2582) @@ -17,9 +17,9 @@ <groupId>org.archive</groupId> <artifactId>wayback</artifactId> <properties> - <globalVersion>1.4.0</globalVersion> + <globalVersion>1.5.0-SNAPSHOT</globalVersion> </properties> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> <packaging>pom</packaging> <name>Wayback</name> Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2008-08-21 20:50:48 UTC (rev 2581) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2008-08-25 23:20:02 UTC (rev 2582) @@ -17,7 +17,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml 2008-08-21 20:50:48 UTC (rev 2581) +++ trunk/archive-access/projects/wayback/wayback-mapreduce/pom.xml 2008-08-25 23:20:02 UTC (rev 2582) @@ -12,7 +12,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-mapreduce</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml 2008-08-21 20:50:48 UTC (rev 2581) +++ trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/pom.xml 2008-08-25 23:20:02 UTC (rev 2582) @@ -10,7 +10,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-mapreduce-prereq</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2008-08-21 20:50:48 UTC (rev 2581) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2008-08-25 23:20:02 UTC (rev 2582) @@ -3,7 +3,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.4.0</version> + <version>1.5.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2008-12-05 22:13:17
|
Revision: 2643 http://archive-access.svn.sourceforge.net/archive-access/?rev=2643&view=rev Author: bradtofel Date: 2008-12-05 22:13:14 +0000 (Fri, 05 Dec 2008) Log Message: ----------- ACC-35: Now has optional prefix, which via config is defaulted to "X-Archive-Orig-", which is prepended to all original HTTP headers, to clarify what headers are added by Wayback, and what were presented with the original document. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java 2008-11-07 22:45:08 UTC (rev 2642) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java 2008-12-05 22:13:14 UTC (rev 2643) @@ -49,6 +49,10 @@ public final static String HTTP_CONTENT_BASE_HEADER_UP = HTTP_CONTENT_BASE_HEADER.toUpperCase(); + public final static String HTTP_CONTENT_LOCATION_HEADER = "Content-Location"; + public final static String HTTP_CONTENT_LOCATION_HEADER_UP = + HTTP_CONTENT_LOCATION_HEADER.toUpperCase(); + public final static String HTTP_CONTENT_TYPE_HEADER = "Content-Type"; public final static String HTTP_CONTENT_TYPE_HEADER_UP = HTTP_CONTENT_TYPE_HEADER.toUpperCase(); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java 2008-11-07 22:45:08 UTC (rev 2642) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java 2008-12-05 22:13:14 UTC (rev 2643) @@ -39,6 +39,18 @@ public class RedirectRewritingHttpHeaderProcessor implements HttpHeaderProcessor { + private static String DEFAULT_PREFIX = null; + private String prefix = DEFAULT_PREFIX; + + public String getPrefix() { + return prefix; + } + + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + /* (non-Javadoc) * @see org.archive.wayback.replay.HttpHeaderProcessor#filter(java.util.Map, java.lang.String, java.lang.String, org.archive.wayback.ResultURIConverter, org.archive.wayback.core.CaptureSearchResult) */ @@ -47,9 +59,18 @@ String keyUp = key.toUpperCase(); + // first stick it in as-is, or with prefix, then maybe we'll overwrite + // with the later logic. + if(prefix == null) { + output.put(key, value); + } else { + output.put(prefix + key, value); + } + // rewrite Location header URLs if (keyUp.startsWith(HTTP_LOCATION_HEADER_UP) || - keyUp.startsWith(HTTP_CONTENT_BASE_HEADER_UP)) { + keyUp.startsWith(HTTP_CONTENT_LOCATION_HEADER_UP) || + keyUp.startsWith(HTTP_CONTENT_BASE_HEADER_UP)) { String baseUrl = result.getOriginalUrl(); String cd = result.getCaptureTimestamp(); @@ -57,13 +78,10 @@ String u = UrlOperations.resolveUrl(baseUrl, value); output.put(key, uriConverter.makeReplayURI(cd,u)); -// } else if(keyUp.startsWith(HTTP_CONTENT_TYPE_HEADER_UP)) { -// output.put("X-Wayback-Orig-" + key,value); -// output.put(key,value); - } else { - // others go out as-is: - output.put(key, value); + } else if(keyUp.startsWith(HTTP_CONTENT_TYPE_HEADER_UP)) { + // let's leave this one as-is: + output.put(key,value); } } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java 2008-11-07 22:45:08 UTC (rev 2642) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java 2008-12-05 22:13:14 UTC (rev 2643) @@ -22,13 +22,10 @@ ResultURIConverter uriConverter, CaptureSearchResult result) { String keyUp = key.toUpperCase(); - // rewrite Location header URLs + output.put(prefix + key,value); if (keyUp.startsWith(HTTP_CONTENT_TYPE_HEADER_UP)) { - // let's leave this one alone... seems important. + // add this one as-is, too. output.put(key, value); - } else { - // others go out with prefix: - output.put(prefix + key,value); } } } Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml 2008-11-07 22:45:08 UTC (rev 2642) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml 2008-12-05 22:13:14 UTC (rev 2643) @@ -4,7 +4,9 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> - <bean id="archivalurlhttpheaderprocessor" class="org.archive.wayback.replay.RedirectRewritingHttpHeaderProcessor" /> + <bean id="archivalurlhttpheaderprocessor" class="org.archive.wayback.replay.RedirectRewritingHttpHeaderProcessor"> + <property name="prefix" value="X-Archive-Orig-" /> + </bean> <bean id="archivaldateredirectingreplayrenderer" class="org.archive.wayback.replay.DateRedirectReplayRenderer" /> <bean id="archivalcssreplayrenderer" class="org.archive.wayback.archivalurl.ArchivalUrlCSSReplayRenderer"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2009-11-06 02:06:02
|
Revision: 2892 http://archive-access.svn.sourceforge.net/archive-access/?rev=2892&view=rev Author: bradtofel Date: 2009-11-06 02:05:52 +0000 (Fri, 06 Nov 2009) Log Message: ----------- INITIAL REV: code we use at IA when extracting records from existing WARC files into a new WARC - this tool builds a WARC header record for the new WARC file. Added Paths: ----------- trunk/archive-access/projects/wayback/dist/src/scripts/warc-header trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/WARCHeader.java Added: trunk/archive-access/projects/wayback/dist/src/scripts/warc-header =================================================================== --- trunk/archive-access/projects/wayback/dist/src/scripts/warc-header (rev 0) +++ trunk/archive-access/projects/wayback/dist/src/scripts/warc-header 2009-11-06 02:05:52 UTC (rev 2892) @@ -0,0 +1,78 @@ +#!/usr/bin/env sh +## +## Optional environment variables +## +## JAVA_HOME Point at a JDK install to use. +## +## WAYBACK_HOME Pointer to your wayback install. If not present, we +## make an educated guess based of position relative to this +## script. +## +## JAVA_OPTS Java runtime options. Default setting is '-Xmx256m'. +## + +# Resolve links - $0 may be a softlink +PRG="$0" +while [ -h "$PRG" ]; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '.*/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done +PRGDIR=`dirname "$PRG"` + +# Set WAYBACK_HOME. +if [ -z "$WAYBACK_HOME" ] +then + WAYBACK_HOME=`cd "$PRGDIR/.." ; pwd` +fi + +# Find JAVA_HOME. +if [ -z "$JAVA_HOME" ] +then + JAVA=`which java` + if [ -z "$JAVA" ] + then + echo "Cannot find JAVA. Please set JAVA_HOME or your PATH." + exit 1 + fi + JAVA_BINDIR=`dirname $JAVA` + JAVA_HOME=$JAVA_BINDIR/.. +fi + +if [ -z "$JAVACMD" ] +then + # It may be defined in env - including flags!! + JAVACMD=$JAVA_HOME/bin/java +fi + +# Ignore previous classpath. Build one that contains heritrix jar and content +# of the lib directory into the variable CP. +for jar in `ls $WAYBACK_HOME/lib/*.jar $WAYBACK_HOME/*.jar 2> /dev/null` +do + CP=${CP}:${jar} +done + +# cygwin path translation +if expr `uname` : 'CYGWIN*' > /dev/null; then + CP=`cygpath -p -w "$CP"` + WAYBACK_HOME=`cygpath -p -w "$WAYBACK_HOME"` +fi + +# Make sure of java opts. +if [ -z "$JAVA_OPTS" ] +then + JAVA_OPTS=" -Xmx256m" +fi + +# Main ArcIndexer class. +if [ -z "$CLASS_MAIN" ] +then + CLASS_MAIN='org.archive.wayback.util.WARCHeader' +fi + +CLASSPATH=${CP} $JAVACMD ${JAVA_OPTS} $CLASS_MAIN "$@" + Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/WARCHeader.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/WARCHeader.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/WARCHeader.java 2009-11-06 02:05:52 UTC (rev 2892) @@ -0,0 +1,63 @@ +package org.archive.wayback.util; + +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.archive.io.warc.WARCWriter; +import org.archive.util.anvl.ANVLRecord; + +public class WARCHeader { + private void writeHeaderRecord(File target, File fieldsSrc, String id) + throws IOException { + + WARCWriter writer = null; + + BufferedOutputStream bos = + new BufferedOutputStream(new FileOutputStream(target)); + + FileInputStream is = new FileInputStream(fieldsSrc); + ANVLRecord ar = ANVLRecord.load(is); + + List<String> metadata = new ArrayList<String>(1); + metadata.add(ar.toString()); + + writer = new WARCWriter(null, bos, target, true, null, + metadata); + // Write a warcinfo record with description about how this WARC + // was made. + writer.writeWarcinfoRecord(target.getName(), "Made from " + + id + " by " + + this.getClass().getName()); + + } + + public static void main(String[] args) { + if (args.length != 3) { + System.err.println("USAGE: tgtWarc fieldsSrc id"); + System.err.println("\ttgtWarc is the path to the target WARC.gz"); + System.err.println("\tfieldsSrc is the path to the text of the record"); + System.err.println("\t\tmake sure each line is terminated by \\r\\n"); + System.err.println("\t\tand that the file ends with a blank, \\r\\n terminiated line"); + System.err.println("\tid is the XXX in:"); + System.err.println("\t\tContent-Description: Made from XXX by org.archive.wayback.util.WARCHeader"); + System.err.println("\t\tof the header record... header..."); + System.exit(1); + } + File target = new File(args[0]); + File fieldSrc = new File(args[1]); + String id = args[2]; + WARCHeader header = new WARCHeader(); + try { + header.writeHeaderRecord(target, fieldSrc, id); + } catch (IOException e) { + e.printStackTrace(); + System.exit(2); + } + } + +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/WARCHeader.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2009-11-06 03:24:48
|
Revision: 2904 http://archive-access.svn.sourceforge.net/archive-access/?rev=2904&view=rev Author: bradtofel Date: 2009-11-06 03:24:42 +0000 (Fri, 06 Nov 2009) Log Message: ----------- REFACTOR: moved around all hadoop indexing related code, including significant changes to the maven build Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/dist/src/main/assembly/distribution.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-hadoop/ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/src/ trunk/archive-access/projects/wayback/wayback-hadoop-java/src/main/ trunk/archive-access/projects/wayback/wayback-hadoop-java/src/main/java/ Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2009-11-06 03:19:32 UTC (rev 2903) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -49,26 +49,13 @@ <layout>default</layout> </repository> </repositories> - <dependencies> <dependency> <groupId>org.archive.wayback</groupId> - <artifactId>wayback-webapp</artifactId> + <artifactId>wayback-core</artifactId> <version>1.5.0-SNAPSHOT</version> - <type>war</type> </dependency> - <dependency> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback-mapreduce</artifactId> - <version>1.5.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - </dependency> </dependencies> - <build> <plugins> Modified: trunk/archive-access/projects/wayback/dist/src/main/assembly/distribution.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/src/main/assembly/distribution.xml 2009-11-06 03:19:32 UTC (rev 2903) +++ trunk/archive-access/projects/wayback/dist/src/main/assembly/distribution.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -14,11 +14,6 @@ <fileSets> <fileSet> <includes> - <include>../wayback-webapp/target/*.war</include> - </includes> - </fileSet> - <fileSet> - <includes> <include>README*</include> <include>LICENSE*</include> </includes> @@ -32,45 +27,18 @@ </includes> </fileSet> <fileSet> - <directory>target/site</directory> - <outputDirectory>/docs</outputDirectory> - </fileSet> - <fileSet> - <directory>../target/site</directory> - <outputDirectory>/docs</outputDirectory> - </fileSet> - </fileSets> - - <!-- - <fileSet> - <directory>wayback-mapreduce/target</directory> - <outputDirectory></outputDirectory> + <directory>../wayback-webapp/target/</directory> + <outputDirectory>/</outputDirectory> <includes> - <include>*.jar</include> - </includes> - </fileSet> - <fileSet> - <directory>wayback-core/target</directory> - <outputDirectory></outputDirectory> - <includes> - <include>*.jar</include> - </includes> - </fileSet> - <fileSet> - <directory>wayback-webapp/target</directory> - <outputDirectory></outputDirectory> - <includes> <include>*.war</include> </includes> </fileSet> - <fileSet> - <directory>wayback-core/src</directory> - <outputDirectory>/src</outputDirectory> - </fileSet> - <fileSet> - <directory>src</directory> - <outputDirectory>/src</outputDirectory> - </fileSet> </fileSets> - --> + <files> + <file> + <source>../wayback-hadoop/target/wayback-hadoop-jar-with-dependencies.jar</source> + <destName>wayback-hadoop-${project.version}.jar</destName> + </file> + </files> + </assembly> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2009-11-06 03:19:32 UTC (rev 2903) +++ trunk/archive-access/projects/wayback/pom.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -1,4 +1,4 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="UTF-8"?> <!-- POM reference: http://maven.apache.org/pom.html @@ -43,23 +43,13 @@ <name>Internet Archive</name> <url>http://www.archive.org/</url> </organization> -<!-- + <issueManagement> - <system>SourceForge</system> - <url>http://sourceforge.net/tracker/?group_id=118427</url> - </issueManagement> ---> - <issueManagement> <system>Jira</system> - <url>http://webteam.archive.org/jira/secure/IssueNavigator.jspa?component=10031</url> + <url>http://webarchive.jira.com/secure/IssueNavigator.jspa?component=10031</url> </issueManagement> -<!-- + <ciManagement> - <system>cruisecontrol</system> - <url>http://builds.archive.org:8080/cruisecontrol/</url> - </ciManagement> ---> - <ciManagement> <system>continuum</system> <url>http://builds.archive.org:8081/continuum/</url> </ciManagement> @@ -142,7 +132,7 @@ </scm> <prerequisites> - <maven>2.0.5</maven> + <maven>2.0.9</maven> </prerequisites> <dependencyManagement> @@ -155,12 +145,12 @@ </dependency> <dependency> <groupId>org.archive.wayback</groupId> - <artifactId>wayback-mapreduce-prereq</artifactId> + <artifactId>wayback-hadoop-java</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.archive.wayback</groupId> - <artifactId>wayback-mapreduce</artifactId> + <artifactId>wayback-hadoop</artifactId> <version>${project.version}</version> </dependency> <dependency> @@ -173,9 +163,9 @@ <modules> <module>wayback-core</module> - <module>wayback-mapreduce-prereq</module> - <module>wayback-mapreduce</module> <module>wayback-webapp</module> + <module>wayback-hadoop-java</module> + <module>wayback-hadoop</module> <module>dist</module> </modules> @@ -234,15 +224,15 @@ </plugins> </reporting> +<!--Needed because we have test code under src/java. <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> -<!--Needed because we have test code under src/java. <scope>test</scope> - --> </dependency> </dependencies> + --> -</project> +</project> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2009-11-06 03:19:32 UTC (rev 2903) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -54,12 +54,19 @@ <version>2.4</version> <scope>provided</scope> </dependency> + <!-- <dependency> <groupId>org.archive.heritrix</groupId> <artifactId>commons</artifactId> - <version>2.0.2-SNAPSHOT</version> + <version>3.0.0-SNAPSHOT</version> </dependency> + --> <dependency> + <groupId>org.archive.heritrix</groupId> + <artifactId>commons</artifactId> + <version>2.0.3-SNAPSHOT</version> + </dependency> + <dependency> <groupId>org.archive.access-control</groupId> <artifactId>access-control</artifactId> <version>0.0.1-SNAPSHOT</version> @@ -84,6 +91,11 @@ <artifactId>bsh</artifactId> <version>2.0b4</version> </dependency> + <dependency> + <groupId>org.htmlparser</groupId> + <artifactId>htmlparser</artifactId> + <version>1.6</version> + </dependency> <!-- Doh... I'm not sure what package is configuring org.apache.commons-logging to use log4j, but it's breaking some command line tools. Added: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml (rev 0) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?><project> + <parent> + <artifactId>wayback</artifactId> + <groupId>org.archive</groupId> + <version>1.5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <groupId>org.archive.wayback</groupId> + <artifactId>wayback-hadoop</artifactId> + <name>Wayback Hadoop Jar Packaging</name> + <version>1.5.0-SNAPSHOT</version> + <url>http://maven.apache.org</url> + <packaging>pom</packaging> + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.archive.wayback</groupId> + <artifactId>wayback-hadoop-java</artifactId> + <version>1.5.0-SNAPSHOT</version> + <scope>compile</scope> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.2-beta-1</version> + <configuration> + <descriptorRefs> + <descriptorRef>jar-with-dependencies</descriptorRef> + </descriptorRefs> + <finalName>wayback-hadoop</finalName> + </configuration> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>attached</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml (rev 0) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8"?><project> + <parent> + <artifactId>wayback</artifactId> + <groupId>org.archive</groupId> + <version>1.5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <groupId>org.archive.wayback</groupId> + <artifactId>wayback-hadoop-java</artifactId> + <name>Wayback Hadoop Java Code</name> + <version>1.5.0-SNAPSHOT</version> + <url>http://maven.apache.org</url> + <packaging>jar</packaging> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.mahout.hadoop</groupId> + <artifactId>hadoop-core</artifactId> + <scope>provided</scope> + <version>0.19.1</version> + </dependency> + <dependency> + <groupId>org.archive.wayback</groupId> + <artifactId>wayback-core</artifactId> + <scope>compile</scope> + <version>1.5.0-SNAPSHOT</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.5</source> + <target>1.5</target> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2009-11-06 03:19:32 UTC (rev 2903) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2009-11-06 03:24:42 UTC (rev 2904) @@ -42,6 +42,17 @@ <version>5.5.15</version> <scope>provided</scope> </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>jstl</artifactId> + <version>1.0</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>taglibs</groupId> + <artifactId>standard</artifactId> + <version>1.1.2</version> + </dependency> </dependencies> </project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2009-11-06 03:38:50
|
Revision: 2907 http://archive-access.svn.sourceforge.net/archive-access/?rev=2907&view=rev Author: bradtofel Date: 2009-11-06 03:38:39 +0000 (Fri, 06 Nov 2009) Log Message: ----------- REFACTOR: moved around all hadoop indexing related code, including significant changes to the maven build Removed Paths: ------------- trunk/archive-access/projects/wayback/wayback-mapreduce/ trunk/archive-access/projects/wayback/wayback-mapreduce-prereq/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2009-11-07 01:10:50
|
Revision: 2910 http://archive-access.svn.sourceforge.net/archive-access/?rev=2910&view=rev Author: bradtofel Date: 2009-11-07 01:10:39 +0000 (Sat, 07 Nov 2009) Log Message: ----------- FEATURE: moved all logging over to log4j, which is now included in the webapp, as is a starter log4j.properties Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/LiveWebCache.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/SearchResultToBDBRecordAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXFormatToSearchResultAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/DynamicCDXIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/IndexClient.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/LocalResourceIndexUpdater.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocationDBResourceStore.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/ARCRecordToSearchResultAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/HTTPRecordAnnotater.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexQueueUpdater.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexWorker.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/WARCRecordToSearchResultAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/locationdb/FileProxyServlet.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/locationdb/RemoteResourceFileLocationDB.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/locationdb/ResourceFileLocationDBUpdater.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/ArcResource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/DirectoryResourceFileSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/ResourceFileList.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/resourcefile/ResourceFileSourceUpdater.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/ARCCreator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/RequestFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/RequestMapper.java trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/classes/log4j.properties Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilter.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilter.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -30,8 +30,8 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -33,8 +33,9 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import java.util.logging.Logger; +import org.apache.log4j.Logger; + /** * Class which parses a robots.txt file, storing the rules contained therein, * and then allows for testing if path/userAgent tuples are blocked by those @@ -111,7 +112,7 @@ current = new ArrayList<String>(); } rules.put(ua, current); - LOGGER.fine("Found User-agent(" + ua + ") rules..."); + LOGGER.info("Found User-agent(" + ua + ") rules..."); continue; } if (read.matches("(?i)Disallow:.*")) { @@ -139,16 +140,16 @@ String disallowedPath = disItr.next(); if (disallowedPath.length() == 0) { - LOGGER.fine("UA(" + curUA + LOGGER.info("UA(" + curUA + ") has empty disallow: Go for it!"); return false; } else { - LOGGER.fine("UA(" + curUA + ") has (" + LOGGER.info("UA(" + curUA + ") has (" + disallowedPath + ") blocked...(" + disallowedPath.length() + ")"); if (disallowedPath.equals("/") || path.startsWith(disallowedPath)) { - LOGGER.fine("THIS APPLIES!!!"); + LOGGER.info("THIS APPLIES!!!"); return true; } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -25,9 +25,10 @@ package org.archive.wayback.accesscontrol.staticmap; import java.util.Map; -import java.util.logging.Logger; + import org.apache.commons.httpclient.URIException; +import org.apache.log4j.Logger; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.surt.SURTTokenizer; import org.archive.wayback.util.ObjectFilter; @@ -60,9 +61,9 @@ if(nextSearch == null) { break; } - LOGGER.fine("EXCLUSION-MAP:Checking " + nextSearch); + LOGGER.info("EXCLUSION-MAP:Checking " + nextSearch); if(exclusionMap.containsKey(nextSearch)) { - LOGGER.fine("EXCLUSION-MAP: EXCLUDED: \"" + nextSearch + "\" (" + url +")"); + LOGGER.info("EXCLUSION-MAP: EXCLUDED: \"" + nextSearch + "\" (" + url +")"); return true; } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -28,8 +28,9 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -import java.util.logging.Logger; + +import org.apache.log4j.Logger; import org.archive.wayback.accesscontrol.ExclusionFilterFactory; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.surt.SURTTokenizer; @@ -96,7 +97,7 @@ } String surt = line.startsWith("(") ? line : SURTTokenizer.prefixKey(line); - LOGGER.fine("EXCLUSION-MAP: adding " + surt); + LOGGER.info("EXCLUSION-MAP: adding " + surt); newMap.put(surt, null); } itr.close(); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -2,8 +2,8 @@ import java.util.ArrayList; import java.util.List; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.util.IPRange; import org.archive.wayback.util.operator.BooleanOperator; @@ -24,7 +24,7 @@ if(range.setRange(ip)) { this.allowedRanges.add(range); } else { - LOGGER.severe("Unable to parse range (" + ip + ")"); + LOGGER.error("Unable to parse range (" + ip + ")"); } } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -28,8 +28,8 @@ import java.io.IOException; import java.util.Arrays; import java.util.List; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.io.WriterPoolSettings; import org.archive.io.arc.ARCConstants; import org.archive.io.arc.ARCWriter; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/LiveWebCache.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/LiveWebCache.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/LiveWebCache.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -27,9 +27,9 @@ import java.io.IOException; import java.net.URL; import java.util.Date; -import java.util.logging.Logger; import org.apache.commons.httpclient.URIException; +import org.apache.log4j.Logger; import org.archive.io.arc.ARCLocation; import org.archive.io.arc.ARCRecord; import org.archive.wayback.UrlCanonicalizer; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLCacher.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -39,7 +39,6 @@ import java.util.Date; import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.Logger; import org.apache.commons.httpclient.ConnectTimeoutException; import org.apache.commons.httpclient.Header; @@ -51,6 +50,7 @@ import org.apache.commons.httpclient.HttpState; import org.apache.commons.httpclient.SimpleHttpConnectionManager; import org.apache.commons.httpclient.URIException; +import org.apache.log4j.Logger; import org.archive.io.arc.ARCLocation; import org.archive.io.arc.ARCWriter; import org.archive.net.LaxURI; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -30,12 +30,12 @@ import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; -import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.apache.log4j.Logger; import org.archive.wayback.ResourceIndex; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.core.CaptureSearchResults; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -28,12 +28,12 @@ import java.io.IOException; import java.net.URL; import java.net.URLConnection; -import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.apache.log4j.Logger; import org.archive.wayback.ResourceIndex; import org.archive.wayback.UrlCanonicalizer; import org.archive.wayback.core.CaptureSearchResult; @@ -96,7 +96,7 @@ if(factory != null) { builder = factory.newDocumentBuilder(); if (!builder.isNamespaceAware()) { - LOGGER.severe("Builder is not namespace aware."); + LOGGER.error("Builder is not namespace aware."); } } } catch (ParserConfigurationException e) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/SearchResultToBDBRecordAdapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/SearchResultToBDBRecordAdapter.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/SearchResultToBDBRecordAdapter.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -24,9 +24,8 @@ */ package org.archive.wayback.resourceindex.bdb; -import java.util.logging.Logger; - import org.apache.commons.httpclient.URIException; +import org.apache.log4j.Logger; import org.archive.wayback.UrlCanonicalizer; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.Adapter; @@ -75,7 +74,7 @@ urlKey = canonicalizer.urlStringToKey(origUrl); } catch (URIException e) { // e.printStackTrace(); - LOGGER.warning("FAILED canonicalize(" + origUrl +")"); + LOGGER.warn("FAILED canonicalize(" + origUrl +")"); urlKey = origUrl; } keySB.append(urlKey); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXFormatToSearchResultAdapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXFormatToSearchResultAdapter.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXFormatToSearchResultAdapter.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -1,7 +1,7 @@ package org.archive.wayback.resourceindex.cdx; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.resourceindex.cdx.format.CDXFormat; import org.archive.wayback.resourceindex.cdx.format.CDXFormatException; @@ -20,7 +20,7 @@ try { return cdx.parseResult(line); } catch (CDXFormatException e) { - LOGGER.warning("CDXFormat(" + line + "):"+e.getLocalizedMessage()); + LOGGER.warn("CDXFormat(" + line + "):"+e.getLocalizedMessage()); } return null; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/DynamicCDXIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/DynamicCDXIndex.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/DynamicCDXIndex.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -32,9 +32,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Set; -import java.util.logging.Logger; import java.util.regex.Pattern; +import org.apache.log4j.Logger; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.exception.ResourceIndexNotAvailableException; import org.archive.wayback.util.CloseableIterator; @@ -274,7 +274,7 @@ break; } else { tmpTarget.delete(); - LOGGER.warning("Bad file contents. Location(" + + LOGGER.warn("Bad file contents. Location(" + loc +") should have MD5(" + neededMD5 + ") but has MD5(" + gotMD5 +")"); } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -31,9 +31,9 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; -import java.util.logging.Logger; import org.apache.commons.httpclient.URIException; +import org.apache.log4j.Logger; import org.archive.wayback.ResourceIndex; import org.archive.wayback.UrlCanonicalizer; import org.archive.wayback.core.SearchResults; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/IndexClient.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/IndexClient.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/IndexClient.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -31,13 +31,13 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; -import java.util.logging.Logger; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.InputStreamRequestEntity; import org.apache.commons.httpclient.methods.PutMethod; +import org.apache.log4j.Logger; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.resourceindex.cdx.SearchResultToCDXLineAdapter; import org.archive.wayback.util.AdaptedIterator; @@ -114,7 +114,7 @@ } File toBeMergedFile = new File(toBeMergedDir,base); if(toBeMergedFile.exists()) { - LOGGER.severe("WARNING: "+toBeMergedFile.getAbsolutePath() + + LOGGER.warn("WARNING: "+toBeMergedFile.getAbsolutePath() + "already exists!"); } else { if(cdx.renameTo(toBeMergedFile)) { @@ -122,7 +122,7 @@ " for merging."); added = true; } else { - LOGGER.severe("FAILED rename("+cdx.getAbsolutePath()+ + LOGGER.error("FAILED rename("+cdx.getAbsolutePath()+ ") to ("+toBeMergedFile.getAbsolutePath()+")"); } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/LocalResourceIndexUpdater.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/LocalResourceIndexUpdater.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/updater/LocalResourceIndexUpdater.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -26,8 +26,8 @@ import java.io.File; import java.io.IOException; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.Shutdownable; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.exception.ConfigurationException; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocationDBResourceStore.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocationDBResourceStore.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/LocationDBResourceStore.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -25,8 +25,8 @@ package org.archive.wayback.resourcestore; import java.io.IOException; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.ResourceStore; import org.archive.wayback.core.Resource; import org.archive.wayback.core.CaptureSearchResult; @@ -85,7 +85,7 @@ // which means we've already read some } catch (IOException e) { - LOGGER.warning("Unable to retrieve resource from " + url); + LOGGER.warn("Unable to retrieve resource from " + url); } if(r != null) { break; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/ARCRecordToSearchResultAdapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/ARCRecordToSearchResultAdapter.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/ARCRecordToSearchResultAdapter.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -26,7 +26,6 @@ import java.io.File; import java.io.IOException; -//import java.util.logging.Logger; import org.apache.commons.httpclient.Header; import org.archive.io.arc.ARCRecord; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/HTTPRecordAnnotater.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/HTTPRecordAnnotater.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/HTTPRecordAnnotater.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -3,9 +3,9 @@ import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; -import java.util.logging.Logger; import org.apache.commons.httpclient.Header; +import org.apache.log4j.Logger; import org.archive.wayback.WaybackConstants; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.htmllex.ContextAwareLexer; @@ -132,13 +132,13 @@ } catch (ParserException e) { // TODO Auto-generated catch block e.printStackTrace(); - LOGGER.warning(fileContext + " " + e.getLocalizedMessage()); + LOGGER.warn(fileContext + " " + e.getLocalizedMessage()); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); - LOGGER.warning(fileContext + " " + e.getLocalizedMessage()); + LOGGER.warn(fileContext + " " + e.getLocalizedMessage()); } catch (IOException e) { - LOGGER.warning(fileContext + " " + e.getLocalizedMessage()); + LOGGER.warn(fileContext + " " + e.getLocalizedMessage()); } } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexQueueUpdater.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexQueueUpdater.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexQueueUpdater.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -29,8 +29,8 @@ import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.Shutdownable; import org.archive.wayback.resourcestore.locationdb.ResourceFileLocationDB; import org.archive.wayback.util.CloseableIterator; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexWorker.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexWorker.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/IndexWorker.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -28,8 +28,8 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; -import java.util.logging.Logger; +import org.apache.log4j.Logger; import org.archive.wayback.Shutdownable; import org.archive.wayback.UrlCanonicalizer; import org.archive.wayback.core.CaptureSearchResult; @@ -103,7 +103,7 @@ try { pathsOrUrls = db.nameToUrls(name); } catch(IOException e) { - LOGGER.severe("FAILED TO LOOKUP(" + name + ")" + + LOGGER.error("FAILED TO LOOKUP(" + name + ")" + e.getLocalizedMessage()); return false; } @@ -118,7 +118,7 @@ } } } catch(IOException e) { - LOGGER.severe("FAILED to index or upload (" + name + ")"); + LOGGER.error("FAILED to index or upload (" + name + ")"); e.printStackTrace(); } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/WARCRecordToSearchResultAdapter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/WARCRecordToSearchResultAdapter.java 2009-11-07 01:08:15 UTC (rev 2909) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/indexer/WARCRecordToSearchResultAdapter.java 2009-11-07 01:10:39 UTC (rev 2910) @@ -2,7 +2,6 @@ import java.io.File; import java.io.IOException; -//import java.util.logging.Logger; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpParser; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/locationdb/FileProxyServlet.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourcestore/locationdb/FileProxyServlet.java 2009-11... [truncated message content] |
From: <bra...@us...> - 2009-11-11 00:33:37
|
Revision: 2929 http://archive-access.svn.sourceforge.net/archive-access/?rev=2929&view=rev Author: bradtofel Date: 2009-11-11 00:25:13 +0000 (Wed, 11 Nov 2009) Log Message: ----------- VERSION: upped to 1.5.3 Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2009-11-11 00:23:33 UTC (rev 2928) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2009-11-11 00:25:13 UTC (rev 2929) @@ -3,7 +3,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -53,7 +53,7 @@ <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </dependency> </dependencies> <build> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2009-11-11 00:23:33 UTC (rev 2928) +++ trunk/archive-access/projects/wayback/pom.xml 2009-11-11 00:25:13 UTC (rev 2929) @@ -17,9 +17,10 @@ <groupId>org.archive</groupId> <artifactId>wayback</artifactId> <properties> - <globalVersion>1.5.0-SNAPSHOT</globalVersion> + <globalVersion>1.5.3-SNAPSHOT</globalVersion> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> <packaging>pom</packaging> <name>Wayback</name> Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2009-11-11 00:23:33 UTC (rev 2928) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2009-11-11 00:25:13 UTC (rev 2929) @@ -17,7 +17,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2009-11-11 00:23:33 UTC (rev 2928) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2009-11-11 00:25:13 UTC (rev 2929) @@ -2,13 +2,13 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> <artifactId>wayback-hadoop</artifactId> <name>Wayback Hadoop Jar Packaging</name> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> <url>http://maven.apache.org</url> <packaging>pom</packaging> <dependencies> @@ -21,7 +21,7 @@ <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-hadoop-java</artifactId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> Modified: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2009-11-11 00:23:33 UTC (rev 2928) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2009-11-11 00:25:13 UTC (rev 2929) @@ -2,13 +2,13 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> <artifactId>wayback-hadoop-java</artifactId> <name>Wayback Hadoop Java Code</name> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> <url>http://maven.apache.org</url> <packaging>jar</packaging> @@ -29,7 +29,7 @@ <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> <scope>compile</scope> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </dependency> </dependencies> <build> Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2009-11-11 00:23:33 UTC (rev 2928) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2009-11-11 00:25:13 UTC (rev 2929) @@ -3,7 +3,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.5.0-SNAPSHOT</version> + <version>1.5.3-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-06-01 19:37:14
|
Revision: 3134 http://archive-access.svn.sourceforge.net/archive-access/?rev=3134&view=rev Author: bradtofel Date: 2010-06-01 19:37:08 +0000 (Tue, 01 Jun 2010) Log Message: ----------- INITIAL REV: new Toolbar.jsp, and accompanying ToolBarData class which draws a snazzy toolbar into HTML pages during replay. ToolBarData does all the heavy lifting of massaging the results data for the jsp Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/PartitionsToGraph.java Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/ToolBarData.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/Toolbar.jsp Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/PartitionsToGraph.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/PartitionsToGraph.java 2010-06-01 18:52:55 UTC (rev 3133) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/PartitionsToGraph.java 2010-06-01 19:37:08 UTC (rev 3134) @@ -27,11 +27,14 @@ import java.util.ArrayList; import java.util.Calendar; +import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.TimeZone; import org.archive.wayback.ResultURIConverter; import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; import org.archive.wayback.util.StringFormatter; import org.archive.wayback.util.Timestamp; import org.archive.wayback.util.graph.Graph; Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/ToolBarData.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/ToolBarData.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/ToolBarData.java 2010-06-01 19:37:08 UTC (rev 3134) @@ -0,0 +1,226 @@ +/* ToolBarData + * + * $Id$: + * + * Created on May 27, 2010. + * + * Copyright (C) 2006 Internet Archive. + * + * This file is part of Wayback. + * + * Wayback is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * any later version. + * + * Wayback is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser Public License for more details. + * + * You should have received a copy of the GNU Lesser Public License + * along with Wayback; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +package org.archive.wayback.partition; + +import java.util.Calendar; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; +import org.archive.wayback.core.UIResults; +import org.archive.wayback.util.StringFormatter; +import org.archive.wayback.util.graph.Graph; +import org.archive.wayback.util.graph.GraphEncoder; +import org.archive.wayback.util.partition.Partition; +import org.archive.wayback.util.partition.PartitionSize; +import org.archive.wayback.util.partition.Partitioner; + + +/** + * @author brad + * + */ +public class ToolBarData { + + private UIResults uiResults; + private StringFormatter fmt; + + /** Latest Result one year before current, or null */ + public CaptureSearchResult yearPrevResult; + /** Latest Result one month before current, or null */ + public CaptureSearchResult monthPrevResult; + /** Latest Result before current, or null */ + public CaptureSearchResult prevResult; + /** Earliest Result after current, or null */ + public CaptureSearchResult nextResult; + /** Earliest Result one month after current, or null */ + public CaptureSearchResult monthNextResult; + /** Earliest Result one year after current, or null */ + public CaptureSearchResult yearNextResult; + + /** current result being shown */ + public CaptureSearchResult curResult; + /** the CaptureSearchResults object from the ResourceIndex. */ + public CaptureSearchResults results; + /** List<Part<Part<CResult>>> for years*/ + public List<Partition<Partition<CaptureSearchResult>>> yearPartitions; + /** List<Part<CResult>> for months*/ + public List<Partition<CaptureSearchResult>> monthPartitions; + + private static final PartitionSize yearSize = Partitioner.yearSize; + private static final PartitionSize monthSize = Partitioner.monthSize; + + private static final CaptureSearchResultPartitionMap monthMap = + new CaptureSearchResultPartitionMap(); + private static final PartitionPartitionMap yearMap = + new PartitionPartitionMap(); + + private static final Partitioner<Partition<CaptureSearchResult>> + yearPartitioner = + new Partitioner<Partition<CaptureSearchResult>>(yearMap); + private static final Partitioner<CaptureSearchResult> monthPartitioner = + new Partitioner<CaptureSearchResult>(monthMap); + + /** + * @param uiResults the UIResults holding replay info + */ + public ToolBarData(UIResults uiResults) { + this.uiResults = uiResults; + fmt = uiResults.getWbRequest().getFormatter(); + results = uiResults.getCaptureResults(); + curResult = uiResults.getResult(); + findRelativeLinks(); + Date firstDate = uiResults.getWbRequest().getStartDate(); + Date lastDate = uiResults.getWbRequest().getEndDate(); + + yearPartitions = yearPartitioner.getRange(yearSize,firstDate,lastDate); + + Date firstYearDate = yearPartitions.get(0).getStart(); + Date lastYearDate = yearPartitions.get(yearPartitions.size()-1).getEnd(); + + monthPartitions = + monthPartitioner.getRange(monthSize,firstYearDate,lastYearDate); + + Iterator<CaptureSearchResult> it = results.iterator(); + + monthPartitioner.populate(monthPartitions,it); + yearPartitioner.populate(yearPartitions,monthPartitions.iterator()); + + } + + /** + * @param formatKey String template for format Dates + * @param width pixel width of resulting graph + * @param height pixel height of resulting graph + * @return String argument which will generate a graph for the results + */ + public String computeGraphString(String formatKey, int width, int height) { + Graph graph = PartitionsToGraph.partsOfPartsToGraph(yearPartitions, + fmt,formatKey,width,height); + return GraphEncoder.encode(graph); + + } + /** + * @param result Restul to draw replay URL for + * @return String absolute URL that will replay result + */ + public String makeReplayURL(CaptureSearchResult result) { + return fmt.escapeHtml(uiResults.getURIConverter().makeReplayURI( + result.getCaptureTimestamp(), result.getOriginalUrl())); + } + + /** + * @return the total number of results + */ + public long getResultCount() { + return uiResults.getCaptureResults().getReturnedCount(); + } + /** + * @return the Date of the first capture in the result set + */ + public Date getFirstResultDate() { + return uiResults.getCaptureResults().getFirstResultDate(); + } + /** + * @return the Date of the last capture in the result set + */ + public Date getLastResultDate() { + return uiResults.getCaptureResults().getLastResultDate(); + } + + + private static Date addDateField(Date date, int field, int amt) { + Calendar c = PartitionsToGraph.getUTCCalendar(); + c.setTime(date); + c.add(field, amt); + return c.getTime(); + } + /** + * Increment a Date object by +/- some years + * @param date Date to +/- some years from + * @param amt number of years to add/remove + * @return new Date object offset by the indicated years + */ + public static Date addYear(Date date, int amt) { + return addDateField(date,Calendar.YEAR,amt); + } + /** + * Increment a Date object by +/- some months + * @param date Date to +/- some months from + * @param amt number of months to add/remove + * @return new Date object offset by the indicated months + */ + public static Date addMonth(Date date, int amt) { + return addDateField(date,Calendar.MONTH,amt); + } + /** + * Increment a Date object by +/- some days + * @param date Date to +/- some days from + * @param amt number of days to add/remove + * @return new Date object offset by the indicated days + */ + public static Date addDay(Date date, int amt) { + return addDateField(date,Calendar.DATE,amt); + } + private void findRelativeLinks() { + Date cur = curResult.getCaptureDate(); + + Date minYear = addYear(cur,-1); + Date minMonth = addMonth(cur,-1); + Date addYear = addYear(cur,1); + Date addMonth = addMonth(cur,1); + Iterator<CaptureSearchResult> itr = results.iterator(); + while(itr.hasNext()) { + CaptureSearchResult result = itr.next(); + Date d = result.getCaptureDate(); + if(d.compareTo(cur) < 0) { + prevResult = result; + if(d.compareTo(minMonth) < 0) { + monthPrevResult = result; + } + if(d.compareTo(minYear) < 0 ) { + yearPrevResult = result; + } + } else if(d.compareTo(cur) > 0) { + if(nextResult == null) { + nextResult = result; + } + if(d.compareTo(addYear) > 0) { + if(yearNextResult == null) { + yearNextResult = result; + } + } + if(d.compareTo(addMonth) > 0) { + if(monthNextResult == null) { + monthNextResult = result; + } + } + } + } + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/ToolBarData.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/Toolbar.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/Toolbar.jsp (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/Toolbar.jsp 2010-06-01 19:37:08 UTC (rev 3134) @@ -0,0 +1,353 @@ +<%@ + page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" + %><%@ + page import="java.util.Iterator" + %><%@ + page import="java.util.ArrayList" + %><%@ + page import="java.util.Date" + %><%@ + page import="java.util.Calendar" + %><%@ + page import="java.util.List" + %><%@ + page import="java.text.ParseException" + %><%@ + page import="org.archive.wayback.ResultURIConverter" + %><%@ + page import="org.archive.wayback.WaybackConstants" + %><%@ + page import="org.archive.wayback.core.CaptureSearchResult" + %><%@ + page import="org.archive.wayback.core.CaptureSearchResults" + %><%@ + page import="org.archive.wayback.core.UIResults" + %><%@ + page import="org.archive.wayback.core.WaybackRequest" + %><%@ + page import="org.archive.wayback.partition.CaptureSearchResultPartitionMap" + %><%@ + page import="org.archive.wayback.partition.PartitionPartitionMap" + %><%@ + page import="org.archive.wayback.partition.PartitionsToGraph" + %><%@ + page import="org.archive.wayback.partition.ToolBarData" + %><%@ + page import="org.archive.wayback.util.graph.Graph" + %><%@ + page import="org.archive.wayback.util.graph.GraphEncoder" + %><%@ + page import="org.archive.wayback.util.graph.GraphRenderer" + %><%@ + page import="org.archive.wayback.util.partition.Partition" + %><%@ + page import="org.archive.wayback.util.partition.Partitioner" + %><%@ + page import="org.archive.wayback.util.partition.PartitionSize" + %><%@ + page import="org.archive.wayback.util.StringFormatter" + %><%@ + page import="org.archive.wayback.util.url.UrlOperations" + %><% +UIResults results = UIResults.extractReplay(request); +WaybackRequest wbRequest = results.getWbRequest(); +ResultURIConverter uriConverter = results.getURIConverter(); +StringFormatter fmt = wbRequest.getFormatter(); + +String staticPrefix = results.getStaticPrefix(); +String queryPrefix = results.getQueryPrefix(); +String replayPrefix = results.getReplayPrefix(); + +String graphJspPrefix = results.getContextConfig("graphJspPrefix"); +if(graphJspPrefix == null) { + graphJspPrefix = queryPrefix; +} +ToolBarData data = new ToolBarData(results); + +String searchUrl = + UrlOperations.stripDefaultPortFromUrl(wbRequest.getRequestUrl()); +String searchUrlSafe = fmt.escapeHtml(searchUrl); +String searchUrlJS = fmt.escapeJavaScript(searchUrl); +Date firstYearDate = data.yearPartitions.get(0).getStart(); +Date lastYearDate = data.yearPartitions.get(data.yearPartitions.size()-1).getEnd(); + +int resultIndex = 1; +int imgWidth = 375; +int imgHeight = 27; +int monthWidth = 2; +int yearWidth = 25; +String yearFormatKey = "PartitionSize.dateHeader.yearGraphLabel"; +String encodedGraph = data.computeGraphString(yearFormatKey,imgWidth,imgHeight); +String graphImgUrl = graphJspPrefix + "jsp/graph.jsp?graphdata=" + encodedGraph; +// TODO: this is archivalUrl specific: +String starLink = fmt.escapeHtml(queryPrefix + "*/" + searchUrl); +%> +<!-- BEGIN WAYBACK TIMELINE DISCLAIMER INSERT --> +<script type="text/javascript" src="<%= staticPrefix %>js/graph-calc.js" ></script> +<script type="text/javascript"> +var firstDate = <%= firstYearDate.getTime() %>; +var lastDate = <%= lastYearDate.getTime() %>; +var wbPrefix = "<%= replayPrefix %>"; +var wbCurrentUrl = "<%= searchUrlJS %>"; + +var curYear = -1; +var curMonth = -1; +var yearCount = 15; +var firstYear = 1996; +var imgWidth=<%= imgWidth %>; +var yearImgWidth = <%= yearWidth %>; +var monthImgWidth = <%= monthWidth %>; +var trackerVal = "none"; +var displayDay = "<%= fmt.format("ToolBar.curDayText",data.curResult.getCaptureDate()) %>"; +var displayMonth = "<%= fmt.format("ToolBar.curMonthText",data.curResult.getCaptureDate()) %>"; +var displayYear = "<%= fmt.format("ToolBar.curYearText",data.curResult.getCaptureDate()) %>"; +var prettyMonths = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; + +function showTrackers(val) { + if(val == trackerVal) { + return; + } + if(val == "inline") { + document.getElementById("displayYearEl").style.color = "#f00"; + document.getElementById("displayMonthEl").style.color = "#f00"; + document.getElementById("displayDayEl").style.color = "#f00"; + } else { + document.getElementById("displayYearEl").innerHTML = displayYear; + document.getElementById("displayYearEl").style.color = "#ff0"; + document.getElementById("displayMonthEl").innerHTML = displayMonth; + document.getElementById("displayMonthEl").style.color = "#ff0"; + document.getElementById("displayDayEl").innerHTML = displayDay; + document.getElementById("displayDayEl").style.color = "#ff0"; + } + document.getElementById("wbMouseTrackYearImg").style.display = val; + document.getElementById("wbMouseTrackMonthImg").style.display = val; + trackerVal = val; +} + +function trackMouseMove(event,element) { + + var eventX = getEventX(event); + var elementX = getElementX(element) + 6; // why 6?!? + var xOff = eventX - elementX; + + var monthOff = xOff % yearImgWidth; + + var year = Math.floor(xOff / yearImgWidth); + var yearStart = year * yearImgWidth; + var monthOfYear = Math.floor(monthOff / monthImgWidth); + if(monthOfYear > 11) { + monthOfYear = 11; + } + // 1 extra border pixel at the left edge of the year: + var month = (year * 12) + monthOfYear; + var day = 1; + if(monthOff % 2 == 1) { + day = 15; + } + var dateString = + zeroPad(year + firstYear) + + zeroPad(monthOfYear+1,2) + + zeroPad(day,2) + "000000"; + + var monthString = prettyMonths[monthOfYear]; + document.getElementById("displayYearEl").innerHTML = year + 1996; + document.getElementById("displayMonthEl").innerHTML = monthString; + // looks too jarring when it changes.. + //document.getElementById("displayDayEl").innerHTML = day; + + var url = wbPrefix + dateString + '/' + wbCurrentUrl; + document.getElementById('wm-graph-anchor').href = url; + + //document.getElementById("wmtbURL").value="xO("+xOff+") y("+year+") m("+month+") monthOff("+monthOff+") DS("+dateString+") Moy("+monthOfYear+") ms("+monthString+")"; + if(curYear != year) { + document.getElementById("wbMouseTrackYearImg").style.left = year * yearImgWidth; + curYear = year; + } + if(curMonth != month) { + document.getElementById("wbMouseTrackMonthImg").style.left = year + (month * monthImgWidth) + 1; + curMonth = month; + } +} + +</script> + + +<style type="text/css">body{margin-top:0!important;padding-top:0!important;min-width:800px!important;}#wm-ipp a:hover{text-decoration:underline!important;}</style> +<div id="wm-ipp" style="display:none; position:relative;padding:0 5px;min-height:70px;min-width:800px;"> +<div id="wm-ipp-inside" style="position:fixed;padding:0!important;margin:0!important;width:97%;min-width:780px;border:5px solid #000;border-top:none;background-image:url(<%= staticPrefix %>images/toolbar/wm_tb_bk_trns.png);text-align:center;-moz-box-shadow:1px 1px 3px #333;-webkit-box-shadow:1px 1px 3px #333;box-shadow:1px 1px 3px #333;font-size:11px!important;font-family:'Lucida Grande','Arial',sans-serif!important;"> + <table style="border-collapse:collapse;margin:0;padding:0;width:100%;"><tbody><tr> + <td style="padding:10px;vertical-align:top;min-width:140px;"> + <a href="<%= queryPrefix %>" title="Wayback Machine home page"><img src="<%= staticPrefix %>images/toolbar/wayback-toolbar-logo.png" alt="Wayback Machine" width="110" height="39" border="0"/></a> + </td> + <td style="padding:0!important;text-align:center;vertical-align:top;width:100%;"> + + <table style="border-collapse:collapse;margin:0 auto;padding:0;width:570px;"><tbody><tr> + <td style="padding:3px 0;" colspan="2"> + <form method="get" action="<%= queryPrefix %>jsp/bounceToReplay.jsp" name="wmtb" id="wmtb" style="margin:0!important;padding:0!important;"><input type="text" name="wmtbURL" id="wmtbURL" value="<%= searchUrlSafe %>" style="width:400px;font-size:11px;font-family:'Lucida Grande','Arial',sans-serif;"/><input type="submit" value="Go" style="font-size:11px;font-family:'Lucida Grande','Arial',sans-serif;margin-left:5px;"/><span id="wm_tb_options" style="display:block;"></span></form> + </td> + <td style="vertical-align:bottom;padding:5px 0 0 0!important;" rowspan="2"> + <table style="border-collapse:collapse;width:110px;color:#99a;font-family:'Helvetica','Lucida Grande','Arial',sans-serif;"><tbody> + <tr> + <td style="padding-right:9px;text-align:right;"> + <% + if(data.prevResult == null) { + %> + <img src="<%= staticPrefix %>images/toolbar/wm_tb_prv_on.png" alt="Previous capture" width="14" height="16" border="0"/> + <% + } else { + %> + <a href="<%= data.makeReplayURL(data.prevResult) %>" title="<%= fmt.format("ToolBar.prevTitle",data.prevResult.getCaptureDate()) %>"><img src="<%= staticPrefix %>images/toolbar/wm_tb_prv_on.png" alt="Previous capture" width="14" height="16" border="0"/></a> + <% + } + %> + </td> + <td id="displayDayEl" style="background:#000;color:#ff0;width:34px;height:24px;padding:2px 0 0 0;text-align:center;font-size:22px;" title="<%= fmt.format("ToolBar.curDayTitle",data.curResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.curDayText",data.curResult.getCaptureDate()) %></td> + <td style="padding-left:9px;white-space:nowrap;overflow:visible;" nowrap="nowrap"> + <% + if(data.nextResult == null) { + %> + <img src="<%= staticPrefix %>images/toolbar/wm_tb_nxt_on.png" alt="Next capture" width="14" height="16" border="0"/> + <% + } else { + %> + <a href="<%= data.makeReplayURL(data.nextResult) %>" title="<%= fmt.format("ToolBar.nextTitle",data.nextResult.getCaptureDate()) %>"><img src="<%= staticPrefix %>images/toolbar/wm_tb_nxt_on.png" alt="Next capture" width="14" height="16" border="0"/></a> + <% + } + %> + </td> + </tr> + <tr style="width:110px;height:16px;font-size:10px!important;"> + <td style="padding-right:9px;text-align:right;white-space:nowrap;overflow:visible;" nowrap="nowrap"> + <% + if(data.monthPrevResult == null) { + %> + <%= fmt.format("ToolBar.noPrevMonthText",data.addMonth(data.curResult.getCaptureDate(),-1)) %> + <% + } else { + %> + <a href="<%= data.makeReplayURL(data.monthPrevResult) %>" style="text-decoration:none;color:#33f;" title="<%= fmt.format("ToolBar.prevMonthTitle",data.monthPrevResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.prevMonthText",data.monthPrevResult.getCaptureDate()) %></a> + <% + } + %> + </td> + <td id="displayMonthEl" style="background:#000;color:#ff0;font-size:12px!important;width:34px;height:15px;padding-top:1px;text-align:center;" title="<%= fmt.format("ToolBar.curMonthTitle",data.curResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.curMonthText",data.curResult.getCaptureDate()) %></td> + <td style="padding-left:9px;white-space:nowrap;overflow:visible;" nowrap="nowrap"> + <% + if(data.monthNextResult == null) { + %> + <%= fmt.format("ToolBar.noNextMonthText",data.addMonth(data.curResult.getCaptureDate(),1)) %> + <% + } else { + %> + <a href="<%= data.makeReplayURL(data.monthNextResult) %>" style="text-decoration:none;color:#33f;" title="<%= fmt.format("ToolBar.nextMonthTitle",data.monthNextResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.nextMonthText",data.monthNextResult.getCaptureDate()) %></a> + <% + } + %> + </td> + </tr> + + <tr style="width:110px;height:13px;font-size:9px!important;"> + <td style="padding-right:9px;text-align:right;white-space:nowrap;overflow:visible;" nowrap="nowrap"> + <% + if(data.yearPrevResult == null) { + %> + <%= fmt.format("ToolBar.noPrevYearText",data.addYear(data.curResult.getCaptureDate(),-1)) %> + <% + } else { + %> + <a href="<%= data.makeReplayURL(data.yearPrevResult) %>" style="text-decoration:none;color:#33f;" title="<%= fmt.format("ToolBar.prevYearTitle",data.yearPrevResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.prevYearText",data.yearPrevResult.getCaptureDate()) %></a> + <% + } + %> + </td> + <td id="displayYearEl" style="background:#000;color:#ff0;font-size:10px!important;padding-top:1px;width:34px;height:13px;text-align:center;" title="<%= fmt.format("ToolBar.curYearTitle",data.curResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.curYearText",data.curResult.getCaptureDate()) %></td> + <td style="padding-left:9px;white-space:nowrap;overflow:visible;" nowrap="nowrap"> + <% + if(data.yearNextResult == null) { + %> + <%= fmt.format("ToolBar.noNextYearText",data.addYear(data.curResult.getCaptureDate(),1)) %> + <% + } else { + %> + <a href="<%= data.makeReplayURL(data.yearNextResult) %>" style="text-decoration:none;color:#33f;" title="<%= fmt.format("ToolBar.nextYearTitle",data.yearNextResult.getCaptureDate()) %>"><%= fmt.format("ToolBar.nextYearText",data.yearNextResult.getCaptureDate()) %></a> + <% + } + %> + </td> + </tr> + </tbody></table> + </td> + + </tr> + <tr> + <td style="vertical-align:middle;padding:0!important;"> + <a href="<%= starLink %>" style="color:#33f;font-size:11px;" title="<%= fmt.format("ToolBar.numCapturesTitle") %>"><strong><%= fmt.format("ToolBar.numCapturesText",data.getResultCount()) %></strong></a> + <div style="margin:0!important;padding:0!important;color:#666;font-size:9px;padding-top:2px!important;white-space:nowrap;" title="<%= fmt.format("ToolBar.captureRangeTitle") %>"><%= fmt.format("ToolBar.captureRangeText",data.getFirstResultDate(),data.getLastResultDate()) %></div> + </td> + <td style="padding:0!important;"> + <a style="position:relative; white-space:nowrap; width:<%= imgWidth %>px;height:<%= imgHeight %>px;" href="" id="wm-graph-anchor"> + <div id="wm-ipp-sparkline" style="position:relative; white-space:nowrap; width:<%= imgWidth %>px;height:<%= imgHeight %>px;background-color:#fff;cursor:pointer;" title="<%= fmt.format("ToolBar.sparklineTitle") %>"> + <img style="position:absolute; z-index:12; top:0px; left:0px;" + onmouseover="showTrackers('inline');" + onmouseout="showTrackers('none');" + onmousemove="trackMouseMove(event,this)" + alt="sparklines" + width="<%= imgWidth %>" + height="<%= imgHeight %>" + border="0" + src="<%= graphImgUrl %>"></img> + <img id="wbMouseTrackYearImg" + style="display:none; position:absolute; z-index:10;" + width="<%= yearWidth %>" + height="<%= imgHeight %>" + border="0" + src="<%= staticPrefix %>images/toolbar/transp-yellow-pixel.png"></img> + <img id="wbMouseTrackMonthImg" + style="display:none; position:absolute; z-index:11; " + width="<%= monthWidth %>" + height="<%= imgHeight %>" + border="0" + src="<%= staticPrefix %>images/toolbar/transp-red-pixel.png"></img> + </div> + </a> + + </td> + </tr></tbody></table> + </td> + <td style="text-align:right;padding:5px;width:65px;font-size:11px!important;"> + <a href="javascript:;" onclick="document.getElementById('wm-ipp').style.display='none';" style="display:block;padding-right:18px;background:url(<%= staticPrefix %>images/toolbar/wm_tb_close.png) no-repeat 100% 0;color:#33f;font-family:'Lucida Grande','Arial',sans-serif;margin-bottom:23px;" title="<%= fmt.format("ToolBar.closeTitle") %>"><%= fmt.format("ToolBar.closeText") %></a> + <a href="FAQ" style="display:block;padding-right:18px;background:url(<%= staticPrefix %>images/toolbar/wm_tb_help.png) no-repeat 100% 0;color:#33f;font-family:'Lucida Grande','Arial',sans-serif;" title="<%= fmt.format("ToolBar.helpTitle") %>"><%= fmt.format("ToolBar.helpText") %></a> + </td> + </tr></tbody></table> + +</div> +</div> + +<script type="text/javascript" src="<%= staticPrefix %>js/disclaim-element.js" ></script> +<script type="text/javascript"> + var wmDisclaimBanner = document.getElementById("wm-ipp"); + if(wmDisclaimBanner != null) { + disclaimElement(wmDisclaimBanner); + } +</script> +<!-- END WAYBACK TIMELINE DISCLAIMER INSERT --> + + + + + + + + + + + + + + + + + + + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-07-27 23:57:07
|
Revision: 3191 http://archive-access.svn.sourceforge.net/archive-access/?rev=3191&view=rev Author: bradtofel Date: 2010-07-27 23:57:00 +0000 (Tue, 27 Jul 2010) Log Message: ----------- INITIAL REV: very preliminary Memento-style date-time content negotiation support. .JSP files really need some cleanup. lots of static references and date parsing operations should be centralized into a Memento.java support class. Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/MementoParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/TimeBundleParser.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/MementoParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/MementoParser.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/MementoParser.java 2010-07-27 23:57:00 UTC (rev 3191) @@ -0,0 +1,155 @@ +package org.archive.wayback.requestparser; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.log4j.Logger; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BadQueryException; +import org.archive.wayback.exception.BetterRequestException; +import org.archive.wayback.webapp.AccessPoint; + +/** + * RequestParser subclass which matches ".../timegate/URL" requests, and parses + * the Accept-Datetime header + * + * @author Lyudmila Balakireva + * + */ +public class MementoParser extends WrappedRequestParser { + private static final Logger LOGGER = + Logger.getLogger(MementoParser.class.getName()); + + String DTHEADER = "Accept-Datetime"; + + List<SimpleDateFormat> dtsupportedformats = + new ArrayList<SimpleDateFormat>(); + + String MEMENTO_BASE = "timegate"; + + /** + * @param wrapped + * BaseRequestParser with configuration + */ + public MementoParser(BaseRequestParser wrapped) { + super(wrapped); + + dtsupportedformats + .add(new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z")); + dtsupportedformats.add(new SimpleDateFormat("E, dd MMM yyyy Z")); + dtsupportedformats.add(new SimpleDateFormat("E, dd MMM yyyy")); + } + + @Override + public WaybackRequest parse(HttpServletRequest httpRequest, + AccessPoint accessPoint) throws BadQueryException, + BetterRequestException { + + String base = accessPoint.translateRequestPath(httpRequest); + String requestPath = accessPoint.translateRequestPathQuery(httpRequest); + + LOGGER.trace("requestPath:" + requestPath); + if (base.startsWith(MEMENTO_BASE)) { + + // strip leading "timegate/": + String urlStr = base.substring(requestPath.indexOf("/") + 1); + + // get the "Accept-Datetime" header: + String httpdate = getHttpDate(httpRequest); + Date dtconnegdate = null; + if (httpdate != null) { + dtconnegdate = checkDateValidity(httpdate, dtsupportedformats); + if (dtconnegdate == null) { + return null; + } + } else { + // TODO: should this return null her? no header.. + } + + WaybackRequest wbRequest = new WaybackRequest(); + if (wbRequest.getStartTimestamp() == null) { + wbRequest.setStartTimestamp(getEarliestTimestamp()); + } + if (dtconnegdate != null) { + wbRequest.setAnchorDate(dtconnegdate); + } else { + wbRequest.setAnchorTimestamp(getLatestTimestamp()); + } + + wbRequest.put("dtconneg", httpdate); + + if (wbRequest.getEndTimestamp() == null) { + wbRequest.setEndTimestamp(getLatestTimestamp()); + } + wbRequest.setCaptureQueryRequest(); + wbRequest.setRequestUrl(urlStr); + if (wbRequest != null) { + wbRequest.setResultsPerPage(getMaxRecords()); + } + return wbRequest; + } + return null; + } + + /** + * Extract the value of the "Accept-Datetime" HTTP request header, if + * present, and further strips the date value from any surrounding "{","}" + * @param req HttpServletRequest for this request + * @return the raw String containing the date information, or null if no + * such HTTP header exists. + */ + public String getHttpDate(HttpServletRequest req) { + String httpdate = req.getHeader(DTHEADER); + + if (httpdate != null) { + int j = httpdate.indexOf("{", 0); + + if (j >= 0) { + + httpdate = httpdate.substring(httpdate.indexOf("{", 0) + 1); + + } + + if (httpdate.indexOf("}") > 0) { + httpdate = httpdate.substring(0, httpdate.indexOf("}")); + + } + } + return httpdate; + } + + /** + * Attempt to parse the String httpdate argument using one of the + * SimpleDateFormats provided. + * + * @param httpdate + * String version of a Date + * @param list + * of SimpleDateFormats to parse the httpdate + * @return Date object set to the time parsed, or null if not parsed + */ + public Date checkDateValidity(String httpdate, List<SimpleDateFormat> list) { + + Date d = null; + Iterator<SimpleDateFormat> it = list.iterator(); + while (it.hasNext()) { + SimpleDateFormat formatter = it.next(); + try { + + d = formatter.parse(httpdate); + break; + + } catch (Exception e) { + e.printStackTrace(); + } + + } + + return d; + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/MementoParser.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/TimeBundleParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/TimeBundleParser.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/TimeBundleParser.java 2010-07-27 23:57:00 UTC (rev 3191) @@ -0,0 +1,88 @@ +package org.archive.wayback.requestparser; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.log4j.Logger; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BadQueryException; +import org.archive.wayback.exception.BetterRequestException; +import org.archive.wayback.webapp.AccessPoint; + +/** + * RequestParser subclass which parses "timebundle/URL" and + * "timemap/FORMAT/URL" requests + * + * @author Lyudmila Balakireva + * + */ +public class TimeBundleParser extends WrappedRequestParser { + private static final Logger LOGGER = + Logger.getLogger(TimeBundleParser.class.getName()); + + String MEMENTO_BASE = "timegate"; + + /** + * @param wrapped BaseRequestParser holding config + */ + public TimeBundleParser(BaseRequestParser wrapped) { + super(wrapped); + } + + @Override + public WaybackRequest parse(HttpServletRequest httpRequest, + AccessPoint accessPoint) throws BadQueryException, + BetterRequestException { + + String requestPath = accessPoint.translateRequestPathQuery(httpRequest); + LOGGER.trace("requestpath:" + requestPath); + + if (requestPath.startsWith("timebundle")) { + + WaybackRequest wbRequest = new WaybackRequest(); + String urlStr = requestPath.substring(requestPath.indexOf("/") + 1); + if (wbRequest.getStartTimestamp() == null) { + wbRequest.setStartTimestamp(getEarliestTimestamp()); + } + if (wbRequest.getEndTimestamp() == null) { + wbRequest.setEndTimestamp(getLatestTimestamp()); + } + wbRequest.setCaptureQueryRequest(); + wbRequest.setRequestUrl(urlStr); + + // TODO: is it critical to return a 303 code, or will a 302 do? + // if so, this and ORE.jsp can be simplified by throwing a + // BetterRequestException here. + wbRequest.put("redirect", "true"); + return wbRequest; + } + + if (requestPath.startsWith("timemap")) { + + String urlStrplus = requestPath + .substring(requestPath.indexOf("/") + 1); + String format = urlStrplus.substring(0, urlStrplus.indexOf("/")); + + LOGGER.trace("format:" + format); + String urlStr = urlStrplus.substring(urlStrplus.indexOf("/") + 1); + LOGGER.trace("id:" + urlStr); + WaybackRequest wbRequest = new WaybackRequest(); + if (wbRequest.getStartTimestamp() == null) { + wbRequest.setStartTimestamp(getEarliestTimestamp()); + } + wbRequest.setAnchorTimestamp(getLatestTimestamp()); + wbRequest.put("format", format); + if (wbRequest.getEndTimestamp() == null) { + wbRequest.setEndTimestamp(getLatestTimestamp()); + } + wbRequest.setCaptureQueryRequest(); + wbRequest.setRequestUrl(urlStr); + if (wbRequest != null) { + wbRequest.setResultsPerPage(getMaxRecords()); + } + return wbRequest; + + } + return null; + } + +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/TimeBundleParser.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp 2010-07-27 23:57:00 UTC (rev 3191) @@ -0,0 +1,192 @@ +<%@ page import="java.util.Date" %> +<%@ page import="org.archive.wayback.core.UIResults" %> +<%@ page import="org.archive.wayback.util.StringFormatter" %> +<%@ page import="org.archive.wayback.core.WaybackRequest" %> +<%@ page import="org.archive.wayback.core.CaptureSearchResults" %> +<%@ page import="org.archive.wayback.core.CaptureSearchResult"%> +<%@ page import="org.archive.wayback.ResultURIConverter" %> +<%@ page import="java.text.SimpleDateFormat" %> +<%@ page import="org.archive.wayback.util.Timestamp" %> +<%@ page import="java.util.Iterator" %> +<%@ page import="java.util.List" %> +<%@ page import="java.util.ArrayList" %> +<%@ page import="org.archive.wayback.ResultURIConverter" %> +<%@ page import="org.archive.wayback.archivalurl.ArchivalUrlResultURIConverter" %> +<% + response.setHeader("Vary", "negotiate,accept-datetime"); + SimpleDateFormat httpformatterl = new SimpleDateFormat( + "E, dd MMM yyyy HH:mm:ss z"); + Date now = new Date(); + UIResults results = UIResults.extractCaptureQuery(request);//nuzno potom perepisat' + + WaybackRequest wbRequest = results.getWbRequest(); + //String p_url = wbRequest.getContextPrefix(); + + String u = wbRequest.getRequestUrl(); + // String agguri = p_url.replace("memento","ore") +"timebundle/" + u; + // String ad = wbRequest.getStartTimestamp(); + // Date sdate = wbRequest.getStartDate(); + //Date pdate = wbRequest.getAnchorDate(); + String dtdate = wbRequest.get("dtconneg"); + + Date dt = now; + if (dtdate != null) { + dt = httpformatterl.parse(dtdate); + } + CaptureSearchResults cResults = results.getCaptureResults(); + CaptureSearchResult res = cResults.getClosest(wbRequest, true); + + Date closestDate = res.getCaptureDate(); + //String url = res.getRedirectUrl(); + String agguri = results.getContextConfig("aggregationPrefix") + + "timebundle/" + u; + String timemap = " , <" + + results.getContextConfig("aggregationPrefix") + + "timemap/link/" + u + + ">;rel=\"timemap\"; type=\"text/csv\""; + ArchivalUrlResultURIConverter uriconverter = (ArchivalUrlResultURIConverter) results + .getURIConverter(); + String uriPrefix = uriconverter.getReplayURIPrefix(); + String replayUrl = results.resultToReplayUrl(res); + //alternates header + String qvalue = "1.0"; //just example + StringBuffer sb = new StringBuffer(); + // sb.append("{"); + //sb.append("\"" + u +"\" "+qvalue); + //sb.append(" {dt original}},"); + //calculate X-Archive-Interval + + StringFormatter fmt = results.getWbRequest().getFormatter(); + Date f = cResults.getFirstResultDate(); + Date l = cResults.getLastResultDate(); + SimpleDateFormat formatterk = new SimpleDateFormat("yyyyMMddHHmmss"); + + //sb.append("{\"" + uriPrefix +formatterk.format(f)+"/" +u +"\" " +qvalue); + //sb.append(" {dt " + "\""+httpformatterl.format(f) +"\" first}}"); + sb.append(", <" + uriPrefix + formatterk.format(f) + "/" + u + + ">;rel=\"first-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""); + if (!f.equals(l)) { + + // sb.append(","); + // sb.append("{\"" + uriPrefix +formatterk.format(l)+"/" +u +"\" " +qvalue); + // sb.append(" {dt " + "\""+httpformatterl.format(l) +"\" last}}"); + sb.append(", <" + uriPrefix + formatterk.format(f) + "/" + u + + ">;rel=\"last-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""); + } + + //response.setHeader("X-Archive-Interval","{"+httpformatterl.format(f)+"} - {"+httpformatterl.format(l)+"}"); + + // calculate closest values for alternates + + CaptureSearchResult closestleft = null; + CaptureSearchResult closestright = null; + long rclosestDistance = 0; + long lclosestDistance = 0; + CaptureSearchResult cur = null; + String anchorDate = null; + + long maxWindow = -1; + //long wantTime = wbRequest.getReplayDate().getTime(); + long wantTime = closestDate.getTime(); + + Iterator<CaptureSearchResult> itr = cResults.iterator(); + while (itr.hasNext()) { + cur = itr.next(); + cur.getCaptureDate(); + //long curDistance = Math.abs(wantTime - cur.getCaptureDate().getTime()); + long curDistance = wantTime - cur.getCaptureDate().getTime(); + // == 0 propuskaem + if (curDistance > 0) { + if ((closestright == null) + || (Math.abs(curDistance) < Math + .abs(rclosestDistance))) { + closestright = cur; + rclosestDistance = Math.abs(curDistance); + } + } + + if (curDistance < 0) { + if ((closestleft == null) + || (Math.abs(curDistance) < Math + .abs(lclosestDistance))) { + closestleft = cur; + lclosestDistance = Math.abs(curDistance); + } + } + + } + + if ((dt.before(f)) || dt.after(now)) { + //if ((pdate.before(f))||pdate.after(now)) { + response.setHeader("TCN", "list"); + response.setStatus(406); + // response.setHeader("Link","<"+agguri+">;rel=\"aggregation\""); + // sb.append("}"); + // response.setHeader("Alternates",sb.toString()); + } else { + // SimpleDateFormat formatterk = new SimpleDateFormat("yyyyMMddHHmmss"); + + // StringBuffer sb = new StringBuffer(); + + // List list = new ArrayList(); + if (closestleft != null) { + if (!closestleft.getCaptureDate().equals(f)) { + // sb.append(","); + // sb.append("{\"" + uriPrefix +formatterk.format(closestleft.getCaptureDate())+"/" +u +"\" "+qvalue); + // sb.append(" {dt " +"\""+httpformatterl.format(closestleft.getCaptureDate()) +"\" prev} {type " + closestleft.getMimeType() +"}}"); + sb.append(", <" + uriPrefix + formatterk.format(f) + + "/" + u + + ">;rel=\"prev-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""); + // list.add(closestleft); + } + } + if (closestright != null) { + if (!closestright.getCaptureDate().equals(l)) { + // sb.append(","); + // sb.append("{\"" + uriPrefix +formatterk.format(closestright.getCaptureDate())+"/" +u +"\" " +qvalue); + //sb.append(" {dt " +"\""+httpformatterl.format(closestright.getCaptureDate()) +"\" next} {type " + closestright.getMimeType() +"}}"); + sb.append(", <" + uriPrefix + formatterk.format(f) + + "/" + u + + ">;rel=\"next-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""); + } + + // list.add(closestright); + } + + // Iterator it = list.iterator(); + //int count=0; + //while (it.hasNext()) { + + // count++; + //CaptureSearchResult alt = (CaptureSearchResult) it.next(); + + // sb.append("{"); + //sb.append("\"" + uriPrefix +formatterk.format(alt.getCaptureDate())+"/" +u +"\" "); + //sb.append("{dt " + httpformatterl.format(alt.getCaptureDate()) +"} {type " + alt.getMimeType() +"}"); + + //sb.append("}"); + //if (count!=list.size()) { + // sb.append(","); } + + //} + + // sb.append("}"); + String origlink = ", <" + u + ">;rel=\"original\""; + String memento = ",<" + replayUrl + + ">;rel=\"memento\";datetime=\"" + + httpformatterl.format(closestDate) + "\""; + response.setHeader("Link", "<" + agguri + + ">;rel=\"timebundle\"" + origlink + sb.toString() + + memento + timemap); //added timemap + // response.setHeader("Alternates",sb.toString()); + response.setHeader("TCN", "choice"); + response.setHeader("Location", replayUrl); + // response.setStatus(302,"Found"); //does'not work + response.sendError(302, "Found"); + + } +%> \ No newline at end of file Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-07-27 23:57:00 UTC (rev 3191) @@ -0,0 +1,320 @@ +<%@ page import="java.util.Date" %> +<%@ page import="org.archive.wayback.core.UIResults" %> +<%@ page import="org.archive.wayback.util.StringFormatter" %> +<%@ page import="org.archive.wayback.core.WaybackRequest" %> +<%@ page import="org.archive.wayback.core.CaptureSearchResults" %> +<%@ page import="org.archive.wayback.core.CaptureSearchResult"%> +<%@ page import="org.archive.wayback.ResultURIConverter" %> +<%@ page import="java.text.SimpleDateFormat" %> +<%@ page import="org.archive.wayback.util.Timestamp" %> +<%@ page import="java.util.Iterator" %> +<%@ page import="java.util.List" %> +<%@ page import="java.util.ArrayList" %> +<%@ page import="org.dspace.foresite.Aggregation" %> +<%@ page import="org.dspace.foresite.ResourceMap" %> +<%@ page import="org.dspace.foresite.Agent" %> +<%@ page import="org.dspace.foresite.OREFactory" %> +<%@ page import="org.dspace.foresite.AggregatedResource" %> +<%@ page import="org.dspace.foresite.ORESerialiser" %> +<%@ page import="org.dspace.foresite.ORESerialiserFactory" %> +<%@ page import="org.dspace.foresite.ResourceMapDocument" %> +<%@ page import="java.io.PrintWriter" %> +<%@ page import="java.net.URI" %> +<%@ page import="org.dspace.foresite.Predicate" %> +<%@ page import="org.archive.wayback.archivalurl.ArchivalUrlResultURIConverter" %> +<%@page import="org.dspace.foresite.Triple"%> +<%@page import="org.dspace.foresite.jena.TripleJena"%> +<%@page import="java.util.UUID"%> +<%@page import="java.util.Calendar"%> +<% + UIResults results = UIResults.extractCaptureQuery(request);//nuzno potom perepisat' + SimpleDateFormat httpformatterl = new SimpleDateFormat( + "E, dd MMM yyyy HH:mm:ss z"); + WaybackRequest wbRequest = results.getWbRequest(); + CaptureSearchResults cResults = results.getCaptureResults(); + CaptureSearchResult res = cResults.getClosest(wbRequest, true); + + ArchivalUrlResultURIConverter uriconverter = (ArchivalUrlResultURIConverter) results + .getURIConverter(); + String uriPrefix = uriconverter.getReplayURIPrefix(); + //String p_url = wbRequest.getContextPrefix(); + String u = wbRequest.getRequestUrl(); + String agguri = uriPrefix + "timebundle/" + u; + //String agguri = results.getContextConfig("Prefix") + "timebundle/" + u; + //String remuri = p_url +"timemap/" + u; + //System.out.println(agguri); + //System.out.println(remuri); + String redirection = null; + if (wbRequest.containsKey("redirect")) { + redirection = wbRequest.get("redirect"); + } + if (redirection != null) { + //default poka + //skip content negotiation + + // TODO: see comment in TimeBundleParser - could be handled elsewhere + response.setStatus(303); + response.setHeader("Location", uriPrefix + "timemap/rdf/" + u); + //response.sendRedirect(p_url +"timemap/rdf/" + u); + } else { + String format = wbRequest.get("format"); + // System.out.println("here"); + Aggregation agg = OREFactory.createAggregation(new URI(agguri)); + //System.out.println("here"); + ResourceMap rem = agg.createResourceMap(new URI(uriPrefix + + "timemap/" + format + "/" + u)); + + //SimpleDateFormat formatter_utc = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + + Date now = new Date(); + + rem.setCreated(now); + Predicate pr_type = new Predicate(); + pr_type.setURI(new URI( + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type")); + + rem.setModified(now); + rem.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/TimeMap")); + //rem.addType(new URI("http://www.mementoweb.org/terms/tb/TimeMap")); + Agent creator = OREFactory.createAgent(); + creator.addName("Foresite Toolkit (Java)"); + //creator.addMbox(new URI("for...@go...")); + + //rem.addAgent(new URI("http://foresite-toolkit.googlecode.com/#javaAgent"),creator); + rem.addCreator(creator); + agg.addTitle("Memento Time Bundle for " + u); + + //CaptureSearchResults cResults = results.getCaptureResults(); + //CaptureSearchResult res = cResults.getClosest(wbRequest,true); + Iterator<CaptureSearchResult> itr = cResults.iterator(); + SimpleDateFormat formatterk = new SimpleDateFormat( + "yyyyMMddHHmmss"); + + Date f = cResults.getFirstResultDate(); + Date l = cResults.getLastResultDate(); + + String ArchiveInterval = formatterk.format(f) + " - " + + formatterk.format(l); + + //agg.createTriple(new URI("http://www.mementoweb.org/ns/archiveInterval"),ArchiveInterval); + agg.addType(new URI( + "http://www.mementoweb.org/terms/tb/TimeBundle")); + //String mementourl =p_url.replace("ore","memento"); + //include original into aggregation + + AggregatedResource ar_o = agg.createAggregatedResource(new URI( + u)); + ar_o.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/OriginalResource")); + //include timegate into aggregation + AggregatedResource ar_tg = agg + .createAggregatedResource(new URI(results + .getContextConfig("Prefix") + + "timegate/" + u)); + Predicate pr_format = new Predicate(); + pr_format.setURI(new URI( + "http://purl.org/dc/elements/1.1/format")); + ar_tg.createTriple(pr_format, new URI(u)); + ar_tg.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/TimeGate")); + + String previos_digest = null; + List<String> previos_blancs = new ArrayList<String>(); + + Predicate pr = new Predicate(); + pr.setURI(new URI("http://www.mementoweb.org/terms/tb/start")); + Predicate pre = new Predicate(); + pre.setURI(new URI("http://www.mementoweb.org/terms/tb/end")); + Calendar cal = Calendar.getInstance(); + AggregatedResource ar = null; + + Date enddate = null; + + // String buffer for special link serialization format + StringBuffer linkbf = new StringBuffer(); + + linkbf.append("<" + u + ">;rel=\"original\"\n"); + linkbf.append(",<" + agguri + ">;rel=\"timebundle\"\n"); + String firstmemento = null; + + while (itr.hasNext()) { + CaptureSearchResult cur = itr.next(); + //I am not deduping urls (by digest) for the rdf serialization running out of time, extra efforts for me now ;) + + String resurl = results.getContextConfig("Prefix") + + formatterk.format(cur.getCaptureDate()) + "/" + u; + + String digest = cur.getDigest(); + if (previos_digest == null) { + previos_digest = digest; + } + + ar = agg.createAggregatedResource(new URI(resurl)); + ar.createTriple(pr_format, cur.getMimeType()); + + Predicate pr_1 = new Predicate(); + pr_1.setURI(new URI( + "http://www.mementoweb.org/terms/tb/mementoFor")); + ar.createTriple(pr_1, new URI(u)); + ar.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/Memento")); + + Date startdate = cur.getDuplicateDigestStoredDate(); + //System.out.println("start:"+startdate); + enddate = cur.getCaptureDate(); + //System.out.println("end:"+enddate); + + // serialiase it in links format only for unique digest + + if (startdate == null) { + if (firstmemento == null) { + linkbf.append(",<" + resurl + + ">;rel=\"first-memento\";datetime=\"" + + httpformatterl.format(enddate) + "\"\n"); + firstmemento = "firstmemento"; + } else { + linkbf.append(",<" + resurl + + ">;rel=\"memento\";datetime=\"" + + httpformatterl.format(enddate) + "\"\n"); + } + } + + // Adding blanc node + Triple triple = new TripleJena(); + triple.initialise(new URI(resurl)); + Predicate pred = new Predicate(); + UUID a = UUID.randomUUID(); + String blanc = "urn:uuid:" + a.toString(); + + //System.out.println(blanc); + pred.setURI(new URI( + "http://www.mementoweb.org/terms/tb/validOver")); + triple.relate(pred, new URI(blanc)); + Triple tr = new TripleJena(); + tr.initialise(new URI(blanc)); + + tr.relate(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/Period")); + + //period difined by [ [ interval [ date first digest recorded and date of next digest recorded [ + + String start = null; + Triple trd = new TripleJena(); + trd.initialise(new URI(blanc)); + //Calendar cal = Calendar.getInstance(); + + if (startdate != null) { + + cal.setTime(startdate); + trd.relate(pr, cal); + start = httpformatterl.format(startdate); + } else { + cal.setTime(enddate); + trd.relate(pr, cal); + start = httpformatterl.format(enddate); + } + + //System.out.println("type" +trd.getLiteralType()); + + ar.addTriple(triple); + ar.addTriple(tr); + ar.addTriple(trd); + + if (!digest.equals("previos_digest")) { + + Iterator<String> it = previos_blancs.iterator(); + while (it.hasNext()) { + String blanc_ = (String) it.next(); + Triple tre = new TripleJena(); + tre.initialise(new URI(blanc_)); + + //Calendar cal = Calendar.getInstance(); + cal.setTime(enddate); + tre.relate(pre, cal); + ar.addTriple(tre); + } + + previos_blancs.clear(); + previos_digest = digest; + } + + previos_blancs.add(blanc); + + } + + Iterator it = previos_blancs.iterator(); + while (it.hasNext()) { + String blanc_ = (String) it.next(); + Triple tre = new TripleJena(); + tre.initialise(new URI(blanc_)); + + cal.setTime(now); //or date of archive stop archiving + tre.relate(pre, cal); + + ar.addTriple(tre); + } + + // additional logic for link format + int m_index = linkbf.lastIndexOf("\"memento\""); + //System.out.println(m_index); + linkbf.insert(m_index + 1, "last-"); + //System.out.println("here"); + + //String format = wbRequest.get("format"); + ORESerialiser serial = null; + if (format.equals("rdf")) { + serial = ORESerialiserFactory.getInstance("RDF/XML"); + response.setContentType("application/rdf+xml"); + } + //else if (format.equals("atom")) { + // serial = ORESerialiserFactory.getInstance("ATOM-1.0"); + //} + //else if (format.equals ("html")) { + // serial = ORESerialiserFactory.getInstance("RDFa"); + //} + //removed n3 because serialization of the date to the String type + //else if (format.equals("n3")) { + //serial = ORESerialiserFactory.getInstance("N3"); + + //response.setContentType("text/n3"); + //} + else if (format.equals("link")) { + PrintWriter pw = response.getWriter(); + //System.out.println(linkbf.toString()); + + // TODO: are we sure this is right? We want to flush *before* + // setting content-type? + pw.print(linkbf.toString()); + pw.flush(); + response.setContentType("text/csv"); + } else { + // response.setStatus(404); + // TODO: this should be handled in TimeBundleParser to allow + // usual Exception rendering to happen. + response.sendError(404, "Unknown TimeMap serialization"); + } + if (serial != null) { + ResourceMapDocument doc = serial.serialise(rem); + // TODO: this could get really big. Any way to stream the data out + // so we don't need another copy beyond the ResourceMap, + // and other helper objects? + String serialisation = doc.toString(); + if (format.equals("rdf")) { + //bug in jena? did not serialise date to date type but to string type // stupid fix will need investigate it + serialisation = serialisation + .replaceAll( + "end rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string", + "end rdf:datatype=\"http://www.w3.org/2001/XMLSchema#dateTime"); + serialisation = serialisation + .replaceAll( + "start rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string", + "start rdf:datatype=\"http://www.w3.org/2001/XMLSchema#dateTime"); + } + PrintWriter pw = response.getWriter(); + pw.print(serialisation); + pw.flush(); + } + + } +%> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-08-10 18:49:58
|
Revision: 3215 http://archive-access.svn.sourceforge.net/archive-access/?rev=3215&view=rev Author: bradtofel Date: 2010-08-10 18:49:52 +0000 (Tue, 10 Aug 2010) Log Message: ----------- HACK: extra flag argument now available to disable the highlighting of the active month Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/GraphEncoder.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/RegionData.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/jsp/graph.jsp Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/GraphEncoder.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/GraphEncoder.java 2010-08-09 23:53:22 UTC (rev 3214) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/GraphEncoder.java 2010-08-10 18:49:52 UTC (rev 3215) @@ -37,13 +37,18 @@ * convert a String-encoded graph into a usable Graph object, using * default GraphConfiguration * @param encodedGraph String encoded graph, as returned by getEncoded() + * @param noMonth if true, disable the month highlight color * @return a Graph, ready to use * @throws GraphEncodingException if there were problems with the encoded * data */ - public static Graph decode(String encodedGraph) + public static Graph decode(String encodedGraph, boolean noMonth) throws GraphEncodingException { - return decode(encodedGraph, new GraphConfiguration()); + GraphConfiguration config = new GraphConfiguration(); + if(noMonth) { + config.valueHighlightColor = config.valueColor; + } + return decode(encodedGraph, config); } /** * convert a String-encoded graph into a usable Graph object, using Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/RegionData.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/RegionData.java 2010-08-09 23:53:22 UTC (rev 3214) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/graph/RegionData.java 2010-08-10 18:49:52 UTC (rev 3215) @@ -67,6 +67,7 @@ } /** * sets the highlighted value index, or removes highlight if -1 is used + * @param highlightedValue the index of the bar to highlight. */ public void setHighlightedValue(int highlightedValue) { this.highlightedValue = highlightedValue; Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/jsp/graph.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/jsp/graph.jsp 2010-08-09 23:53:22 UTC (rev 3214) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/jsp/graph.jsp 2010-08-10 18:49:52 UTC (rev 3215) @@ -9,12 +9,14 @@ %><% Date now = new Date(); String arg = request.getParameter("graphdata"); +String noMonthArg = request.getParameter("nomonth"); +boolean noMonth = (noMonthArg != null); if(arg == null) { arg = "(No Data specified)"; } GraphRenderer r = new GraphRenderer(); response.setContentType(GraphRenderer.RENDERED_IMAGE_MIME); -Graph graph = GraphEncoder.decode(arg); +Graph graph = GraphEncoder.decode(arg,noMonth); try { r.render(response.getOutputStream(),graph); } catch(Exception e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-08-17 00:43:47
|
Revision: 3233 http://archive-access.svn.sourceforge.net/archive-access/?rev=3233&view=rev Author: bradtofel Date: 2010-08-17 00:43:40 +0000 (Tue, 17 Aug 2010) Log Message: ----------- FEATURE: One step closer to "native" Memento support. Still need a clean-up pass over the .jsp, once functionality is confirmed. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoHTMLReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/TimeBundleRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoHTMLReplayRenderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoHTMLReplayRenderer.java 2010-08-17 00:07:39 UTC (rev 3232) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoHTMLReplayRenderer.java 2010-08-17 00:43:40 UTC (rev 3233) @@ -49,7 +49,7 @@ */ public class MementoHTMLReplayRenderer extends TextReplayRenderer { /** - * @param httpHeaderProcessor + * @param httpHeaderProcessor to use */ public MementoHTMLReplayRenderer(HttpHeaderProcessor httpHeaderProcessor) { super(httpHeaderProcessor); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoRequestParser.java 2010-08-17 00:07:39 UTC (rev 3232) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoRequestParser.java 2010-08-17 00:43:40 UTC (rev 3233) @@ -42,6 +42,8 @@ */ public class MementoRequestParser extends ArchivalUrlRequestParser { protected RequestParser[] getRequestParsers() { + // all the usual ArchivalURL RequestParsers, plus the memento-specific + // ones: RequestParser[] theParsers = { new ReplayRequestParser(this), new TimeGateRequestParser(this), Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/TimeBundleRequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/TimeBundleRequestParser.java 2010-08-17 00:07:39 UTC (rev 3232) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/TimeBundleRequestParser.java 2010-08-17 00:43:40 UTC (rev 3233) @@ -3,6 +3,7 @@ import javax.servlet.http.HttpServletRequest; import org.apache.log4j.Logger; +import org.archive.wayback.archivalurl.ArchivalUrlResultURIConverter; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.BadQueryException; import org.archive.wayback.exception.BetterRequestException; @@ -51,11 +52,18 @@ wbRequest.setCaptureQueryRequest(); wbRequest.setRequestUrl(urlStr); + ArchivalUrlResultURIConverter conv = + (ArchivalUrlResultURIConverter) accessPoint.getUriConverter(); + + String uriPrefix = conv.getReplayURIPrefix(); + String betterUrl = uriPrefix + "timemap/rdf/" + urlStr; + + throw new BetterRequestException(betterUrl, 303); // TODO: is it critical to return a 303 code, or will a 302 do? // if so, this and ORE.jsp can be simplified by throwing a // BetterRequestException here. - wbRequest.put("redirect", "true"); - return wbRequest; +// wbRequest.put("redirect", "true"); +// return wbRequest; } if (requestPath.startsWith("timemap")) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2010-08-17 00:07:39 UTC (rev 3232) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2010-08-17 00:43:40 UTC (rev 3233) @@ -234,7 +234,10 @@ } } catch(BetterRequestException e) { - httpResponse.sendRedirect(e.getBetterURI()); + + httpResponse.setStatus(e.getStatus()); + httpResponse.setHeader("Location", e.getBetterURI()); +// httpResponse.sendRedirect(e.getBetterURI()); handled = true; } catch(WaybackException e) { Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-08-17 00:07:39 UTC (rev 3232) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-08-17 00:43:40 UTC (rev 3233) @@ -44,277 +44,263 @@ //String remuri = p_url +"timemap/" + u; //System.out.println(agguri); //System.out.println(remuri); - String redirection = null; - if (wbRequest.containsKey("redirect")) { - redirection = wbRequest.get("redirect"); - } - if (redirection != null) { - //default poka - //skip content negotiation + String format = wbRequest.get("format"); + // System.out.println("here"); + Aggregation agg = OREFactory.createAggregation(new URI(agguri)); + //System.out.println("here"); + ResourceMap rem = agg.createResourceMap(new URI(uriPrefix + + "timemap/" + format + "/" + u)); - // TODO: see comment in TimeBundleParser - could be handled elsewhere - response.setStatus(303); - response.setHeader("Location", uriPrefix + "timemap/rdf/" + u); - //response.sendRedirect(p_url +"timemap/rdf/" + u); - } else { - String format = wbRequest.get("format"); - // System.out.println("here"); - Aggregation agg = OREFactory.createAggregation(new URI(agguri)); - //System.out.println("here"); - ResourceMap rem = agg.createResourceMap(new URI(uriPrefix - + "timemap/" + format + "/" + u)); + //SimpleDateFormat formatter_utc = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - //SimpleDateFormat formatter_utc = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + Date now = new Date(); - Date now = new Date(); + rem.setCreated(now); + Predicate pr_type = new Predicate(); + pr_type.setURI(new URI( + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type")); - rem.setCreated(now); - Predicate pr_type = new Predicate(); - pr_type.setURI(new URI( - "http://www.w3.org/1999/02/22-rdf-syntax-ns#type")); + rem.setModified(now); + rem.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/TimeMap")); + //rem.addType(new URI("http://www.mementoweb.org/terms/tb/TimeMap")); + Agent creator = OREFactory.createAgent(); + creator.addName("Foresite Toolkit (Java)"); + //creator.addMbox(new URI("for...@go...")); - rem.setModified(now); - rem.createTriple(pr_type, new URI( - "http://www.mementoweb.org/terms/tb/TimeMap")); - //rem.addType(new URI("http://www.mementoweb.org/terms/tb/TimeMap")); - Agent creator = OREFactory.createAgent(); - creator.addName("Foresite Toolkit (Java)"); - //creator.addMbox(new URI("for...@go...")); + //rem.addAgent(new URI("http://foresite-toolkit.googlecode.com/#javaAgent"),creator); + rem.addCreator(creator); + agg.addTitle("Memento Time Bundle for " + u); - //rem.addAgent(new URI("http://foresite-toolkit.googlecode.com/#javaAgent"),creator); - rem.addCreator(creator); - agg.addTitle("Memento Time Bundle for " + u); + //CaptureSearchResults cResults = results.getCaptureResults(); + //CaptureSearchResult res = cResults.getClosest(wbRequest,true); + Iterator<CaptureSearchResult> itr = cResults.iterator(); + SimpleDateFormat formatterk = new SimpleDateFormat( + "yyyyMMddHHmmss"); - //CaptureSearchResults cResults = results.getCaptureResults(); - //CaptureSearchResult res = cResults.getClosest(wbRequest,true); - Iterator<CaptureSearchResult> itr = cResults.iterator(); - SimpleDateFormat formatterk = new SimpleDateFormat( - "yyyyMMddHHmmss"); + Date f = cResults.getFirstResultDate(); + Date l = cResults.getLastResultDate(); - Date f = cResults.getFirstResultDate(); - Date l = cResults.getLastResultDate(); + String ArchiveInterval = formatterk.format(f) + " - " + + formatterk.format(l); - String ArchiveInterval = formatterk.format(f) + " - " - + formatterk.format(l); + //agg.createTriple(new URI("http://www.mementoweb.org/ns/archiveInterval"),ArchiveInterval); + agg.addType(new URI( + "http://www.mementoweb.org/terms/tb/TimeBundle")); + //String mementourl =p_url.replace("ore","memento"); + //include original into aggregation - //agg.createTriple(new URI("http://www.mementoweb.org/ns/archiveInterval"),ArchiveInterval); - agg.addType(new URI( - "http://www.mementoweb.org/terms/tb/TimeBundle")); - //String mementourl =p_url.replace("ore","memento"); - //include original into aggregation + AggregatedResource ar_o = agg.createAggregatedResource(new URI( + u)); + ar_o.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/OriginalResource")); + //include timegate into aggregation + AggregatedResource ar_tg = agg + .createAggregatedResource(new URI(results + .getContextConfig("Prefix") + + "timegate/" + u)); + Predicate pr_format = new Predicate(); + pr_format.setURI(new URI( + "http://purl.org/dc/elements/1.1/format")); + ar_tg.createTriple(pr_format, new URI(u)); + ar_tg.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/TimeGate")); - AggregatedResource ar_o = agg.createAggregatedResource(new URI( - u)); - ar_o.createTriple(pr_type, new URI( - "http://www.mementoweb.org/terms/tb/OriginalResource")); - //include timegate into aggregation - AggregatedResource ar_tg = agg - .createAggregatedResource(new URI(results - .getContextConfig("Prefix") - + "timegate/" + u)); - Predicate pr_format = new Predicate(); - pr_format.setURI(new URI( - "http://purl.org/dc/elements/1.1/format")); - ar_tg.createTriple(pr_format, new URI(u)); - ar_tg.createTriple(pr_type, new URI( - "http://www.mementoweb.org/terms/tb/TimeGate")); + String previos_digest = null; + List<String> previos_blancs = new ArrayList<String>(); - String previos_digest = null; - List<String> previos_blancs = new ArrayList<String>(); + Predicate pr = new Predicate(); + pr.setURI(new URI("http://www.mementoweb.org/terms/tb/start")); + Predicate pre = new Predicate(); + pre.setURI(new URI("http://www.mementoweb.org/terms/tb/end")); + Calendar cal = Calendar.getInstance(); + AggregatedResource ar = null; - Predicate pr = new Predicate(); - pr.setURI(new URI("http://www.mementoweb.org/terms/tb/start")); - Predicate pre = new Predicate(); - pre.setURI(new URI("http://www.mementoweb.org/terms/tb/end")); - Calendar cal = Calendar.getInstance(); - AggregatedResource ar = null; + Date enddate = null; - Date enddate = null; + // String buffer for special link serialization format + StringBuffer linkbf = new StringBuffer(); - // String buffer for special link serialization format - StringBuffer linkbf = new StringBuffer(); + linkbf.append("<" + u + ">;rel=\"original\"\n"); + linkbf.append(",<" + agguri + ">;rel=\"timebundle\"\n"); + String firstmemento = null; - linkbf.append("<" + u + ">;rel=\"original\"\n"); - linkbf.append(",<" + agguri + ">;rel=\"timebundle\"\n"); - String firstmemento = null; + while (itr.hasNext()) { + CaptureSearchResult cur = itr.next(); + //I am not deduping urls (by digest) for the rdf serialization running out of time, extra efforts for me now ;) - while (itr.hasNext()) { - CaptureSearchResult cur = itr.next(); - //I am not deduping urls (by digest) for the rdf serialization running out of time, extra efforts for me now ;) + String resurl = results.getContextConfig("Prefix") + + formatterk.format(cur.getCaptureDate()) + "/" + u; - String resurl = results.getContextConfig("Prefix") - + formatterk.format(cur.getCaptureDate()) + "/" + u; + String digest = cur.getDigest(); + if (previos_digest == null) { + previos_digest = digest; + } - String digest = cur.getDigest(); - if (previos_digest == null) { - previos_digest = digest; - } + ar = agg.createAggregatedResource(new URI(resurl)); + ar.createTriple(pr_format, cur.getMimeType()); - ar = agg.createAggregatedResource(new URI(resurl)); - ar.createTriple(pr_format, cur.getMimeType()); + Predicate pr_1 = new Predicate(); + pr_1.setURI(new URI( + "http://www.mementoweb.org/terms/tb/mementoFor")); + ar.createTriple(pr_1, new URI(u)); + ar.createTriple(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/Memento")); - Predicate pr_1 = new Predicate(); - pr_1.setURI(new URI( - "http://www.mementoweb.org/terms/tb/mementoFor")); - ar.createTriple(pr_1, new URI(u)); - ar.createTriple(pr_type, new URI( - "http://www.mementoweb.org/terms/tb/Memento")); + Date startdate = cur.getDuplicateDigestStoredDate(); + //System.out.println("start:"+startdate); + enddate = cur.getCaptureDate(); + //System.out.println("end:"+enddate); - Date startdate = cur.getDuplicateDigestStoredDate(); - //System.out.println("start:"+startdate); - enddate = cur.getCaptureDate(); - //System.out.println("end:"+enddate); + // serialiase it in links format only for unique digest - // serialiase it in links format only for unique digest - - if (startdate == null) { - if (firstmemento == null) { - linkbf.append(",<" + resurl - + ">;rel=\"first-memento\";datetime=\"" - + httpformatterl.format(enddate) + "\"\n"); - firstmemento = "firstmemento"; - } else { - linkbf.append(",<" + resurl - + ">;rel=\"memento\";datetime=\"" - + httpformatterl.format(enddate) + "\"\n"); - } + if (startdate == null) { + if (firstmemento == null) { + linkbf.append(",<" + resurl + + ">;rel=\"first-memento\";datetime=\"" + + httpformatterl.format(enddate) + "\"\n"); + firstmemento = "firstmemento"; + } else { + linkbf.append(",<" + resurl + + ">;rel=\"memento\";datetime=\"" + + httpformatterl.format(enddate) + "\"\n"); } + } - // Adding blanc node - Triple triple = new TripleJena(); - triple.initialise(new URI(resurl)); - Predicate pred = new Predicate(); - UUID a = UUID.randomUUID(); - String blanc = "urn:uuid:" + a.toString(); + // Adding blanc node + Triple triple = new TripleJena(); + triple.initialise(new URI(resurl)); + Predicate pred = new Predicate(); + UUID a = UUID.randomUUID(); + String blanc = "urn:uuid:" + a.toString(); - //System.out.println(blanc); - pred.setURI(new URI( - "http://www.mementoweb.org/terms/tb/validOver")); - triple.relate(pred, new URI(blanc)); - Triple tr = new TripleJena(); - tr.initialise(new URI(blanc)); + //System.out.println(blanc); + pred.setURI(new URI( + "http://www.mementoweb.org/terms/tb/validOver")); + triple.relate(pred, new URI(blanc)); + Triple tr = new TripleJena(); + tr.initialise(new URI(blanc)); - tr.relate(pr_type, new URI( - "http://www.mementoweb.org/terms/tb/Period")); + tr.relate(pr_type, new URI( + "http://www.mementoweb.org/terms/tb/Period")); - //period difined by [ [ interval [ date first digest recorded and date of next digest recorded [ + //period difined by [ [ interval [ date first digest recorded and date of next digest recorded [ - String start = null; - Triple trd = new TripleJena(); - trd.initialise(new URI(blanc)); - //Calendar cal = Calendar.getInstance(); + String start = null; + Triple trd = new TripleJena(); + trd.initialise(new URI(blanc)); + //Calendar cal = Calendar.getInstance(); - if (startdate != null) { + if (startdate != null) { - cal.setTime(startdate); - trd.relate(pr, cal); - start = httpformatterl.format(startdate); - } else { - cal.setTime(enddate); - trd.relate(pr, cal); - start = httpformatterl.format(enddate); - } + cal.setTime(startdate); + trd.relate(pr, cal); + start = httpformatterl.format(startdate); + } else { + cal.setTime(enddate); + trd.relate(pr, cal); + start = httpformatterl.format(enddate); + } - //System.out.println("type" +trd.getLiteralType()); + //System.out.println("type" +trd.getLiteralType()); - ar.addTriple(triple); - ar.addTriple(tr); - ar.addTriple(trd); + ar.addTriple(triple); + ar.addTriple(tr); + ar.addTriple(trd); - if (!digest.equals("previos_digest")) { + if (!digest.equals("previos_digest")) { - Iterator<String> it = previos_blancs.iterator(); - while (it.hasNext()) { - String blanc_ = (String) it.next(); - Triple tre = new TripleJena(); - tre.initialise(new URI(blanc_)); + Iterator<String> it = previos_blancs.iterator(); + while (it.hasNext()) { + String blanc_ = (String) it.next(); + Triple tre = new TripleJena(); + tre.initialise(new URI(blanc_)); - //Calendar cal = Calendar.getInstance(); - cal.setTime(enddate); - tre.relate(pre, cal); - ar.addTriple(tre); - } - - previos_blancs.clear(); - previos_digest = digest; + //Calendar cal = Calendar.getInstance(); + cal.setTime(enddate); + tre.relate(pre, cal); + ar.addTriple(tre); } - previos_blancs.add(blanc); - + previos_blancs.clear(); + previos_digest = digest; } - Iterator it = previos_blancs.iterator(); - while (it.hasNext()) { - String blanc_ = (String) it.next(); - Triple tre = new TripleJena(); - tre.initialise(new URI(blanc_)); + previos_blancs.add(blanc); - cal.setTime(now); //or date of archive stop archiving - tre.relate(pre, cal); + } - ar.addTriple(tre); - } + Iterator it = previos_blancs.iterator(); + while (it.hasNext()) { + String blanc_ = (String) it.next(); + Triple tre = new TripleJena(); + tre.initialise(new URI(blanc_)); - // additional logic for link format - int m_index = linkbf.lastIndexOf("\"memento\""); - //System.out.println(m_index); - linkbf.insert(m_index + 1, "last-"); - //System.out.println("here"); + cal.setTime(now); //or date of archive stop archiving + tre.relate(pre, cal); - //String format = wbRequest.get("format"); - ORESerialiser serial = null; - if (format.equals("rdf")) { - serial = ORESerialiserFactory.getInstance("RDF/XML"); - response.setContentType("application/rdf+xml"); - } - //else if (format.equals("atom")) { - // serial = ORESerialiserFactory.getInstance("ATOM-1.0"); - //} - //else if (format.equals ("html")) { - // serial = ORESerialiserFactory.getInstance("RDFa"); - //} - //removed n3 because serialization of the date to the String type - //else if (format.equals("n3")) { - //serial = ORESerialiserFactory.getInstance("N3"); + ar.addTriple(tre); + } - //response.setContentType("text/n3"); - //} - else if (format.equals("link")) { - PrintWriter pw = response.getWriter(); - //System.out.println(linkbf.toString()); - - // TODO: are we sure this is right? We want to flush *before* - // setting content-type? - pw.print(linkbf.toString()); - pw.flush(); - response.setContentType("text/csv"); - } else { - // response.setStatus(404); - // TODO: this should be handled in TimeBundleParser to allow - // usual Exception rendering to happen. - response.sendError(404, "Unknown TimeMap serialization"); - } - if (serial != null) { - ResourceMapDocument doc = serial.serialise(rem); - // TODO: this could get really big. Any way to stream the data out - // so we don't need another copy beyond the ResourceMap, - // and other helper objects? - String serialisation = doc.toString(); - if (format.equals("rdf")) { - //bug in jena? did not serialise date to date type but to string type // stupid fix will need investigate it - serialisation = serialisation - .replaceAll( - "end rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string", - "end rdf:datatype=\"http://www.w3.org/2001/XMLSchema#dateTime"); - serialisation = serialisation - .replaceAll( - "start rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string", - "start rdf:datatype=\"http://www.w3.org/2001/XMLSchema#dateTime"); - } - PrintWriter pw = response.getWriter(); - pw.print(serialisation); - pw.flush(); - } + // additional logic for link format + int m_index = linkbf.lastIndexOf("\"memento\""); + //System.out.println(m_index); + linkbf.insert(m_index + 1, "last-"); + //System.out.println("here"); + //String format = wbRequest.get("format"); + ORESerialiser serial = null; + if (format.equals("rdf")) { + serial = ORESerialiserFactory.getInstance("RDF/XML"); + response.setContentType("application/rdf+xml"); } + //else if (format.equals("atom")) { + // serial = ORESerialiserFactory.getInstance("ATOM-1.0"); + //} + //else if (format.equals ("html")) { + // serial = ORESerialiserFactory.getInstance("RDFa"); + //} + //removed n3 because serialization of the date to the String type + //else if (format.equals("n3")) { + //serial = ORESerialiserFactory.getInstance("N3"); + + //response.setContentType("text/n3"); + //} + else if (format.equals("link")) { + PrintWriter pw = response.getWriter(); + //System.out.println(linkbf.toString()); + + // TODO: are we sure this is right? We want to flush *before* + // setting content-type? + pw.print(linkbf.toString()); + pw.flush(); + response.setContentType("text/csv"); + } else { + // response.setStatus(404); + // TODO: this should be handled in TimeBundleParser to allow + // usual Exception rendering to happen. + response.sendError(404, "Unknown TimeMap serialization"); + } + if (serial != null) { + ResourceMapDocument doc = serial.serialise(rem); + // TODO: this could get really big. Any way to stream the data out + // so we don't need another copy beyond the ResourceMap, + // and other helper objects? + String serialisation = doc.toString(); + if (format.equals("rdf")) { + //bug in jena? did not serialise date to date type but to string type // stupid fix will need investigate it + serialisation = serialisation + .replaceAll( + "end rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string", + "end rdf:datatype=\"http://www.w3.org/2001/XMLSchema#dateTime"); + serialisation = serialisation + .replaceAll( + "start rdf:datatype=\"http://www.w3.org/2001/XMLSchema#string", + "start rdf:datatype=\"http://www.w3.org/2001/XMLSchema#dateTime"); + } + PrintWriter pw = response.getWriter(); + pw.print(serialisation); + pw.flush(); + } + %> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-09-03 22:30:43
|
Revision: 3244 http://archive-access.svn.sourceforge.net/archive-access/?rev=3244&view=rev Author: bradtofel Date: 2010-09-03 22:30:36 +0000 (Fri, 03 Sep 2010) Log Message: ----------- POM updates, newer version of hadoop, including some httpclient exclusions to prevent jar resolution problem with heritrix htpclient overrides... Modified Paths: -------------- trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2010-08-27 23:35:14 UTC (rev 3243) +++ trunk/archive-access/projects/wayback/pom.xml 2010-09-03 22:30:36 UTC (rev 3244) @@ -93,7 +93,7 @@ </releases> <snapshots> <enabled>true</enabled> - <updatePolicy>never</updatePolicy> + <updatePolicy>daily</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <id>internetarchive</id> @@ -101,6 +101,27 @@ <url>http://builds.archive.org:8080/maven2</url> <layout>default</layout> </repository> + +<!-- + <repository> + <releases> + <enabled>true</enabled> + <updatePolicy>daily</updatePolicy> + <checksumPolicy>warn</checksumPolicy> + </releases> + <snapshots> + <enabled>true</enabled> + <updatePolicy>daily</updatePolicy> + <checksumPolicy>fail</checksumPolicy> + </snapshots> + <id>dspace</id> + <name>DSpace Maven Repository</name> + <url>http://maven.dspace.org/</url> + <layout>default</layout> + </repository> + --> + + </repositories> <pluginRepositories> @@ -181,7 +202,7 @@ <id>website</id> <name>Website</name> <!--Pass as command-line system property to maven--> - <url>${website.url}/projects/${pom.artifactId}</url> + <url>${website.url}/projects/${project.artifactId}</url> </site> </distributionManagement> Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-08-27 23:35:14 UTC (rev 3243) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-09-03 22:30:36 UTC (rev 3244) @@ -102,11 +102,11 @@ <!-- Doh... I'm not sure what package is configuring org.apache.commons-logging to use log4j, but it's breaking some command line tools. - --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> + --> </dependencies> </project> Modified: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-08-27 23:35:14 UTC (rev 3243) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-09-03 22:30:36 UTC (rev 3244) @@ -35,6 +35,18 @@ <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <finalName>wayback-hadoop</finalName> + <archive> + <manifestFile>src/main/archive/MANIFEST.MF</manifestFile> +<!-- + <manifest> + <mainClass>org.archive.wayback.hadoop.SortDriver</mainClass> + </manifest> + <manifestEntries> + <Class-Path>hadoop-0.19.1-core.jar lib/commons-cli-2.0-SNAPSHOT.jar lib/commons-codec-1.3.jar lib/commons-httpclient-3.0.1.jar lib/commons-logging-1.0.4.jar lib/commons-logging-api-1.0.4.jar lib/commons-net-1.4.1.jar lib/hsqldb-1.8.0.10.jar lib/jets3t-0.6.1.jar lib/jetty-5.1.4.jar lib/junit-3.8.1.jar lib/kfs-0.2.0.jar lib/log4j-1.2.15.jar lib/oro-2.0.8.jar lib/servlet-api.jar lib/slf4j-api-1.4.3.jar lib/slf4j-log4j12-1.4.3.jar lib/xmlenc-0.52.jar lib/jetty-ext/commons-el.jar lib/jetty-ext/jasper-compiler.jar lib/jetty-ext/jasper-runtime.jar lib/jetty-ext/jsp-api.jar</Class-Path> + </manifestEntries> +--> + </archive> + </configuration> <executions> <execution> Modified: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-08-27 23:35:14 UTC (rev 3243) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-09-03 22:30:36 UTC (rev 3244) @@ -1,4 +1,5 @@ -<?xml version="1.0" encoding="UTF-8"?><project> +<?xml version="1.0" encoding="UTF-8"?> +<project> <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> @@ -19,11 +20,18 @@ <version>3.8.1</version> <scope>test</scope> </dependency> + <dependency> - <groupId>org.apache.mahout.hadoop</groupId> <artifactId>hadoop-core</artifactId> - <scope>provided</scope> - <version>0.19.1</version> + <groupId>org.apache.hadoop</groupId> + <version>0.20.2</version> + <scope>compile</scope> + <exclusions> + <exclusion> + <groupId>commons-httpclient</groupId> + <artifactId>commons-httpclient</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.archive.wayback</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-09-28 22:28:52
|
Revision: 3262 http://archive-access.svn.sourceforge.net/archive-access/?rev=3262&view=rev Author: bradtofel Date: 2010-09-28 22:28:38 +0000 (Tue, 28 Sep 2010) Log Message: ----------- COMMENT: updated license to Apache 2 Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ExceptionRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/QueryRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceStore.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResultURIConverter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/Shutdownable.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/UrlCanonicalizer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/WaybackConstants.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/CompositeExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/ExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/ExternalExcluder.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/remote/RemoteExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrl.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlASXReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlCSSReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlContextResultURIConverterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlDateRedirectReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlJSReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlResultURIConverter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlSAXRewriteReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlSpecialContextResultURIConverter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ClientSideHTMLReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/FastArchivalUrlReplayParseEventHandler.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ServerSideHTMLReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/ArchivalUrlFormRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/DatelessReplayRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/PathDatePrefixQueryRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/PathDateRangeQueryRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/PathPrefixDatePrefixQueryRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/PathPrefixDateRangeQueryRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/requestparser/ReplayRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/AccessControlSettingOperation.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/HTTPAuthBooleanOperator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/authenticationcontrol/IPMatchesBooleanOperator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/CaptureSearchResult.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/CaptureSearchResults.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/Resource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/SearchResult.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/SearchResults.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/UIResults.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/UrlSearchResult.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/UrlSearchResults.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/WaybackRequest.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixCompositeRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixResultURIConverter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/domainprefix/DomainPrefixTextReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/AccessControlException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/AdministrativeAccessControlException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/AnchorWindowTooSmallException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/AnnotationExceptionRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/AuthenticationControlException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BadContentException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BadQueryException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BaseExceptionRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BetterRequestException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/ConfigurationException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/CustomNotInArchiveExceptionRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/LiveDocumentNotAvailableException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/LiveWebCacheUnavailableException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/ResourceIndexNotAvailableException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/ResourceNotAvailableException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/ResourceNotInArchiveException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/RobotAccessControlException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/RuntimeIOException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/WaybackException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCCacheDirectory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCRecordingProxy.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/ARCUnwrappingProxy.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/FileRegion.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/LiveWebCache.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/RemoteLiveWebCache.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/URLtoARCCacher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoHTMLReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/TimeBundleRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/TimeGateRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/BubbleCalendarData.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/CaptureSearchResultPartitionMap.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/PartitionPartitionMap.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/PartitionsToGraph.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/partition/ToolBarData.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyArchivalRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyHTMLMarkupReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyReplayRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/ProxyRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/proxy/RedirectResultURIConverter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/Renderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/DayResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/HourResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/MonthResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/ResultsPartition.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/ResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/ResultsPartitionsFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/ResultsTimelinePartitionsFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/TwoMonthResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/TwoMonthTimelineResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/WeekResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/query/resultspartitioner/YearResultsPartitioner.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderOperation.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/HttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/IdentityHttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/JSPExecutor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/JSPReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/RedirectRewritingHttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ReplayRendererSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/StringHttpServletResponseWrapper.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/TagMagix.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/TextDocument.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/TextReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/TransparentReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/XArchiveHttpHeaderProcessor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/charset/CharsetDetector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/charset/RotatingCharsetDetector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/charset/StandardCharsetDetector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/ContextResultURIConverterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/ReplayParseContext.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/ReplayParseEventDelegator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/ReplayParseEventDelegatorVisitor.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/StringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/AfterBodyStartTagJSPExecRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/AttributeModifyingRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/BeforeBodyEndTagJSPExecRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/CommentRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/JSContentRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/JSPExecRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/RawNodeRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/StaticStringRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/rules/StyleContentRule.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/BaseCSSStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/BaseHrefStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/BlockCSSStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/IdentityStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/InlineCSSStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/JSStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/MetaRefreshUrlStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/html/transformer/URLStringTransformer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/AlwaysMatchSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/BaseReplayRendererSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/CSSRequestSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/DateMismatchSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/IMGRequestSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/IdentityRequestSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/JSRequestSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/MimeTypeSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/PathMatchSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/selector/RedirectSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/BaseRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/CompositeRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/FormRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/OpenSearchRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/PathRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/requestparser/WrappedRequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/CompositeSearchResultSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/LocalResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/NutchResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/RemoteResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultComparator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SearchResultSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/SequencedSearchResultSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/UpdatableSearchResultSource.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/adapters/CaptureToUrlSearchResultIterator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/BDBIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/BDBRecordToSearchResultAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/bdb/SearchResultToBDBRecordAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXFormatIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXFormatToSearchResultAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/CDXLineToSearchResultAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/SearchResultToCDXFormatAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/SearchResultToCDXLineAdapter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/CDXDefinitionFile.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/DynamicCDXIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/MD5LocationFile.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/dynamic/RangeAssignmentFile.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/CDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/CDXFormat.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/CDXFormatException.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/DigestCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/EndOffsetCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/FilenameCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/HTTPCodeCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/MIMETypeCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/OriginalURLCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/RedirectURLCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/RobotFlagsCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/StartOffsetCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/TimestampCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/cdx/format/URLKeyCDXField.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/AlphaPartitionedIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/RangeGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/distributed/RangeMember.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/AccessPointCaptureFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/AccessPointCaptureFilterGroupFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/CaptureFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/CoreCaptureFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/CoreCaptureFilterGroupFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/ExclusionCaptureFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/ExclusionCaptureFilterGroupFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/FilterGroupFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/QueryCaptureFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/QueryCaptureFilterGroupFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/WindowFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/BeanShellFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CompositeExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ConditionalGetAnnotationFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/CounterFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DateRangeFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/DuplicateRecordFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/EndDateFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FilePrefixFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/FileRegexFilter.java trunk/archive-access/projects/wayback... [truncated message content] |
From: <bra...@us...> - 2010-10-01 16:20:42
|
Revision: 3265 http://archive-access.svn.sourceforge.net/archive-access/?rev=3265&view=rev Author: bradtofel Date: 2010-10-01 16:20:35 +0000 (Fri, 01 Oct 2010) Log Message: ----------- BUGFIX (unreported): previously Archival URL and Domain Prefix replay modes were actually pulling the resource from underlying storage before redirecting users to a more specific date, an incredibly wasteful operation, as the resource had to be pulled out a second time, after the redirect. Now the redirect is done before pulling the resource out... INTERFACE:Added new ReplayDispatcher component to allow specific instances to decide if users should be redirected to a more specific URL indicating the exact date. REFACTOR: Moved all closest date calculation out of CaptureSearchResults, so it is tracked as results are pulled from the ResourceIndex, rather than requiring an additional scan after all results are extracted. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/CaptureSearchResults.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/QueryCaptureFilterGroup.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/DomainPrefixReplay.xml trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ProxyReplay.xml trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/MementoValidity.jsp Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ClosestResultSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DefaultClosestResultSelector.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ClosestResultTrackingFilter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -19,9 +19,11 @@ */ package org.archive.wayback; +import org.archive.wayback.core.CaptureSearchResults; import org.archive.wayback.core.Resource; import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BetterRequestException; /** * Locate and return a ReplayRenderer appropriate for the users request @@ -45,4 +47,14 @@ */ public ReplayRenderer getRenderer(WaybackRequest wbRequest, CaptureSearchResult result, Resource resource); + + /** + * @param wbRequest the Request being handled + * @param results the CaptureSearchResults from the ResourceIndex + * @return the CaptureSearchResult to be rendered (best for the wbRequest) + * @throws BetterRequestException if the user should be directed to a + * different URL, with the exact timestamp, for example. + */ + public CaptureSearchResult getClosest(WaybackRequest wbRequest, + CaptureSearchResults results) throws BetterRequestException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/CaptureSearchResults.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/CaptureSearchResults.java 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/core/CaptureSearchResults.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -24,7 +24,6 @@ import java.util.Iterator; import java.util.List; -import org.archive.wayback.exception.AnchorWindowTooSmallException; import org.archive.wayback.util.Timestamp; /** @@ -39,6 +38,9 @@ */ private ArrayList<CaptureSearchResult> results = new ArrayList<CaptureSearchResult>(); + + private CaptureSearchResult closest = null; + /** * 14-digit timestamp of first capture date contained in the SearchResults */ @@ -75,71 +77,7 @@ return new Timestamp(lastResultTimestamp).getDate(); } - public void markClosest(WaybackRequest wbRequest) { - CaptureSearchResult closest = getClosest(wbRequest); - if(closest != null) { - closest.setClosest(true); - } - } /** - * @param wbRequest - * @return The closest CaptureSearchResult to the request. - */ - public CaptureSearchResult getClosest(WaybackRequest wbRequest) { - try { - return getClosest(wbRequest,false); - } catch (AnchorWindowTooSmallException e) { - // cannot happen with 2nd arg false... - e.printStackTrace(); - } - return null; - } - /** - * @param wbRequest - * @param useAnchor if true, then check Request Anchor Window and Date, - * throwing exception if no Result is within the Window. - * @return The closest CaptureSearchResult to the request. - */ - public CaptureSearchResult getClosest(WaybackRequest wbRequest, - boolean useAnchor) - throws AnchorWindowTooSmallException { - - CaptureSearchResult closest = null; - long closestDistance = 0; - CaptureSearchResult cur = null; - String anchorDate = null; - // TODO: check if HTTP request referrer is set before using? - if(useAnchor) { - anchorDate = wbRequest.getAnchorTimestamp(); - } - long maxWindow = -1; - long wantTime = wbRequest.getReplayDate().getTime(); - if(anchorDate != null) { - wantTime = Timestamp.parseBefore(anchorDate).getDate().getTime(); - maxWindow = wbRequest.getAnchorWindow() * 1000; - } - - Iterator<CaptureSearchResult> itr = results.iterator(); - while (itr.hasNext()) { - cur = itr.next(); - long curDistance = Math.abs(wantTime - - cur.getCaptureDate().getTime()); - - if ((closest == null) || (curDistance < closestDistance)) { - closest = cur; - closestDistance = curDistance; - } - } - if(useAnchor && (maxWindow > 0)) { - if(closestDistance > maxWindow) { - throw new AnchorWindowTooSmallException("Closest is " + - closestDistance + " seconds away, Window is " + - maxWindow); - } - } - return closest; - } - /** * append a result * @param result */ @@ -186,4 +124,16 @@ public int size() { return results.size(); } + /** + * @param closest the closest to set + */ + public void setClosest(CaptureSearchResult closest) { + this.closest = closest; + } + /** + * @return the closest + */ + public CaptureSearchResult getClosest() { + return closest; + } } Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ClosestResultSelector.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ClosestResultSelector.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ClosestResultSelector.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -0,0 +1,49 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.replay; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BetterRequestException; + +/** + * New interface component on Replay to allow customized selection of the + * "best" particular search result from a set to return for a particular + * request. Also allows specific Replay instances to optionally bounce the user + * to a better URL, via a BetterRequestException. + * + * @author brad + * + */ +public interface ClosestResultSelector { + /** + * Locate and return the best matching search result from a set for a given + * request. + * @param wbRequest The WaybackRequest being handled + * @param results the CaptureSeachResults found matching the request + * @return the best CaptureSearchResult, which should be replayed to the + * user. + * @throws BetterRequestException if the user should be redirected to a + * different, better URL to make this request. + */ + public CaptureSearchResult getClosest(WaybackRequest wbRequest, + CaptureSearchResults results) throws BetterRequestException; +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ClosestResultSelector.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -0,0 +1,67 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.replay; + +import org.archive.wayback.ResultURIConverter; +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BetterRequestException; + +/** + * @author brad + * + */ +public class DateRedirectingClosestResultSelector +implements ClosestResultSelector { + + public CaptureSearchResult getClosest(WaybackRequest wbRequest, + CaptureSearchResults results) throws BetterRequestException { + + CaptureSearchResult closest = results.getClosest(); + String reqDateStr = wbRequest.getReplayTimestamp(); + String resDateStr = closest.getCaptureTimestamp(); + + boolean doRedirect = false; + + // if the request date is shorter than the result date, always redirect: + if(reqDateStr.length() < resDateStr.length()) { + doRedirect = true; + } else { + // if the result is not for the exact date requested, redirect to the + // exact date. some capture dates are not 14 digits, only compare as + // many digits as are in the result date: + if(!resDateStr.equals(reqDateStr.substring(0,resDateStr.length()))) { + doRedirect = true; + } + } + if(doRedirect) { + // redirect to the better version: + String url = closest.getOriginalUrl(); + String captureDate = closest.getCaptureTimestamp(); + ResultURIConverter uriConverter = + wbRequest.getAccessPoint().getUriConverter(); + String betterURI = uriConverter.makeReplayURI(captureDate,url); + throw new BetterRequestException(betterURI); + } + return closest; + } + +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DefaultClosestResultSelector.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DefaultClosestResultSelector.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DefaultClosestResultSelector.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -0,0 +1,38 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.replay; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BetterRequestException; + +/** + * @author brad + * + */ +public class DefaultClosestResultSelector implements ClosestResultSelector { + + public CaptureSearchResult getClosest(WaybackRequest wbRequest, + CaptureSearchResults results) throws BetterRequestException { + return results.getClosest(); + } + +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DefaultClosestResultSelector.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/SelectorReplayDispatcher.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -24,17 +24,22 @@ import org.archive.wayback.ReplayDispatcher; import org.archive.wayback.ReplayRenderer; import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; import org.archive.wayback.core.Resource; import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BetterRequestException; /** + * ReplayDispatcher instance which uses a configurable ClosestResultSelector + * to find the best result to show from a given set, and a list of + * ReplayRendererSelector to determine how best to replay that result to a user. * - * * @author brad * @version $Date$, $Revision$ */ public class SelectorReplayDispatcher implements ReplayDispatcher { private List<ReplayRendererSelector> selectors = null; + private ClosestResultSelector closestSelector = null; /* (non-Javadoc) * @see org.archive.wayback.ReplayDispatcher#getRenderer(org.archive.wayback.core.WaybackRequest, org.archive.wayback.core.CaptureSearchResult, org.archive.wayback.core.Resource) */ @@ -49,11 +54,34 @@ } return null; } + + public CaptureSearchResult getClosest(WaybackRequest wbRequest, + CaptureSearchResults results) throws BetterRequestException { + return closestSelector.getClosest(wbRequest, results); + } + + /** + * @return the List of ReplayRendererSelector objects configured + */ public List<ReplayRendererSelector> getSelectors() { return selectors; } + /** + * @param selectors the List of ReplayRendererSelector to use + */ public void setSelectors(List<ReplayRendererSelector> selectors) { this.selectors = selectors; } - + /** + * @param closestSelector the closestSelector to set + */ + public void setClosestSelector(ClosestResultSelector closestSelector) { + this.closestSelector = closestSelector; + } + /** + * @return the closestSelector + */ + public ClosestResultSelector getClosestSelector() { + return closestSelector; + } } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/QueryCaptureFilterGroup.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/QueryCaptureFilterGroup.java 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filterfactory/QueryCaptureFilterGroup.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -27,9 +27,11 @@ import org.apache.commons.httpclient.URIException; import org.archive.wayback.UrlCanonicalizer; import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; import org.archive.wayback.core.SearchResults; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.BadQueryException; +import org.archive.wayback.resourceindex.filters.ClosestResultTrackingFilter; import org.archive.wayback.resourceindex.filters.DateRangeFilter; import org.archive.wayback.resourceindex.filters.HostMatchFilter; import org.archive.wayback.resourceindex.filters.SchemeMatchFilter; @@ -47,6 +49,7 @@ // private ObjectFilter<CaptureSearchResult> selfRedirectFilter = null; // private ObjectFilter<CaptureSearchResult> exactHost = null; // private ObjectFilter<CaptureSearchResult> exactScheme = null; + private ClosestResultTrackingFilter closestTracker = null; private ObjectFilterChain<CaptureSearchResult> chain = null; private String requestType = null; private String keyUrl = null; @@ -81,9 +84,24 @@ } chain.addFilter(new UrlMatchFilter(keyUrl)); chain.addFilter(new SelfRedirectFilter(canonicalizer)); + + long wantMS = request.getReplayDate().getTime(); + if(request.getAccessPoint().isUseAnchorWindow()) { + // use AnchorTimestamp, if specified: + String anchorTS = request.getAnchorTimestamp(); + if(anchorTS != null) { + wantMS = + Timestamp.parseBefore(anchorTS).getDate().getTime(); + } + } + + closestTracker = new ClosestResultTrackingFilter( + request.getReplayDate().getTime()); } else if(request.isCaptureQueryRequest()) { chain.addFilter(new UrlMatchFilter(keyUrl)); + closestTracker = new ClosestResultTrackingFilter( + request.getReplayDate().getTime()); } else if(request.isUrlQueryRequest()) { chain.addFilter(new UrlPrefixMatchFilter(keyUrl)); } @@ -112,6 +130,9 @@ chain.addFilter(new SchemeMatchFilter( UrlOperations.urlToScheme(request.getRequestUrl()),this)); } + if(closestTracker != null) { + chain.addFilter(closestTracker); + } } public List<ObjectFilter<CaptureSearchResult>> getFilters() { @@ -131,6 +152,12 @@ if(!closeMatches.isEmpty()) { results.setCloseMatches(new ArrayList<String>(closeMatches.values())); } + if(closestTracker != null) { + if(results instanceof CaptureSearchResults) { + CaptureSearchResults cResults = (CaptureSearchResults) results; + cResults.setClosest(closestTracker.getClosest()); + } + } } public void addCloseMatch(String host, String closeMatch) { Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ClosestResultTrackingFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ClosestResultTrackingFilter.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ClosestResultTrackingFilter.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -0,0 +1,83 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.resourceindex.filters; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.util.ObjectFilter; + +/** + * Class which observes CaptureSearchResults, keeping track of the closest + * result found to a given date. This class has an optimization which ASSUMES + * results will be seen in increasing date order, so computation can be skipped + * as soon as dates stop getting closer to the desired date. + * + * @author brad + * + */ +public class ClosestResultTrackingFilter implements ObjectFilter<CaptureSearchResult> { + + private boolean found = false; + private long wantMS = 0; + private long closestDiffMS = 0; + private CaptureSearchResult closest = null; + + /** + * @return the closest + */ + public CaptureSearchResult getClosest() { + return closest; + } + + /** + * @param wantMS the number of MS since the epoch of the desired date. + */ + public ClosestResultTrackingFilter(long wantMS) { + this.wantMS = wantMS; + } + + public int filterObject(CaptureSearchResult o) { + + if(found) { + // dates are now getting further from desired dates, as an + // optimization, skip the math: + return FILTER_INCLUDE; + } + long captureMS = o.getCaptureDate().getTime(); + long diffMS = Math.abs(captureMS - wantMS); + + if(closest == null) { + // first result to pass, by definition, for now it's the closest: + closest = o; + closestDiffMS = diffMS; + + } else { + + if(closestDiffMS < diffMS) { + // dates now increasing, start short-circuiting the rest + found = true; + } else { + // this is closer than anything we've seen: + closest = o; + closestDiffMS = diffMS; + } + } + return FILTER_INCLUDE; + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/resourceindex/filters/ClosestResultTrackingFilter.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java 2010-10-01 16:20:35 UTC (rev 3265) @@ -47,6 +47,7 @@ import org.archive.wayback.core.UrlSearchResults; import org.archive.wayback.core.WaybackRequest; import org.archive.wayback.exception.AdministrativeAccessControlException; +import org.archive.wayback.exception.AnchorWindowTooSmallException; import org.archive.wayback.exception.AuthenticationControlException; import org.archive.wayback.exception.BaseExceptionRenderer; import org.archive.wayback.exception.BetterRequestException; @@ -315,9 +316,12 @@ (CaptureSearchResults) results; // TODO: check which versions are actually accessible right now? - CaptureSearchResult closest = captureResults.getClosest(wbRequest, - isUseAnchorWindow()); + CaptureSearchResult closest = + getReplay().getClosest(wbRequest, captureResults); + closest.setClosest(true); + checkAnchorWindow(wbRequest,closest); + try { resource = getCollection().getResourceStore().retrieveResource(closest); @@ -342,6 +346,28 @@ } } + private void checkAnchorWindow(WaybackRequest wbRequest, + CaptureSearchResult result) throws AnchorWindowTooSmallException { + if(isUseAnchorWindow()) { + String anchorDate = wbRequest.getAnchorTimestamp(); + if(anchorDate != null) { + long wantTime = wbRequest.getReplayDate().getTime(); + long maxWindow = wbRequest.getAnchorWindow() * 1000; + if(maxWindow > 0) { + long closestDistance = Math.abs(wantTime - + result.getCaptureDate().getTime()); + + if(closestDistance > maxWindow) { + throw new AnchorWindowTooSmallException("Closest is " + + closestDistance + " seconds away, Window is " + + maxWindow); + } + } + } + + } + } + private void handleQuery(WaybackRequest wbRequest, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws ServletException, IOException, WaybackException { @@ -352,7 +378,15 @@ p.queried(); if(results instanceof CaptureSearchResults) { CaptureSearchResults cResults = (CaptureSearchResults) results; - cResults.markClosest(wbRequest); + + // The Firefox proxy plugin maks an XML request to populate the + // list of available captures, and needs the closest result to + // the one being replayed to be flagged as such: + CaptureSearchResult closest = cResults.getClosest(); + if(closest != null) { + closest.setClosest(true); + } + getQuery().renderCaptureResults(httpRequest,httpResponse,wbRequest, cResults,getUriConverter()); Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/ArchivalUrlReplay.xml 2010-10-01 16:20:35 UTC (rev 3265) @@ -105,6 +105,9 @@ return the document to the user. --> <bean id="archivalurlreplay" class="org.archive.wayback.replay.SelectorReplayDispatcher"> + <property name="closestSelector"> + <bean class="org.archive.wayback.replay.DateRedirectingClosestResultSelector" /> + </property> <property name="selectors"> <list> Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/DomainPrefixReplay.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/DomainPrefixReplay.xml 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/DomainPrefixReplay.xml 2010-10-01 16:20:35 UTC (rev 3265) @@ -26,6 +26,9 @@ </bean> <bean id="domainprefixreplay" class="org.archive.wayback.replay.SelectorReplayDispatcher"> + <property name="closestSelector"> + <bean class="org.archive.wayback.replay.DateRedirectingClosestResultSelector" /> + </property> <property name="selectors"> <list> Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml 2010-10-01 15:43:09 UTC (rev 3264) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml 2010-10-01 16:20:35 UTC (rev 3265) @@ -23,6 +23,9 @@ </bean> <bean id="mementoreplay" class="org.archive.wayback.replay.SelectorReplayDispatcher"> + <property name="closestSelector"> + <bean class="org.archive.wayback.replay.DateRed... [truncated message content] |
From: <bra...@us...> - 2010-10-01 18:15:39
|
Revision: 3266 http://archive-access.svn.sourceforge.net/archive-access/?rev=3266&view=rev Author: bradtofel Date: 2010-10-01 18:15:33 +0000 (Fri, 01 Oct 2010) Log Message: ----------- FEATURE: now includes default configuration file to control logging via java.util.logging Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/webapp/RequestFilter.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/web.xml Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/classes/logging.properties Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/webapp/RequestFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/webapp/RequestFilter.java 2010-10-01 16:20:35 UTC (rev 3265) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/util/webapp/RequestFilter.java 2010-10-01 18:15:33 UTC (rev 3266) @@ -19,7 +19,11 @@ */ package org.archive.wayback.util.webapp; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; +import java.util.logging.LogManager; import java.util.logging.Logger; import javax.servlet.Filter; @@ -33,12 +37,12 @@ import javax.servlet.http.HttpServletResponse; /** - * Top-Level integration point between a series of RequestHandler mappings and - * a generic ServletContext. This filter is assumed to be responsible for - * matching ALL requests received by the webapp ("*") and uses a RequestMapper - * to delegate incoming HttpServletRequests to the appropriate RequestHandler, - * via the doFilter() method. - * + * Top-Level integration point between a series of RequestHandler mappings and a + * generic ServletContext. This filter is assumed to be responsible for matching + * ALL requests received by the webapp ("*") and uses a RequestMapper to + * delegate incoming HttpServletRequests to the appropriate RequestHandler, via + * the doFilter() method. + * * @author brad */ public class RequestFilter implements Filter { @@ -46,20 +50,48 @@ .getName()); private RequestMapper mapper = null; private final static String CONFIG_PATH = "config-path"; - + private final static String LOGGING_CONFIG_PATH = "logging-config-path"; + public void init(FilterConfig config) throws ServletException { ServletContext servletContext = config.getServletContext(); + String logConfigPath = servletContext + .getInitParameter(LOGGING_CONFIG_PATH); + if (logConfigPath != null) { + String resolvedLogPath = servletContext.getRealPath(logConfigPath); + File logConfigFile = new File(resolvedLogPath); + if (logConfigFile.exists()) { + FileInputStream finp = null; + try { + finp = new FileInputStream(logConfigFile); + LogManager.getLogManager().readConfiguration(finp); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (SecurityException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (finp != null) { + finp.close(); + } + } catch (IOException e) { + throw new ServletException(e); + } + } + } + } + String configPath = servletContext.getInitParameter(CONFIG_PATH); - if(configPath == null) { - throw new ServletException("Missing " + CONFIG_PATH - + " parameter"); + if (configPath == null) { + throw new ServletException("Missing " + CONFIG_PATH + " parameter"); } String resolvedPath = servletContext.getRealPath(configPath); - LOGGER.info("Initializing Spring config at: " + resolvedPath); - mapper = SpringReader.readSpringConfig(resolvedPath,servletContext); - LOGGER.info("Initialized Spring config at: " + resolvedPath); + LOGGER.info("Initializing Spring config at: " + resolvedPath); + mapper = SpringReader.readSpringConfig(resolvedPath, servletContext); + LOGGER.info("Initialized Spring config at: " + resolvedPath); } public void destroy() { @@ -68,18 +100,18 @@ LOGGER.info("Shutdown complete."); } - public void doFilter(ServletRequest request, ServletResponse response, + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { boolean handled = false; - - if(request instanceof HttpServletRequest) { - if(response instanceof HttpServletResponse) { + + if (request instanceof HttpServletRequest) { + if (response instanceof HttpServletResponse) { handled = mapper.handleRequest((HttpServletRequest) request, (HttpServletResponse) response); } } - if(!handled) { - chain.doFilter(request,response); + if (!handled) { + chain.doFilter(request, response); } } } Added: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/classes/logging.properties =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/classes/logging.properties (rev 0) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/classes/logging.properties 2010-10-01 18:15:33 UTC (rev 3266) @@ -0,0 +1,26 @@ +handlers = java.util.logging.ConsoleHandler +java.util.logging.ConsoleHandler.level = ALL +java.util.logging.ConsoleHandler.formatter= org.archive.util.OneLineSimpleLogger +.level = WARNING +org.archive.wayback.level=WARNING +org.archive.wayback.webapp.AccessPoint.level=INFO +org.archive.wayback.util.webapp.level=ALL + + +# Background thread logging at INFO levels: +org.archive.wayback.accesscontrol.staticmap.StaticMapExclusionFilterFactory.level=INFO +org.archive.wayback.liveweb.URLtoARCCacher.level=INFO +org.archive.wayback.resourceindex.updater.LocalResourceIndexUpdater.level=INFO +org.archive.wayback.resourcestore.indexer.IndexQueueUpdater.level=INFO +org.archive.wayback.resourcestore.indexer.IndexWorker.level=INFO +org.archive.wayback.resourcestore.locationdb.ResourceFileLocationDBUpdater.level=INFO +org.archive.wayback.resourcestore.resourcefile.ResourceFileSourceUpdater.level=INFO + +# HttpClient is too chatty... only want to hear about severe problems +# For more on httpclient logging, +# see http://jakarta.apache.org/commons/httpclient/logging.html +org.apache.commons.httpclient.level = SEVERE + +# PerformanceLogger for timing of query, resource extraction, and replay +#org.archive.wayback.webapp.PerformanceLogger.level=ALL + Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/web.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/web.xml 2010-10-01 16:20:35 UTC (rev 3265) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/web.xml 2010-10-01 18:15:33 UTC (rev 3266) @@ -6,12 +6,40 @@ http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> - <!-- General Installation information + <!-- + Wayback runs as a single Servlet Filter, which intercepts all incoming + requests. + + AccessPoints are defined in a Spring configuration file, and register + themselves to handle incoming requests with this Filter. If no + AccessPoint matches an incoming request, the filter does nothing, + falling back to normal request processing, but this is an exceptional + case: To enable "virtual" AccessPoints to share the common + static content (and especially .jsp files) directly under the webapp + directory, AccessPoints will generally strip leading path information, + and forward() the requests internally to the top level of the webapp + directory. To allow .jsp files to customize output based on the + particular AccessPoint which matched the request, references to the + AccessPoint, and other data structures are often stored in the + HttpServletRequest objects before forwarding these requests. In this + case, the AccessPoint will inform the common request Filter that + content has been returned, so "normal" request processing is skipped. + + In general, only 2 configurations are needed, which are both + webapp-relative paths to configuration. + + Specifically, this is a logging configuration .properties file, for + java.util.logging (logging-config-path) and a Spring XML configuration + file describing the set of AccessPoints objects (and their internal + objects) being served by this webapp (config-path). --> <context-param> + <param-name>logging-config-path</param-name> + <param-value>WEB-INF/classes/logging.properties</param-value> + </context-param> + <context-param> <param-name>config-path</param-name> <param-value>WEB-INF/wayback.xml</param-value> -<!-- <param-value>WEB-INF/memento.xml</param-value> --> </context-param> <filter> <filter-name>RequestFilter</filter-name> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-10-18 23:05:21
|
Revision: 3286 http://archive-access.svn.sourceforge.net/archive-access/?rev=3286&view=rev Author: bradtofel Date: 2010-10-18 22:23:58 +0000 (Mon, 18 Oct 2010) Log Message: ----------- Feature: Added ReplayRendererDecorator, to simplify creation of things like MementoReplayRendererDecorator, which adds HTTP headers for all replayed resources in a Memento accessPoint. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ReplayRendererDecorator.java Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java 2010-10-18 22:23:58 UTC (rev 3286) @@ -0,0 +1,225 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.memento; + +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.Properties; +import java.util.TimeZone; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.archive.wayback.ReplayRenderer; +import org.archive.wayback.ResultURIConverter; +import org.archive.wayback.archivalurl.ArchivalUrlResultURIConverter; +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; +import org.archive.wayback.core.Resource; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BadContentException; +import org.archive.wayback.exception.WaybackException; +import org.archive.wayback.replay.HttpHeaderProcessor; +import org.archive.wayback.replay.TextReplayRenderer; +import org.archive.wayback.replay.ReplayRendererDecorator; + +/** + * @author brad + * + */ +public class MementoReplayRendererDecorator extends ReplayRendererDecorator { + + public MementoReplayRendererDecorator() { + super(); + } + /** + * @param decorated + * @param httpHeaderProcessor + */ + public MementoReplayRendererDecorator(ReplayRenderer decorated) { + super(decorated); + } + + @Override + public void renderResource(HttpServletRequest httpRequest, + HttpServletResponse httpResponse, WaybackRequest wbRequest, + CaptureSearchResult result, Resource resource, + ResultURIConverter uriConverter, CaptureSearchResults results) + throws ServletException, IOException, WaybackException { + + // add Memento headers: +// UIResults results = UIResults.extractCaptureQuery(request); +// WaybackRequest wbRequest = results.getWbRequest(); +// CaptureSearchResults cResults = results.getCaptureResults(); +// CaptureSearchResult res = cResults.getClosest(); + String u = wbRequest.getRequestUrl(); + SimpleDateFormat httpformatterl = new SimpleDateFormat( + "E, dd MMM yyyy HH:mm:ss z"); + TimeZone tzo = TimeZone.getTimeZone("GMT"); + httpformatterl.setTimeZone(tzo); + SimpleDateFormat formatterk = new SimpleDateFormat("yyyyMMddHHmmss"); + formatterk.setTimeZone(tzo); + Properties apProps = wbRequest.getAccessPoint().getConfigs(); + ArchivalUrlResultURIConverter aUriConverter = + (ArchivalUrlResultURIConverter) uriConverter; + Date closestDate = result.getCaptureDate(); + String uriPrefix = aUriConverter.getReplayURIPrefix(); + String agguri = apProps.getProperty("aggregationPrefix") + + "timebundle/" + u; + String timemap = " , <" + + apProps.getProperty("aggregationPrefix") + + "timemap/link/" + u + + ">;rel=\"timemap\"; type=\"text/csv\""; + + String timegate = ",<" + uriPrefix + "timegate/" + u + + ">;rel=\"timegate\""; + + Date f = results.getFirstResultDate(); + Date l = results.getLastResultDate(); + + StringBuffer sb = new StringBuffer(); + + httpResponse.setHeader("Memento-Datetime", + httpformatterl.format(result.getCaptureDate())); + + String memento = ",<" + uriPrefix + formatterk.format(closestDate) + + "/" + u + ">;rel=\"memento\";datetime=\"" + + httpformatterl.format(closestDate) + "\""; + String mfl = null; + if ((closestDate.equals(f)) && closestDate.equals(l)) { + mfl = ", <" + + uriPrefix + + formatterk.format(f) + + "/" + + u + + ">;rel=\"first-memento memento last-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""; + } else if (closestDate.equals(f)) { + mfl = ", <" + uriPrefix + formatterk.format(f) + "/" + u + + ">;rel=\"first-memento memento\"; datetime=\"" + + httpformatterl.format(f) + "\""; + mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u + + ">;rel=\"last-memento\"; datetime=\"" + + httpformatterl.format(l) + "\""; + + } else if (closestDate.equals(l)) { + mfl = ", <" + uriPrefix + formatterk.format(l) + "/" + u + + ">;rel=\"last-memento memento\"; datetime=\"" + + httpformatterl.format(l) + "\""; + mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u + + ">;rel=\"first-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""; + } else { + mfl = memento; + + mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u + + ">;rel=\"last-memento\"; datetime=\"" + + httpformatterl.format(l) + "\""; + mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u + + ">;rel=\"first-memento\"; datetime=\"" + + httpformatterl.format(f) + "\""; + } + + sb = new StringBuffer(mfl); + + // calculate closest values for link header + + CaptureSearchResult closestleft = null; + CaptureSearchResult closestright = null; + long rclosestDistance = 0; + long lclosestDistance = 0; + CaptureSearchResult cur = null; + + long wantTime = closestDate.getTime(); + + Iterator<CaptureSearchResult> itr = results.iterator(); + while (itr.hasNext()) { + cur = itr.next(); + cur.getCaptureDate(); + long curDistance = cur.getCaptureDate().getTime() - wantTime; + // == 0 skip + if (curDistance > 0) { + if ((closestright == null) + || (Math.abs(curDistance) < Math + .abs(rclosestDistance))) { + closestright = cur; + rclosestDistance = Math.abs(curDistance); + } + } + + if (curDistance < 0) { + if ((closestleft == null) + || (Math.abs(curDistance) < Math + .abs(lclosestDistance))) { + closestleft = cur; + lclosestDistance = Math.abs(curDistance); + } + } + + } + + if (closestleft != null) { + if (!(closestleft.getCaptureDate().equals(f))) { + + sb.append(", <" + + uriPrefix + + formatterk.format(closestleft.getCaptureDate()) + + "/" + + u + + ">;rel=\"prev-memento\"; datetime=\"" + + httpformatterl.format(closestleft + .getCaptureDate()) + "\""); + } else { + int m_index = sb.lastIndexOf("\"first-memento\""); + sb.insert(m_index + 1, "prev-memento "); + + } + } + if (closestright != null) { + if (!(closestright.getCaptureDate().equals(l))) { + sb.append(", <" + + uriPrefix + + formatterk.format(closestright.getCaptureDate()) + + "/" + + u + + ">;rel=\"next-memento\"; datetime=\"" + + httpformatterl.format(closestright + .getCaptureDate()) + "\""); + } else { + int m_index = sb.lastIndexOf("\"last-memento\""); + sb.insert(m_index + 1, "next-memento "); + + } + + } + + String origlink = ", <" + u + ">;rel=\"original\""; + + httpResponse.setHeader("Link", "<" + agguri + ">;rel=\"timebundle\"" + + origlink + sb.toString() + timemap + timegate); + + decorated.renderResource(httpRequest, httpResponse, wbRequest, result, + resource, uriConverter, results); + } + +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ReplayRendererDecorator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ReplayRendererDecorator.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ReplayRendererDecorator.java 2010-10-18 22:23:58 UTC (rev 3286) @@ -0,0 +1,72 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.replay; + +import java.io.IOException; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.archive.wayback.ReplayRenderer; +import org.archive.wayback.ResultURIConverter; +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.CaptureSearchResults; +import org.archive.wayback.core.Resource; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BadContentException; +import org.archive.wayback.exception.WaybackException; +import org.archive.wayback.replay.charset.CharsetDetector; + +/** + * @author brad + * + */ +public abstract class ReplayRendererDecorator implements ReplayRenderer { + + protected ReplayRenderer decorated = null; + /** + * @return the decorated + */ + public ReplayRenderer getDecorated() { + return decorated; + } + /** + * @param decorated the decorated to set + */ + public void setDecorated(ReplayRenderer decorated) { + this.decorated = decorated; + } + public ReplayRendererDecorator() { + } + /** + * @param httpHeaderProcessor + */ + public ReplayRendererDecorator(ReplayRenderer decorated) { + this.decorated = decorated; + } + + public abstract void renderResource(HttpServletRequest httpRequest, + HttpServletResponse httpResponse, WaybackRequest wbRequest, + CaptureSearchResult result, Resource resource, + ResultURIConverter uriConverter, CaptureSearchResults results) + throws ServletException, IOException, WaybackException; +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/ReplayRendererDecorator.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml 2010-10-18 22:17:43 UTC (rev 3285) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/MementoReplay.xml 2010-10-18 22:23:58 UTC (rev 3286) @@ -17,7 +17,9 @@ <list> <value>/WEB-INF/replay/ArchiveComment.jsp</value> <value>/WEB-INF/replay/Disclaimer.jsp</value> + <!-- <value>/WEB-INF/replay/MementoValidity.jsp</value> + --> </list> </property> </bean> @@ -29,13 +31,6 @@ <property name="selectors"> <list> - <!-- REDIRECT IF NOT EXACT DATE --> - <bean class="org.archive.wayback.replay.selector.DateMismatchSelector"> - <property name="renderer"> - <bean class="org.archive.wayback.archivalurl.ArchivalUrlDateRedirectReplayRenderer" /> - </property> - </bean> - <!-- HTML REPLAY --> <bean class="org.archive.wayback.replay.selector.MimeTypeSelector"> <property name="mimeContains"> @@ -44,7 +39,11 @@ <value>application/xhtml</value> </list> </property> - <property name="renderer" ref="mementoclientsidehtmlreplayrenderer"/> + <property name="renderer"> + <bean class="org.archive.wayback.memento.MementoReplayRendererDecorator"> + <property name="decorated" ref="mementoclientsidehtmlreplayrenderer"/> + </bean> + </property> </bean> <!-- CSS REPLAY --> @@ -54,32 +53,20 @@ <value>text/css</value> </list> </property> - <property name="renderer" ref="archivalcssreplayrenderer"/> - </bean> - - <!-- ASX-MIME REPLAY --> - <bean class="org.archive.wayback.replay.selector.MimeTypeSelector"> - <property name="mimeContains"> - <list> - <value>video/x-ms-asf</value> - </list> + <property name="renderer"> + <bean class="org.archive.wayback.memento.MementoReplayRendererDecorator"> + <property name="decorated" ref="archivalcssreplayrenderer"/> + </bean> </property> - <property name="renderer" ref="archivalasxreplayrenderer"/> </bean> - <!-- ASX-PATH REPLAY --> - <bean class="org.archive.wayback.replay.selector.PathMatchSelector"> - <property name="pathContains"> - <list> - <value>.asx</value> - </list> - </property> - <property name="renderer" ref="archivalasxreplayrenderer"/> - </bean> - <!-- DEFAULT-TRANSPARENT REPLAY --> <bean class="org.archive.wayback.replay.selector.AlwaysMatchSelector"> - <property name="renderer" ref="archivaltransparentreplayrenderer"/> + <property name="renderer"> + <bean class="org.archive.wayback.memento.MementoReplayRendererDecorator"> + <property name="decorated" ref="archivaltransparentreplayrenderer"/> + </bean> + </property> </bean> </list> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-10-21 17:33:36
|
Revision: 3289 http://archive-access.svn.sourceforge.net/archive-access/?rev=3289&view=rev Author: bradtofel Date: 2010-10-21 17:33:30 +0000 (Thu, 21 Oct 2010) Log Message: ----------- BUGFIX(unreported) corrected rewriting of URLs embedded in CSS, which has no concept of <base href="">. Now for memento, we make URLs absolute, but do not prepend any prefix or date - relying on the client plugin to intercept and redirect the in-browser requests. This required a non-ArchivalUrlResultURIConverter, so many other codes which pulled the replay prefix from that object now pull it from the AccessPoint. Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoResultURIConverter.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java 2010-10-21 00:37:52 UTC (rev 3288) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java 2010-10-21 17:33:30 UTC (rev 3289) @@ -80,10 +80,8 @@ SimpleDateFormat formatterk = new SimpleDateFormat("yyyyMMddHHmmss"); formatterk.setTimeZone(tzo); Properties apProps = wbRequest.getAccessPoint().getConfigs(); - ArchivalUrlResultURIConverter aUriConverter = - (ArchivalUrlResultURIConverter) uriConverter; Date closestDate = result.getCaptureDate(); - String uriPrefix = aUriConverter.getReplayURIPrefix(); + String uriPrefix = wbRequest.getAccessPoint().getReplayPrefix(); String agguri = apProps.getProperty("aggregationPrefix") + "timebundle/" + u; String timemap = " , <" Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoResultURIConverter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoResultURIConverter.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoResultURIConverter.java 2010-10-21 17:33:30 UTC (rev 3289) @@ -0,0 +1,33 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.memento; + +import org.archive.wayback.ResultURIConverter; +import org.archive.wayback.util.url.UrlOperations; + +/** + * @author brad + * + */ +public class MementoResultURIConverter implements ResultURIConverter { + public String makeReplayURI(String datespec, String url) { + return UrlOperations.stripDefaultPortFromUrl(url); + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoResultURIConverter.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp 2010-10-21 00:37:52 UTC (rev 3288) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp 2010-10-21 17:33:30 UTC (rev 3289) @@ -52,9 +52,7 @@ + "timemap/link/" + u + ">;rel=\"timemap\"; type=\"text/csv\""; String origlink = ", <" + u + ">;rel=\"original\""; - ArchivalUrlResultURIConverter uriconverter = (ArchivalUrlResultURIConverter) results - .getURIConverter(); - String uriPrefix = uriconverter.getReplayURIPrefix(); + String uriPrefix = wbRequest.getAccessPoint().getReplayPrefix(); String replayUrl = results.resultToReplayUrl(res); StringBuffer sb = new StringBuffer(); Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-10-21 00:37:52 UTC (rev 3288) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-10-21 17:33:30 UTC (rev 3289) @@ -38,9 +38,7 @@ CaptureSearchResults cResults = results.getCaptureResults(); CaptureSearchResult res = cResults.getClosest(); - ArchivalUrlResultURIConverter uriconverter = (ArchivalUrlResultURIConverter) results - .getURIConverter(); - String uriPrefix = uriconverter.getReplayURIPrefix(); + String uriPrefix = wbRequest.getAccessPoint().getReplayPrefix(); String u = wbRequest.getRequestUrl(); String agguri = uriPrefix + "timebundle/" + u; String format = wbRequest.get("format"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-10-22 23:48:44
|
Revision: 3303 http://archive-access.svn.sourceforge.net/archive-access/?rev=3303&view=rev Author: bradtofel Date: 2010-10-22 23:48:38 +0000 (Fri, 22 Oct 2010) Log Message: ----------- PRE-1.6.0 POM version info Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2010-10-22 23:48:07 UTC (rev 3302) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2010-10-22 23:48:38 UTC (rev 3303) @@ -3,7 +3,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -53,7 +53,7 @@ <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </dependency> </dependencies> <build> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2010-10-22 23:48:07 UTC (rev 3302) +++ trunk/archive-access/projects/wayback/pom.xml 2010-10-22 23:48:38 UTC (rev 3303) @@ -17,10 +17,10 @@ <groupId>org.archive</groupId> <artifactId>wayback</artifactId> <properties> - <globalVersion>1.5.3-SNAPSHOT</globalVersion> + <globalVersion>1.6.0</globalVersion> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> <packaging>pom</packaging> <name>Wayback</name> @@ -246,15 +246,4 @@ </plugins> </reporting> -<!--Needed because we have test code under src/java. - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - </dependencies> - --> - </project> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-10-22 23:48:07 UTC (rev 3302) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-10-22 23:48:38 UTC (rev 3303) @@ -17,7 +17,7 @@ <parent> <groupId>org.archive</groupId> <artifactId>wayback</artifactId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </parent> <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> @@ -99,6 +99,12 @@ <artifactId>htmlparser</artifactId> <version>1.6</version> </dependency> + <dependency> + <groupId>com.flagstone</groupId> + <artifactId>transform</artifactId> + <version>3.0.1-SNAPSHOT</version> + </dependency> + <!-- Doh... I'm not sure what package is configuring org.apache.commons-logging to use log4j, but it's breaking some command line tools. Modified: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-10-22 23:48:07 UTC (rev 3302) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-10-22 23:48:38 UTC (rev 3303) @@ -2,13 +2,13 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> <artifactId>wayback-hadoop</artifactId> <name>Wayback Hadoop Jar Packaging</name> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> <url>http://maven.apache.org</url> <packaging>pom</packaging> <dependencies> @@ -21,7 +21,7 @@ <dependency> <groupId>org.archive.wayback</groupId> <artifactId>wayback-hadoop-java</artifactId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> <scope>compile</scope> </dependency> </dependencies> @@ -37,16 +37,7 @@ <finalName>wayback-hadoop</finalName> <archive> <manifestFile>src/main/archive/MANIFEST.MF</manifestFile> -<!-- - <manifest> - <mainClass>org.archive.wayback.hadoop.SortDriver</mainClass> - </manifest> - <manifestEntries> - <Class-Path>hadoop-0.19.1-core.jar lib/commons-cli-2.0-SNAPSHOT.jar lib/commons-codec-1.3.jar lib/commons-httpclient-3.0.1.jar lib/commons-logging-1.0.4.jar lib/commons-logging-api-1.0.4.jar lib/commons-net-1.4.1.jar lib/hsqldb-1.8.0.10.jar lib/jets3t-0.6.1.jar lib/jetty-5.1.4.jar lib/junit-3.8.1.jar lib/kfs-0.2.0.jar lib/log4j-1.2.15.jar lib/oro-2.0.8.jar lib/servlet-api.jar lib/slf4j-api-1.4.3.jar lib/slf4j-log4j12-1.4.3.jar lib/xmlenc-0.52.jar lib/jetty-ext/commons-el.jar lib/jetty-ext/jasper-compiler.jar lib/jetty-ext/jasper-runtime.jar lib/jetty-ext/jsp-api.jar</Class-Path> - </manifestEntries> ---> </archive> - </configuration> <executions> <execution> Modified: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-10-22 23:48:07 UTC (rev 3302) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-10-22 23:48:38 UTC (rev 3303) @@ -3,13 +3,13 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> <artifactId>wayback-hadoop-java</artifactId> <name>Wayback Hadoop Java Code</name> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> <url>http://maven.apache.org</url> <packaging>jar</packaging> @@ -37,7 +37,7 @@ <groupId>org.archive.wayback</groupId> <artifactId>wayback-core</artifactId> <scope>compile</scope> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </dependency> </dependencies> <build> Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2010-10-22 23:48:07 UTC (rev 3302) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2010-10-22 23:48:38 UTC (rev 3303) @@ -3,7 +3,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive</groupId> - <version>1.5.3-SNAPSHOT</version> + <version>1.6.0</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.archive.wayback</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-11-11 05:49:13
|
Revision: 3332 http://archive-access.svn.sourceforge.net/archive-access/?rev=3332&view=rev Author: bradtofel Date: 2010-11-11 05:49:07 +0000 (Thu, 11 Nov 2010) Log Message: ----------- TWEAK: changed rel Link headers per fixes for RFC, removed TCN headers Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/MementoValidity.jsp Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java 2010-11-11 05:47:25 UTC (rev 3331) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/memento/MementoReplayRendererDecorator.java 2010-11-11 05:49:07 UTC (rev 3332) @@ -87,7 +87,7 @@ String timemap = " , <" + apProps.getProperty("aggregationPrefix") + "timemap/link/" + u - + ">;rel=\"timemap\"; type=\"text/csv\""; + + ">;rel=\"timemap\"; type=\"application/link-format\""; String timegate = ",<" + uriPrefix + "timegate/" + u + ">;rel=\"timegate\""; @@ -101,7 +101,7 @@ httpformatterl.format(result.getCaptureDate())); String memento = ",<" + uriPrefix + formatterk.format(closestDate) - + "/" + u + ">;rel=\"memento\";datetime=\"" + + "/" + u + ">;rel=\"memento\"; datetime=\"" + httpformatterl.format(closestDate) + "\""; String mfl = null; if ((closestDate.equals(f)) && closestDate.equals(l)) { @@ -110,31 +110,31 @@ + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento memento last-memento\"; datetime=\"" + + ">;rel=\"first last memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else if (closestDate.equals(f)) { mfl = ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; } else if (closestDate.equals(l)) { mfl = ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else { mfl = memento; mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } @@ -184,12 +184,12 @@ + formatterk.format(closestleft.getCaptureDate()) + "/" + u - + ">;rel=\"prev-memento\"; datetime=\"" + + ">;rel=\"prev memento\"; datetime=\"" + httpformatterl.format(closestleft .getCaptureDate()) + "\""); } else { - int m_index = sb.lastIndexOf("\"first-memento\""); - sb.insert(m_index + 1, "prev-memento "); + int m_index = sb.lastIndexOf("\"first memento\""); + sb.insert(m_index + 1, "prev "); } } @@ -200,12 +200,12 @@ + formatterk.format(closestright.getCaptureDate()) + "/" + u - + ">;rel=\"next-memento\"; datetime=\"" + + ">;rel=\"next memento\"; datetime=\"" + httpformatterl.format(closestright .getCaptureDate()) + "\""); } else { - int m_index = sb.lastIndexOf("\"last-memento\""); - sb.insert(m_index + 1, "next-memento "); + int m_index = sb.lastIndexOf("\"last memento\""); + sb.insert(m_index + 1, "next "); } Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp 2010-11-11 05:47:25 UTC (rev 3331) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/Memento.jsp 2010-11-11 05:49:07 UTC (rev 3332) @@ -51,7 +51,7 @@ String timemap = " , <" + results.getContextConfig("aggregationPrefix") + "timemap/link/" + u - + ">;rel=\"timemap\"; type=\"text/csv\""; + + ">;rel=\"timemap\"; type=\"application/link-format\""; String origlink = ", <" + u + ">;rel=\"original\""; String uriPrefix = wbRequest.getAccessPoint().getReplayPrefix(); @@ -74,31 +74,31 @@ + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento memento last-memento\"; datetime=\"" + + ">;rel=\"first last memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else if (closestDate.equals(f)) { mfl = ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; } else if (closestDate.equals(l)) { mfl = ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else { mfl = memento; mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } @@ -116,18 +116,18 @@ + formatterk.format(f) + "/" + u - + ">;rel=\"last-memento first-memento\"; datetime=\"" + + ">;rel=\"last first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else { fl = ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; fl = fl + ", <" + uriPrefix + formatterk.format(f) + "/" - + u + ">;rel=\"first-memento\"; datetime=\"" + + u + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } - response.setHeader("TCN", "list"); + response.setStatus(400); response.setHeader("Link", "<" + agguri + ">;rel=\"timebundle\"" + origlink + fl + timemap); @@ -203,12 +203,12 @@ + formatterk.format(closestleft.getCaptureDate()) + "/" + u - + ">;rel=\"prev-memento\"; datetime=\"" + + ">;rel=\"prev memento\"; datetime=\"" + httpformatterl.format(closestleft .getCaptureDate()) + "\""); } else { - int m_index = sb.lastIndexOf("\"first-memento\""); - sb.insert(m_index + 1, "prev-memento "); + int m_index = sb.lastIndexOf("\"first memento\""); + sb.insert(m_index + 1, "prev "); } } if (closestright != null) { @@ -218,12 +218,12 @@ + formatterk.format(closestright.getCaptureDate()) + "/" + u - + ">;rel=\"next-memento\"; datetime=\"" + + ">;rel=\"next \"; datetime=\"" + httpformatterl.format(closestright .getCaptureDate()) + "\""); } else { - int m_index = sb.lastIndexOf("\"last-memento\""); - sb.insert(m_index + 1, "next-memento "); + int m_index = sb.lastIndexOf("\"last memento\""); + sb.insert(m_index + 1, "next "); } } @@ -231,7 +231,6 @@ response.setHeader("Link", "<" + agguri + ">;rel=\"timebundle\"" + origlink + sb.toString() + timemap); //added timemap - response.setHeader("TCN", "choice"); response.setHeader("Location", replayUrl); response.sendError(302, "Found"); %> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-11-11 05:47:25 UTC (rev 3331) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/query/ORE.jsp 2010-11-11 05:49:07 UTC (rev 3332) @@ -108,7 +108,7 @@ linkbf.append(",<" + replayPrefix + "timegate/" + u + ">;rel=\"timegate\"\n"); linkbf.append(",<" + queryPrefix + "timemap/" + format + "/" + u - + ">;rel=\"timemap\";type=\"text/csv\"\n"); + + ">;rel=\"timemap\";type=\"application/link-format\"\n"); String firstmemento = null; int count = 0; @@ -142,7 +142,7 @@ if (startdate == null) { if (firstmemento == null) { linkbf.append(",<" + resurl - + ">;rel=\"first-memento\";datetime=\"" + + ">;rel=\"first memento\";datetime=\"" + httpformatterl.format(enddate) + "\"\n"); firstmemento = "firstmemento"; @@ -226,7 +226,7 @@ if (count > 0) { int m_index = linkbf.lastIndexOf("\"memento\""); - linkbf.insert(m_index + 1, "last-"); + linkbf.insert(m_index + 1, "last "); } ORESerialiser serial = null; @@ -249,7 +249,7 @@ else if (format.equals("link")) { PrintWriter pw = response.getWriter(); - response.setContentType("text/csv"); + response.setContentType("application/link-format"); pw.print(linkbf.toString()); pw.flush(); Modified: trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/MementoValidity.jsp =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/MementoValidity.jsp 2010-11-11 05:47:25 UTC (rev 3331) +++ trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/replay/MementoValidity.jsp 2010-11-11 05:49:07 UTC (rev 3332) @@ -29,7 +29,7 @@ String timemap = " , <" + results.getContextConfig("aggregationPrefix") + "timemap/link/" + u - + ">;rel=\"timemap\"; type=\"text/csv\""; + + ">;rel=\"timemap\"; type=\"application/link-format\""; String timegate = ",<" + uriPrefix + "timegate/" + u + ">;rel=\"timegate\""; @@ -52,31 +52,31 @@ + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento memento last-memento\"; datetime=\"" + + ">;rel=\"first last memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else if (closestDate.equals(f)) { mfl = ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; } else if (closestDate.equals(l)) { mfl = ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } else { mfl = memento; mfl = mfl + ", <" + uriPrefix + formatterk.format(l) + "/" + u - + ">;rel=\"last-memento\"; datetime=\"" + + ">;rel=\"last memento\"; datetime=\"" + httpformatterl.format(l) + "\""; mfl = mfl + ", <" + uriPrefix + formatterk.format(f) + "/" + u - + ">;rel=\"first-memento\"; datetime=\"" + + ">;rel=\"first memento\"; datetime=\"" + httpformatterl.format(f) + "\""; } @@ -128,12 +128,12 @@ + formatterk.format(closestleft.getCaptureDate()) + "/" + u - + ">;rel=\"prev-memento\"; datetime=\"" + + ">;rel=\"prev memento\"; datetime=\"" + httpformatterl.format(closestleft .getCaptureDate()) + "\""); } else { - int m_index = sb.lastIndexOf("\"first-memento\""); - sb.insert(m_index + 1, "prev-memento "); + int m_index = sb.lastIndexOf("\"first memento\""); + sb.insert(m_index + 1, "prev "); } } @@ -144,12 +144,12 @@ + formatterk.format(closestright.getCaptureDate()) + "/" + u - + ">;rel=\"next-memento\"; datetime=\"" + + ">;rel=\"next memento\"; datetime=\"" + httpformatterl.format(closestright .getCaptureDate()) + "\""); } else { - int m_index = sb.lastIndexOf("\"last-memento\""); - sb.insert(m_index + 1, "next-memento "); + int m_index = sb.lastIndexOf("\"last memento\""); + sb.insert(m_index + 1, "next "); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-12-30 19:54:39
|
Revision: 3355 http://archive-access.svn.sourceforge.net/archive-access/?rev=3355&view=rev Author: bradtofel Date: 2010-12-30 19:54:31 +0000 (Thu, 30 Dec 2010) Log Message: ----------- checkpoint prior to major version refactoring Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2010-12-09 22:58:06 UTC (rev 3354) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2010-12-30 19:54:31 UTC (rev 3355) @@ -1,63 +1,25 @@ -<?xml version="1.0"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> - <groupId>org.archive</groupId> - <artifactId>wayback</artifactId> + <artifactId>parent</artifactId> + <groupId>org.archive.wayback</groupId> <version>1.6.0</version> </parent> - <modelVersion>4.0.0</modelVersion> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback</artifactId> + <artifactId>dist</artifactId> <name>Wayback tar.gz Distribution</name> <packaging>pom</packaging> - <pluginRepositories> - <pluginRepository> - <releases> - <enabled>true</enabled> - <updatePolicy>daily</updatePolicy> - <checksumPolicy>warn</checksumPolicy> - </releases> - <snapshots> - <enabled>true</enabled> - <updatePolicy>never</updatePolicy> - <checksumPolicy>fail</checksumPolicy> - </snapshots> - <id>agilejava</id> - <name>agilejava.com</name> - <url>http://www.agilejava.com/maven</url> - <layout>default</layout> - </pluginRepository> - </pluginRepositories> - - <repositories> - <repository> - <releases> - <enabled>true</enabled> - <updatePolicy>always</updatePolicy> - <checksumPolicy>warn</checksumPolicy> - </releases> - <snapshots> - <enabled>true</enabled> - <updatePolicy>never</updatePolicy> - <checksumPolicy>fail</checksumPolicy> - </snapshots> - <id>internetarchive</id> - <name>Internet Archive Maven Repository</name> - <url>http://builds.archive.org:8080/maven2</url> - <layout>default</layout> - </repository> - </repositories> - <dependencies> <dependency> - <groupId>org.archive.wayback</groupId> + <groupId>${project.groupId}</groupId> <artifactId>wayback-core</artifactId> - <version>1.6.0</version> </dependency> </dependencies> - <build> <plugins> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2010-12-09 22:58:06 UTC (rev 3354) +++ trunk/archive-access/projects/wayback/pom.xml 2010-12-30 19:54:31 UTC (rev 3355) @@ -1,28 +1,27 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - POM reference: http://maven.apache.org/pom.html +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> - List of the better articles on maven: + <groupId>org.archive.wayback</groupId> + <artifactId>parent</artifactId> + <packaging>pom</packaging> + <version>1.6.0</version> + <name>Wayback</name> - http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html - http://www.javaworld.com/javaworld/jw-02-2006/jw-0227-maven_p.html + <modules> + <module>wayback-core</module> + <module>wayback-webapp</module> + <module>wayback-hadoop-java</module> + <module>wayback-hadoop</module> + <module>dist</module> + </modules> - URLs on converting from 1.0 to 2.0 maven (not much good generally): - - http://wiki.osafoundation.org/bin/view/Journal/Maven2Upgrade - http://maven.apache.org/guides/mini/guide-m1-m2.html - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.archive</groupId> - <artifactId>wayback</artifactId> <properties> - <globalVersion>1.6.0</globalVersion> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <website.url>http://archive-access.sourceforge.net/</website.url> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> - <version>1.6.0</version> - <packaging>pom</packaging> - <name>Wayback</name> <description> The wayback project is an open source implementation of the @@ -34,8 +33,8 @@ <licenses> <license> - <name>GNU LESSER GENERAL PUBLIC LICENSE</name> - <url>http://www.gnu.org/licenses/lgpl.txt</url> + <name>Apache License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> <distribution>repo</distribution> </license> </licenses> @@ -86,24 +85,12 @@ <repositories> <repository> - <releases> - <enabled>true</enabled> - <updatePolicy>daily</updatePolicy> - <checksumPolicy>warn</checksumPolicy> - </releases> - <snapshots> - <enabled>true</enabled> - <updatePolicy>daily</updatePolicy> - <checksumPolicy>fail</checksumPolicy> - </snapshots> + <id>internetarchive</id> <name>Internet Archive Maven Repository</name> <url>http://builds.archive.org:8080/maven2</url> <layout>default</layout> - </repository> -<!-- - <repository> <releases> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> @@ -114,18 +101,17 @@ <updatePolicy>daily</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> - <id>dspace</id> - <name>DSpace Maven Repository</name> - <url>http://maven.dspace.org/</url> - <layout>default</layout> </repository> - --> - - </repositories> <pluginRepositories> <pluginRepository> + + <id>archive</id> + <name>archive.org</name> + <url>http://builds.archive.org:8080/maven2</url> + <layout>default</layout> + <releases> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> @@ -136,10 +122,6 @@ <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> - <id>archive</id> - <name>archive.org</name> - <url>http://builds.archive.org:8080/maven2</url> - <layout>default</layout> </pluginRepository> </pluginRepositories> @@ -149,47 +131,34 @@ </connection> <tag>HEAD</tag> <url> - https://archive-access.svn.sourceforge.net/svnroot/archive-access/trunk/archive-access/projects/ + http://archive-access.svn.sourceforge.net/viewvc/archive-access/trunk/archive-access/projects/ </url> </scm> <prerequisites> - <maven>2.0.9</maven> + <maven>2.1</maven> </prerequisites> - <dependencyManagement> - <!--Dependeny management is not same as dependencies (ugh)--> - <dependencies> - <dependency> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback-core</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback-hadoop-java</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback-hadoop</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback-webapp</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - </dependencyManagement> - <modules> - <module>wayback-core</module> - <module>wayback-webapp</module> - <module>wayback-hadoop-java</module> - <module>wayback-hadoop</module> - <module>dist</module> - </modules> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.5</source> + <target>1.5</target> + </configuration> + </plugin> + <plugin> + <groupId>org.mortbay.jetty</groupId> + <artifactId>maven-jetty-plugin</artifactId> + <version>6.1.22</version> + </plugin> + </plugins> + </pluginManagement> + </build> <distributionManagement> <repository> @@ -223,12 +192,14 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> - <aggregate>true</aggregate> + <code>javadoc:aggregate</code> + <code>javadoc:test-aggregate</code> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> + <version>2.1</version> <reportSets> <reportSet> <reports> @@ -246,4 +217,92 @@ </plugins> </reporting> +<!-- + Finally, the dependencyManagement - all version coordinates for all + dependencies should be specified here, allowing child modules to specify + only groupId and artifactId coordinates. +--> + + <dependencyManagement> + <dependencies> + + <!-- + Link all Wayback child module version dependencies to the parent POM + version. + --> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>wayback-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>wayback-hadoop-java</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>wayback-hadoop</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>wayback-webapp</artifactId> + <version>${project.version}</version> + </dependency> + + + + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-servlet_2.5_spec</artifactId> + <version>1.2</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.archive.heritrix</groupId> + <artifactId>heritrix-commons</artifactId> + <version>3.1.1-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.archive.access-control</groupId> + <artifactId>access-control</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.mozilla</groupId> + <artifactId>juniversalchardet</artifactId> + <version>1.0.3</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-core</artifactId> + <version>2.5.1</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-beans</artifactId> + <version>2.5.1</version> + </dependency> + <dependency> + <groupId>org.beanshell</groupId> + <artifactId>bsh</artifactId> + <version>2.0b4</version> + </dependency> + <dependency> + <groupId>org.htmlparser</groupId> + <artifactId>htmlparser</artifactId> + <version>1.6</version> + </dependency> + <dependency> + <groupId>com.flagstone</groupId> + <artifactId>transform</artifactId> + <version>3.0.1-SNAPSHOT</version> + </dependency> + + </dependencies> + </dependencyManagement> + + + </project> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-12-09 22:58:06 UTC (rev 3354) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-12-30 19:54:31 UTC (rev 3355) @@ -1,40 +1,24 @@ -<?xml version="1.0"?> -<!-- - POM reference: http://maven.apache.org/pom.html +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> - List of the better articles on maven: - - http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html - http://www.javaworld.com/javaworld/jw-02-2006/jw-0227-maven_p.html - - URLs on converting from 1.0 to 2.0 maven (not much good generally): - - http://wiki.osafoundation.org/bin/view/Journal/Maven2Upgrade - http://maven.apache.org/guides/mini/guide-m1-m2.html - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> + <parent> - <groupId>org.archive</groupId> - <artifactId>wayback</artifactId> + <artifactId>parent</artifactId> + <groupId>org.archive.wayback</groupId> <version>1.6.0</version> </parent> - <groupId>org.archive.wayback</groupId> + <artifactId>wayback-core</artifactId> - <name>Wayback Core Classes</name> + <name>Wayback Core Java Classes</name> <packaging>jar</packaging> +<!-- <build> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.5</source> - <target>1.5</target> - </configuration> - </plugin> - <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> @@ -47,13 +31,13 @@ </plugin> </plugins> </build> +--> <dependencies> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-servlet_2.5_spec</artifactId> + <version>1.2</version> <scope>provided</scope> </dependency> <dependency> Modified: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-12-09 22:58:06 UTC (rev 3354) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-12-30 19:54:31 UTC (rev 3355) @@ -1,15 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?><project> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + <parent> - <artifactId>wayback</artifactId> - <groupId>org.archive</groupId> + <artifactId>parent</artifactId> + <groupId>org.archive.wayback</groupId> <version>1.6.0</version> </parent> - <modelVersion>4.0.0</modelVersion> - <groupId>org.archive.wayback</groupId> + <artifactId>wayback-hadoop</artifactId> <name>Wayback Hadoop Jar Packaging</name> - <version>1.6.0</version> - <url>http://maven.apache.org</url> <packaging>pom</packaging> <dependencies> Modified: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-12-09 22:58:06 UTC (rev 3354) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-12-30 19:54:31 UTC (rev 3355) @@ -1,16 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + <parent> - <artifactId>wayback</artifactId> - <groupId>org.archive</groupId> + <artifactId>parent</artifactId> + <groupId>org.archive.wayback</groupId> <version>1.6.0</version> </parent> - <modelVersion>4.0.0</modelVersion> - <groupId>org.archive.wayback</groupId> + <artifactId>wayback-hadoop-java</artifactId> <name>Wayback Hadoop Java Code</name> - <version>1.6.0</version> - <url>http://maven.apache.org</url> <packaging>jar</packaging> <dependencies> @@ -40,6 +42,7 @@ <version>1.6.0</version> </dependency> </dependencies> + <!-- <build> <plugins> <plugin> @@ -52,4 +55,5 @@ </plugin> </plugins> </build> + --> </project> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2010-12-09 22:58:06 UTC (rev 3354) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2010-12-30 19:54:31 UTC (rev 3355) @@ -1,15 +1,18 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 + http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> - <artifactId>wayback</artifactId> - <groupId>org.archive</groupId> + <artifactId>parent</artifactId> + <groupId>org.archive.wayback</groupId> <version>1.6.0</version> </parent> - <modelVersion>4.0.0</modelVersion> - <groupId>org.archive.wayback</groupId> + <artifactId>wayback-webapp</artifactId> + <name>Wayback Web Application</name> <packaging>war</packaging> - <name>Wayback Web Application</name> <build> <finalName>wayback-${project.version}</finalName> @@ -26,7 +29,9 @@ <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> + <!-- <version>6.1.22</version> + --> </plugin> </plugins> </build> @@ -34,7 +39,7 @@ <dependencies> <dependency> - <groupId>org.archive.wayback</groupId> + <groupId>${project.groupId}</groupId> <artifactId>wayback-core</artifactId> <scope>compile</scope> </dependency> @@ -44,6 +49,7 @@ <version>5.5.15</version> <scope>provided</scope> </dependency> + <!-- <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> @@ -55,6 +61,7 @@ <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> + --> <dependency> <groupId>org.dspace</groupId> <artifactId>foresite</artifactId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-12-31 00:20:22
|
Revision: 3358 http://archive-access.svn.sourceforge.net/archive-access/?rev=3358&view=rev Author: bradtofel Date: 2010-12-31 00:20:16 +0000 (Fri, 31 Dec 2010) Log Message: ----------- checkpoint prior to site move Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2010-12-31 00:19:34 UTC (rev 3357) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2010-12-31 00:20:16 UTC (rev 3358) @@ -33,7 +33,7 @@ <descriptors> <descriptor>src/main/assembly/distribution.xml</descriptor> </descriptors> - <finalName>${project.artifactId}</finalName> + <finalName>wayback-${project.version}</finalName> </configuration> <executions> <execution> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2010-12-31 00:19:34 UTC (rev 3357) +++ trunk/archive-access/projects/wayback/pom.xml 2010-12-31 00:20:16 UTC (rev 3358) @@ -171,7 +171,7 @@ <id>website</id> <name>Website</name> <!--Pass as command-line system property to maven--> - <url>${website.url}/projects/${project.artifactId}</url> + <url>${website.url}/projects/wayback/</url> </site> </distributionManagement> @@ -257,7 +257,7 @@ <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_2.5_spec</artifactId> <version>1.2</version> - <scope>provided</scope> + </dependency> <dependency> <groupId>org.archive.heritrix</groupId> @@ -299,6 +299,34 @@ <artifactId>transform</artifactId> <version>3.0.1-SNAPSHOT</version> </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> +<!-- + <scope>test</scope> +--> + </dependency> + <dependency> + <artifactId>hadoop-core</artifactId> + <groupId>org.apache.hadoop</groupId> + <version>0.20.2</version> + </dependency> + + + <!-- + org.dspace-foresite doesn't seem to be in any pulic repository, + so a custom built version is on builds.archive.org, with SNAPSHOT + version.. + TODO: fix this.. + --> + <dependency> + <groupId>org.dspace</groupId> + <artifactId>foresite</artifactId> + <version>SNAPSHOT</version> + </dependency> + + </dependencies> </dependencyManagement> Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-12-31 00:19:34 UTC (rev 3357) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2010-12-31 00:20:16 UTC (rev 3358) @@ -15,40 +15,30 @@ <name>Wayback Core Java Classes</name> <packaging>jar</packaging> + + <dependencies> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> <!-- - <build> - <plugins> - <plugin> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifest> - <mainClass>org.archive.wayback.Wayback</mainClass> - <addClasspath>true</addClasspath> - </manifest> - </archive> - </configuration> - </plugin> - </plugins> - </build> + <version>3.8.1</version> --> + <scope>test</scope> + </dependency> - <dependencies> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_2.5_spec</artifactId> - <version>1.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.archive.heritrix</groupId> <artifactId>heritrix-commons</artifactId> - <version>3.1.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.archive.access-control</groupId> <artifactId>access-control</artifactId> - <version>0.0.1-SNAPSHOT</version> <exclusions> <exclusion> <groupId>commons-pool</groupId> @@ -63,32 +53,26 @@ <dependency> <groupId>org.mozilla</groupId> <artifactId>juniversalchardet</artifactId> - <version>1.0.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> - <version>2.5.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> - <version>2.5.1</version> </dependency> <dependency> <groupId>org.beanshell</groupId> <artifactId>bsh</artifactId> - <version>2.0b4</version> </dependency> <dependency> <groupId>org.htmlparser</groupId> <artifactId>htmlparser</artifactId> - <version>1.6</version> </dependency> <dependency> <groupId>com.flagstone</groupId> <artifactId>transform</artifactId> - <version>3.0.1-SNAPSHOT</version> </dependency> </dependencies> Modified: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-12-31 00:19:34 UTC (rev 3357) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2010-12-31 00:20:16 UTC (rev 3358) @@ -17,16 +17,8 @@ <dependencies> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.archive.wayback</groupId> + <groupId>${project.groupId}</groupId> <artifactId>wayback-hadoop-java</artifactId> - <version>1.6.0</version> - <scope>compile</scope> </dependency> </dependencies> Modified: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-12-31 00:19:34 UTC (rev 3357) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2010-12-31 00:20:16 UTC (rev 3358) @@ -19,15 +19,20 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>3.8.1</version> <scope>test</scope> +<!-- + <version>3.8.1</version> +--> </dependency> <dependency> - <artifactId>hadoop-core</artifactId> + <groupId>${project.groupId}</groupId> + <artifactId>wayback-core</artifactId> + </dependency> + + <dependency> <groupId>org.apache.hadoop</groupId> - <version>0.20.2</version> - <scope>compile</scope> + <artifactId>hadoop-core</artifactId> <exclusions> <exclusion> <groupId>commons-httpclient</groupId> @@ -35,25 +40,5 @@ </exclusion> </exclusions> </dependency> - <dependency> - <groupId>org.archive.wayback</groupId> - <artifactId>wayback-core</artifactId> - <scope>compile</scope> - <version>1.6.0</version> - </dependency> </dependencies> - <!-- - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.5</source> - <target>1.5</target> - </configuration> - </plugin> - </plugins> - </build> - --> </project> \ No newline at end of file Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2010-12-31 00:19:34 UTC (rev 3357) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2010-12-31 00:20:16 UTC (rev 3358) @@ -29,9 +29,6 @@ <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> - <!-- - <version>6.1.22</version> - --> </plugin> </plugins> </build> @@ -41,31 +38,17 @@ <dependency> <groupId>${project.groupId}</groupId> <artifactId>wayback-core</artifactId> - <scope>compile</scope> </dependency> <dependency> - <groupId>tomcat</groupId> - <artifactId>servlet-api</artifactId> - <version>5.5.15</version> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-servlet_2.5_spec</artifactId> +<!-- <scope>provided</scope> +--> </dependency> - <!-- <dependency> - <groupId>javax.servlet</groupId> - <artifactId>jstl</artifactId> - <version>1.0</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>taglibs</groupId> - <artifactId>standard</artifactId> - <version>1.1.2</version> - </dependency> - --> - <dependency> <groupId>org.dspace</groupId> <artifactId>foresite</artifactId> - <version>SNAPSHOT</version> </dependency> </dependencies> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bra...@us...> - 2010-12-31 01:05:51
|
Revision: 3360 http://archive-access.svn.sourceforge.net/archive-access/?rev=3360&view=rev Author: bradtofel Date: 2010-12-31 01:05:43 +0000 (Fri, 31 Dec 2010) Log Message: ----------- MOVED: dist/src/site/ to src/site/. POM: updated arctifactId of parent pom to make urls and names come out right again Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Added Paths: ----------- trunk/archive-access/projects/wayback/src/site/ trunk/archive-access/projects/wayback/src/site/site.xml trunk/archive-access/projects/wayback/src/site/xdoc/administrator_manual.xml trunk/archive-access/projects/wayback/src/site/xdoc/downloads.xml trunk/archive-access/projects/wayback/src/site/xdoc/hadoop.xml trunk/archive-access/projects/wayback/src/site/xdoc/index.xml trunk/archive-access/projects/wayback/src/site/xdoc/release_notes.xml Removed Paths: ------------- trunk/archive-access/projects/wayback/dist/src/site/apt/ trunk/archive-access/projects/wayback/dist/src/site/articles/ trunk/archive-access/projects/wayback/dist/src/site/fml/ trunk/archive-access/projects/wayback/dist/src/site/resources/ trunk/archive-access/projects/wayback/dist/src/site/site.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/access_point_naming.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/administrator_manual.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/downloads.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/hadoop.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/index.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/release_notes.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/requirements.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/resource_index.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/resource_store.xml trunk/archive-access/projects/wayback/dist/src/site/xdoc/user_manual.xml trunk/archive-access/projects/wayback/src/site/site.xml trunk/archive-access/projects/wayback/src/site/xdoc/administrator_manual.xml trunk/archive-access/projects/wayback/src/site/xdoc/downloads.xml trunk/archive-access/projects/wayback/src/site/xdoc/hadoop.xml trunk/archive-access/projects/wayback/src/site/xdoc/index.xml trunk/archive-access/projects/wayback/src/site/xdoc/navigation.xml trunk/archive-access/projects/wayback/src/site/xdoc/release_notes.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2010-12-31 00:22:07 UTC (rev 3359) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2010-12-31 01:05:43 UTC (rev 3360) @@ -5,7 +5,7 @@ <modelVersion>4.0.0</modelVersion> <parent> - <artifactId>parent</artifactId> + <artifactId>wayback</artifactId> <groupId>org.archive.wayback</groupId> <version>1.6.0</version> </parent> @@ -33,7 +33,7 @@ <descriptors> <descriptor>src/main/assembly/distribution.xml</descriptor> </descriptors> - <finalName>wayback-${project.version}</finalName> + <finalName>wayback</finalName> </configuration> <executions> <execution> @@ -45,15 +45,6 @@ </executions> </plugin> - <plugin> - <artifactId>maven-site-plugin</artifactId> - <version>2.1</version> - <configuration> - <inputencoding>utf-8</inputencoding> - <outputencoding>utf-8</outputencoding> - </configuration> - </plugin> - </plugins> </build> Deleted: trunk/archive-access/projects/wayback/dist/src/site/site.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/src/site/site.xml 2010-12-31 00:22:07 UTC (rev 3359) +++ trunk/archive-access/projects/wayback/dist/src/site/site.xml 2010-12-31 01:05:43 UTC (rev 3360) @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name="Wayback"> - <bannerLeft> - <name>Wayback</name> - <src>images/ia_logo.gif</src> - <href>http://archive-access.sourceforge.net/projects/wayback/</href> - </bannerLeft> - <bannerRight> - <name>Wayback</name> - </bannerRight> - <body> - - <links> - <item name="Sourceforge" href="http://www.sourceforge.net"/> - <item name="Heritrix" href="http://crawler.archive.org"/> - <item name="NutchWAX" href="http://archive-access.sourceforge.net/projects/nutchwax/"/> - <item name="Archive Access" href="http://archive-access.sourceforge.net"/> - <item name="Internet Archive" href="http://www.archive.org"/> - <item name="Home" href="index.html"/> - </links> - - <menu name="Overview"> - <item name="Requirements" href="requirements.html"/> - <item name="Downloads" href="downloads.html"/> - <item name="Administrator Manual" href="administrator_manual.html"/> - <item name="Hadoop CDX Generation" href="hadoop.html"/> - <item name="Release Notes" href="release_notes.html"/> - <item name="FAQ" href="/faq.html"/> - <item name="API" href="./apidocs"/> - <item name="Browse/Submit a Bug" - href="https://webarchive.jira.com/browse/ACC/component/10031"/> - </menu> - - <menu ref="reports"/> - - </body> -</project> Deleted: trunk/archive-access/projects/wayback/dist/src/site/xdoc/access_point_naming.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/src/site/xdoc/access_point_naming.xml 2010-12-31 00:22:07 UTC (rev 3359) +++ trunk/archive-access/projects/wayback/dist/src/site/xdoc/access_point_naming.xml 2010-12-31 01:05:43 UTC (rev 3360) @@ -1,287 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<document> - <properties> - <title>Access Point Naming</title> - <author email="brad at archive dot org">Brad Tofel</author> - <revision>$$Id$$</revision> - </properties> - - <body> - - - - <section name="Overview"> - <p> - Tomcat (or other servlet containers) are configured to listen on one or - more ports, so each request received on one of those ports is targeted - to a particular webapp based on the name of the .war file deployed under - the <b>webapps/</b> directory. The targeted webapp is determined based on - the first directory in incoming requests. - </p> - <p> - If there are two webapps deployed under the <b>webapps/</b> directory, - called <b>webappA.war</b> and <b>webappB.war</b>, then an incoming - request <b>/webappA/file1</b> will be received by the webapp inside - <b>webappA.war</b> as the request <b>/file1</b>. An incoming request - for <b>webappB/images/foo.gif</b> will be received by the webapp inside - <b>webappB.war</b> as <b>/images/foo.gif</b>. - </p> - <p> - Tomcat (and other servlet containers) allow a special .war file to be - deployed under the <b>webapps/</b> directory called <b>ROOT.war</b> - which will receive requests not matching another webapp. If the above - example also included a webapp deployed under the <b>webapps/</b> - directory named <b>ROOT.war</b>, then requests starting with <b>webappA/</b> - will be received by <b>webappA.war</b>, requests starting with <b>webappB/</b> - will be received by <b>webappB.war</b>, and all other requests will be - receieved by the <b>ROOT.war</b> webapp. - </p> - <p> - If possible, deploying your webapp as <b>ROOT.war</b> will result in - somewhat cleaner public URLs, but this is not a requirement. The - examples below all include alternate URL configuration prefixes depending - on whether you deploy the Wayback .war file as either <b>ROOT.war</b> or - <b>wayback.war</b>. - </p> - <subsection name="AccessPoint Names"> - <p> - Each AccessPoint Spring XML bean definition must include a <b>name</b> - property: - <br></br> - <code> - -<bean name="8080:wayback" class="org.archive.wayback.webapp.AccessPoint"> - ... -</bean> - - </code> - <br></br> - The <b>name</b> property indicates how requests <b>that are received - by the Wayback webapp</b> are routed to the appropriate AccessPoint. - Wayback allows targeting AccessPoints based on: - <ul> - <li>hostname</li> - <li>port</li> - <li>first path <b>after</b> the optional webapp deployment name - (which is empty if you deploy your Wayback webapp as - <b>ROOT.war</b>)</li> - </ul> - using the AccessPoint bean <b>name</b> field composed of <b>hostname</b>:<b>port</b>:<b>first_path</b>. - </p> - <p> - If you have configured DNS to resolve multiple hostnames to the same - computer, you can use the <b>hostname:</b> to control AccessPoint - resolving based on virtual hosts. - </p> - <p> - Port is the only required configuration component within the - AccessPoint <b>name</b> configuration. If you have multiple Tomcat - <b>Connector</b>s you can alter this AccessPoint name configuration to - target specific AccessPoints, otherwise, all your AccessPoint names - will have the same port, likely one of 8080, or 80. - </p> - <p> - A more commonly useful AccessPoint name resolving component is the - <b>first-path</b>, which allows you to easily expose multiple - collections within a single Wayback webapp deployment, without varying - hostnames, or ports (which often require network or system - administrator assistance). - </p> - </subsection> - <subsection name="Example AccessPoint names and URLs"> - <p> - The following table shows how urls will map to particular AccessPoints - assuming you have deployed the Wayback webapp as <b>ROOT.war</b>, on - a host with the name "access.example.org", using port 8080. - <table> - <tr> - <th>Access Point bean name</th> - <th>Archival URL prefix</th> - <th>Archival URL query example for <b>http://archive.org</b></th> - </tr> - <tr> - <td>8080:collectionA</td> - <td>http://access.example.org:8080/collectionA/</td> - <td>http://access.example.org:8080/collectionA/*/http://archive.org/</td> - </tr> - <tr> - <td>8080:collectionB</td> - <td>http://access.example.org:8080/collectionB/</td> - <td>http://access.example.org:8080/collectionB/*/http://archive.org/</td> - </tr> - </table> - </p> - <p> - If you deployed your Wayback webapp with the name <b>wayback.war</b> - the following table shows how urls will map to particular - AccessPoints, on a host with the name "access.example.org", using port - 8080. - <table> - <tr> - <th>Access Point bean name</th> - <th>Archival URL prefix</th> - <th>Archival URL query example for <b>http://archive.org</b></th> - </tr> - <tr> - <td>8080:collectionA</td> - <td>http://access.example.org:8080/wayback/collectionA/</td> - <td>http://access.example.org:8080/wayback/collectionA/*/http://archive.org/</td> - </tr> - <tr> - <td>8080:collectionB</td> - <td>http://access.example.org:8080/wayback/collectionB/</td> - <td>http://access.example.org:8080/wayback/collectionB/*/http://archive.org/</td> - </tr> - </table> - </p> - <p> - If you have configured multiple <b>Connector</b>s for your Tomcat - server, listening on both port <b>80</b>, and port <b>8080</b>, and - you deploy <b>ROOT.war</b> you can target different AccessPoints by - port, as shown below. These examples assume your servers hostname is - still "access.example.org". - <table> - <tr> - <th>Access Point bean name</th> - <th>Archival URL prefix</th> - <th>Archival URL query example for <b>http://archive.org</b></th> - </tr> - <tr> - <td>80:collectionA</td> - <td>http://access.example.org/collectionA/</td> - <td>http://access.example.org/collectionA/*/http://archive.org/</td> - </tr> - <tr> - <td>8080:collectionB</td> - <td>http://access.example.org:8080/collectionB/</td> - <td>http://access.example.org:8080/collectionB/*/http://archive.org/</td> - </tr> - <tr> - <td>80:collectionC</td> - <td>http://access.example.org/collectionC/</td> - <td>http://access.example.org/collectionC/*/http://archive.org/</td> - </tr> - </table> - </p> - <p> - If you have a very limited number of AccessPoints to expose, you can - do away with the <b>first-path</b> component, to achieve potentially - very uncluttered Archival URLs. Assuming multiple <b>Connector</b>s - for your Tomcat server, listening on both port <b>80</b>, and port - <b>8080</b>, and you deploy <b>ROOT.war</b> you can target different - AccessPoints by port alone, as shown below. These examples still - assume your servers hostname is "access.example.org". - <table> - <tr> - <th>Access Point bean name</th> - <th>Archival URL prefix</th> - <th>Archival URL query example for <b>http://archive.org</b></th> - </tr> - <tr> - <td>80</td> - <td>http://access.example.org/</td> - <td>http://access.example.org/*/http://archive.org/</td> - </tr> - <tr> - <td>8080</td> - <td>http://access.example.org:8080/</td> - <td>http://access.example.org:8080/*/http://archive.org/</td> - </tr> - </table> - </p> - <p> - Getting somewhat fancy, you can use virtual hosts, doing away with - non-standard ports, and use hostnames alone to specify AccessPoints. - This means getting your Tomcat to listen on port <b>80</b>, and - deploying the webapp as <b>ROOT.war</b>. You'd have to configure your - DNS so both "collection1.example.org" and "collection2.example.org" - point to the host running Wayback: - <table> - <tr> - <th>Access Point bean name</th> - <th>Archival URL prefix</th> - <th>Archival URL query example for <b>http://archive.org</b></th> - </tr> - <tr> - <td>collection1.example.org:80</td> - <td>http://collection1.example.org/</td> - <td>http://collection1.example.org/*/http://archive.org/</td> - </tr> - <tr> - <td>collection2.example.org:80</td> - <td>http://collection2.example.org/</td> - <td>http://collection2.example.org/*/http://archive.org/</td> - </tr> - </table> - </p> - </subsection> - <subsection name="Getting really fancy"> - - <p> - Assuming you've deployed your webapp as <b>ROOT.war</b> and have Tomcat - listening on both port 80 and 8080, with the hostnames - "collection1.example.org" and "collection2.example.org" both - pointing to the host running wayback: - <table> - <tr> - <th>Access Point bean name</th> - <th>Archival URL prefix</th> - <th>Archival URL query example for <b>http://archive.org</b></th> - </tr> - <tr> - <td>collection1.example.org:80</td> - <td>http://collection1.example.org/</td> - <td>http://collection1.example.org/*/http://archive.org/</td> - </tr> - <tr> - <td>collection1.example.org:8080:subset1</td> - <td>http://collection1.example.org:8080/subset1/</td> - <td>http://collection1.example.org:8080/subset1/*/http://archive.org/</td> - </tr> - <tr> - <td>collection1.example.org:8080:subset2</td> - <td>http://collection1.example.org:8080/subset2/</td> - <td>http://collection1.example.org:8080/subset2/*/http://archive.org/</td> - </tr> - <tr> - <td>collection2.example.org:8080</td> - <td>http://collection1.example.org:8080/</td> - <td>http://collection1.example.org:8080/*/http://archive.org/</td> - </tr> - <tr> - <td>collection2.example.org:80:internal</td> - <td>http://collection2.example.org/internal/</td> - <td>http://collection2.example.org/internal/*/http://archive.org/</td> - </tr> - <tr> - <td>collection2.example.org:80:public</td> - <td>http://collection2.example.org/public/</td> - <td>http://collection2.example.org/public/*/http://archive.org/</td> - </tr> - </table> - </p> - </subsection> -<!-- - <subsection name="ArchivalURL Server-Relative URL rewriting"> - <p> - As hard as we've tried to make Server-side rewrite "do the right - thing" in ArchivalURL Replay mode, sometimes things don't work out - right. For example, if a page, <b>http://example.net/news/a.html</b> - contains some Javascript, that generates the following HTML with a - <b>document.write()</b> call: - <br></br> - <code> - -<img src="/foo.gif"></img> - </code> - <br></br> - And you were running an AccessPoint at <b>http://archive.org/web/</b>, - the then page would be expecting that URL to resolve as - <b>http://example.net/foo.gif</b>, but in fact, the page being - displayed as - </p> - <subsection> ---> - </section> - </body> -</document> \ No newline at end of file Deleted: trunk/archive-access/projects/wayback/dist/src/site/xdoc/administrator_manual.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/src/site/xdoc/administrator_manual.xml 2010-12-31 00:22:07 UTC (rev 3359) +++ trunk/archive-access/projects/wayback/dist/src/site/xdoc/administrator_manual.xml 2010-12-31 01:05:43 UTC (rev 3360) @@ -1,1243 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<document> - <properties> - <title>Administrators Manual</title> - <author email="brad at archive dot org">Brad Tofel</author> - <revision>$$Id$$</revision> - </properties> - - <body> - - - - <section name="Requirements"> - - <subsection name="Third Party Packages"> - <p> - Please see the - <a href="requirements.html"> - System Requirements - </a> - . - </p> - </subsection> - - - <subsection name="Wayback Software"> - <p> - Please see the - <a href="downloads.html"> - Software Downloads page - </a> - . - </p> - </subsection> - - - </section> - - - - <section name="Installing"> - - - <subsection name="Installing Tomcat"> - <p> - Please refer to the README file included with your Tomcat distribution. - </p> - </subsection> - - - <subsection name="Installing Wayback"> - <p> - Once you have downloaded the .tar.gz file from - sourceforge, you will need to unpack the file to access the - webapp file, <b>wayback-webapp-1.6.0.war</b>. - </p> - <p> - Installation and configuration of this software involves the - following steps: - <ol> - <li> - Placing .war file in appropriate location. - </li> - <li> - Waiting for Tomcat to unpack the .war file. - </li> - <li> - Customizing base wayback.xml and possibly other XML configuration files. - </li> - <li> - Restarting tomcat. - </li> - </ol> - </p> - </subsection> - </section> - - - - <section name="Wayback Configuration Overview"> - <p> - The wayback software provides Query and Replay access to archived - documents. Query access allows users to locate particular documents - within the collection by URL and date. Replay access allows users to - view archived pages within their web browsers. Some Replay modes - require altering the original pages and resources, so embedded and - referenced content is also loaded from the Wayback service, and not - from the live web. - </p> - <p> - A WaybackCollection defines a set of archived documents and an index - which allows documents to be quickly located within the collection. A - WaybackCollection may be exposed to end users through one or more - AccessPoints, which define: - <ul> - <li>the WaybackCollection itself</li> - <li>the URL where users can access the collection</li> - <li>how query results are presented to users (the Query UI)</li> - <li>how documents are returned to users so they appear correctly in - their web browsers (the Replay UI)</li> - <li>the look and feel of the wayback user interface</li> - <li>who can access the documents in the collection</li> - <li>which documents from the collection are available</li> - </ul> - </p> - <p> - Wayback is configured using - <a href="http://static.springsource.org/spring/docs/2.5.x/reference/beans.html#beans-basics">Spring IOC</a>, - to specify and configure concrete implementations of several basic - modules. Please see the - <a href="http://static.springsource.org/spring/docs/2.5.x/reference/beans.html#beans-basics">Spring website</a> for more information on - configuring beans using Spring XML. - </p> - <subsection name="AccessPoint configuration options"> - <p> - An AccessPoint's configuration must specify the following - implementations: - <ul> - <li><a href="WaybackCollection_Configuration"><b>collection</b></a> - the specific WaybackCollection being exposed via this - AccessPoint. - </li> - <li><a href="Query_UI"><b>query</b></a> responsible for generating - user visible content(HTML, XML, etc) in response to user - Queries.</li> - <li><a href="Replay_Modes"><b>replay</b></a> responsible for - determining the appropriate ReplayRenderer implementation based - on the users request and the particular document to be - Replayed.</li> - <li><b>uriConverter</b> responsible for constructing Replay URLs - from records matching users queries. See Replay Modes below. - </li> - <li><b>parser</b> - responsible for translating incoming requests - into WaybackRequests. See Replay Modes below.</li> - </ul> - </p> - <p> - An AccessPoint's configuration may optionally specify the following, - but must specify at least one of replayPrefix, queryPrefix, or - staticPrefix: - <ul> - <li><a href="Exception_Rendering"><b>exception</b></a> - an - implementation responsible for generating error pages to users - </li> - <li> - <a href="Adding_Additional_Configurations_to_an_AccessPoint"> - <b>configs</b> - </a> - a Properties associating arbitrary key-value pairs which - are accessible to .jsp files responsible for generating the UI - </li> - <li> - <a href="Excluding_Documents_within_an_AccessPoint"> - <b>exclusionFactory</b> - </a> - an implementation specifying what documents should be - accessible within this AccessPoint - </li> - <li> - <a href="Restricting_who_can_interact_with_an_AccessPoint"> - <b>authentication</b> - </a> - an implementation specifying who is allowed to connect to - this AccessPoint - </li> - <li> - <b>replayPrefix</b> - a String URL prefix indicating the host, - port, and path to the correct Replay AccessPoint. If unspecified, - defaults to queryPrefix, then staticPrefix. - </li> - <li> - <b>queryPrefix</b> - a String URL prefix indicating the host, - port, and path to the correct Query AccessPoint. If unspecified, - defaults to staticPrefix, then replayPrefix. - </li> - <li> - <b>staticPrefix</b> - a String URL prefix indicating the host, - port, and path to static content used within the UI. If - unspecified, defaults to queryPrefix, then replayPrefix. - </li> - <li> - <b>livewebPrefix</b> - a String URL prefix indicating the host, - port, and path to an AccessPoint configured with Live Web fetching. - </li> - <li><b>locale</b> - A specific Locale to use for all requests - within this AccessPoint, overriding the users preferred Locale - as specified by their web browser. - </li> - <li> - <b>exactHostMatch</b> - true or false, if true, only returns - results exactly matching a given request hostname (case insensitive). - Default is false. - </li> - <li> - <b>exactSchemeMatch</b> - true of false, if true, only returns - results exactly matching a given request scheme. Default is true. - </li> - </ul> - </p> - <p> - AccessPoints can be used to provide different levels and types of - access to the same collection for different users. For example, you - can provide both Proxy and Archival URL mode access to a single - collection by defining 2 AccessPoints with different Replay User - Interfaces but the same WaybackCollection. Using AccessPoints, you can - also provide different levels of access to a collection. For example, - users within a particular subnet may be able to access all documents - within a collection via one AccessPoint, but users outside that subnet - may be restricted to viewing documents allowed by a web sites current - robots.txt file. - </p> - <p> - Please refer to - <a href="https://archive-access.svn.sourceforge.net/svnroot/archive-access/trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/wayback.xml">wayback.xml</a> - within the wayback .war file for detailed example AccessPoint - configurations. - </p> - </subsection> - <subsection name="WaybackCollection Configuration"> - <p> - A WaybackCollection's configuration must specify the following - implementations: - <ul> - <li><a href="resource_store.html">resourceStore</a> the specific - implementation used to specific set of documents within this - collection, and how to access them for Replay requests.</li> - <li><a href="resource_index.html">resourceIndex</a> the specific - implementation responsible for locating documents within the - collection.</li> - </ul> - </p> - <p> - A WaybackCollection's configuration may optionally specify the - following: - <ul> - <li>shutdownables - an List of one or more beans implementing - org.archive.wayback.Shutdownable needed to maintain this - WaybackCollection, typically Daemon Threads which perform - automatic indexing operations on the resourceStore and the - resourceIndex.</li> - </ul> - </p> - <p> - For more information on WaybackCollection configuration options and - automatic indexing, please refer to the following documentation pages - and to the example Spring .xml configuration files within the wayback - .war: - <ul> - <li><a href="resource_store.html">ResourceStore configuration and - automatic indexing</a></li> - <li><a href="resource_index.html">ResourceIndex configuration</a></li> - <li><a href="https://archive-access.svn.sourceforge.net/svnroot/archive-access/trunk/archive-access/projects/wayback/wayback-webapp/src/main/webapp/WEB-INF/BDBCollection.xml">BDBCollection.xml</a></li> - <li><a href="https://archive-access.svn.sourceforge... [truncated message content] |
From: <bra...@us...> - 2011-01-03 23:34:04
|
Revision: 3374 http://archive-access.svn.sourceforge.net/archive-access/?rev=3374&view=rev Author: bradtofel Date: 2011-01-03 23:33:57 +0000 (Mon, 03 Jan 2011) Log Message: ----------- POST-RELEASE: bumped all versions to 1.7.0 Modified Paths: -------------- trunk/archive-access/projects/wayback/dist/pom.xml trunk/archive-access/projects/wayback/pom.xml trunk/archive-access/projects/wayback/wayback-core/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml trunk/archive-access/projects/wayback/wayback-webapp/pom.xml Modified: trunk/archive-access/projects/wayback/dist/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/dist/pom.xml 2011-01-03 23:29:06 UTC (rev 3373) +++ trunk/archive-access/projects/wayback/dist/pom.xml 2011-01-03 23:33:57 UTC (rev 3374) @@ -7,7 +7,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive.wayback</groupId> - <version>1.6.0</version> + <version>1.7.0</version> </parent> <artifactId>dist</artifactId> Modified: trunk/archive-access/projects/wayback/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/pom.xml 2011-01-03 23:29:06 UTC (rev 3373) +++ trunk/archive-access/projects/wayback/pom.xml 2011-01-03 23:33:57 UTC (rev 3374) @@ -7,7 +7,7 @@ <groupId>org.archive.wayback</groupId> <artifactId>wayback</artifactId> <packaging>pom</packaging> - <version>1.6.0</version> + <version>1.7.0</version> <name>Wayback</name> <modules> Modified: trunk/archive-access/projects/wayback/wayback-core/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/pom.xml 2011-01-03 23:29:06 UTC (rev 3373) +++ trunk/archive-access/projects/wayback/wayback-core/pom.xml 2011-01-03 23:33:57 UTC (rev 3374) @@ -8,7 +8,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive.wayback</groupId> - <version>1.6.0</version> + <version>1.7.0</version> </parent> <artifactId>wayback-core</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2011-01-03 23:29:06 UTC (rev 3373) +++ trunk/archive-access/projects/wayback/wayback-hadoop/pom.xml 2011-01-03 23:33:57 UTC (rev 3374) @@ -8,7 +8,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive.wayback</groupId> - <version>1.6.0</version> + <version>1.7.0</version> </parent> <artifactId>wayback-hadoop</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2011-01-03 23:29:06 UTC (rev 3373) +++ trunk/archive-access/projects/wayback/wayback-hadoop-java/pom.xml 2011-01-03 23:33:57 UTC (rev 3374) @@ -8,7 +8,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive.wayback</groupId> - <version>1.6.0</version> + <version>1.7.0</version> </parent> <artifactId>wayback-hadoop-java</artifactId> Modified: trunk/archive-access/projects/wayback/wayback-webapp/pom.xml =================================================================== --- trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2011-01-03 23:29:06 UTC (rev 3373) +++ trunk/archive-access/projects/wayback/wayback-webapp/pom.xml 2011-01-03 23:33:57 UTC (rev 3374) @@ -7,7 +7,7 @@ <parent> <artifactId>wayback</artifactId> <groupId>org.archive.wayback</groupId> - <version>1.6.0</version> + <version>1.7.0</version> </parent> <artifactId>wayback-webapp</artifactId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |