Example usage for org.springframework.beans BeanUtils copyProperties

List of usage examples for org.springframework.beans BeanUtils copyProperties

Introduction

In this page you can find the example usage for org.springframework.beans BeanUtils copyProperties.

Prototype

public static void copyProperties(Object source, Object target, String... ignoreProperties)
        throws BeansException 

Source Link

Document

Copy the property values of the given source bean into the given target bean, ignoring the given "ignoreProperties".

Usage

From source file:org.kuali.rice.krad.datadictionary.DataDictionaryEntryBase.java

/**
 * copy an attribute definition/*w  ww.j a  va 2  s  .  co m*/
 *
 * @param attrDefToCopy - the attribute to create a copy of
 * @return a copy of the attribute
 */
private AttributeDefinition copyAttributeDefinition(AttributeDefinition attrDefToCopy) {
    AttributeDefinition attrDefCopy = new AttributeDefinition();

    try {
        BeanUtils.copyProperties(attrDefToCopy, attrDefCopy, new String[] { "formatterClass" });

        //BeanUtils doesn't copy properties w/o "get" read methods, manually copy those here
        attrDefCopy.setRequired(attrDefToCopy.isRequired());

    } catch (Exception e) {
        LOG.warn("Problem copying properties from attribute definition: " + attrDefToCopy, e);
    }

    return attrDefCopy;
}

From source file:org.kuali.rice.krms.service.impl.RuleViewHelperServiceImpl.java

/**
 * Used when the user clicked the copy button. It creates a new copy of the proposition with all the related
 * compound propositions./*from   w  ww  .  j  a v  a 2s.com*/
 * <p/>
 * The compound propositions is handled recursively.
 *
 * @param oldProposition
 * @return
 */
protected PropositionEditor copyPropositionEditor(PropositionEditor oldProposition) {
    PropositionEditor newProposition;
    try {
        newProposition = this.getPropositionEditorClass().newInstance();
    } catch (Exception e) {
        newProposition = new PropositionEditor();
    }
    BeanUtils.copyProperties(oldProposition, newProposition,
            new String[] { "key", "id", "term", "parameters", "versionNumber" });

    if (!oldProposition.getPropositionTypeCode().equals("C")) {
        List<PropositionParameterEditor> propositionParameterEditors = new ArrayList<PropositionParameterEditor>();
        for (PropositionParameterEditor parm : oldProposition.getParameters()) {
            PropositionParameterEditor newParm = new PropositionParameterEditor();
            BeanUtils.copyProperties(parm, newParm, new String[] { "termValue", "id", "versionNumber" });
            propositionParameterEditors.add(newParm);
        }

        newProposition.setParameters(propositionParameterEditors);

        TermEditor termEditor = new TermEditor();
        List<TermParameterEditor> termParameterEditors = new ArrayList<TermParameterEditor>();
        if (oldProposition.getTerm() != null) {
            BeanUtils.copyProperties(oldProposition.getTerm(), termEditor,
                    new String[] { "id", "versionNumber", "parameters" });
            for (TermParameterEditor termParm : oldProposition.getTerm().getEditorParameters()) {
                TermParameterEditor newTermParm = new TermParameterEditor();
                BeanUtils.copyProperties(termParm, newTermParm, new String[] { "id", "versionNumber" });
                termParameterEditors.add(newTermParm);
            }
        }
        termEditor.setParameters(termParameterEditors);

        newProposition.setTerm(termEditor);
        this.resetDescription(newProposition);
    }

    if (newProposition.getCompoundEditors() != null) {
        List<PropositionEditor> props = new ArrayList<PropositionEditor>();
        for (PropositionEditor prop : newProposition.getCompoundEditors()) {
            props.add(this.copyPropositionEditor(prop));
        }
        newProposition.setCompoundEditors(props);
    }

    return newProposition;
}

From source file:org.lexevs.dao.database.utility.DaoUtility.java

public static void updateBean(final Object changes, Object beanToUpdate) {
    final String asReferenceSuffix = "AsReference";

    final List<String> nullProperties = new ArrayList<String>();

    ReflectionUtils.doWithFields(changes.getClass(), new FieldCallback() {

        @Override//  w w w  .j a  v a 2s  . c  om
        public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException {
            field.setAccessible(true);
            Object value = field.get(changes);
            if (value == null) {
                nullProperties.add(removeLeadingUnderscore(field.getName()));
            }
            if (value instanceof Collection && ((Collection<?>) value).size() == 0) {
                nullProperties.add(removeTrailingList(removeLeadingUnderscore(field.getName())));
                nullProperties
                        .add(removeTrailingList(removeLeadingUnderscore(field.getName())) + asReferenceSuffix);
            }
        }
    });

    BeanUtils.copyProperties(changes, beanToUpdate, nullProperties.toArray(new String[nullProperties.size()]));
}

