List of usage examples for org.springframework.beans BeanUtils copyProperties
public static void copyProperties(Object source, Object target, String... ignoreProperties) throws BeansException
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", " ")); 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); }