/* * Copyright 2014-2016 Hewlett-Packard Development Company, L.P. * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. */ package com.hp.autonomy.frontend.find.idol.configuration; import com.autonomy.aci.client.annotations.IdolAnnotationsProcessorFactory; import com.autonomy.aci.client.services.AciService; import com.hp.autonomy.frontend.configuration.validation.ValidationResult; import com.hp.autonomy.frontend.configuration.validation.Validator; import com.hp.autonomy.searchcomponents.idol.statsserver.Statistic; import com.hp.autonomy.types.idol.marshalling.ProcessorFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Set; @Component public class StatsServerConfigValidator implements Validator<StatsServerConfig> { private final AciService aciService; private final ProcessorFactory processorFactory; private final IdolAnnotationsProcessorFactory annotationsProcessorFactory; @Resource(name = "requiredStatistics") private Set<Statistic> requiredStatistics; @Autowired public StatsServerConfigValidator(final AciService aciService, final ProcessorFactory processorFactory, final IdolAnnotationsProcessorFactory annotationsProcessorFactory) { this.aciService = aciService; this.processorFactory = processorFactory; this.annotationsProcessorFactory = annotationsProcessorFactory; } @Override public ValidationResult<?> validate(final StatsServerConfig config) { return config.validate(aciService, requiredStatistics, processorFactory, annotationsProcessorFactory); } @Override public Class<StatsServerConfig> getSupportedClass() { return StatsServerConfig.class; } }