diff --git a/pom.xml b/pom.xml
index 1635a19..b7a7d04 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
org.gcube.portal
threadlocal-vars-cleaner
- 0.0.1-SNAPSHOT
+ 1.0.0-SNAPSHOT
jar
threadlocal-vars-cleaner
diff --git a/src/main/java/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor.java b/src/main/java/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor.java
deleted file mode 100644
index 6d63bf4..0000000
--- a/src/main/java/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.gcube.portal.threadlocalexec;
-
-import org.apache.catalina.core.StandardThreadExecutor;
-import org.gcube.common.authorization.library.provider.AuthorizationProvider;
-import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
-import org.gcube.common.scope.api.ScopeProvider;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-/**
- *
- * @author Massimiliano Assante, CNR ISTI
- *
- */
-public class SmartGearsPortalExecutor extends StandardThreadExecutor {
- private static final Logger _log = LoggerFactory.getLogger(SmartGearsPortalExecutor.class);
- public SmartGearsPortalExecutor() {
- }
-
-// @Override
-// public void execute(Runnable command, long timeout, TimeUnit unit) {
-// super.execute(new WrappedRunnable(command), timeout, unit);
-// }
-
- @Override
- public void execute(Runnable command) {
- super.execute(new WrappedRunnable(command));
- }
-
- public static class WrappedRunnable implements Runnable{
-
- private Runnable runnable;
-
- protected WrappedRunnable(Runnable runnable){
- this.runnable = runnable;
- }
-
- public void run() {
- try{
- this.runnable.run();
- _log.debug("execution finished on thread "+Thread.currentThread().getName() + " server.RStudioServiceImpl LOGtoRemove");
- System.out.println("execution finished on thread "+Thread.currentThread().getName()+ " server.RStudioServiceImpl LOGtoRemove");
- } finally {
- SecurityTokenProvider.instance.reset();
- ScopeProvider.instance.reset();
- AuthorizationProvider.instance.reset();
- _log.debug("done reset all the thread locals on thread "+Thread.currentThread().getName()+ " server.RStudioServiceImpl LOGtoRemove");
- System.out.println("done reset all the thread locals on thread "+Thread.currentThread().getName()+ " server.RStudioServiceImpl LOGtoRemove");
- }
- }
-
- }
-
-}
-
diff --git a/src/main/java/org/gcube/portal/threadlocalexec/SmartGearsPortalValve.java b/src/main/java/org/gcube/portal/threadlocalexec/SmartGearsPortalValve.java
new file mode 100644
index 0000000..5ae9ecd
--- /dev/null
+++ b/src/main/java/org/gcube/portal/threadlocalexec/SmartGearsPortalValve.java
@@ -0,0 +1,33 @@
+package org.gcube.portal.threadlocalexec;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+
+import org.apache.catalina.connector.Request;
+import org.apache.catalina.connector.Response;
+import org.apache.catalina.valves.ValveBase;
+import org.gcube.common.authorization.library.provider.AuthorizationProvider;
+import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
+import org.gcube.common.scope.api.ScopeProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ *
+ * @author Massimiliano Assante, CNR ISTI
+ * @author Lucio Lelii, CNR ISTI
+ *
+ */
+public class SmartGearsPortalValve extends ValveBase {
+ private static final Logger _log = LoggerFactory.getLogger(SmartGearsPortalValve.class);
+
+ @Override
+ public void invoke(Request req, Response resp) throws IOException, ServletException {
+ SecurityTokenProvider.instance.reset();
+ ScopeProvider.instance.reset();
+ AuthorizationProvider.instance.reset();
+ getNext().invoke(req, resp);
+ _log.trace("SmartGearsPortalValve SecurityTokenProvider and AuthorizationProvider reset OK");
+ }
+}
+
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
index b0eeb1b..efeaa62 100644
--- a/target/maven-archiver/pom.properties
+++ b/target/maven-archiver/pom.properties
@@ -1,5 +1,5 @@
#Generated by Maven
-#Tue Apr 19 18:02:51 CEST 2016
-version=0.0.1-SNAPSHOT
+#Mon May 02 16:49:27 CEST 2016
+version=1.0.0-SNAPSHOT
groupId=org.gcube.portal
artifactId=threadlocal-vars-cleaner
diff --git a/target/profile.xml b/target/profile.xml
index 6396089..580b167 100644
--- a/target/profile.xml
+++ b/target/profile.xml
@@ -10,14 +10,14 @@
threadlocal-vars-cleaner
- 0.0.1-SNAPSHOT
+ 1.0.0-SNAPSHOT
org.gcube.portal
threadlocal-vars-cleaner
- 0.0.1-SNAPSHOT
+ 1.0.0-SNAPSHOT
- threadlocal-vars-cleaner-0.0.1-SNAPSHOT.war
+ threadlocal-vars-cleaner-1.0.0-SNAPSHOT.war
diff --git a/target/surefire-reports/TEST-org.gcube.portal.threadlocalexec.AppTest.xml b/target/surefire-reports/TEST-org.gcube.portal.threadlocalexec.AppTest.xml
index c04c785..3adb55f 100644
--- a/target/surefire-reports/TEST-org.gcube.portal.threadlocalexec.AppTest.xml
+++ b/target/surefire-reports/TEST-org.gcube.portal.threadlocalexec.AppTest.xml
@@ -26,13 +26,13 @@
"/>
-
+
-
+
diff --git a/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT.jar b/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT.jar
deleted file mode 100644
index 9fc65bb..0000000
Binary files a/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT.jar and /dev/null differ
diff --git a/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor$WrappedRunnable.class b/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor$WrappedRunnable.class
deleted file mode 100644
index a2a4e5b..0000000
Binary files a/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor$WrappedRunnable.class and /dev/null differ
diff --git a/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor.class b/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor.class
deleted file mode 100644
index 315490c..0000000
Binary files a/target/threadlocal-vars-cleaner-0.0.1-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalExecutor.class and /dev/null differ
diff --git a/target/threadlocal-vars-cleaner-1.0.0-SNAPSHOT.jar b/target/threadlocal-vars-cleaner-1.0.0-SNAPSHOT.jar
new file mode 100644
index 0000000..404b7d2
Binary files /dev/null and b/target/threadlocal-vars-cleaner-1.0.0-SNAPSHOT.jar differ
diff --git a/target/threadlocal-vars-cleaner-1.0.0-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalValve.class b/target/threadlocal-vars-cleaner-1.0.0-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalValve.class
new file mode 100644
index 0000000..3f642c6
Binary files /dev/null and b/target/threadlocal-vars-cleaner-1.0.0-SNAPSHOT/WEB-INF/classes/org/gcube/portal/threadlocalexec/SmartGearsPortalValve.class differ