refs #200: Create accouting-lib library

https://support.d4science.org/issues/200
Implementing library

git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-lib@115258 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Luca Frosini 2015-06-09 09:03:43 +00:00
parent 32356675a0
commit 3661f051db
7 changed files with 61 additions and 11 deletions

View File

@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* *
*/ */
public abstract class RawUsageRecord implements UsageRecord, Serializable { public abstract class RawUsageRecord<T> implements UsageRecord, Serializable {
private static Logger logger = LoggerFactory.getLogger(RawUsageRecord.class); private static Logger logger = LoggerFactory.getLogger(RawUsageRecord.class);
@ -490,7 +490,7 @@ public abstract class RawUsageRecord implements UsageRecord, Serializable {
return 1; return 1;
} }
public static List<UsageRecord> aggregate(List<UsageRecord> records){ protected List<T> aggregate(List<T> records){
// TODO implements // TODO implements
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
@ -506,8 +506,8 @@ public abstract class RawUsageRecord implements UsageRecord, Serializable {
* @throws Exception if fails * @throws Exception if fails
*/ */
public static UsageRecord getUsageRecord(Map<String, Serializable> usageRecordMap) throws Exception { public static UsageRecord getUsageRecord(Map<String, Serializable> usageRecordMap) throws Exception {
// TODO Auto-generated method stub // TODO implements
return null; throw new UnsupportedOperationException();
} }
} }

View File

@ -4,6 +4,7 @@
package org.gcube.accounting.datamodel.implementations; package org.gcube.accounting.datamodel.implementations;
import java.util.Calendar; import java.util.Calendar;
import java.util.List;
import org.gcube.accounting.datamodel.RawUsageRecord; import org.gcube.accounting.datamodel.RawUsageRecord;
import org.gcube.accounting.datamodel.SingleUsageRecord; import org.gcube.accounting.datamodel.SingleUsageRecord;
@ -19,7 +20,7 @@ import org.gcube.accounting.exception.InvalidValueException;
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* *
*/ */
public class JobUsageRecord extends RawUsageRecord implements SingleUsageRecord { public class JobUsageRecord extends RawUsageRecord<JobUsageRecord> implements SingleUsageRecord {
/** /**
* Generated Serial Version UID * Generated Serial Version UID
@ -142,4 +143,13 @@ public class JobUsageRecord extends RawUsageRecord implements SingleUsageRecord
return wallDuration; return wallDuration;
} }
/**
* {@inheritDoc}
*/
@Override
public List<JobUsageRecord> aggregate(List<JobUsageRecord> records) {
// TODO implements
throw new UnsupportedOperationException();
}
} }

View File

@ -3,6 +3,8 @@
*/ */
package org.gcube.accounting.datamodel.implementations; package org.gcube.accounting.datamodel.implementations;
import java.util.List;
import org.gcube.accounting.datamodel.RawUsageRecord; import org.gcube.accounting.datamodel.RawUsageRecord;
import org.gcube.accounting.datamodel.SingleUsageRecord; import org.gcube.accounting.datamodel.SingleUsageRecord;
import org.gcube.accounting.datamodel.decorators.RequiredField; import org.gcube.accounting.datamodel.decorators.RequiredField;
@ -15,7 +17,7 @@ import org.gcube.accounting.exception.InvalidValueException;
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* *
*/ */
public class PortletUsageRecord extends RawUsageRecord implements SingleUsageRecord { public class PortletUsageRecord extends RawUsageRecord<PortletUsageRecord> implements SingleUsageRecord {
/** /**
* Generated Serial Version UID * Generated Serial Version UID
@ -61,4 +63,13 @@ public class PortletUsageRecord extends RawUsageRecord implements SingleUsageRec
setResourceSpecificProperty(OPERATION_ID, operationId); setResourceSpecificProperty(OPERATION_ID, operationId);
} }
/**
* {@inheritDoc}
*/
@Override
public List<PortletUsageRecord> aggregate(List<PortletUsageRecord> records) {
// TODO implements
throw new UnsupportedOperationException();
}
} }

View File

@ -3,6 +3,8 @@
*/ */
package org.gcube.accounting.datamodel.implementations; package org.gcube.accounting.datamodel.implementations;
import java.util.List;
import org.gcube.accounting.datamodel.RawUsageRecord; import org.gcube.accounting.datamodel.RawUsageRecord;
import org.gcube.accounting.datamodel.SingleUsageRecord; import org.gcube.accounting.datamodel.SingleUsageRecord;
import org.gcube.accounting.datamodel.decorators.RequiredField; import org.gcube.accounting.datamodel.decorators.RequiredField;
@ -16,7 +18,7 @@ import org.gcube.accounting.exception.InvalidValueException;
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* *
*/ */
public class ServiceUsageRecord extends RawUsageRecord implements SingleUsageRecord { public class ServiceUsageRecord extends RawUsageRecord<ServiceUsageRecord> implements SingleUsageRecord {
/** /**
* Generated Serial Version UID * Generated Serial Version UID
@ -118,4 +120,12 @@ public class ServiceUsageRecord extends RawUsageRecord implements SingleUsageRec
setResourceSpecificProperty(SERVICE_NAME, serviceName); setResourceSpecificProperty(SERVICE_NAME, serviceName);
} }
/**
* {@inheritDoc}
*/
@Override
public List<ServiceUsageRecord> aggregate(List<ServiceUsageRecord> records) {
// TODO implements
throw new UnsupportedOperationException();
}
} }

View File

@ -3,6 +3,8 @@
*/ */
package org.gcube.accounting.datamodel.implementations; package org.gcube.accounting.datamodel.implementations;
import java.util.List;
import org.gcube.accounting.datamodel.RawUsageRecord; import org.gcube.accounting.datamodel.RawUsageRecord;
import org.gcube.accounting.datamodel.SingleUsageRecord; import org.gcube.accounting.datamodel.SingleUsageRecord;
import org.gcube.accounting.datamodel.decorators.RequiredField; import org.gcube.accounting.datamodel.decorators.RequiredField;
@ -17,7 +19,7 @@ import org.gcube.accounting.exception.InvalidValueException;
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* *
*/ */
public class StorageUsageUsageRecord extends RawUsageRecord implements SingleUsageRecord { public class StorageUsageUsageRecord extends RawUsageRecord<StorageUsageUsageRecord> implements SingleUsageRecord {
/** /**
* Generated Serial Version UID * Generated Serial Version UID
@ -124,5 +126,13 @@ public class StorageUsageUsageRecord extends RawUsageRecord implements SingleUsa
public void setResourceOwner(String owner) throws InvalidValueException { public void setResourceOwner(String owner) throws InvalidValueException {
setResourceSpecificProperty(RESOURCE_OWNER, owner); setResourceSpecificProperty(RESOURCE_OWNER, owner);
} }
/**
* {@inheritDoc}
*/
@Override
public List<StorageUsageUsageRecord> aggregate(List<StorageUsageUsageRecord> records) {
// TODO implements
throw new UnsupportedOperationException();
}
} }

View File

@ -4,6 +4,7 @@
package org.gcube.accounting.datamodel.implementations; package org.gcube.accounting.datamodel.implementations;
import java.util.Calendar; import java.util.Calendar;
import java.util.List;
import org.gcube.accounting.datamodel.RawUsageRecord; import org.gcube.accounting.datamodel.RawUsageRecord;
import org.gcube.accounting.datamodel.SingleUsageRecord; import org.gcube.accounting.datamodel.SingleUsageRecord;
@ -19,7 +20,7 @@ import org.gcube.accounting.exception.InvalidValueException;
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* *
*/ */
public class TaskUsageRecord extends RawUsageRecord implements SingleUsageRecord { public class TaskUsageRecord extends RawUsageRecord<TaskUsageRecord> implements SingleUsageRecord {
/** /**
* Generated Serial Version UID * Generated Serial Version UID
@ -199,4 +200,12 @@ public class TaskUsageRecord extends RawUsageRecord implements SingleUsageRecord
setResourceSpecificProperty(PROCESSORS, processors); setResourceSpecificProperty(PROCESSORS, processors);
} }
/**
* {@inheritDoc}
*/
@Override
public List<TaskUsageRecord> aggregate(List<TaskUsageRecord> records) {
// TODO implements
throw new UnsupportedOperationException();
}
} }

View File

@ -19,7 +19,7 @@ public class ResourceAccounting {
} }
@Deprecated @Deprecated
public void sendAccountingMessage(RawUsageRecord message){ public void sendAccountingMessage(@SuppressWarnings("rawtypes") RawUsageRecord message){
persistence.account(message); persistence.account(message);
} }