Search in sources :

Example 71 with Entity

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

the class AllEntities method create.

public Entity create(EntityDto dto) {
    Entity entity = new Entity();
    entity.setClassName(dto.getClassName());
    entity.setName(dto.getName());
    entity.setModule(dto.getModule());
    entity.setBundleSymbolicName(dto.getBundleSymbolicName());
    entity.setNamespace(dto.getNamespace());
    entity.setTableName(dto.getTableName());
    entity.setMaxFetchDepth(dto.getMaxFetchDepth());
    entity.setSecurityMode(dto.getSecurityMode());
    entity.setSecurityMembers(dto.getSecurityMembers());
    entity.setReadOnlySecurityMode(dto.getReadOnlySecurityMode());
    entity.setReadOnlySecurityMembers(dto.getReadOnlySecurityMembers());
    entity.setSuperClass(dto.getSuperClass());
    entity.setAbstractClass(dto.isAbstractClass());
    Tracking tracking = new Tracking();
    tracking.setEntity(entity);
    tracking.setRecordHistory(dto.isRecordHistory());
    entity.setTracking(tracking);
    return create(entity);
}
Also used : Entity(org.motechproject.mds.domain.Entity) Tracking(org.motechproject.mds.domain.Tracking)

Example 72 with Entity

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

the class AllEntities method getActualEntities.

public List<Entity> getActualEntities() {
    List<Entity> entities = new ArrayList<>(retrieveAll());
    CollectionUtils.filter(entities, new Predicate() {

        @Override
        public boolean evaluate(Object object) {
            Entity entity = (Entity) object;
            return entity.isActualEntity();
        }
    });
    return entities;
}
Also used : Entity(org.motechproject.mds.domain.Entity) ArrayList(java.util.ArrayList) Predicate(org.apache.commons.collections.Predicate)

Example 73 with Entity

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

the class HistoryServiceTest method shouldCreateNewRecord.

@Test
public void shouldCreateNewRecord() throws Exception {
    Entity entity = mock(Entity.class);
    Field idField = mock(Field.class);
    doReturn("id").when(idField).getName();
    Type idType = mock(Type.class);
    doReturn(idType).when(idField).getType();
    doReturn(Long.class.getName()).when(idType).getTypeClassName();
    doReturn(Long.class).when(idType).getTypeClass();
    Field valueField = mock(Field.class);
    doReturn("value").when(valueField).getName();
    Type valueType = mock(Type.class);
    doReturn(valueType).when(valueField).getType();
    doReturn(String.class.getName()).when(valueType).getTypeClassName();
    doReturn(String.class).when(valueType).getTypeClass();
    Field dateField = mock(Field.class);
    doReturn("date").when(dateField).getName();
    Type dateType = mock(Type.class);
    doReturn(dateType).when(dateField).getType();
    doReturn(Date.class.getName()).when(dateType).getTypeClassName();
    doReturn(Date.class).when(dateType).getTypeClass();
    doReturn(17L).when(entity).getEntityVersion();
    doReturn(true).when(entity).isRecordHistory();
    doReturn(Arrays.asList(idField, valueField, dateField)).when(entity).getFields();
    doReturn(null).when(query).execute(anyLong());
    final String serviceName = ClassName.getServiceName(Record.class.getName());
    doReturn(true).when(applicationContext).containsBean(serviceName);
    doReturn(dataService).when(applicationContext).getBean(serviceName);
    doReturn(4L).when(dataService).getSchemaVersion();
    Record instance = new Record();
    historyService.record(instance);
    verify(manager).makePersistent(recordHistoryCaptor.capture());
    Record__History history = recordHistoryCaptor.getValue();
    assertEquals(instance.getId(), history.getRecord__HistoryCurrentVersion());
    assertEquals(Long.valueOf(4), history.getRecord__HistorySchemaVersion());
    assertEquals(instance.getValue(), history.getValue());
    assertEquals(instance.getDate(), history.getDate());
}
Also used : Entity(org.motechproject.mds.domain.Entity) Field(org.motechproject.mds.domain.Field) Type(org.motechproject.mds.domain.Type) Matchers.anyLong(org.mockito.Matchers.anyLong) Record(org.motechproject.mds.testutil.records.Record) Matchers.anyString(org.mockito.Matchers.anyString) Record__History(org.motechproject.mds.testutil.records.history.Record__History) Date(java.util.Date) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 74 with Entity

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

the class EntitySchemaBuilder method build.

public Entity build() {
    Entity entity = new Entity(clazz, module, namespace, null);
    entity.setRestOptions(rest.build());
    entity.getRestOptions().setEntity(entity);
    entity.setTracking(auditing.build());
    entity.getTracking().setEntity(entity);
    Map<String, Field> fieldsMap = new HashMap<>();
    for (FieldSchemaBuilder fieldBuilder : fields) {
        Field field = fieldBuilder.build();
        field.setEntity(entity);
        field.setExposedViaRest(rest.fields.contains(field.getName()));
        field.setUIDisplayable(browsing.fields.contains(field.getName()));
        field.setUIDisplayPosition(Integer.valueOf(browsing.fields.indexOf(field.getName())).longValue());
        field.setUIFilterable(browsing.filters.contains(field.getName()));
        fieldsMap.put(field.getName(), field);
        entity.addField(field);
    }
    for (LookupSchemaBuilder lookupBuilder : lookups) {
        Lookup lookup = lookupBuilder.build();
        lookup.setEntity(entity);
        lookup.setExposedViaRest(rest.lookups.contains(lookup.getLookupName()));
        setLookupFields(lookup, lookupBuilder, fieldsMap);
        entity.addLookup(lookup);
    }
    return entity;
}
Also used : Entity(org.motechproject.mds.domain.Entity) Field(org.motechproject.mds.domain.Field) HashMap(java.util.HashMap) Lookup(org.motechproject.mds.domain.Lookup)

Example 75 with Entity

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

the class RelationshipResolver method isEntityResolved.

private boolean isEntityResolved(Entity entity, List<Entity> visitedEntities, List<Entity> resolvedEntities, EntitiesRetriever entitiesRetriever) {
    if (resolvedEntities.contains(entity)) {
        return true;
    } else {
        visitedEntities.add(entity);
        for (String relatedEntityClass : EntityHelper.getRelatedEntityClasses(entity)) {
            Entity relatedEntity = entitiesRetriever.retrieveEntity(relatedEntityClass);
            if (null == relatedEntity) {
                return false;
            } else if (!visitedEntities.contains(relatedEntity) && !isEntityResolved(relatedEntity, visitedEntities, resolvedEntities, entitiesRetriever)) {
                return false;
            }
        }
        resolvedEntities.add(entity);
        return true;
    }
}
Also used : Entity(org.motechproject.mds.domain.Entity)

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