diff --git a/.classpath b/.classpath
index 534b5e5..953de0b 100644
--- a/.classpath
+++ b/.classpath
@@ -22,12 +22,12 @@
-
+
-
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 6b3352d..6249222 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,13 +1,12 @@
-#Fri Oct 11 15:08:46 CEST 2013
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/distro/README b/distro/README
index 8ba3d75..a9741d4 100644
--- a/distro/README
+++ b/distro/README
@@ -1,8 +1,9 @@
The gCube System - ${name}
----------------------
-This work has been partially supported by the following European projects: DILIGENT (FP6-2003-IST-2), D4Science (FP7-INFRA-2007-1.2.2),
-D4Science-II (FP7-INFRA-2008-1.2.2), iMarine (FP7-INFRASTRUCTURES-2011-2), and EUBrazilOpenBio (FP7-ICT-2011-EU-Brazil).
+This work has been partially supported by the following European projects: DILIGENT (FP6-2003-IST-2),
+D4Science (FP7-INFRA-2007-1.2.2), D4Science-II (FP7-INFRA-2008-1.2.2), iMarine (FP7-INFRASTRUCTURES-2011-2),
+and EUBrazilOpenBio (FP7-ICT-2011-EU-Brazil), Parthenos (H2020-INFRADEV-1-2014-1), BlueBridge (H2020-EINFRA-2015-1).
Authors
-------
diff --git a/distro/changelog.xml b/distro/changelog.xml
index a4d71f9..e338032 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,4 +1,8 @@
+
+ MethodInterceptor added
+ AuthorizationInterceptor added
+
First Release
diff --git a/pom.xml b/pom.xml
index 7c36ca1..4e27039 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,16 +1,16 @@
4.0.0
-
+
- org.gcube.tools
- maven-parent
- 1.0.0
-
-
+ org.gcube.tools
+ maven-parent
+ 1.0.0
+
+
org.gcube.core
common-gcube-calls
- 1.0.0-SNAPSHOT
+ 1.0.1-SNAPSHOT
distro
@@ -23,6 +23,11 @@
+
+ org.gcube.common
+ common-authorization
+ [1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+
org.gcube.core
common-scope
@@ -34,7 +39,7 @@
1.7.5
-
+
diff --git a/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java b/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java
new file mode 100644
index 0000000..06d4643
--- /dev/null
+++ b/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java
@@ -0,0 +1,31 @@
+package org.gcube.common.calls.interceptors;
+
+import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
+import org.gcube.common.calls.Call;
+import org.gcube.common.calls.Interceptor;
+import org.gcube.common.calls.Request;
+import org.gcube.common.calls.Response;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AuthorizationInterceptor implements Interceptor {
+
+ private Logger logger = LoggerFactory.getLogger(AuthorizationInterceptor.class);
+
+ public static final String token_header="gcube-token";
+
+ @Override
+ public void handleRequest(Request request, Call call) {
+ String token = SecurityTokenProvider.instance.get();
+
+ if (token==null)
+ logger.warn("security token is not set");
+ else{
+ request.addHeader(token_header, token);
+ logger.trace("security token set in the header is "+token);
+ }
+ }
+
+ @Override
+ public void handleResponse(Response context, Call callContext) {}
+}
diff --git a/src/main/java/org/gcube/common/calls/interceptors/CalledMethodInterceptor.java b/src/main/java/org/gcube/common/calls/interceptors/CalledMethodInterceptor.java
new file mode 100644
index 0000000..553db9d
--- /dev/null
+++ b/src/main/java/org/gcube/common/calls/interceptors/CalledMethodInterceptor.java
@@ -0,0 +1,29 @@
+package org.gcube.common.calls.interceptors;
+
+import org.gcube.common.authorization.library.provider.CalledMethodProvider;
+import org.gcube.common.calls.Call;
+import org.gcube.common.calls.Interceptor;
+import org.gcube.common.calls.Request;
+import org.gcube.common.calls.Response;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class CalledMethodInterceptor implements Interceptor {
+
+ private Logger logger = LoggerFactory.getLogger(CalledMethodInterceptor.class);
+
+ public static final String calledMethodHeader="gcube-method";
+
+ @Override
+ public void handleRequest(Request request, Call call) {
+ String calledMethod = CalledMethodProvider.instance.get();
+
+ request.addHeader(calledMethodHeader, calledMethod);
+ logger.trace("called method set in the header is "+calledMethod);
+
+ }
+
+ @Override
+ public void handleResponse(Response context, Call callContext) {}
+
+}
diff --git a/src/main/java/org/gcube/common/calls/interceptors/ScopeInterceptor.java b/src/main/java/org/gcube/common/calls/interceptors/ScopeInterceptor.java
index 0e1d2b6..dd3494c 100644
--- a/src/main/java/org/gcube/common/calls/interceptors/ScopeInterceptor.java
+++ b/src/main/java/org/gcube/common/calls/interceptors/ScopeInterceptor.java
@@ -19,12 +19,11 @@ public class ScopeInterceptor implements Interceptor {
String scope = ScopeProvider.instance.get();
if (scope==null)
- throw new RuntimeException("call is unscoped");
-
- request.addHeader(scope_header, scope);
-
- logger.trace("scope set in the header is "+scope);
-
+ logger.warn("scope is not set in this call");
+ else{
+ request.addHeader(scope_header, scope);
+ logger.trace("scope set in the header is "+scope);
+ }
}
public void handleResponse(Response context, Call callContext) {}
diff --git a/src/main/resources/META-INF/services/org.gcube.common.calls.Interceptor b/src/main/resources/META-INF/services/org.gcube.common.calls.Interceptor
index 2aff37d..0d56726 100644
--- a/src/main/resources/META-INF/services/org.gcube.common.calls.Interceptor
+++ b/src/main/resources/META-INF/services/org.gcube.common.calls.Interceptor
@@ -1 +1,3 @@
-org.gcube.common.calls.interceptors.ScopeInterceptor
\ No newline at end of file
+org.gcube.common.calls.interceptors.ScopeInterceptor
+org.gcube.common.calls.interceptors.AuthorizationInterceptor
+org.gcube.common.calls.interceptors.CalledMethodInterceptor
\ No newline at end of file