Java tutorial
/* Copyright (C) 2012 Intel Corporation. * All rights reserved. * * Licensed 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. * * For more about this software visit: * http://www.01.org/GraphBuilder */ package com.intel.hadoop.graphbuilder.util; import java.io.IOException; import javassist.NotFoundException; import org.apache.hadoop.filecache.DistributedCache; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.mapred.JobConf; public class FsUtil { /** * Archives and distributes the temporary class files generated by {@code IngressJobKeyValueFactory}, * {@code PreprocessJobKeyValueFactory}, and {@code EdgeTransformJobKeyValueFactory} using Javassist. * The temporary class files are located at $currentdir/generatedclass, * and the distributed archive is located at hdfs:///tmp/tempclass.jar. * @param conf */ public static void distributedTempClassToClassPath(JobConf conf) { try { Process p = Runtime.getRuntime().exec("jar -cf tempclass.jar generatedclass"); p.waitFor(); FileSystem fs = FileSystem.get(conf); Path src = new Path(new java.io.File(".").getCanonicalPath() + "/tempclass.jar"); Path dst = new Path("/tmp", "tempclass.jar"); fs.copyFromLocalFile(src, dst); DistributedCache.addFileToClassPath(dst, conf, fs); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } /* public static String getFilePathofClass (Class c) throws NotFoundException, IOException { String path = new java.io.File(".").getCanonicalPath(); System.out.println(path); return path + "/" + "generatedclass/" + c.getName().replaceAll("\\.", "/") + ".class"; } */ }