pekko-connectors-sample-ftp-to-file/src/main/java/playground/filesystem/JimfsFactory.java [20:71]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public class JimfsFactory implements FileSystemFactory {

    private final Logger LOG = LoggerFactory.getLogger(JimfsFactory.class);

    private FileSystem fileSystem;

    private boolean createHome;

    private boolean caseInsensitive;

    public boolean isCreateHome() {
        return createHome;
    }

    public void setCreateHome(boolean createHome) {
        this.createHome = createHome;
    }

    public boolean isCaseInsensitive() {
        return caseInsensitive;
    }

    public void setCaseInsensitive(boolean caseInsensitive) {
        this.caseInsensitive = caseInsensitive;
    }

    public JimfsFactory(FileSystem fileSystem) {
        this.fileSystem = fileSystem;
    }

    @Override
    public FileSystemView createFileSystemView(User user) throws FtpException {
        synchronized (user) {
            // create home if does not exist
            if (createHome) {
                String homeDirStr = user.getHomeDirectory();
                Path homeDir = fileSystem.getPath(homeDirStr);
                if (Files.isRegularFile(homeDir)) {
                    LOG.warn("Not a directory :: " + homeDirStr);
                    throw new FtpException("Not a directory :: " + homeDirStr);
                }
                if (!Files.exists(homeDir)) {
                    try {
                        Files.createDirectories(homeDir);
                    } catch (IOException t) {
                        final String msg = "Cannot create user home :: " + homeDirStr;
                        LOG.warn(msg);
                        throw new FtpException(msg, t);
                    }
                }
            }
            return new JimfsView(fileSystem, user, caseInsensitive);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



pekko-connectors-sample-rotate-logs-to-ftp/src/main/java/playground/filesystem/JimfsFactory.java [20:71]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public class JimfsFactory implements FileSystemFactory {

  private final Logger LOG = LoggerFactory.getLogger(JimfsFactory.class);

  private FileSystem fileSystem;

  private boolean createHome;

  private boolean caseInsensitive;

  public boolean isCreateHome() {
    return createHome;
  }

  public void setCreateHome(boolean createHome) {
    this.createHome = createHome;
  }

  public boolean isCaseInsensitive() {
    return caseInsensitive;
  }

  public void setCaseInsensitive(boolean caseInsensitive) {
    this.caseInsensitive = caseInsensitive;
  }

  public JimfsFactory(FileSystem fileSystem) {
    this.fileSystem = fileSystem;
  }

  @Override
  public FileSystemView createFileSystemView(User user) throws FtpException {
    synchronized (user) {
      // create home if not exist
      if (createHome) {
        String homeDirStr = user.getHomeDirectory();
        Path homeDir = fileSystem.getPath(homeDirStr);
        if (Files.isRegularFile(homeDir)) {
          LOG.warn("Not a directory :: " + homeDirStr);
          throw new FtpException("Not a directory :: " + homeDirStr);
        }
        if (!Files.exists(homeDir)) {
          try {
            Files.createDirectories(homeDir);
          } catch (IOException t) {
            final String msg = "Cannot create user home :: " + homeDirStr;
            LOG.warn(msg);
            throw new FtpException(msg, t);
          }
        }
      }
      return new JimfsView(fileSystem, user, caseInsensitive);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



