[jboss-svn-commits] JBL Code SVN: r33896 - in labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework: plugin and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 15 05:01:02 EDT 2010
Author: mmusgrov
Date: 2010-07-15 05:01:02 -0400 (Thu, 15 Jul 2010)
New Revision: 33896
Modified:
labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/ToolsClassLoader.java
labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/plugin/ToolPluginInformation.java
Log:
[JBTM-730] Unpack sars correctly (didn't handle the case where the contained files were not in hierarchical order)
Modified: labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/ToolsClassLoader.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/ToolsClassLoader.java 2010-07-15 09:00:22 UTC (rev 33895)
+++ labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/ToolsClassLoader.java 2010-07-15 09:01:02 UTC (rev 33896)
@@ -110,28 +110,16 @@
while (entries.hasMoreElements())
{
ZipEntry ze = entries.nextElement();
- String fname = tmpDir + '/' + ze.getName();
+ File f = ToolPluginInformation.externalizeFile(tmpDir, zf.getInputStream(ze), ze);
- if (ze.isDirectory())
- {
- new File(fname).mkdirs();
+ if (accept(ze.getName())) {
+ addURL(ToolPluginInformation.getToolPluginInformation(_toolJars, f));
}
- else
- {
- File f = ToolPluginInformation.externalizeFile(fname, zf.getInputStream(ze));
-
- if (accept(ze.getName()))
- addURL(ToolPluginInformation.getToolPluginInformation(_toolJars, f));
-// urls.add(ToolPluginInformation.getToolPluginInformation(_toolJars, f));
- }
}
addURL(new File(getTmpDir()).toURL());
-// urls.add(new File(getTmpDir()).toURL());
toolsDir = new File(getTmpDir() + DEFAULT_LIB_DIRECTORY).toURL();
-// setClassLoader(urls, getTmpDir() + DEFAULT_LIB_DIRECTORY);
-
zf.close();
}
catch (IOException e)
Modified: labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/plugin/ToolPluginInformation.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/plugin/ToolPluginInformation.java 2010-07-15 09:00:22 UTC (rev 33895)
+++ labs/jbosstm/trunk/ArjunaCore/tsmx/bin/com/arjuna/ats/tools/toolsframework/plugin/ToolPluginInformation.java 2010-07-15 09:01:02 UTC (rev 33896)
@@ -183,14 +183,18 @@
public static File externalizeFile(String tmpDir, InputStream is, ZipEntry ze) throws IOException
{
- File f = new File(tmpDir + ze.getName());
+ File f = new File(tmpDir + File.separatorChar + ze.getName());
- if (f.isFile())
+ if (!ze.isDirectory())
{
- File d = f.getParentFile();
+ int i = ze.getName().lastIndexOf(File.separatorChar);
- if (d != null)
- f.mkdirs();
+ if (i != -1) {
+ // this file name is part of a directory path - create the parent directories
+ String path = f.getPath();
+ String sp = path.substring(0, path.lastIndexOf(File.separatorChar));
+ new File(sp).mkdirs();
+ }
OutputStream out = new FileOutputStream(f);
byte[] buf = new byte[1024];
More information about the jboss-svn-commits
mailing list