public ResourceTO getResourceTO(final ExternalResource resource) {
if (resource == null) {
return null;
}
ResourceTO resourceTO = new ResourceTO();
// set the resource name
resourceTO.setName(resource.getName());
// set the connector instance
ConnInstance connector = resource.getConnector();
resourceTO.setConnectorId(connector == null ? null : connector.getId());
resourceTO.setConnectorDisplayName(connector == null ? null : connector.getDisplayName());
// set the mappings
if (resource.getUmapping() != null) {
MappingTO mappingTO = new MappingTO();
resourceTO.setUmapping(mappingTO);
populateMappingTO(resource.getUmapping(), mappingTO);
}
if (resource.getRmapping() != null) {
MappingTO mappingTO = new MappingTO();
resourceTO.setRmapping(mappingTO);
populateMappingTO(resource.getRmapping(), mappingTO);
}
resourceTO.setEnforceMandatoryCondition(resource.isEnforceMandatoryCondition());
resourceTO.setPropagationPrimary(resource.isPropagationPrimary());
resourceTO.setPropagationPriority(resource.getPropagationPriority());
resourceTO.setRandomPwdIfNotProvided(resource.isRandomPwdIfNotProvided());
resourceTO.setPropagationMode(resource.getPropagationMode());
resourceTO.setCreateTraceLevel(resource.getCreateTraceLevel());
resourceTO.setUpdateTraceLevel(resource.getUpdateTraceLevel());
resourceTO.setDeleteTraceLevel(resource.getDeleteTraceLevel());
resourceTO.setSyncTraceLevel(resource.getSyncTraceLevel());
resourceTO.setPasswordPolicy(resource.getPasswordPolicy() == null
? null : resource.getPasswordPolicy().getId());
resourceTO.setAccountPolicy(resource.getAccountPolicy() == null
? null : resource.getAccountPolicy().getId());
resourceTO.setSyncPolicy(resource.getSyncPolicy() == null
? null : resource.getSyncPolicy().getId());
resourceTO.setConnectorConfigurationProperties(resource.getConnInstanceConfiguration());
resourceTO.setUsyncToken(resource.getUserializedSyncToken());
resourceTO.setRsyncToken(resource.getRserializedSyncToken());
resourceTO.setPropagationActionsClassName(resource.getPropagationActionsClassName());
return resourceTO;
}