use of org.hisp.dhis.attribute.AttributeValue in project dhis2-core by dhis2.
the class DataElementStoreTest method testAttributeValueFromAttribute.
@Test
public void testAttributeValueFromAttribute() throws NonUniqueAttributeValueException {
Attribute attribute = new Attribute("test", ValueType.TEXT);
attribute.setDataElementAttribute(true);
attributeService.addAttribute(attribute);
DataElement dataElementA = createDataElement('A');
DataElement dataElementB = createDataElement('B');
DataElement dataElementC = createDataElement('C');
dataElementStore.save(dataElementA);
dataElementStore.save(dataElementB);
dataElementStore.save(dataElementC);
AttributeValue attributeValueA = new AttributeValue("SOME VALUE", attribute);
AttributeValue attributeValueB = new AttributeValue("SOME VALUE", attribute);
AttributeValue attributeValueC = new AttributeValue("ANOTHER VALUE", attribute);
attributeService.addAttributeValue(dataElementA, attributeValueA);
attributeService.addAttributeValue(dataElementB, attributeValueB);
attributeService.addAttributeValue(dataElementC, attributeValueC);
dataElementStore.update(dataElementA);
dataElementStore.update(dataElementB);
dataElementStore.update(dataElementC);
List<AttributeValue> values = dataElementStore.getAttributeValueByAttribute(attribute);
assertEquals(3, values.size());
}
use of org.hisp.dhis.attribute.AttributeValue in project dhis2-core by dhis2.
the class IdentifiableObjectBundleHook method handleAttributeValues.
private void handleAttributeValues(IdentifiableObject identifiableObject, ObjectBundle bundle, Schema schema) {
Session session = sessionFactory.getCurrentSession();
if (!schema.havePersistedProperty("attributeValues"))
return;
Iterator<AttributeValue> iterator = identifiableObject.getAttributeValues().iterator();
while (iterator.hasNext()) {
AttributeValue attributeValue = iterator.next();
// if value null or empty, just skip it
if (StringUtils.isEmpty(attributeValue.getValue())) {
iterator.remove();
continue;
}
Attribute attribute = bundle.getPreheat().get(bundle.getPreheatIdentifier(), attributeValue.getAttribute());
if (attribute == null) {
iterator.remove();
continue;
}
attributeValue.setAttribute(attribute);
session.save(attributeValue);
session.flush();
}
}
Aggregations