extensions/net.sf.basedb.hdfs/trunk/src/net/sf/basedb/hdfs/HdfsConnectionManagerFactory.java

Code
Comments
Other
Rev Date Author Line
1330 01 Apr 11 nicklas 1 /**
1330 01 Apr 11 nicklas 2   $Id$
1330 01 Apr 11 nicklas 3
1330 01 Apr 11 nicklas 4   Copyright (C) 2011 Nicklas Nordborg
1330 01 Apr 11 nicklas 5
1330 01 Apr 11 nicklas 6   This file is part of BASE - BioArray Software Environment.
1330 01 Apr 11 nicklas 7   Available at http://base.thep.lu.se/
1330 01 Apr 11 nicklas 8
1330 01 Apr 11 nicklas 9   BASE is free software; you can redistribute it and/or
1330 01 Apr 11 nicklas 10   modify it under the terms of the GNU General Public License
1330 01 Apr 11 nicklas 11   as published by the Free Software Foundation; either version 3
1330 01 Apr 11 nicklas 12   of the License, or (at your option) any later version.
1330 01 Apr 11 nicklas 13
1330 01 Apr 11 nicklas 14   BASE is distributed in the hope that it will be useful,
1330 01 Apr 11 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
1330 01 Apr 11 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1330 01 Apr 11 nicklas 17   GNU General Public License for more details.
1330 01 Apr 11 nicklas 18
1330 01 Apr 11 nicklas 19   You should have received a copy of the GNU General Public License
1330 01 Apr 11 nicklas 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
1330 01 Apr 11 nicklas 21 */
1330 01 Apr 11 nicklas 22 package net.sf.basedb.hdfs;
1330 01 Apr 11 nicklas 23
1330 01 Apr 11 nicklas 24 import java.net.URI;
1330 01 Apr 11 nicklas 25
1330 01 Apr 11 nicklas 26 import net.sf.basedb.util.uri.ConnectionParameters;
1330 01 Apr 11 nicklas 27 import net.sf.basedb.util.uri.ConnectionManager;
1330 01 Apr 11 nicklas 28 import net.sf.basedb.util.uri.ConnectionManagerFactory;
1330 01 Apr 11 nicklas 29
1330 01 Apr 11 nicklas 30 /**
1330 01 Apr 11 nicklas 31   Direct connection to Hadoop Distributed File System (HDFS). URI:s should
1330 01 Apr 11 nicklas 32   use 'hdfs://' as schema. The host and port of the URI should point to the 
1330 01 Apr 11 nicklas 33   namenode of the Hadoop cluster. The path of the URI is the path of the
1330 01 Apr 11 nicklas 34   file in the HDFS filesystem.
1330 01 Apr 11 nicklas 35   
1330 01 Apr 11 nicklas 36   @author Nicklas
1330 01 Apr 11 nicklas 37   @since 1.0
1330 01 Apr 11 nicklas 38 */
1330 01 Apr 11 nicklas 39 public class HdfsConnectionManagerFactory
1330 01 Apr 11 nicklas 40   implements ConnectionManagerFactory
1330 01 Apr 11 nicklas 41 {
1330 01 Apr 11 nicklas 42
1330 01 Apr 11 nicklas 43   
1330 01 Apr 11 nicklas 44   private String id;
1330 01 Apr 11 nicklas 45   private String name;
1330 01 Apr 11 nicklas 46   private String description;
1330 01 Apr 11 nicklas 47   
1330 01 Apr 11 nicklas 48   public HdfsConnectionManagerFactory()
1330 01 Apr 11 nicklas 49   {}
1330 01 Apr 11 nicklas 50   
1330 01 Apr 11 nicklas 51   /*
1330 01 Apr 11 nicklas 52     From the ConnectionManagerFactory interface
1330 01 Apr 11 nicklas 53     -------------------------------------------
1330 01 Apr 11 nicklas 54   */
1330 01 Apr 11 nicklas 55   @Override
1330 01 Apr 11 nicklas 56   public String getId()
1330 01 Apr 11 nicklas 57   {
1330 01 Apr 11 nicklas 58     return id;
1330 01 Apr 11 nicklas 59   }
1330 01 Apr 11 nicklas 60   
1330 01 Apr 11 nicklas 61   @Override
1330 01 Apr 11 nicklas 62   public String getDisplayName()
1330 01 Apr 11 nicklas 63   {
1330 01 Apr 11 nicklas 64     return name;
1330 01 Apr 11 nicklas 65   }
1330 01 Apr 11 nicklas 66   
1330 01 Apr 11 nicklas 67   @Override
1330 01 Apr 11 nicklas 68   public String getDescription()
1330 01 Apr 11 nicklas 69   {
1330 01 Apr 11 nicklas 70     return description;
1330 01 Apr 11 nicklas 71   }
1330 01 Apr 11 nicklas 72
1330 01 Apr 11 nicklas 73   @Override
1330 01 Apr 11 nicklas 74   public boolean useAutoDetection()
1330 01 Apr 11 nicklas 75   {
1330 01 Apr 11 nicklas 76     return true;
1330 01 Apr 11 nicklas 77   }
1330 01 Apr 11 nicklas 78
1330 01 Apr 11 nicklas 79   @Override
1330 01 Apr 11 nicklas 80   public boolean supports(URI uri)
1330 01 Apr 11 nicklas 81   {
1330 01 Apr 11 nicklas 82     if (uri == null) throw new NullPointerException("uri");
1330 01 Apr 11 nicklas 83     String scheme = uri.getScheme();
1330 01 Apr 11 nicklas 84     return "hdfs".equals(scheme);
1330 01 Apr 11 nicklas 85   }
1330 01 Apr 11 nicklas 86
1330 01 Apr 11 nicklas 87   @Override
1330 01 Apr 11 nicklas 88   public ConnectionManager createConnectionManager(URI uri, ConnectionParameters server)
1330 01 Apr 11 nicklas 89   {
1330 01 Apr 11 nicklas 90     return new HdfsConnectionManager(uri, server);
1330 01 Apr 11 nicklas 91   }
1330 01 Apr 11 nicklas 92   // -------------------------------------
1330 01 Apr 11 nicklas 93
1330 01 Apr 11 nicklas 94   /**
1330 01 Apr 11 nicklas 95     Initialize this factory with some information.
1330 01 Apr 11 nicklas 96   */
1330 01 Apr 11 nicklas 97   public void init(String id, String name, String description)
1330 01 Apr 11 nicklas 98   {
1330 01 Apr 11 nicklas 99     this.id = id;
1330 01 Apr 11 nicklas 100     this.name = name;
1330 01 Apr 11 nicklas 101     this.description = description;
1330 01 Apr 11 nicklas 102   }
1330 01 Apr 11 nicklas 103
1330 01 Apr 11 nicklas 104 }