From source file:org.lightadmin.core.web.ApplicationController.java

private Object cloneEntityOfDomain(String entityId, String domainTypeName) {
    DomainTypeAdministrationConfiguration domainTypeConfiguration = configuration.forEntityName(domainTypeName);
    DynamicJpaRepository repository = domainTypeConfiguration.getRepository();

    PersistentEntity persistentEntity = domainTypeConfiguration.getPersistentEntity();
    Serializable id = (Serializable) conversionService.convert(entityId,
            persistentEntity.getIdProperty().getActualType());

    Object found = repository.findOne(id);
    if (found != null) {
        try {//from www.  j av  a  2 s .c  o  m
            Object newInstance = null;
            if (found instanceof CloneableEntity) {
                newInstance = CloneableEntity.class.cast(found).clone();
            } else {
                newInstance = domainTypeConfiguration.getDomainType().newInstance();

                BeanUtils.copyProperties(found, newInstance, persistentEntity.getIdProperty().getName());

                PropertyDescriptor[] propertyDescriptors = PropertyUtils.getPropertyDescriptors(newInstance);

                for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {

                    if (propertyDescriptor.getReadMethod() != null
                            && propertyDescriptor.getWriteMethod() != null) {
                        Object value = propertyDescriptor.getReadMethod().invoke(newInstance);

                        Object newValue = null;
                        try {
                            if (value instanceof SortedSet) {
                                newValue = new TreeSet(SortedSet.class.cast(value));
                            } else if (value instanceof Set) {
                                newValue = new HashSet(Set.class.cast(value));
                            } else if (value instanceof SortedMap) {
                                newValue = new TreeMap(SortedMap.class.cast(value));
                            } else if (value instanceof Collection) {
                                newValue = new ArrayList(Collection.class.cast(value));
                            } else if (value instanceof Map) {
                                newValue = new HashMap(Map.class.cast(value));
                            }
                        } catch (Throwable t) {
                            if (logger.isWarnEnabled()) {
                                logger.warn("Can't clone " + propertyDescriptor.getName(), t);
                            }
                        }

                        if (newValue != null) {
                            propertyDescriptor.getWriteMethod().invoke(newInstance, newValue);
                        }
                    }

                }
            }

            Object saved = repository.saveAndFlush(newInstance);

            PersistentProperty idProperty = persistentEntity.getIdProperty();
            Field idField = idProperty.getField();
            idField.setAccessible(true);
            return idProperty.usePropertyAccess() ? idProperty.getGetter().invoke(saved) : idField.get(saved);
        } catch (Throwable t) {
            throw new RuntimeException(t);
        }
    } else {
        return null;
    }
}

From source file:org.oscarehr.common.web.ContactAction.java

public ActionForward saveContact(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) {/*from  ww  w.j a  v  a2 s. c  o  m*/

    if (!securityInfoManager.hasPrivilege(LoggedInInfo.getLoggedInInfoFromSession(request), "_demographic", "w",
            null)) {
        throw new SecurityException("missing required security object (_demographic)");
    }

    DynaValidatorForm dform = (DynaValidatorForm) form;
    Contact contact = (Contact) dform.get("contact");
    String id = request.getParameter("contact.id");
    if (id != null && id.length() > 0) {
        Contact savedContact = contactDao.find(Integer.parseInt(id));
        if (savedContact != null) {
            BeanUtils.copyProperties(contact, savedContact, new String[] { "id" });
            contactDao.merge(savedContact);
        }
    } else {
        contactDao.persist(contact);
    }
    return mapping.findForward("cForm");
}

From source file:org.oscarehr.common.web.ContactAction.java

