You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jd...@apache.org on 2008/06/04 05:50:03 UTC
svn commit: r662968 - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src:
main/java/org/apache/maven/archiva/webdav/
test/java/org/apache/maven/archiva/webdav/
Author: jdumay
Date: Tue Jun 3 20:50:03 2008
New Revision: 662968
URL: http://svn.apache.org/viewvc?rev=662968&view=rev
Log:
MRM-781 - Removal of Archiva-Webdav implementation in favor of Jackrabbit-webdav
* Reenabled RepositoryServletBrowseTest
* Added Extra DavResourceLocator tests
* Increased Litmus test score to 87.7%
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocator.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocatorTest.java
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=662968&r1=662967&r2=662968&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java Tue Jun 3 20:50:03 2008
@@ -222,7 +222,7 @@
setHeaders( locator, response );
// compatibility with MRM-440 to ensure browsing the repository works ok
- if ( resource.isCollection() && !resource.getLocator().getResourcePath().endsWith( "/" ) )
+ if ( resource.isCollection() && !resource.getLocator().getHref(true).endsWith("/" ) )
{
throw new BrowserRedirectException( resource.getHref() );
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocator.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocator.java?rev=662968&r1=662967&r2=662968&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocator.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocator.java Tue Jun 3 20:50:03 2008
@@ -60,14 +60,14 @@
{
hrefPrefix = hrefPrefix.substring( 0, hrefPrefix.length() - 1 );
}
+
+ href = hrefPrefix + escapedPath;
//Remove trailing slashes otherwise Text.getRelativeParent fails
if (resourcePath.endsWith("/") && resourcePath.length() > 1)
{
this.resourcePath = resourcePath.substring( 0, resourcePath.length() - 1 );
}
-
- href = hrefPrefix + escapedPath;
}
public String getRepositoryId()
@@ -108,7 +108,7 @@
public String getHref( boolean isCollection )
{
// avoid doubled trailing '/' for the root item
- String suffix = ( isCollection && !isRootLocation() ) ? "/" : "";
+ String suffix = ( isCollection && !isRootLocation() && !href.endsWith("/") ) ? "/" : "";
return href + suffix;
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocatorTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocatorTest.java?rev=662968&r1=662967&r2=662968&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocatorTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavResourceLocatorTest.java Tue Jun 3 20:50:03 2008
@@ -35,13 +35,30 @@
super.setUp();
factory = new ArchivaDavLocatorFactory();
}
+
+ public void testAvoidDoubleSlashInHref()
+ throws Exception
+ {
+ String prefix = "http://myproxy/";
+ String href = "/repository/internal/";
+ ArchivaDavResourceLocator locator = getLocator(prefix, href);
+
+ assertEquals("internal", locator.getRepositoryId());
+ assertEquals("", locator.getWorkspaceName());
+ assertEquals("", locator.getWorkspacePath());
+ assertEquals("http://myproxy/", locator.getPrefix());
+ assertEquals("http://myproxy/repository/internal/", locator.getHref(false));
+ assertEquals("http://myproxy/repository/internal/", locator.getHref(true));
+ assertEquals("/repository/internal", locator.getResourcePath());
+ assertEquals("/repository/internal", locator.getRepositoryPath());
+ }
public void testLocatorWithPrefixHref()
throws Exception
{
String prefix = "http://myproxy/";
String href = "/repository/internal";
- ArchivaDavResourceLocator locator = (ArchivaDavResourceLocator)factory.createResourceLocator(prefix, href);
+ ArchivaDavResourceLocator locator = getLocator(prefix, href);
assertEquals("internal", locator.getRepositoryId());
assertEquals("", locator.getWorkspaceName());
@@ -58,7 +75,7 @@
{
String prefix = "http://myproxy/";
String href = "http://myproxy/repository/internal";
- ArchivaDavResourceLocator locator = (ArchivaDavResourceLocator)factory.createResourceLocator(prefix, href);
+ ArchivaDavResourceLocator locator = getLocator(prefix, href);
assertEquals("internal", locator.getRepositoryId());
assertEquals("", locator.getWorkspaceName());
@@ -75,7 +92,7 @@
{
String prefix = "http://myproxy/";
String href = "/";
- ArchivaDavResourceLocator locator = (ArchivaDavResourceLocator)factory.createResourceLocator(prefix, href);
+ ArchivaDavResourceLocator locator = getLocator(prefix, href);
assertEquals("", locator.getRepositoryId());
assertEquals("", locator.getWorkspaceName());
@@ -86,4 +103,9 @@
assertEquals("/", locator.getResourcePath());
assertEquals("/", locator.getRepositoryPath());
}
+
+ private ArchivaDavResourceLocator getLocator( String prefix, String href )
+ {
+ return (ArchivaDavResourceLocator)factory.createResourceLocator(prefix, href);
+ }
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java?rev=662968&r1=662967&r2=662968&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletBrowseTest.java Tue Jun 3 20:50:03 2008
@@ -1,62 +1,62 @@
-//package org.apache.maven.archiva.webdav;
-//
-///*
-// * Licensed to the Apache Software Foundation (ASF) under one
-// * or more contributor license agreements. See the NOTICE file
-// * distributed with this work for additional information
-// * regarding copyright ownership. The ASF 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.
-// */
-//
-//import com.meterware.httpunit.GetMethodWebRequest;
-//import com.meterware.httpunit.WebLink;
-//import com.meterware.httpunit.WebRequest;
-//import com.meterware.httpunit.WebResponse;
-//
-//import java.io.File;
-//
-//import javax.servlet.http.HttpServletResponse;
-//
-///**
-// * RepositoryServletBrowseTest
-// *
-// * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
-// * @version $Id$
-// */
-//public class RepositoryServletBrowseTest
-// extends AbstractRepositoryServletTestCase
-//{
-// public void testBrowse()
-// throws Exception
-// {
-// new File( repoRootInternal, "org/apache/archiva" ).mkdirs();
-// new File( repoRootInternal, "net/sourceforge" ).mkdirs();
-// new File( repoRootInternal, "commons-lang" ).mkdirs();
-//
-// WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" );
-// WebResponse response = sc.getResponse( request );
-// assertEquals( "Response", HttpServletResponse.SC_OK, response.getResponseCode() );
-//
-// // dumpResponse( response );
-//
-// WebLink links[] = response.getLinks();
-// String expectedLinks[] = new String[] { "./commons-lang/", "./net/", "./org/" };
-//
-// assertEquals( "Links.length", expectedLinks.length, links.length );
-// for ( int i = 0; i < links.length; i++ )
-// {
-// assertEquals( "Link[" + i + "]", expectedLinks[i], links[i].getURLString() );
-// }
-// }
-//}
+package org.apache.maven.archiva.webdav;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF 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.
+ */
+
+import com.meterware.httpunit.GetMethodWebRequest;
+import com.meterware.httpunit.WebLink;
+import com.meterware.httpunit.WebRequest;
+import com.meterware.httpunit.WebResponse;
+
+import java.io.File;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * RepositoryServletBrowseTest
+ *
+ * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class RepositoryServletBrowseTest
+ extends AbstractRepositoryServletTestCase
+{
+ public void testBrowse()
+ throws Exception
+ {
+ new File( repoRootInternal, "org/apache/archiva" ).mkdirs();
+ new File( repoRootInternal, "net/sourceforge" ).mkdirs();
+ new File( repoRootInternal, "commons-lang" ).mkdirs();
+
+ WebRequest request = new GetMethodWebRequest( "http://machine.com/repository/internal/" );
+ WebResponse response = sc.getResponse( request );
+ assertEquals( "Response", HttpServletResponse.SC_OK, response.getResponseCode() );
+
+ // dumpResponse( response );
+
+ WebLink links[] = response.getLinks();
+ String expectedLinks[] = new String[] { "./commons-lang/", "./net/", "./org/" };
+
+ assertEquals( "Links.length", expectedLinks.length, links.length );
+ for ( int i = 0; i < links.length; i++ )
+ {
+ assertEquals( "Link[" + i + "]", expectedLinks[i], links[i].getURLString() );
+ }
+ }
+}