/** * */ package org.gcube.accounting.datamodel.backwardcompatibility; import java.io.Serializable; import org.gcube.accounting.datamodel.RawUsageRecord; import org.gcube.accounting.datamodel.UsageRecord; import org.gcube.accounting.datamodel.decorators.FieldAction; import org.gcube.documentstore.exception.InvalidValueException; @SuppressWarnings("deprecation") public class MoveToUsageRecordTypeAction implements FieldAction { @Override public Comparable validate(String key, Comparable value, UsageRecord usageRecord) throws InvalidValueException { if(value instanceof String){ String newValue = RawUsageRecord.resourceTypeMapping.get(value); if(newValue == null){ throw new InvalidValueException(); } usageRecord.setResourceProperty(RawUsageRecord.USAGE_RECORD_TYPE, newValue); }else{ throw new InvalidValueException(); } return value; } }