use of org.folio.holdingsiq.model.VendorById in project mod-kb-ebsco-java by folio-org.
the class PackageConverter method convert.
@Override
public Package convert(@NonNull PackageResult result) {
PackageByIdData packageByIdData = result.getPackageData();
Titles titles = result.getTitles();
VendorById vendor = result.getVendor();
AccessType accessType = result.getAccessType();
Package packageData = new Package().withData(packageCollectionItemConverter.convert(packageByIdData)).withJsonapi(RestConstants.JSONAPI);
packageData.getData().withRelationships(createEmptyPackageRelationship()).withType(PACKAGES_TYPE).getAttributes().withProxy(convertToProxy(packageByIdData.getProxy())).withPackageToken(tokenInfoConverter.convert(packageByIdData.getPackageToken())).withTags(result.getTags());
if (titles != null) {
packageData.getData().withRelationships(new PackageRelationship().withResources(new HasManyRelationship().withMeta(new MetaDataIncluded().withIncluded(true)).withData(convertResourcesRelationship(packageByIdData, titles))));
packageData.getIncluded().addAll(resourcesConverter.convert(titles).getData());
}
if (vendor != null) {
packageData.getIncluded().add(vendorConverter.convert(vendor).getData());
packageData.getData().getRelationships().withProvider(new HasOneRelationship().withData(new RelationshipData().withId(String.valueOf(vendor.getVendorId())).withType(PROVIDERS_TYPE)));
}
if (accessType != null) {
packageData.getIncluded().add(accessType);
packageData.getData().getRelationships().withAccessType(new HasOneRelationship().withData(new RelationshipData().withId(accessType.getId()).withType(AccessType.Type.ACCESS_TYPES.value())).withMeta(new MetaDataIncluded().withIncluded(true)));
}
return packageData;
}
use of org.folio.holdingsiq.model.VendorById in project mod-kb-ebsco-java by folio-org.
the class ResourceResultConverter method convert.
@Override
public List<Resource> convert(@NonNull ResourceResult resourceResult) {
org.folio.holdingsiq.model.Title rmapiTitle = resourceResult.getTitle();
PackageByIdData packageData = resourceResult.getPackageData();
VendorById vendor = resourceResult.getVendor();
AccessType accessType = resourceResult.getAccessType();
boolean includeTitle = resourceResult.isIncludeTitle();
List<CustomerResources> customerResourcesList = rmapiTitle.getCustomerResourcesList();
boolean titleHasSelectedResources = matchesAny(customerResourcesList, CustomerResources::getIsSelected);
return mapItems(customerResourcesList, resource -> {
Resource resultResource = new org.folio.rest.jaxrs.model.Resource().withData(new ResourceCollectionItem().withId(resource.getVendorId() + "-" + resource.getPackageId() + "-" + resource.getTitleId()).withType(ResourceCollectionItem.Type.RESOURCES).withAttributes(commonResourceConverter.createResourceDataAttributes(rmapiTitle, resource)).withRelationships(createEmptyRelationship())).withIncluded(null).withJsonapi(RestConstants.JSONAPI);
resultResource.getData().getAttributes().setTitleHasSelectedResources(titleHasSelectedResources);
resultResource.setIncluded(new ArrayList<>());
if (includeTitle) {
includeTitle(rmapiTitle, resultResource);
}
if (vendor != null) {
includeVendor(vendor, resultResource);
}
if (packageData != null) {
includePackage(packageData, resultResource);
}
if (accessType != null) {
includeAccessType(accessType, resultResource);
}
return resultResource;
});
}
use of org.folio.holdingsiq.model.VendorById in project mod-kb-ebsco-java by folio-org.
the class ProviderConverter method convert.
@Override
public Provider convert(@NonNull VendorResult result) {
VendorById vendor = result.getVendor();
org.folio.holdingsiq.model.Packages packages = result.getPackages();
TokenInfo vendorToken = vendor.getVendorByIdToken();
Provider provider = new Provider().withData(new ProviderData().withId(String.valueOf(vendor.getVendorId())).withType(PROVIDERS_TYPE).withAttributes(new ProviderGetDataAttributes().withName(vendor.getVendorName()).withPackagesTotal(vendor.getPackagesTotal()).withPackagesSelected(vendor.getPackagesSelected()).withSupportsCustomPackages(vendor.isCustomer()).withProviderToken(tokenInfoConverter.convert(vendorToken)).withProxy(new Proxy().withId(vendor.getProxy().getId()).withInherited(vendor.getProxy().getInherited())).withTags(result.getTags())).withRelationships(createEmptyProviderRelationships())).withJsonapi(RestConstants.JSONAPI);
if (packages != null) {
provider.withIncluded(packagesConverter.convert(packages).getData()).getData().withRelationships(new Relationships().withPackages(new Packages().withMeta(new MetaDataIncluded().withIncluded(true)).withData(convertPackagesRelationship(packages))));
}
return provider;
}
Aggregations