Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 1&1 Internet AG, http://www.1and1.org
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU Lesser General Public License as published by
   * the Free Software Foundation; either version 2 of the License,
   * or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  * See the GNU Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package net.sf.beezle.sushi.fs.ssh;
 
 
 import java.net.URI;

Nodes accessible via sftp. Uses Jsch: http://www.jcraft.com/jsch/ See also: http://tools.ietf.org/id/draft-ietf-secsh-filexfer-13.txt
 
 public class SshFilesystem extends Filesystem {
     private Credentials defaultCredentials;
     private int defaultTimeout;
     private final JSch jsch;
 
     public SshFilesystem(World worldString name) {
         super(worldnew Features(truetruetruetruefalsefalse), name);
 
         // initialized lazily
          = null;
          = 0;
          = new JSch();
     }
 
     public void setDefaultCredentials(Credentials defaultCredentials) {
         this. = defaultCredentials;
     }

    

Returns:
never null
 
     public Credentials getDefaultCredentials() throws IOException {
         if ( == null) {
              = Credentials.loadDefault(getWorld());
         }
         return ;
     }

    
millis
 
     public void setDefaultTimeout(int defaultTimeout) {
         this. = defaultTimeout;
     }

    
millis
 
     public int getDefaultTimeout() {
         return ;
     }
 
     public JSch getJSch() {
         return ;
     }
 
     @Override
     public SshNode node(URI uriObject extrathrows NodeInstantiationException {
         Credentials credentials;
 
         if (extra != null) {
             if (extra instanceof Credentials) {
                 credentials = (Credentialsextra;
             } else {
                 throw new NodeInstantiationException(uri"unexpected extra argument: " + extra);
             }
         } else {
             try {
                 credentials = getDefaultCredentials();
             } catch (IOException e) {
                 throw new NodeInstantiationException(uri"cannot load credentials"e);
             }
         }
         checkHierarchical(uri);
         try {
             return root(uri.getAuthority(), credentials).node(getCheckedPath(uri), null);
         } catch (JSchException e) {
             throw new NodeInstantiationException(uri"cannot create root"e);
         } catch (IOException e) {
             throw new NodeInstantiationException(uri"cannot create root"e);
         }
    }
    public SshRoot localhostRoot() throws JSchExceptionIOException {
        return root("localhost"getWorld().getWorking().getName(), getDefaultCredentials());
    }
    public SshRoot root(String rootCredentials credentialsthrows JSchException {
        return root(rootcredentials);
    }
    public SshRoot root(String rootCredentials credentialsint timeoutthrows JSchException {
        int idx;
        String host;
        String user;
        host = root;
        idx = host.indexOf('@');
        if (idx == -1) {
            user = null;
        } else {
            user = host.substring(0, idx);
            host = host.substring(idx + 1);
        }
        return root(hostusercredentialstimeout);
    }
    public SshRoot root(String hostString userthrows JSchExceptionIOException {
        return root(hostusergetDefaultCredentials());
    }
    public SshRoot root(String hostString userCredentials credentialsthrows JSchException {
        return root(hostusercredentials);
    }

    

User:
null to use current user
    public SshRoot root(String hostString userCredentials credentialsint timeoutthrows JSchException {
        if (credentials == null) {
            throw new IllegalArgumentException();
        }
        if (user == null) {
            user = getWorld().getHome().getName();
        }
        return new SshRoot(thishostusercredentialstimeout);
    }
New to GrepCode? Check out our FAQ X