This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 81820e6c13b200bb5f9a75cd5aac2d6a954aa63c
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Tue Sep 10 10:04:58 2019 +0700

    JAMES-2703 Remove SieveDefaultRepository
---
 .../file/SieveDefaultRepository.java               | 175 ---------------------
 1 file changed, 175 deletions(-)

diff --git 
a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
 
b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
deleted file mode 100644
index 73671ec..0000000
--- 
a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveDefaultRepository.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- *   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.
- *
- */
-
-package org.apache.james.sieverepository.file;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.time.Instant;
-import java.time.ZoneOffset;
-import java.time.ZonedDateTime;
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.james.core.User;
-import org.apache.james.core.quota.QuotaSize;
-import org.apache.james.filesystem.api.FileSystem;
-import org.apache.james.sieverepository.api.ScriptContent;
-import org.apache.james.sieverepository.api.ScriptName;
-import org.apache.james.sieverepository.api.ScriptSummary;
-import org.apache.james.sieverepository.api.SieveRepository;
-import org.apache.james.sieverepository.api.exception.DuplicateException;
-import org.apache.james.sieverepository.api.exception.IsActiveException;
-import org.apache.james.sieverepository.api.exception.QuotaExceededException;
-import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
-import org.apache.james.sieverepository.api.exception.ScriptNotFoundException;
-import org.apache.james.sieverepository.api.exception.StorageException;
-
-/**
- * <code>SieveFileRepository</code> manages sieve scripts stored on the file 
system.
- * <p>The sieve root directory is a sub-directory of the application base 
directory named "sieve".
- * Scripts are stored in sub-directories of the sieve root directory, each 
with the name of the
- * associated user.
- *
- * @deprecated This does not support sieve script management and requires 
dropping manually the filesystem
- *
- * Migration strategy: use SieveFileRepository & CLI to upload scripts
- *
- * JAMES-2703 This class is deprecated and will be removed straight after 
upcoming James 3.4.0 release, unless it finds a maintainer
- */
-@Deprecated
-public class SieveDefaultRepository implements SieveRepository {
-    private FileSystem fileSystem;
-
-    @Inject
-    public void setFileSystem(FileSystem fileSystem) {
-        this.fileSystem = fileSystem;
-    }
-
-    @Override
-    public void haveSpace(User user, ScriptName name, long size) throws 
QuotaExceededException, StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public void putScript(User user, ScriptName name, ScriptContent content) 
throws StorageException, QuotaExceededException {
-        throw new StorageException("This implementation is deprecated and does 
not support script put operation. You must directly position your scripts in 
the .sieve folder. Please consider using a SieveFileRepository.");
-    }
-
-    @Override
-    public List<ScriptSummary> listScripts(User user) throws StorageException {
-        throw new StorageException("This implementation is deprecated and does 
not support listScripts operation. Please consider using a 
SieveFileRepository.");
-    }
-
-    @Override
-    public InputStream getActive(User user) throws ScriptNotFoundException, 
StorageException {
-        try {
-            return new FileInputStream(retrieveUserFile(user));
-        } catch (FileNotFoundException e) {
-            throw new ScriptNotFoundException();
-        }
-    }
-
-    @Override
-    public ZonedDateTime getActivationDateForActiveScript(User user) throws 
StorageException, ScriptNotFoundException {
-        return 
ZonedDateTime.ofInstant(Instant.ofEpochMilli(retrieveUserFile(user).lastModified()),
 ZoneOffset.UTC);
-    }
-
-    public File retrieveUserFile(User user) throws ScriptNotFoundException {
-        // RFC 5228 permits extensions: .siv .sieve
-        String sieveFilePrefix = FileSystem.FILE_PROTOCOL + "sieve/" + 
user.asString() + ".";
-        try {
-            return fileSystem.getFile(sieveFilePrefix + "sieve");
-        } catch (FileNotFoundException e) {
-            try {
-                return fileSystem.getFile(sieveFilePrefix + "siv");
-            } catch (FileNotFoundException fileNotFoundException) {
-                throw new ScriptNotFoundException(fileNotFoundException);
-            }
-        }
-    }
-
-    @Override
-    public void setActive(User user, ScriptName name) throws 
ScriptNotFoundException, StorageException {
-        throw new StorageException("This implementation is deprecated and does 
not support script SetActive operation. Your uploaded script is by default the 
active script. Please consider using a SieveFileRepository.");
-    }
-
-    @Override
-    public InputStream getScript(User user, ScriptName name) throws 
ScriptNotFoundException, StorageException {
-        return getActive(user);
-    }
-
-    @Override
-    public void deleteScript(User user, ScriptName name) throws 
ScriptNotFoundException, IsActiveException, StorageException {
-        throw new StorageException("This implementation is deprecated and does 
not support delete script operation. Please consider using a 
SieveFileRepository.");
-    }
-
-    @Override
-    public void renameScript(User user, ScriptName oldName, ScriptName 
newName) throws ScriptNotFoundException, DuplicateException, StorageException {
-        throw new StorageException("This implementation is deprecated and does 
not support rename script operation. Please consider using a 
SieveFileRepository.");
-    }
-
-    @Override
-    public boolean hasDefaultQuota() throws StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public QuotaSize getDefaultQuota() throws QuotaNotFoundException, 
StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public void setDefaultQuota(QuotaSize quota) throws StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public void removeQuota() throws QuotaNotFoundException, StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public boolean hasQuota(User user) throws StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public QuotaSize getQuota(User user) throws QuotaNotFoundException, 
StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public void setQuota(User user, QuotaSize quota) throws StorageException {
-        throw apologizeForQuotas();
-    }
-
-    @Override
-    public void removeQuota(User user) throws QuotaNotFoundException, 
StorageException {
-        throw apologizeForQuotas();
-    }
-
-    private StorageException apologizeForQuotas() throws StorageException {
-        throw new StorageException("Implementation deprecated. Quota not 
managed by this implementation. Please consider using a SieveFileRepository.");
-    }
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to