use of de.metas.purchasecandidate.availability.AvailabilityResult.Type in project metasfresh-webui-api by metasfresh.
the class PurchaseRowId method fromJson.
private static final PurchaseRowId fromJson(@NonNull final String json, @Nullable final DocumentId documentId) {
final List<String> parts = PARTS_SPLITTER.splitToList(json);
final int partsCount = parts.size();
if (partsCount < 1 || partsCount == 4 || partsCount > 5) {
throw new AdempiereException("Invalid format: " + json);
}
try {
final int salesOrderLineId = Integer.parseInt(parts.get(0));
final int vendorBPartnerId = partsCount >= 2 ? Integer.parseInt(parts.get(1)) : -1;
final int processedPurchaseCandidateId = partsCount >= 3 ? Integer.parseInt(parts.get(2)) : -1;
final Type availabilityType = partsCount >= 4 ? Type.valueOf(parts.get(3)) : null;
final String availabilityDistinguisher = partsCount >= 5 ? parts.get(4) : null;
return PurchaseRowId.builder().salesOrderLineId(salesOrderLineId).vendorBPartnerId(vendorBPartnerId).processedPurchaseCandidateId(processedPurchaseCandidateId).availabilityType(availabilityType).availabilityDistinguisher(availabilityDistinguisher).build();
} catch (final Exception ex) {
throw new AdempiereException("Cannot convert '" + json + "' to " + PurchaseRowId.class, ex);
}
}
Aggregations