/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.start.validators.internal; import de.rcenvironment.core.datamanagement.backend.MetaDataBackendService; import de.rcenvironment.core.start.common.validation.api.InstanceValidationResult; import de.rcenvironment.core.start.common.validation.api.InstanceValidationResultFactory; import de.rcenvironment.core.start.common.validation.spi.DefaultInstanceValidator; /** * Validator to check if the meta data backend has been started correctly. * * @author Brigitte Boden */ public class MetaDataBackendValidator extends DefaultInstanceValidator { private static final String ERROR_PREFIX = "Failed to initialize database."; private MetaDataBackendService metadataBackendService; @Override public InstanceValidationResult validate() { final String validationDisplayName = "Database"; if (metadataBackendService.isMetaDataBackendOk()) { return InstanceValidationResultFactory.createResultForPassed(validationDisplayName); } else { return InstanceValidationResultFactory.createResultForFailureWhichRequiresInstanceShutdown(validationDisplayName, ERROR_PREFIX + "\n\n" + metadataBackendService.getMetaDataBackendStartErrorMessage()); } } protected void bindMetaDataBackendService(MetaDataBackendService newService) { this.metadataBackendService = newService; } }