public ActionForward saveProContact(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) {/*w ww.jav a 2  s. com*/
    DynaValidatorForm dform = (DynaValidatorForm) form;
    ProfessionalContact contact = (ProfessionalContact) dform.get("pcontact");

    String id = request.getParameter("pcontact.id");
    String demographicContactId = request.getParameter("demographicContactId");
    DemographicContact demographicContact = null;
    Integer contactType = null; // this needs to be null as there are -1 and 0 contact types
    String contactRole = "";

    if (!securityInfoManager.hasPrivilege(LoggedInInfo.getLoggedInInfoFromSession(request), "_demographic", "w",
            null)) {
        throw new SecurityException("missing required security object (_demographic)");
    }

    if (id != null && id.length() > 0) {

        logger.info("Editing a current Professional Contact with id " + contact.getId());

        // changes for the DemographicContact table
        if (StringUtils.isNumeric(demographicContactId)) {
            demographicContact = demographicContactDao.find(Integer.parseInt(demographicContactId));
            contactType = demographicContact.getType();
        }

        // changes for the ProfessionalSpecialist table
        if (DemographicContact.TYPE_PROFESSIONALSPECIALIST == contactType) {
            // convert from a ProfessionalContact to ProfessionalSpecialist            
            ProfessionalSpecialist professionalSpecialist = professionalSpecialistDao
                    .find(Integer.parseInt(id));

            String address = contact.getAddress().trim() + " " + contact.getAddress2().trim() + " "
                    + contact.getPostal().trim() + ", " + contact.getCity().trim() + ", "
                    + contact.getProvince().trim() + ", " + contact.getCountry().trim();

            professionalSpecialist.setStreetAddress(address);
            professionalSpecialist.setFirstName(contact.getFirstName());
            professionalSpecialist.setLastName(contact.getLastName());
            professionalSpecialist.setEmailAddress(contact.getEmail());
            professionalSpecialist.setPhoneNumber(contact.getWorkPhone());
            professionalSpecialist.setFaxNumber(contact.getFax());
            professionalSpecialist.setReferralNo(contact.getCpso());

            professionalSpecialistDao.merge(professionalSpecialist);

            // changes for the Contact table.
        } else {

            ProfessionalContact savedContact = proContactDao.find(Integer.parseInt(id));
            if (savedContact != null) {

                BeanUtils.copyProperties(contact, savedContact, new String[] { "id" });
                proContactDao.merge(savedContact);
                contactRole = savedContact.getSpecialty();
            }
        }

        // persist by default for new contacts.
    } else {

        logger.info("Saving a new Professional Contact with id " + contact.getId());

        proContactDao.persist(contact);

        contactRole = contact.getSpecialty();
        id = contact.getId() + "";

    }

    // slingshot the DemographicContact details back to the request.
    // the saveManage method is to difficult to re-engineer
    request.setAttribute("demographicContactId", demographicContactId);
    request.setAttribute("contactId", id);
    request.setAttribute("contactRole", contactRole);
    request.setAttribute("contactType", contactType);
    request.setAttribute("contactName", contact.getFormattedName());

    return mapping.findForward("pForm");
}

From source file:org.oscarehr.eyeform.web.EyeformAction.java

public ActionForward saveConRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    log.info("saveConRequest");
    ConsultationReportDao dao = (ConsultationReportDao) SpringUtils.getBean("consultationReportDao");

    DynaValidatorForm crForm = (DynaValidatorForm) form;
    EyeformConsultationReport cp = (EyeformConsultationReport) crForm.get("cp");
    EyeformConsultationReport consultReport = null;

    //Integer id=cp.getId();
    Integer id = null;//  w ww.j av a 2s.c  o m
    if (request.getParameter("cp.id") != null && request.getParameter("cp.id").trim().length() > 0)
        id = Integer.parseInt(request.getParameter("cp.id").trim());
    else
        id = cp.getId();

    if (id != null && id.intValue() > 0) {
        consultReport = dao.find(id);
    } else {
        consultReport = new EyeformConsultationReport();

    }
    //BeanUtils.copyProperties(cp, consultReport, new String[]{"id","demographic","provider"});         
    BeanUtils.copyProperties(cp, consultReport, new String[] { "id" });

    ProfessionalSpecialist professionalSpecialist = professionalSpecialistDao
            .getByReferralNo(cp.getReferralNo());
    if (professionalSpecialist != null)
        consultReport.setReferralId(professionalSpecialist.getId());

    consultReport.setDate(new Date());

    dao.merge(consultReport);

    request.setAttribute("cpId", consultReport.getId().toString());
    request.setAttribute("savedflag", "saved");
    //return prepareConReport(mapping, form, request, response);
    request.setAttribute("parentAjaxId", "conReport");
    return mapping.findForward("success");
}

From source file:org.oscarehr.eyeform.web.EyeformAction.java

