From 6c645d78b17d9e9449cc1bceb0af9de7f89c9213 Mon Sep 17 00:00:00 2001 From: James William Dumay Date: Thu, 29 May 2008 02:51:24 +0000 Subject: [PATCH] MRM-781 - Removal of Archiva-Webdav implementation in favor of Jackrabbit-webdav * Adding a DavSession implementation for Class 2 locking support git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@661189 13f79535-47bb-0310-9956-ffa450edef68 --- .../archiva/webdav/ArchivaDavSession.java | 53 +++++++++++++++ .../archiva/webdav/ArchivaDavSessionTest.java | 66 +++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavSession.java create mode 100644 archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavSessionTest.java diff --git a/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavSession.java b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavSession.java new file mode 100644 index 000000000..95d75805c --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavSession.java @@ -0,0 +1,53 @@ +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 java.util.HashSet; +import org.apache.jackrabbit.webdav.DavSession; + +public class ArchivaDavSession implements DavSession +{ + private final HashSet lockTokens = new HashSet(); + + public void addLockToken(String token) + { + lockTokens.add(token); + } + + public String[] getLockTokens() + { + return (String[]) lockTokens.toArray(new String[lockTokens.size()]); + } + + public void removeLockToken(String token) + { + lockTokens.remove(token); + } + + public void removeReference(Object reference) + { + throw new UnsupportedOperationException("Not supported yet."); + } + + public void addReference(Object reference) + { + throw new UnsupportedOperationException("Not supported yet."); + } +} diff --git a/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavSessionTest.java b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavSessionTest.java new file mode 100644 index 000000000..61348bc24 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/ArchivaDavSessionTest.java @@ -0,0 +1,66 @@ +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 junit.framework.TestCase; + +public class ArchivaDavSessionTest extends TestCase +{ + public void testTokens() + { + ArchivaDavSession session = new ArchivaDavSession(); + final String myToken = "thisisadavtoken"; + + session.addLockToken(myToken); + assertEquals(1, session.getLockTokens().length); + assertEquals(myToken, session.getLockTokens()[0]); + + session.removeLockToken(myToken); + assertEquals(0, session.getLockTokens().length); + } + + public void testAddReferencesThrowsUnsupportedOperationException() + { + ArchivaDavSession session = new ArchivaDavSession(); + try + { + session.addReference(new Object()); + fail("Did not throw UnsupportedOperationException"); + } + catch (UnsupportedOperationException e) + { + assertTrue(true); + } + } + + public void testRemoveReferencesThrowsUnsupportedOperationException() + { + ArchivaDavSession session = new ArchivaDavSession(); + try + { + session.removeReference(new Object()); + fail("Did not throw UnsupportedOperationException"); + } + catch (UnsupportedOperationException e) + { + assertTrue(true); + } + } +} -- 2.39.5