diff --git a/pom.xml b/pom.xml
index 1df81c7..3a87cfd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,6 +39,11 @@
common-accounting-lib
[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)
+
+ org.gcube.core
+ common-scope
+ 1.2.0-SNAPSHOT
+
diff --git a/src/main/java/log4j.properties b/src/main/java/log4j.properties
index 043a187..a20b6dd 100644
--- a/src/main/java/log4j.properties
+++ b/src/main/java/log4j.properties
@@ -4,7 +4,7 @@ log4j.appender.A1.File=log.txt
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
# ***** Max file size is set to 100KB
-log4j.appender.A1.MaxFileSize=100MB
+log4j.appender.A1.MaxFileSize=10MB
# ***** Keep one backup file
log4j.appender.A1.MaxBackupIndex=1
diff --git a/src/main/java/org/gcube/contentmanager/storageserver/accounting/Report.java b/src/main/java/org/gcube/contentmanager/storageserver/accounting/Report.java
index dbd759c..11e7b09 100644
--- a/src/main/java/org/gcube/contentmanager/storageserver/accounting/Report.java
+++ b/src/main/java/org/gcube/contentmanager/storageserver/accounting/Report.java
@@ -1,6 +1,8 @@
package org.gcube.contentmanager.storageserver.accounting;
public interface Report {
+
+ public void init();
/**
* Set generic properties of report
* @param resourceType
@@ -9,7 +11,7 @@ public interface Report {
* @param resourceScope
* @return
*/
- public void init(String consumerId, String resourceScope, String creationTime);
+ public void start(String consumerId, String resourceScope, String creationTime);
/**
* set start time of the operation
* @return
diff --git a/src/main/java/org/gcube/contentmanager/storageserver/accounting/ReportAccountingImpl.java b/src/main/java/org/gcube/contentmanager/storageserver/accounting/ReportAccountingImpl.java
index 0761e0b..8a3b706 100644
--- a/src/main/java/org/gcube/contentmanager/storageserver/accounting/ReportAccountingImpl.java
+++ b/src/main/java/org/gcube/contentmanager/storageserver/accounting/ReportAccountingImpl.java
@@ -21,9 +21,24 @@ import org.slf4j.LoggerFactory;
final Logger logger = LoggerFactory.getLogger(ReportAccountingImpl.class);
public RawUsageRecord ur;
public ResourceAccounting raFactory;
+
@Override
- public void init(String consumerId, String resourceScope, String creationTime) {
+ public void init(){
+ raFactory = null;
+ try {
+ raFactory = ResourceAccountingFactory.getResourceAccountingInstance();
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ public void start(String consumerId, String resourceScope, String creationTime) {
logger.info("set accounting properties: consumerId "+consumerId+" scope: "+resourceScope+ " creationTime "+creationTime);
raFactory = null;
try {
diff --git a/src/main/java/org/gcube/contentmanager/storageserver/parse/JsonParser.java b/src/main/java/org/gcube/contentmanager/storageserver/parse/JsonParser.java
index 4139044..7dd558f 100644
--- a/src/main/java/org/gcube/contentmanager/storageserver/parse/JsonParser.java
+++ b/src/main/java/org/gcube/contentmanager/storageserver/parse/JsonParser.java
@@ -52,6 +52,7 @@ public class JsonParser extends Thread{
private void init() throws ReportException{
report=new ReportFactory().getReport(ReportConfig.ACCOUNTING_TYPE);
+ report.init();
}
public void run() {
@@ -75,6 +76,7 @@ public class JsonParser extends Thread{
String pathString=(String)obj.get("onScope");
scope=retrieveScopeFromRemoteFilePath(pathString);
}
+
if(delete!=null){
lastOperation="DELETE";
}else if ((lastOperation != null) && (op != null) && (lastOperation.equalsIgnoreCase("LINK")) && (op.equalsIgnoreCase("u"))){
@@ -118,7 +120,7 @@ public class JsonParser extends Thread{
private void report(String filename, String owner,
String creationTime, String id, long length,
String scope, String operation, String callerIP, String lastAccess, String lastUser) {
- report.init(lastUser, scope, creationTime);
+ report.start(lastUser, scope, creationTime);
// report.timeUpdate();
report.ultimate(owner, operation, length+"", filename, id, callerIP, lastAccess);
report.send();
diff --git a/src/main/java/org/gcube/contentmanager/storageserver/parse/utiils/ValidationUtils.java b/src/main/java/org/gcube/contentmanager/storageserver/parse/utiils/ValidationUtils.java
new file mode 100644
index 0000000..9d395b2
--- /dev/null
+++ b/src/main/java/org/gcube/contentmanager/storageserver/parse/utiils/ValidationUtils.java
@@ -0,0 +1,16 @@
+package org.gcube.contentmanager.storageserver.parse.utiils;
+
+import org.gcube.common.scope.impl.ScopeBean;
+import org.gcube.common.scope.impl.ScopeBean.Type;
+
+public class ValidationUtils {
+
+ public static boolean validationScope(String scope){
+ ScopeBean scopeBean=new ScopeBean(scope);
+ System.out.println("scope type "+scopeBean.type());
+ if((scopeBean.is(Type.INFRASTRUCTURE)) || (scopeBean.is(Type.VO)) || (scopeBean.is(Type.VRE)))
+ return true;
+ return false;
+ }
+
+}
diff --git a/src/test/java/org/gcube/contentmanager/storageserver/test/ValidationScopeTest.java b/src/test/java/org/gcube/contentmanager/storageserver/test/ValidationScopeTest.java
new file mode 100644
index 0000000..ba6a808
--- /dev/null
+++ b/src/test/java/org/gcube/contentmanager/storageserver/test/ValidationScopeTest.java
@@ -0,0 +1,18 @@
+package org.gcube.contentmanager.storageserver.test;
+
+import static org.junit.Assert.*;
+
+import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.contentmanager.storageserver.parse.utiils.ValidationUtils;
+import org.junit.Test;
+
+public class ValidationScopeTest {
+
+ private String scope="/pinco/pallino";
+
+ @Test
+ public void test() {
+ assertTrue(ValidationUtils.validationScope(scope));
+ }
+
+}