![JAR search and dependency download from the Maven repository](/logo.png)
org.openfact.models.utils.ModelToRepresentation Maven / Gradle / Ivy
package org.openfact.models.utils;
import org.openfact.common.util.MultivaluedHashMap;
import org.openfact.components.utils.ComponentUtil;
import org.openfact.events.admin.AdminEvent;
import org.openfact.events.admin.AuthDetails;
import org.openfact.models.*;
import org.openfact.component.ComponentModel;
import org.openfact.provider.ProviderConfigProperty;
import org.openfact.representations.idm.*;
import javax.ejb.Stateless;
import javax.inject.Inject;
import java.time.ZoneId;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Stateless
public class ModelToRepresentation {
@Inject
private ComponentUtil componentUtil;
public OrganizationRepresentation toRepresentation(OrganizationModel organization, boolean internal) {
/**
* General information
*/
OrganizationRepresentation rep = new OrganizationRepresentation();
rep.setId(organization.getId());
rep.setOrganization(organization.getName());
rep.setDescription(organization.getDescription());
rep.setEnabled(organization.isEnabled());
if (organization.getCreatedTimestamp() != null) {
rep.setCreatedTimestamp(Date.from(organization.getCreatedTimestamp().atZone(ZoneId.systemDefault()).toInstant()));
}
rep.setAdditionalAccountId(organization.getAdditionalAccountId());
rep.setAssignedIdentificationId(organization.getAssignedIdentificationId());
rep.setRegistrationName(organization.getRegistrationName());
rep.setSupplierName(organization.getSupplierName());
/**
* Postal address
*/
PostalAddressRepresentation postalAddressRep = new PostalAddressRepresentation();
postalAddressRep.setPostalAddressId(organization.getPostalAddressId());
postalAddressRep.setStreetName(organization.getStreetName());
postalAddressRep.setCitySubdivisionName(organization.getCitySubdivisionName());
postalAddressRep.setCityName(organization.getCityName());
postalAddressRep.setCountrySubentity(organization.getCountrySubentity());
postalAddressRep.setDistrict(organization.getDistrict());
postalAddressRep.setCountryIdentificationCode(organization.getCountryIdentificationCode());
rep.setPostalAddress(postalAddressRep);
/**
* Themes
*/
rep.setEmailTheme(organization.getEmailTheme());
rep.setReportTheme(organization.getReportTheme());
/**
* Internationalization
*/
rep.setInternationalizationEnabled(organization.isInternationalizationEnabled());
if (organization.getSupportedLocales() != null) {
rep.setSupportedLocales(new HashSet());
rep.getSupportedLocales().addAll(organization.getSupportedLocales());
}
rep.setDefaultLocale(organization.getDefaultLocale());
/**
* Tasks schedule
*/
rep.setTaskFirstTime(organization.getTaskFirstTime());
rep.setTaskDelay(organization.getTaskDelay());
rep.setTasksEnabled(organization.isTasksEnabled());
/**
* Currencies
*/
rep.setDefaultCurrency(organization.getDefaultCurrency());
if (organization.getSupportedCurrencies() != null) {
rep.setSupportedCurrencies(new HashSet());
rep.getSupportedCurrencies().addAll(organization.getSupportedCurrencies());
}
/**
* Events
*/
rep.setEventsEnabled(organization.isEventsEnabled());
if (organization.getEventsExpiration() != 0) {
rep.setEventsExpiration(organization.getEventsExpiration());
}
if (organization.getEventsListeners() != null) {
rep.setEventsListeners(new LinkedList(organization.getEventsListeners()));
}
if (organization.getEnabledEventTypes() != null) {
rep.setEnabledEventTypes(new LinkedList(organization.getEnabledEventTypes()));
}
rep.setAdminEventsEnabled(organization.isAdminEventsEnabled());
rep.setAdminEventsDetailsEnabled(organization.isAdminEventsDetailsEnabled());
/**
* Smtp server
*/
rep.setSmtpServer(new HashMap<>(organization.getSmtpConfig()));
/**
* Attributes
*/
rep.setAttributes(new HashMap<>(organization.getAttributes()));
if (internal) {
}
return rep;
}
public DocumentRepresentation toRepresentation(DocumentModel model, boolean includeLine) {
DocumentRepresentation rep = new DocumentRepresentation();
rep.setId(model.getId());
rep.setDocumentId(model.getDocumentId());
rep.setDocumentType(model.getDocumentType());
if (model.getCreatedTimestamp() != null) {
rep.setCreatedTimestamp(Date.from(model.getCreatedTimestamp().atZone(ZoneId.systemDefault()).toInstant()));
}
rep.setEnabled(model.isEnabled());
rep.setDocumentCurrencyCode(model.getDocumentCurrencyCode());
rep.setCustomerRegistrationName(model.getCustomerRegistrationName());
rep.setCustomerAssignedAccountId(model.getCustomerAssignedAccountId());
rep.setCustomerElectronicMail(model.getCustomerElectronicMail());
if (model.getAttributes() != null && !model.getAttributes().isEmpty()) {
Map> attrs = new HashMap<>();
attrs.putAll(model.getAttributes());
rep.setAttributes(attrs);
}
if (model.getRequiredActions() != null) {
rep.setRequiredActions(new HashSet());
rep.getRequiredActions().addAll(model.getRequiredActions());
}
Function attachedDocumentRepFunction = (documentModel) -> {
DocumentRepresentation documentRepresentation = new DocumentRepresentation();
documentRepresentation.setId(documentModel.getId());
documentRepresentation.setDocumentId(documentModel.getDocumentId());
documentRepresentation.setDocumentType(documentModel.getDocumentType());
return documentRepresentation;
};
if (model.getAttachedDocumentsAsOrigin() != null && !model.getAttachedDocumentsAsOrigin().isEmpty()) {
rep.setAttachedDocumentsAsOrigin(model.getAttachedDocumentsAsOrigin().stream().map(attachedDocumentRepFunction).collect(Collectors.toList()));
}
if (model.getAttachedDocumentsAsDestiny() != null && !model.getAttachedDocumentsAsDestiny().isEmpty()) {
rep.setAttachedDocumentsAsDestiny(model.getAttachedDocumentsAsDestiny().stream().map(attachedDocumentRepFunction).collect(Collectors.toList()));
}
if (includeLine) {
if (model.getDocumentLines() != null && !model.getDocumentLines().isEmpty()) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy