PsaDeliveryResolver.java
package esa.bscs.pds4.packager.resolver;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import org.springframework.beans.factory.annotation.Autowired;
public class PsaDeliveryResolver implements DeliveryResolver {
@Autowired(required=true)
private TimeResolver timeResolver;
@Override
public String getBaseName(String bundleId) {
if(bundleId == null) {
throw new IllegalArgumentException();
}
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss");
final String source = "bc";
final String target = "psa";
final String type = "P";
final String action = "I";
final String priorityFlag = "0";
final String geometryFlag = "1";
final String descriptor = bundleId;
final String deliveryDate = formatter.format(LocalDateTime.ofInstant(timeResolver.currentInstant(), ZoneId.of("UTC")));
return source + target + "-" + "pds4" + "-" + type + action + "-" + priorityFlag + geometryFlag + "-" + descriptor + "-" + deliveryDate;
}
}