Example usage for org.apache.commons.lang BooleanUtils xor

List of usage examples for org.apache.commons.lang BooleanUtils xor

Introduction

In this page you can find the example usage for org.apache.commons.lang BooleanUtils xor.

Prototype

public static Boolean xor(Boolean[] array) 

Source Link

Document

Performs an xor on an array of Booleans.

 BooleanUtils.xor(new Boolean[] { Boolean.TRUE, Boolean.TRUE })   = Boolean.FALSE BooleanUtils.xor(new Boolean[] { Boolean.FALSE, Boolean.FALSE }) = Boolean.FALSE BooleanUtils.xor(new Boolean[] { Boolean.TRUE, Boolean.FALSE })  = Boolean.TRUE 

Usage

From source file:com.marand.thinkmed.medications.dao.hibernate.HibernateMedicationsDao.java

@Override
public long saveTherapyTemplate(final TherapyTemplateDto templateDto,
        final TherapyTemplateModeEnum templateMode, final String userId) {
    Preconditions.checkArgument(BooleanUtils.xor(new Boolean[] { templateDto.getCareProviderId() != null,
            templateDto.getType() == TherapyTemplateTypeEnum.USER, templateDto.getPatientId() != null }));

    if (templateDto.getId() > 0L) {
        deleteTherapyTemplate(templateDto.getId(), templateDto.getVersion());
    }//from  ww w  . j a v  a 2s.  com

    final TherapyTemplate template = new TherapyTemplateImpl();
    template.setName(templateDto.getName());
    template.setType(templateDto.getType());
    template.setUserId(templateDto.getUserId());
    template.setPatientId(templateDto.getPatientId());
    template.setCareProviderId(templateDto.getCareProviderId());
    template.setTemplateMode(templateMode);

    if (templateDto.getType() == TherapyTemplateTypeEnum.USER) {
        template.setUserId(userId);
    }

    getHibernateTemplate().save(template);

    for (final TherapyTemplateElementDto templateElementDto : templateDto.getTemplateElements()) {
        final TherapyTemplateElement element = new TherapyTemplateElementImpl();
        final TherapyDto therapyDto = templateElementDto.getTherapy();
        element.setTherapy(JsonUtil.toJson(therapyDto));
        element.setCompleted(templateElementDto.isCompleted());
        element.setTherapyTemplate(template);
        getHibernateTemplate().save(element);
    }
    return template.getId();
}