Search in sources :

Example 46 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class EntityValidator method validateEntityComboboxFieldsSelectionTypesChanges.

private void validateEntityComboboxFieldsSelectionTypesChanges(EntityDraft draft) {
    Entity parent = draft.getParentEntity();
    Map<String, Boolean> changedFields = ComboboxHelper.comboboxesWithChangedSelectionType(parent.getComboboxFields(), draft.getComboboxFields());
    for (Map.Entry<String, Boolean> field : changedFields.entrySet()) {
        validateField(parent, field);
    }
}
Also used : Entity(org.motechproject.mds.domain.Entity) HashMap(java.util.HashMap) Map(java.util.Map)

Example 47 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class ActionHandlerServiceImpl method create.

@Override
public void create(Map<String, Object> parameters) throws ActionHandlerException {
    LOGGER.debug("Action CREATE: params: {}", parameters);
    String entityClassName = getEntityClassName(parameters);
    MotechDataService dataService = getEntityDataService(entityClassName);
    Entity entity = getEntity(entityClassName);
    Object instance = createEntityInstance(dataService);
    setInstanceProperties(instance, entity.getFields(), parameters);
    dataService.create(instance);
}
Also used : Entity(org.motechproject.mds.domain.Entity) MotechDataService(org.motechproject.mds.service.MotechDataService)

Example 48 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class ActionHandlerServiceImpl method createOrUpdate.

@Override
public void createOrUpdate(Map<String, Object> parameters) throws ActionHandlerException {
    LOGGER.debug("Action CREATE OR UPDATE: params {}", parameters);
    String entityClassName = getEntityClassName(parameters);
    MotechDataService dataService = getEntityDataService(entityClassName);
    Entity entity = getEntity(entityClassName);
    Long instanceId = getInstanceId(parameters, false);
    Object instance = createEntityInstance(dataService);
    PropertyUtil.safeSetProperty(instance, Constants.Util.ID_FIELD_NAME, instanceId);
    setInstanceProperties(instance, entity.getFields(), parameters);
    dataService.createOrUpdate(instance);
}
Also used : Entity(org.motechproject.mds.domain.Entity) MotechDataService(org.motechproject.mds.service.MotechDataService)

Example 49 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class ActionHandlerServiceImpl method update.

@Override
public void update(Map<String, Object> parameters) throws ActionHandlerException {
    LOGGER.debug("Action UPDATE: params: {}", parameters);
    String entityClassName = getEntityClassName(parameters);
    MotechDataService dataService = getEntityDataService(entityClassName);
    Entity entity = getEntity(entityClassName);
    Long instanceId = getInstanceId(parameters, true);
    Object instance = retrieveEntityInstance(dataService, instanceId);
    setInstanceProperties(instance, entity.getFields(), parameters);
    dataService.update(instance);
}
Also used : Entity(org.motechproject.mds.domain.Entity) MotechDataService(org.motechproject.mds.service.MotechDataService)

Example 50 with Entity

use of org.motechproject.mds.domain.Entity in project motech by motech.

the class AllEntityDraftsContextIT method shouldCreateAndDeleteDrafts.

@Test
public void shouldCreateAndDeleteDrafts() {
    EntityDto dto = new EntityDto();
    dto.setClassName("DraftCls");
    Entity entity = allEntities.create(dto);
    allEntityDrafts.create(entity, USERNAME);
    allEntityDrafts.create(entity, USERNAME_2);
    EntityDraft draft = allEntityDrafts.retrieve(entity, USERNAME);
    assertNotNull(draft);
    assertEquals("DraftCls", draft.getClassName());
    assertEquals(USERNAME, draft.getDraftOwnerUsername());
    draft = allEntityDrafts.retrieve(entity, USERNAME_2);
    assertNotNull(draft);
    assertEquals("DraftCls", draft.getClassName());
    assertEquals(USERNAME_2, draft.getDraftOwnerUsername());
    assertNull(allEntityDrafts.retrieve(entity, "otherUser"));
    allEntityDrafts.deleteAll(entity);
    assertTrue(allEntityDrafts.retrieveAll(entity).isEmpty());
    assertNull(allEntityDrafts.retrieve(entity, USERNAME));
    assertNull(allEntityDrafts.retrieve(entity, USERNAME_2));
}
Also used : EntityDto(org.motechproject.mds.dto.EntityDto) Entity(org.motechproject.mds.domain.Entity) EntityDraft(org.motechproject.mds.domain.EntityDraft) Test(org.junit.Test)

Aggregations

Entity (org.motechproject.mds.domain.Entity)97 Test (org.junit.Test)35 Field (org.motechproject.mds.domain.Field)33 MdsEntity (org.motechproject.mds.domain.MdsEntity)32 MdsVersionedEntity (org.motechproject.mds.domain.MdsVersionedEntity)32 Transactional (org.springframework.transaction.annotation.Transactional)32 ArrayList (java.util.ArrayList)14 Lookup (org.motechproject.mds.domain.Lookup)12 UserPreferences (org.motechproject.mds.domain.UserPreferences)8 Type (org.motechproject.mds.domain.Type)7 AllUserPreferences (org.motechproject.mds.repository.internal.AllUserPreferences)7 EntityDto (org.motechproject.mds.dto.EntityDto)6 LookupFieldDto (org.motechproject.mds.dto.LookupFieldDto)6 HashMap (java.util.HashMap)5 FieldDto (org.motechproject.mds.dto.FieldDto)5 HashSet (java.util.HashSet)4 EntityDraft (org.motechproject.mds.domain.EntityDraft)4 MotechDataService (org.motechproject.mds.service.MotechDataService)4 Query (javax.jdo.Query)3 FieldSetting (org.motechproject.mds.domain.FieldSetting)3