refs #3253: Couchdb does not support documents with object key starting with _
https://support.d4science.org/issues/3253 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/accounting/accounting-lib@128059 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
c9a03adfac
commit
7c07bee695
|
@ -18,7 +18,7 @@ public class MoveToConsumerIdAction implements FieldAction {
|
||||||
NotEmptyIfNotNullValidator neinnv = new NotEmptyIfNotNullValidator();
|
NotEmptyIfNotNullValidator neinnv = new NotEmptyIfNotNullValidator();
|
||||||
value = neinnv.validate(key, value, record);
|
value = neinnv.validate(key, value, record);
|
||||||
record.setResourceProperty(UsageRecord.CONSUMER_ID, (String) value);
|
record.setResourceProperty(UsageRecord.CONSUMER_ID, (String) value);
|
||||||
return null;
|
return null; //Returning null the initial key is removed from Record
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.accounting.datamodel.backwardcompatibility;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import org.gcube.documentstore.records.implementation.FieldDecorator;
|
||||||
|
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@FieldDecorator(action=MoveToJobWallDurationAction.class)
|
||||||
|
public @interface MoveToJobWallDuration { }
|
|
@ -0,0 +1,24 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.accounting.datamodel.backwardcompatibility;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import org.gcube.accounting.datamodel.usagerecords.JobUsageRecord;
|
||||||
|
import org.gcube.documentstore.exception.InvalidValueException;
|
||||||
|
import org.gcube.documentstore.records.Record;
|
||||||
|
import org.gcube.documentstore.records.implementation.FieldAction;
|
||||||
|
import org.gcube.documentstore.records.implementation.validations.validators.NotEmptyIfNotNullValidator;
|
||||||
|
|
||||||
|
public class MoveToJobWallDurationAction implements FieldAction {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Serializable validate(String key, Serializable value, Record record) throws InvalidValueException {
|
||||||
|
NotEmptyIfNotNullValidator neinnv = new NotEmptyIfNotNullValidator();
|
||||||
|
value = neinnv.validate(key, value, record);
|
||||||
|
record.setResourceProperty(JobUsageRecord.WALL_DURATION, (String) value);
|
||||||
|
return null; //Returning null the initial key is removed from Record
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -26,7 +26,7 @@ public class MoveToOperationResultAction implements FieldAction {
|
||||||
ValidOperationResultValidator vorv = new ValidOperationResultValidator();
|
ValidOperationResultValidator vorv = new ValidOperationResultValidator();
|
||||||
value = vorv.validate(key, value, record);
|
value = vorv.validate(key, value, record);
|
||||||
record.setResourceProperty(UsageRecord.OPERATION_RESULT, (OperationResult) value);
|
record.setResourceProperty(UsageRecord.OPERATION_RESULT, (OperationResult) value);
|
||||||
return null;
|
return null; //Returning null the initial key is removed from Record
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ public class MoveToRecordTypeAction implements FieldAction {
|
||||||
if(value instanceof String && value!= null && !((String) value).isEmpty()){
|
if(value instanceof String && value!= null && !((String) value).isEmpty()){
|
||||||
record.setResourceProperty(Record.RECORD_TYPE, value);
|
record.setResourceProperty(Record.RECORD_TYPE, value);
|
||||||
}
|
}
|
||||||
return null;
|
return null; //Returning null the initial key is removed from Record
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -24,7 +24,7 @@ public class MoveToTaskEndTimeAction implements FieldAction {
|
||||||
Serializable value, Record record)
|
Serializable value, Record record)
|
||||||
throws InvalidValueException {
|
throws InvalidValueException {
|
||||||
record.setResourceProperty(AbstractTaskUsageRecord.TASK_END_TIME, value);
|
record.setResourceProperty(AbstractTaskUsageRecord.TASK_END_TIME, value);
|
||||||
return null;
|
return null; //Returning null the initial key is removed from Record
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class MoveToTaskStartTimeAction implements FieldAction {
|
||||||
Serializable value, Record record)
|
Serializable value, Record record)
|
||||||
throws InvalidValueException {
|
throws InvalidValueException {
|
||||||
record.setResourceProperty(AbstractTaskUsageRecord.TASK_START_TIME, value);
|
record.setResourceProperty(AbstractTaskUsageRecord.TASK_START_TIME, value);
|
||||||
return null;
|
return null; //Returning null the initial key is removed from Record
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.accounting.datamodel.backwardcompatibility;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import org.gcube.documentstore.records.implementation.FieldDecorator;
|
||||||
|
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@FieldDecorator(action=MoveToTaskWallDurationAction.class)
|
||||||
|
public @interface MoveToTaskWallDuration { }
|
|
@ -0,0 +1,24 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package org.gcube.accounting.datamodel.backwardcompatibility;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import org.gcube.accounting.datamodel.usagerecords.TaskUsageRecord;
|
||||||
|
import org.gcube.documentstore.exception.InvalidValueException;
|
||||||
|
import org.gcube.documentstore.records.Record;
|
||||||
|
import org.gcube.documentstore.records.implementation.FieldAction;
|
||||||
|
import org.gcube.documentstore.records.implementation.validations.validators.NotEmptyIfNotNullValidator;
|
||||||
|
|
||||||
|
public class MoveToTaskWallDurationAction implements FieldAction {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Serializable validate(String key, Serializable value, Record record) throws InvalidValueException {
|
||||||
|
NotEmptyIfNotNullValidator neinnv = new NotEmptyIfNotNullValidator();
|
||||||
|
value = neinnv.validate(key, value, record);
|
||||||
|
record.setResourceProperty(TaskUsageRecord.WALL_DURATION, (String) value);
|
||||||
|
return null; //Returning null the initial key is removed from Record
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -8,6 +8,8 @@ import java.util.Calendar;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.accounting.datamodel.BasicUsageRecord;
|
import org.gcube.accounting.datamodel.BasicUsageRecord;
|
||||||
|
import org.gcube.accounting.datamodel.backwardcompatibility.MoveToJobWallDuration;
|
||||||
|
import org.gcube.accounting.datamodel.deprecationmanagement.DeprecatedWarning;
|
||||||
import org.gcube.documentstore.exception.InvalidValueException;
|
import org.gcube.documentstore.exception.InvalidValueException;
|
||||||
import org.gcube.documentstore.records.implementation.ComputedField;
|
import org.gcube.documentstore.records.implementation.ComputedField;
|
||||||
import org.gcube.documentstore.records.implementation.RequiredField;
|
import org.gcube.documentstore.records.implementation.RequiredField;
|
||||||
|
@ -38,8 +40,12 @@ public abstract class AbstractJobUsageRecord extends BasicUsageRecord {
|
||||||
public static final String JOB_START_TIME = "jobStartTime";
|
public static final String JOB_START_TIME = "jobStartTime";
|
||||||
@ValidLong
|
@ValidLong
|
||||||
public static final String JOB_END_TIME = "jobEndTime";
|
public static final String JOB_END_TIME = "jobEndTime";
|
||||||
|
|
||||||
|
@DeprecatedWarning @MoveToJobWallDuration
|
||||||
|
protected static final String _WALL_DURATION = "_wallDuration";
|
||||||
|
|
||||||
@RequiredField @ComputedField(action=CalculateJobWallDurationAction.class) @ValidLong
|
@RequiredField @ComputedField(action=CalculateJobWallDurationAction.class) @ValidLong
|
||||||
public static final String WALL_DURATION = "_wallDuration";
|
public static final String WALL_DURATION = "wallDuration";
|
||||||
|
|
||||||
public AbstractJobUsageRecord(){
|
public AbstractJobUsageRecord(){
|
||||||
super();
|
super();
|
||||||
|
|
|
@ -9,6 +9,9 @@ import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.gcube.accounting.datamodel.BasicUsageRecord;
|
import org.gcube.accounting.datamodel.BasicUsageRecord;
|
||||||
|
import org.gcube.accounting.datamodel.backwardcompatibility.MoveToConsumerId;
|
||||||
|
import org.gcube.accounting.datamodel.backwardcompatibility.MoveToTaskWallDuration;
|
||||||
|
import org.gcube.accounting.datamodel.deprecationmanagement.DeprecatedWarning;
|
||||||
import org.gcube.documentstore.exception.InvalidValueException;
|
import org.gcube.documentstore.exception.InvalidValueException;
|
||||||
import org.gcube.documentstore.records.implementation.ComputedField;
|
import org.gcube.documentstore.records.implementation.ComputedField;
|
||||||
import org.gcube.documentstore.records.implementation.RequiredField;
|
import org.gcube.documentstore.records.implementation.RequiredField;
|
||||||
|
@ -41,8 +44,12 @@ public abstract class AbstractTaskUsageRecord extends BasicUsageRecord {
|
||||||
public static final String TASK_START_TIME = "taskStartTime";
|
public static final String TASK_START_TIME = "taskStartTime";
|
||||||
@ValidLong
|
@ValidLong
|
||||||
public static final String TASK_END_TIME = "taskEndTime";
|
public static final String TASK_END_TIME = "taskEndTime";
|
||||||
|
|
||||||
|
@DeprecatedWarning @MoveToTaskWallDuration
|
||||||
|
protected static final String _WALL_DURATION = "_wallDuration";
|
||||||
|
|
||||||
@RequiredField @ComputedField(action=CalculateTaskWallDurationAction.class) @ValidLong
|
@RequiredField @ComputedField(action=CalculateTaskWallDurationAction.class) @ValidLong
|
||||||
public static final String WALL_DURATION = "_wallDuration";
|
public static final String WALL_DURATION = "wallDuration";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue