You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2012/12/24 12:55:59 UTC
svn commit: r1425637 -
/openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
Author: andygumbrecht
Date: Mon Dec 24 11:55:59 2012
New Revision: 1425637
URL: http://svn.apache.org/viewvc?rev=1425637&view=rev
Log:
Fix potential null pointer and fallback to local temp dir.
Modified:
openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
Modified: openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1425637&r1=1425636&r2=1425637&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original)
+++ openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Mon Dec 24 11:55:59 2012
@@ -223,10 +223,28 @@ public class Container {
private String getBaseDir() {
try {
+
final String dir = configuration.getDir();
- if (dir != null) return dir;
- final File file = File.createTempFile("apache-tomee", "-home");
+ if (dir != null) {
+ return dir;
+ }
+
+ File file;
+
+ try {
+ file = File.createTempFile("apache-tomee", "-home");
+ } catch (Throwable e) {
+
+ final File tmp = new File("tmp");
+ if (!tmp.exists() && !tmp.mkdirs()) {
+ throw new IOException("Failed to create local tmp directory: " + tmp.getAbsolutePath());
+ }
+
+ file = File.createTempFile("apache-tomee", "-home", tmp);
+ }
+
return file.getAbsolutePath();
+
} catch (IOException e) {
throw new TomEERuntimeException(e);
}
@@ -239,6 +257,7 @@ public class Container {
OpenEJB.destroy();
}
+ @SuppressWarnings("UnusedDeclaration")
public AppContext deploy(final String name, final File file) throws OpenEJBException, IOException, NamingException {
return deploy(name, file, false);
}
@@ -287,7 +306,7 @@ public class Container {
context = assembler.createApplication(appInfo);
}
- moduleIds.put(name, appInfo.path);
+ moduleIds.put(name, null != appInfo ? appInfo.path : null);
infos.put(name, appInfo);
appContexts.put(name, context);
@@ -313,6 +332,7 @@ public class Container {
return defaultValue;
}
+ @SuppressWarnings("UnusedDeclaration")
public AppInfo getInfo(final String name) {
return infos.get(name);
}