Search in sources :

Example 26 with Entity

use of com.qcadoo.model.api.Entity in project qcadoo by qcadoo.

the class PriorityServiceImpl method getCriteria.

private Criteria getCriteria(final InternalDataDefinition dataDefinition, final FieldDefinition fieldDefinition, final Object databaseEntity) {
    Criteria criteria = hibernateService.getCurrentSession().createCriteria(dataDefinition.getClassForEntity());
    FieldDefinition scopeFieldDefinition = getScopeForPriority(fieldDefinition);
    if (scopeFieldDefinition != null) {
        Object scopeValue = entityService.getField(databaseEntity, scopeFieldDefinition);
        if (scopeValue instanceof Entity) {
            criteria.add(Restrictions.eq(scopeFieldDefinition.getName() + ".id", ((Entity) scopeValue).getId()));
        } else {
            criteria.add(Restrictions.eq(scopeFieldDefinition.getName(), scopeValue));
        }
    }
    return criteria;
}
Also used : Entity(com.qcadoo.model.api.Entity) FieldDefinition(com.qcadoo.model.api.FieldDefinition) Criteria(org.hibernate.Criteria)

Example 27 with Entity

use of com.qcadoo.model.api.Entity in project qcadoo by qcadoo.

the class ValidationServiceImpl method parseBelongsToField.

private Object parseBelongsToField(final InternalFieldDefinition fieldDefinition, final Object value, final Entity validatedEntity) {
    Entity referencedEntity = null;
    if (value != null) {
        Long referencedEntityId = null;
        if (value instanceof String) {
            try {
                referencedEntityId = Long.valueOf((String) value);
            } catch (NumberFormatException e) {
                validatedEntity.addError(fieldDefinition, "qcadooView.validate.field.error.wrongType", value.getClass().getSimpleName(), fieldDefinition.getType().getType().getSimpleName());
            }
        } else if (value instanceof Long) {
            referencedEntityId = (Long) value;
        } else if (value instanceof Integer) {
            referencedEntityId = Long.valueOf((Integer) value);
        } else if (value instanceof Entity) {
            referencedEntityId = ((Entity) value).getId();
        } else {
            validatedEntity.addError(fieldDefinition, "qcadooView.validate.field.error.wrongType", value.getClass().getSimpleName(), fieldDefinition.getType().getType().getSimpleName());
        }
        if (referencedEntityId != null) {
            BelongsToType belongsToFieldType = (BelongsToType) fieldDefinition.getType();
            referencedEntity = belongsToFieldType.getDataDefinition().get(referencedEntityId);
        }
    }
    return referencedEntity;
}
Also used : Entity(com.qcadoo.model.api.Entity)

Example 28 with Entity

use of com.qcadoo.model.api.Entity in project qcadoo by qcadoo.

the class DataAccessServiceGetTest method shouldGetHasManyField.

@Test
public void shouldGetHasManyField() throws Exception {
    // given
    SampleParentDatabaseObject parentDatabaseObject = new SampleParentDatabaseObject();
    parentDatabaseObject.setId(1L);
    parentDatabaseObject.setName("Mr T");
    given(session.get(any(Class.class), Matchers.anyInt())).willReturn(parentDatabaseObject);
    // when
    Entity entity = parentDataDefinition.get(1L);
    // then
    assertEquals(1L, entity.getId().longValue());
    assertEquals("Mr T", entity.getField("name"));
    assertThat(entity.getField("entities"), CoreMatchers.instanceOf(EntityListImpl.class));
    EntityList entities = entity.getHasManyField("entities");
    assertEquals(1L, getField(entities, "parentId"));
    assertEquals("belongsTo", ((FieldDefinition) getField(entities, "joinFieldDefinition")).getName());
    assertEquals("simple.entity", ((DataDefinition) getField(entities, "dataDefinition")).getName());
}
Also used : Entity(com.qcadoo.model.api.Entity) SampleParentDatabaseObject(com.qcadoo.model.beans.sample.SampleParentDatabaseObject) EntityList(com.qcadoo.model.api.EntityList) Test(org.junit.Test)

Example 29 with Entity

use of com.qcadoo.model.api.Entity in project qcadoo by qcadoo.

the class DataAccessServiceGetTest method shouldReturnNullIfEntityNotFound.

public void shouldReturnNullIfEntityNotFound() throws Exception {
    // given
    dataDefinition.setFullyQualifiedClassName(SampleSimpleDatabaseObject.class.getCanonicalName());
    given(criteria.uniqueResult()).willReturn(null);
    // when
    Entity entity = dataDefinition.get(1L);
    // then
    assertNull(entity);
}
Also used : Entity(com.qcadoo.model.api.Entity) SampleSimpleDatabaseObject(com.qcadoo.model.beans.sample.SampleSimpleDatabaseObject)

Example 30 with Entity

use of com.qcadoo.model.api.Entity in project qcadoo by qcadoo.

the class DataAccessServiceSaveTest method shouldSaveNewEntity.

@Test
public void shouldSaveNewEntity() throws Exception {
    // given
    Entity entity = new DefaultEntity(dataDefinition);
    entity.setField("name", "Mr T");
    entity.setField("age", 66);
    SampleSimpleDatabaseObject databaseObject = new SampleSimpleDatabaseObject();
    databaseObject.setName("Mr T");
    databaseObject.setAge(66);
    // when
    entity = dataDefinition.save(entity);
    // then
    verify(session).save(databaseObject);
    assertTrue(entity.isValid());
}
Also used : Entity(com.qcadoo.model.api.Entity) SampleSimpleDatabaseObject(com.qcadoo.model.beans.sample.SampleSimpleDatabaseObject) Test(org.junit.Test)

Aggregations

Entity (com.qcadoo.model.api.Entity)2833 FormComponent (com.qcadoo.view.api.components.FormComponent)514 Test (org.junit.Test)491 BigDecimal (java.math.BigDecimal)376 DataDefinition (com.qcadoo.model.api.DataDefinition)337 FieldComponent (com.qcadoo.view.api.components.FieldComponent)210 LookupComponent (com.qcadoo.view.api.components.LookupComponent)188 Date (java.util.Date)185 List (java.util.List)149 GridComponent (com.qcadoo.view.api.components.GridComponent)141 Map (java.util.Map)124 Autowired (org.springframework.beans.factory.annotation.Autowired)114 Service (org.springframework.stereotype.Service)112 SearchCriteriaBuilder (com.qcadoo.model.api.search.SearchCriteriaBuilder)105 Transactional (org.springframework.transaction.annotation.Transactional)101 DefaultEntity (com.qcadoo.model.internal.DefaultEntity)100 DataDefinitionService (com.qcadoo.model.api.DataDefinitionService)95 Collectors (java.util.stream.Collectors)87 Lists (com.google.common.collect.Lists)75 SampleSimpleDatabaseObject (com.qcadoo.model.beans.sample.SampleSimpleDatabaseObject)75