/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.depgraph; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.engine.value.ValueSpecification; /** * */ public class SimpleResolutionFailureVisitor extends ResolutionFailureVisitor<List<ResolutionFailure>> { @Override protected List<ResolutionFailure> visitCouldNotResolve(ValueRequirement valueRequirement) { return Collections.singletonList(ResolutionFailureImpl.couldNotResolve(valueRequirement)); } @Override protected List<ResolutionFailure> visitNoFunctions(ValueRequirement valueRequirement) { return Collections.singletonList(ResolutionFailureImpl.noFunctions(valueRequirement)); } @Override protected List<ResolutionFailure> visitRecursiveRequirement(ValueRequirement valueRequirement) { return Collections.singletonList(ResolutionFailureImpl.recursiveRequirement(valueRequirement)); } @Override protected List<ResolutionFailure> visitUnsatisfied(ValueRequirement valueRequirement) { return Collections.singletonList(ResolutionFailureImpl.unsatisfied(valueRequirement)); } @Override protected List<ResolutionFailure> visitMarketDataMissing(ValueRequirement valueRequirement) { return Collections.singletonList(ResolutionFailureImpl.marketDataMissing(valueRequirement)); } @Override protected List<ResolutionFailure> visitSuccessfulFunction(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied) { return Collections.emptyList(); //TODO is this correct? } @Override //TODO not on fudge builder visitor? protected List<ResolutionFailure> visitFailedFunction(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied, Set<ResolutionFailure> unsatisfied) { return ImmutableList.copyOf(unsatisfied); } @Override protected List<ResolutionFailure> visitFailedFunction(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied, Set<ResolutionFailure> unsatisfied, Set<ResolutionFailure> unsatisfiedAdditional) { return ImmutableList.copyOf(Iterables.concat(unsatisfied, unsatisfiedAdditional)); } @Override protected List<ResolutionFailure> visitFunction(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied, Set<ResolutionFailure> unsatisfied, Set<ResolutionFailure> unsatisfiedAdditional) { return ImmutableList.copyOf(Iterables.concat(unsatisfied, unsatisfiedAdditional)); } @Override protected List<ResolutionFailure> visitGetAdditionalRequirementsFailed(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) { return Collections.emptyList(); //TODO is this correct? } @Override protected List<ResolutionFailure> visitGetResultsFailed(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) { return Collections.emptyList(); //TODO is this correct? } @Override protected List<ResolutionFailure> visitGetRequirementsFailed(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput) { return Collections.emptyList(); //TODO is this correct? } @Override protected List<ResolutionFailure> visitLateResolutionFailure(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) { return Collections.emptyList(); //TODO is this correct? } @Override protected List<ResolutionFailure> visitBlacklistSuppressed(ValueRequirement valueRequirement, String function, ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) { return Collections.emptyList(); //TODO is this correct? } }