refs #166: Create accouting-analytics library

https://support.d4science.org/issues/166
Implementing Library

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-analytics@117239 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Luca Frosini 2015-07-14 16:45:48 +00:00
parent bd9e7b0665
commit 158914c5b4
5 changed files with 76 additions and 16 deletions

View File

@ -22,5 +22,15 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

11
pom.xml
View File

@ -42,11 +42,22 @@
<artifactId>accounting-lib</artifactId>
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
</dependency>
<dependency>
<groupId>org.gcube.resources.discovery</groupId>
<artifactId>ic-client</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
<dependency>
<groupId>junit</groupId>

View File

@ -3,21 +3,62 @@
*/
package org.gcube.accounting.analytics;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.json.JSONObject;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*
*/
public interface Info {
public class Info {
public long getDate();
protected Calendar date;
protected JSONObject value;
public Number getInfo();
/*
public String getUnity(); // Number of Occurrences, Kb,
public String getUnityDescription(); // Total Kb accumulated, Single Operation Kb
*/
/**
* @param calendar
* @param value
*/
public Info(Calendar date, JSONObject value) {
super();
this.date = date;
this.value = value;
}
/**
* @return the calendar
*/
public Calendar getDate() {
return date;
}
/**
* @param calendar the calendar to set
*/
public void setDate(Calendar calendar) {
this.date = calendar;
}
/**
* @return the value
*/
public JSONObject getValue() {
return value;
}
/**
* @param value the value to set
*/
public void setValue(JSONObject value) {
this.value = value;
}
@Override
public String toString(){
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS z");
return String.format("Date : %s, Value : %s", dateFormatter.format(date.getTime()), value.toString());
}
}

View File

@ -10,7 +10,7 @@ package org.gcube.accounting.analytics;
public class TemporalConstraint {
public enum AggregationMode {
HOURLY, DAILY, WEEKLY, MONTHLY, YEARLY
YEARLY, MONTHLY, DAILY, HOURLY, MINUTELY, SECONDLY, MILLISECONDLY
}
protected long startTime;

View File

@ -1,11 +1,9 @@
/**
*
*/
package org.gcube.accounting.analytics.persistence;
import java.net.URI;
import org.gcube.accounting.persistence.AccountingPersistenceConfiguration;
import org.gcube.common.resources.gcore.ServiceEndpoint;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
@ -13,8 +11,6 @@ import org.gcube.accounting.persistence.AccountingPersistenceConfiguration;
*/
public class AccountingPersistenceQueryConfiguration extends AccountingPersistenceConfiguration {
protected final String SERVICE_ENDPOINT_NAME = "PersistenceQuery";
public AccountingPersistenceQueryConfiguration(){
super();
}
@ -24,6 +20,8 @@ public class AccountingPersistenceQueryConfiguration extends AccountingPersisten
}
public AccountingPersistenceQueryConfiguration(String persistenceClassName) throws Exception{
super(persistenceClassName);
super.init();
ServiceEndpoint serviceEndpoint = getServiceEndpoint(SERVICE_ENDPOINT_CATEGORY, SERVICE_ENDPOINT_NAME, persistenceClassName);
setValues(serviceEndpoint, persistenceClassName);
}
}