1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 package org.apache.hadoop.chukwa.dataloader; 20 21 import java.io.IOException; 22 import java.util.Arrays; 23 24 import org.apache.hadoop.chukwa.conf.ChukwaConfiguration; 25 import org.apache.hadoop.fs.FileStatus; 26 import org.apache.hadoop.fs.FileSystem; 27 28 public abstract class DataLoaderFactory { 29 30 ChukwaConfiguration conf = null; 31 FileSystem fs = null; 32 protected FileStatus[] source = null; 33 34 public DataLoaderFactory() { 35 } 36 37 /** 38 * @param conf Chukwa Configuration 39 * @param fs Hadoop File System 40 * @param src List of files to load 41 * @throws IOException if error loading files 42 */ 43 public void load(ChukwaConfiguration conf, FileSystem fs, FileStatus[] src) throws IOException { 44 this.source=src.clone(); 45 this.conf=conf; 46 this.fs=fs; 47 } 48 49 public FileStatus[] getSource() { 50 return Arrays.copyOf(source, source.length); 51 } 52 53 protected FileSystem getFileSystem() { 54 return fs; 55 } 56 57 protected ChukwaConfiguration getConf() { 58 return conf; 59 } 60 }