116aada19c3e45891d8f8c75a529e96f5f6cd825echrismair/* 216aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * Copyright 2008 the original author or authors. 316aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * 416aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * Licensed under the Apache License, Version 2.0 (the "License"); 516aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * you may not use this file except in compliance with the License. 616aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * You may obtain a copy of the License at 716aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * 816aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * http://www.apache.org/licenses/LICENSE-2.0 916aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * 1016aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * Unless required by applicable law or agreed to in writing, software 1116aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * distributed under the License is distributed on an "AS IS" BASIS, 1216aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1316aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * See the License for the specific language governing permissions and 1416aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * limitations under the License. 1516aada19c3e45891d8f8c75a529e96f5f6cd825echrismair */ 1616aada19c3e45891d8f8c75a529e96f5f6cd825echrismairpackage org.mockftpserver.fake.filesystem 1716aada19c3e45891d8f8c75a529e96f5f6cd825echrismair 1816aada19c3e45891d8f8c75a529e96f5f6cd825echrismair/** 1916aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * Test-only subclass of UnixFakeFileSystem. Groovy implementation enables access to metaclass. 2016aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * 212a0a3f946dba517a01cc26278f905156857c9c91chrismair * @version $Revision$ - $Date$ 2216aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * 2316aada19c3e45891d8f8c75a529e96f5f6cd825echrismair * @author Chris Mair 2416aada19c3e45891d8f8c75a529e96f5f6cd825echrismair */ 2516aada19c3e45891d8f8c75a529e96f5f6cd825echrismairclass TestUnixFakeFileSystem extends UnixFakeFileSystem { 2616aada19c3e45891d8f8c75a529e96f5f6cd825echrismair 27b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair Throwable addMethodException 28f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair Throwable renameMethodException 29f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair Throwable listNamesMethodException 30ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair Throwable listFilesMethodException 31f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair Throwable deleteMethodException 32b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair 33b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair void add(FileSystemEntry entry) { 34b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair if (addMethodException) { 35b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair throw addMethodException 36b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair } 37b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair super.add(entry) 38b0a7b98e6ec500c6e292d8e5aea47d339e656f72chrismair } 39f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair 40f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair void rename(String fromPath, String toPath) { 41f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair if (renameMethodException) { 42f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair throw renameMethodException 43f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair } 44f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair super.rename(fromPath, toPath) 45f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair } 46f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair 47f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair List listNames(String path) { 48f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair if (listNamesMethodException) { 49f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair throw listNamesMethodException 50f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair } 51f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair super.listNames(path) 52f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair } 53f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair 54ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair List listFiles(String path) { 55ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair if (listFilesMethodException) { 56ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair throw listFilesMethodException 57ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair } 58ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair super.listFiles(path) 59ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair } 60ef13cb2302efe30bdff397e11aae379cbb419b9bchrismair 61f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair boolean delete(String path) { 62f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair if (deleteMethodException) { 63f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair throw deleteMethodException 64f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair } 65f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair super.delete(path) 66f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair } 67f11ac5bf4a82c9be1ccd4933dedf730df3276e01chrismair 6816aada19c3e45891d8f8c75a529e96f5f6cd825echrismair}