public ActionForward printConRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    log.debug("printConreport");
    ConsultationReportDao dao = (ConsultationReportDao) SpringUtils.getBean("consultationReportDao");
    DynaValidatorForm crForm = (DynaValidatorForm) form;

    EyeformConsultationReport cp = (EyeformConsultationReport) crForm.get("cp");
    Demographic demographic = demographicDao.getClientByDemographicNo(cp.getDemographicNo());
    request.setAttribute("demographic", demographic);
    Appointment appointment = this.appointmentDao.find(cp.getAppointmentNo());

    EyeformConsultationReport consultReport = null;

    //String id = request.getParameter("cp.id");
    Integer id = null;//from w  ww .  j  a  v  a  2 s  . c o  m
    if (request.getParameter("cp.id") != null && request.getParameter("cp.id").trim().length() > 0)
        id = Integer.parseInt(request.getParameter("cp.id").trim());
    else
        id = cp.getId();

    if (id != null && id.intValue() > 0) {
        consultReport = dao.find(id);
        cp.setDate(consultReport.getDate());
    } else {
        consultReport = new EyeformConsultationReport();

    }
    //BeanUtils.copyProperties(cp, consultReport, new String[]{"id","demographic","provider"});         
    BeanUtils.copyProperties(cp, consultReport, new String[] { "id" });

    ProfessionalSpecialist professionalSpecialist = null;
    if (cp.getReferralId() > 0) {
        professionalSpecialist = professionalSpecialistDao.getById(cp.getReferralId());
    } else
        professionalSpecialist = professionalSpecialistDao.getByReferralNo(cp.getReferralNo());
    if (professionalSpecialist != null)
        consultReport.setReferralId(professionalSpecialist.getId());
    if (cp.getDate() == null) {
        consultReport.setDate(new Date());
    }
    /*
    if(cp.getId() != null && cp.getId()>0) {
    dao.merge(cp);
    } else {
    dao.persist(cp);
    }
    */
    dao.merge(consultReport);

    cp.setCc(divycc(cp.getCc()));
    cp.setClinicalInfo(divy(wrap(cp.getClinicalInfo(), 80)));
    cp.setClinicalInfo(cp.getClinicalInfo().replaceAll("\\s", "&nbsp;"));
    cp.setConcurrentProblems(divy(wrap(cp.getConcurrentProblems(), 80)));
    cp.setCurrentMeds(wrap(cp.getCurrentMeds(), 80));
    cp.setExamination(divy(wrap(cp.getExamination(), 80)));
    cp.setExamination(cp.getExamination().replaceAll("\n", ""));
    cp.setImpression(divy(wrap(cp.getImpression(), 80)));
    cp.setAllergies(divy(wrap(cp.getAllergies(), 80)));
    cp.setPlan(divy(wrap(cp.getPlan(), 80)));

    SimpleDateFormat sf = new SimpleDateFormat("MM/dd/yyyy");
    if (cp.getDate() != null)
        request.setAttribute("date", sf.format(cp.getDate()));
    else
        request.setAttribute("date", sf.format(new Date()));

    //         Billingreferral ref = billingreferralDao.getByReferralNo(String.valueOf(cp.getReferralId()));
    request.setAttribute("refer", professionalSpecialist);

    request.setAttribute("cp", cp);

    Provider internalProvider = null;
    if (demographic.getProviderNo() != null && !demographic.getProviderNo().equalsIgnoreCase("null")
            && demographic.getProviderNo().length() > 0) {

        internalProvider = providerDao.getProvider(demographic.getProviderNo());
        if (internalProvider != null) {
            request.setAttribute("internalDrName",
                    internalProvider.getFirstName() + " " + internalProvider.getLastName());
        } else {
            //            request.setAttribute("internalDrName", );
        }
    }

    String specialty = new String();
    String mdStr = new String();
    if (internalProvider != null)
        specialty = internalProvider.getSpecialty();
    if (specialty != null && !"".equalsIgnoreCase(specialty.trim())) {
        if ("MD".equalsIgnoreCase(specialty.substring(0, 2)))
            mdStr = "Dr.";
        specialty = ", " + specialty.trim();
    } else
        specialty = new String();
    request.setAttribute("specialty", specialty);

    Clinic clinic = clinicDao.getClinic();
    // prepare the satellite clinic address
    OscarProperties props = OscarProperties.getInstance();
    String sateliteFlag = "false";

    if (IsPropertiesOn.isMultisitesEnable()) {
        Site s = siteDao.getById(cp.getSiteId());
        clinic = new Clinic();
        clinic.setClinicName(s.getName());
        clinic.setClinicAddress(s.getAddress());
        clinic.setClinicCity(s.getCity());
        clinic.setClinicProvince(s.getProvince());
        clinic.setClinicPostal(s.getPostal());
        clinic.setClinicPhone(s.getPhone());
        clinic.setClinicFax(s.getFax());
    } else {
        if (props.getProperty("clinicSatelliteName") != null) {
            ArrayList<SatelliteClinic> clinicArr = getSateliteClinics(props);
            if (clinicArr.size() > 0) {
                sateliteFlag = "true";
                request.setAttribute("clinicArr", clinicArr);
                SatelliteClinic sc = clinicArr.get(0);
                clinic.setClinicName(sc.getClinicName());
                clinic.setClinicAddress(sc.getClinicAddress());
                clinic.setClinicCity(sc.getClinicCity());
                clinic.setClinicProvince(sc.getClinicProvince());
                clinic.setClinicPostal(sc.getClinicPostal());
                clinic.setClinicPhone(sc.getClinicPhone());
                clinic.setClinicFax(sc.getClinicFax());
            }
        }
    }

    request.setAttribute("sateliteFlag", sateliteFlag);
    request.setAttribute("clinic", clinic);
    request.setAttribute("appointDate", (appointment != null ? appointment.getAppointmentDate() : ""));

    if (appointment != null) {
        Provider apptProvider = providerDao.getProvider(appointment.getProviderNo());
        request.setAttribute("appointmentDoctor", apptProvider.getFormattedName());
    }

    return mapping.findForward("printReport");
}

