Fixing rerun of project.
1.1 --- a/dew4nb/src/org/netbeans/modules/dew4nb/services/project/IORedirectProvider.java Fri Jan 24 19:41:30 2014 +0100
1.2 +++ b/dew4nb/src/org/netbeans/modules/dew4nb/services/project/IORedirectProvider.java Mon Jan 27 11:51:00 2014 +0100
1.3 @@ -89,12 +89,8 @@
1.4 }
1.5
1.6 @Override
1.7 - public InputOutput getIO(String name, boolean newIO) {
1.8 - final EndPoint.Env env = currentEnv.get();
1.9 - if (env == null) {
1.10 - throw new IllegalStateException();
1.11 - }
1.12 - return new RedirectIO(env);
1.13 + public InputOutput getIO(String name, boolean newIO) {
1.14 + return new RedirectIO();
1.15 }
1.16
1.17 @Override
1.18 @@ -156,15 +152,14 @@
1.19 }
1.20 }
1.21
1.22 - private static class RedirectIO implements InputOutput {
1.23 + private static final class RedirectIO implements InputOutput {
1.24
1.25 private final AtomicBoolean closed;
1.26 - private final EndPoint.Env env;
1.27 + private volatile EndPoint.Env env;
1.28
1.29 - RedirectIO(@NonNull final EndPoint.Env env) {
1.30 - Parameters.notNull("env", env);
1.31 + RedirectIO() {
1.32 this.closed = new AtomicBoolean();
1.33 - this.env = env;
1.34 + resetImpl();
1.35 }
1.36
1.37 @Override
1.38 @@ -255,6 +250,10 @@
1.39 }
1.40
1.41 void resetImpl() {
1.42 + env = currentEnv.get();
1.43 + if (env == null) {
1.44 + throw new IllegalStateException();
1.45 + }
1.46 closed.set(false);
1.47 }
1.48 }
2.1 --- a/dew4nb/src/org/netbeans/modules/dew4nb/services/project/InvokeProjectActionHandler.java Fri Jan 24 19:41:30 2014 +0100
2.2 +++ b/dew4nb/src/org/netbeans/modules/dew4nb/services/project/InvokeProjectActionHandler.java Mon Jan 27 11:51:00 2014 +0100
2.3 @@ -106,7 +106,7 @@
2.4 IORedirectProvider.bindEnv(env);
2.5 try {
2.6 ap.invokeAction(
2.7 - request.getJava().toLowerCase(), //FIXME!!!!!!!!!
2.8 + request.getJava(),
2.9 Lookups.fixed(file, prj));
2.10 } finally {
2.11 IORedirectProvider.unbindEnv();