You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2010/08/24 03:44:25 UTC
svn commit: r988370 - in /incubator/hama/trunk: CHANGES.txt
src/java/org/apache/hama/util/RunJar.java
Author: edwardyoon
Date: Tue Aug 24 01:44:24 2010
New Revision: 988370
URL: http://svn.apache.org/viewvc?rev=988370&view=rev
Log:
Fix generics warnings
Modified:
incubator/hama/trunk/CHANGES.txt
incubator/hama/trunk/src/java/org/apache/hama/util/RunJar.java
Modified: incubator/hama/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/CHANGES.txt?rev=988370&r1=988369&r2=988370&view=diff
==============================================================================
--- incubator/hama/trunk/CHANGES.txt (original)
+++ incubator/hama/trunk/CHANGES.txt Tue Aug 24 01:44:24 2010
@@ -150,6 +150,7 @@ Trunk (unreleased changes)
BUG FIXES
+ HAMA-280: Fix warnings (Filipe Manana via edwardyoon)
HAMA-270: wrong sequence of readFields() of ClusterStatus (hyunsik)
HAMA-260: Current version command of script is linked unknown class (edwardyoon)
HAMA-250: Add --no-check-certificate option to 'wget' command lines (edwardyoon)
Modified: incubator/hama/trunk/src/java/org/apache/hama/util/RunJar.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/util/RunJar.java?rev=988370&r1=988369&r2=988370&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/util/RunJar.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/util/RunJar.java Tue Aug 24 01:44:24 2010
@@ -13,6 +13,7 @@ import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
+import java.util.List;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
@@ -25,9 +26,9 @@ public class RunJar {
public static void unJar(File jarFile, File toDir) throws IOException {
JarFile jar = new JarFile(jarFile);
try {
- Enumeration entries = jar.entries();
+ Enumeration<JarEntry> entries = jar.entries();
while (entries.hasMoreElements()) {
- JarEntry entry = (JarEntry)entries.nextElement();
+ JarEntry entry = (JarEntry) entries.nextElement();
if (!entry.isDirectory()) {
InputStream in = jar.getInputStream(entry);
try {
@@ -53,8 +54,10 @@ public class RunJar {
}
}
- /** Run a Hadoop job jar. If the main class is not in the jar's manifest,
- * then it must be provided on the command line. */
+ /**
+ * Run a Hadoop job jar. If the main class is not in the jar's manifest, then
+ * it must be provided on the command line.
+ */
public static void main(String[] args) throws Throwable {
String usage = "RunJar jarFile [mainClass] args...";
@@ -84,46 +87,45 @@ public class RunJar {
}
mainClassName = mainClassName.replaceAll("/", ".");
- final File workDir = File.createTempFile("hama-unjar","");
+ final File workDir = File.createTempFile("hama-unjar", "");
workDir.delete();
workDir.mkdirs();
Runtime.getRuntime().addShutdownHook(new Thread() {
- public void run() {
- try {
- FileUtil.fullyDelete(workDir);
- } catch (IOException e) {
- }
+ public void run() {
+ try {
+ FileUtil.fullyDelete(workDir);
+ } catch (IOException e) {
}
- });
+ }
+ });
unJar(file, workDir);
-
- ArrayList classPath = new ArrayList();
- classPath.add(new File(workDir+"/").toURL());
- classPath.add(file.toURL());
- classPath.add(new File(workDir, "classes/").toURL());
+
+ List<URL> classPath = new ArrayList<URL>();
+ classPath.add(new File(workDir + "/").toURI().toURL());
+ classPath.add(file.toURI().toURL());
+ classPath.add(new File(workDir, "classes/").toURI().toURL());
File[] libs = new File(workDir, "lib").listFiles();
if (libs != null) {
for (int i = 0; i < libs.length; i++) {
- classPath.add(libs[i].toURL());
+ classPath.add(libs[i].toURI().toURL());
}
}
- ClassLoader loader =
- new URLClassLoader((URL[])classPath.toArray(new URL[0]));
+ ClassLoader loader = new URLClassLoader((URL[]) classPath
+ .toArray(new URL[0]));
Thread.currentThread().setContextClassLoader(loader);
- Class mainClass = loader.loadClass(mainClassName);
- Method main = mainClass.getMethod("main", new Class[] {
- Array.newInstance(String.class, 0).getClass()
- });
- String[] newArgs = (String[])Arrays.asList(args)
- .subList(firstArg, args.length).toArray(new String[0]);
+ Class<?> mainClass = loader.loadClass(mainClassName);
+ Method main = mainClass.getMethod("main", new Class[] { Array.newInstance(
+ String.class, 0).getClass() });
+ String[] newArgs = (String[]) Arrays.asList(args).subList(firstArg,
+ args.length).toArray(new String[0]);
try {
main.invoke(null, new Object[] { newArgs });
} catch (InvocationTargetException e) {
throw e.getTargetException();
}
}
-
+
}