From source file:org.oscarehr.PMmodule.caisi_integrator.CaisiIntegratorUpdateTask.java

private void pushDemographic(Facility facility, DemographicWs service, Integer demographicId,
        Integer facilityId) throws ShutdownException {
    DemographicTransfer demographicTransfer = new DemographicTransfer();

    // set demographic info
    Demographic demographic = demographicDao.getDemographicById(demographicId);

    String ignoreProperties[] = { "lastUpdateDate" };
    BeanUtils.copyProperties(demographic, demographicTransfer, ignoreProperties);

    demographicTransfer.setCaisiDemographicId(demographic.getDemographicNo());
    demographicTransfer.setBirthDate(demographic.getBirthDay());

    demographicTransfer.setHinType(demographic.getHcType());
    demographicTransfer.setHinVersion(demographic.getVer());
    demographicTransfer.setHinValidEnd(DateUtils.toGregorianCalendar(demographic.getHcRenewDate()));
    demographicTransfer.setHinValidStart(DateUtils.toGregorianCalendar(demographic.getEffDate()));
    demographicTransfer.setCaisiProviderId(demographic.getProviderNo());

    demographicTransfer.setStreetAddress(demographic.getAddress());
    demographicTransfer.setPhone1(demographic.getPhone());
    demographicTransfer.setPhone2(demographic.getPhone2());

    demographicTransfer.setLastUpdateDate(DateUtils.toGregorianCalendar(demographic.getLastUpdateDate()));

    try {//from   www .  j  a va  2  s  .c  o  m
        demographicTransfer.setGender(Gender.valueOf(demographic.getSex().toUpperCase()));
    } catch (Exception e) {
        // do nothing, for now gender is on a "good luck" what ever you
        // get is what you get basis until the whole gender mess is sorted.
    }

    // set image
    ClientImage clientImage = clientImageDAO.getClientImage(demographicId);
    if (clientImage != null) {
        demographicTransfer.setPhoto(clientImage.getImage_data());
        demographicTransfer.setPhotoUpdateDate(MiscUtils.toCalendar(clientImage.getUpdate_date()));
    }

    // set flag to remove demographic identity
    boolean rid = integratorControlDao.readRemoveDemographicIdentity(facilityId);
    demographicTransfer.setRemoveId(rid);

    // send the request
    service.setDemographic(demographicTransfer);
    throttleAndChecks();

    conformanceTestLog(facility, "Demographic", String.valueOf(demographicId));
}

From source file:org.oscarehr.ws.transfer_objects.FacilityTransfer.java

public static FacilityTransfer toTransfer(Facility facility) {
    if (facility == null)
        return (null);

    FacilityTransfer facilityTransfer = new FacilityTransfer();

    String[] ignores = { "lastUpdated" };
    BeanUtils.copyProperties(facility, facilityTransfer, ignores);

    return (facilityTransfer);
}