package com.constellio.app.ui.pages.base; import com.constellio.app.ui.entities.MetadataVO; import com.constellio.app.ui.entities.RecordVO; import com.constellio.app.ui.entities.RecordVO.VIEW_MODE; import com.constellio.app.ui.entities.UserVO; import com.constellio.app.ui.framework.builders.MetadataToVOBuilder; import com.constellio.app.ui.framework.builders.RecordToVOBuilder; import com.constellio.model.entities.records.Record; import com.constellio.model.entities.records.wrappers.User; import com.constellio.model.entities.schemas.Metadata; import com.constellio.model.entities.schemas.MetadataSchemaTypes; import com.constellio.model.services.factories.ModelLayerFactory; import com.constellio.model.services.migrations.ConstellioEIMConfigs; public class PresenterService { private ModelLayerFactory modelLayerFactory; public PresenterService(ModelLayerFactory modelLayerFactory) { this.modelLayerFactory = modelLayerFactory; } public User getCurrentUser(SessionContext sessionContext) { User currentUser; UserVO currentUserVO = sessionContext.getCurrentUser(); String currentCollection = sessionContext.getCurrentCollection(); if (currentUserVO != null) { currentUser = modelLayerFactory.newUserServices().getUserInCollection(currentUserVO.getUsername(), currentCollection); } else { currentUser = null; } return currentUser; } public RecordVO getRecordVO(String id, VIEW_MODE viewMode, SessionContext sessionContext) { RecordToVOBuilder voBuilder = new RecordToVOBuilder(); return voBuilder.build(getRecord(id), viewMode, sessionContext); } public Record getRecord(String id) { return modelLayerFactory.newRecordServices().getDocumentById(id); } public MetadataVO getMetadataVO(String metadataCode, SessionContext sessionContext) { if (metadataCode == null) { return null; } MetadataSchemaTypes types = modelLayerFactory.getMetadataSchemasManager() .getSchemaTypes(sessionContext.getCurrentCollection()); MetadataToVOBuilder builder = new MetadataToVOBuilder(); Metadata metadata = types.getMetadata(metadataCode); return builder.build(metadata, sessionContext); } public ConstellioEIMConfigs getSystemConfigs() { return modelLayerFactory.getSystemConfigs(); } }