diff options
author | Harald Musum <musum@oath.com> | 2017-08-31 09:32:49 +0200 |
---|---|---|
committer | Harald Musum <musum@oath.com> | 2017-08-31 09:32:49 +0200 |
commit | 9f506465b36ef1b7a858211882fc3594d170b418 (patch) | |
tree | 5599ed86e4cee0fcb0dd696572b8d038b361b5c2 /chain | |
parent | e4dc0493754618dd33ddf8985d0ddd23001a9d39 (diff) | |
parent | 0c7af1343cec5ca95e338ce83dda158f123e72dc (diff) |
Merge branch 'master' into revert-3275-revert-3260-hmusum/remove-version-from-def-files
Diffstat (limited to 'chain')
26 files changed, 55 insertions, 34 deletions
diff --git a/chain/src/main/java/com/yahoo/component/chain/Chain.java b/chain/src/main/java/com/yahoo/component/chain/Chain.java index 48ed39ba5da..1c628f3dfa4 100644 --- a/chain/src/main/java/com/yahoo/component/chain/Chain.java +++ b/chain/src/main/java/com/yahoo/component/chain/Chain.java @@ -13,7 +13,7 @@ import java.util.List; /** * An immutable ordered list of components * - * @author tonytv + * @author Tony Vaagenes */ public class Chain<COMPONENT extends ChainedComponent> { diff --git a/chain/src/main/java/com/yahoo/component/chain/ChainedComponent.java b/chain/src/main/java/com/yahoo/component/chain/ChainedComponent.java index c381cc6d591..7e0eb8b72ec 100644 --- a/chain/src/main/java/com/yahoo/component/chain/ChainedComponent.java +++ b/chain/src/main/java/com/yahoo/component/chain/ChainedComponent.java @@ -19,7 +19,7 @@ import java.util.List; /** * Component with dependencies. * - * @author tonytv + * @author Tony Vaagenes */ public abstract class ChainedComponent extends AbstractComponent { diff --git a/chain/src/main/java/com/yahoo/component/chain/ChainsConfigurer.java b/chain/src/main/java/com/yahoo/component/chain/ChainsConfigurer.java index c73dc7c16f2..969c1c7d66a 100644 --- a/chain/src/main/java/com/yahoo/component/chain/ChainsConfigurer.java +++ b/chain/src/main/java/com/yahoo/component/chain/ChainsConfigurer.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.component.chain; -import com.yahoo.component.AbstractComponent; import com.yahoo.component.ComponentSpecification; import com.yahoo.component.chain.model.ChainSpecification; import com.yahoo.component.chain.model.ChainedComponentModel; diff --git a/chain/src/main/java/com/yahoo/component/chain/Phase.java b/chain/src/main/java/com/yahoo/component/chain/Phase.java index a291f471737..4148bdc6258 100644 --- a/chain/src/main/java/com/yahoo/component/chain/Phase.java +++ b/chain/src/main/java/com/yahoo/component/chain/Phase.java @@ -10,10 +10,11 @@ import java.util.TreeSet; /** * Used for many to many constraints on searcher ordering. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class Phase { + public final Dependencies dependencies; public Phase(String name, Set<String> before, Set<String> after) { @@ -49,4 +50,5 @@ public class Phase { Dependencies union = dependencies.union(phase.dependencies); return new Phase(getName(), union.before(), union.after()); } + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/After.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/After.java index f510e8f4c8b..be10c82d2e1 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/After.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/After.java @@ -10,11 +10,13 @@ import java.lang.annotation.*; * See {@link com.yahoo.component.chain.dependencies.ordering.ChainBuilder} * for dependency handling information. * - * @author tonytv + * @author Tony Vaagenes */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Inherited public @interface After { - public abstract String[] value() default {}; + + String[] value() default {}; + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/Before.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/Before.java index 01ad8f6e563..4542140c574 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/Before.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/Before.java @@ -10,11 +10,13 @@ import java.lang.annotation.*; * See {@link com.yahoo.component.chain.dependencies.ordering.ChainBuilder} * for dependency handling information. * - * @author tonytv + * @author Tony Vaagenes */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Inherited public @interface Before { - public abstract String[] value() default {}; + + String[] value() default {}; + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/Dependencies.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/Dependencies.java index a817bbb5116..46ea3518656 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/Dependencies.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/Dependencies.java @@ -9,7 +9,7 @@ import net.jcip.annotations.Immutable; /** * Constraints for ordering ChainedComponents in chains. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class Dependencies { diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/Provides.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/Provides.java index 23becf6b4a7..b014681c469 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/Provides.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/Provides.java @@ -8,11 +8,13 @@ import java.lang.annotation.*; * Other components can then mark themselves as "before" and "after" the string provided here, * to impose constraints on ordering. * - * @author tonytv + * @author Tony Vaagenes */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Inherited public @interface Provides { - public abstract String[] value() default {}; + + String[] value() default {}; + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java index 637cacf2bb6..beafe7d2b98 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilder.java @@ -31,9 +31,10 @@ import com.yahoo.component.chain.Phase; * A warning will be logged if multiple components of different types provides the * same name. A component can not provide the same name as a phase. * - * @author tonytv + * @author Tony Vaagenes */ public class ChainBuilder<T extends ChainedComponent> { + private final ComponentId id; private int numComponents = 0; private int priority = 1; @@ -166,4 +167,5 @@ public class ChainBuilder<T extends ChainedComponent> { } return readyNodes; } + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNameProvider.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNameProvider.java index 4c1eeff3c61..b9e8f56d15c 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNameProvider.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNameProvider.java @@ -11,7 +11,7 @@ import com.yahoo.component.chain.ChainedComponent; /** * A set of components providing a given name. * - * @author tonytv + * @author Tony Vaagenes */ class ComponentNameProvider extends NameProvider { diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNode.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNode.java index e6a8b982ad8..2bc81542d52 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNode.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ComponentNode.java @@ -7,9 +7,10 @@ import com.yahoo.component.chain.ChainedComponent; * A node representing a given component. * * @see Node - * @author tonytv + * @author Tony Vaagenes */ class ComponentNode<T extends ChainedComponent> extends Node { + private T component; public ComponentNode(T component, int priority) { @@ -31,5 +32,6 @@ class ComponentNode<T extends ChainedComponent> extends Node { int classPriority() { return 2; } + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ConflictingNodeTypeException.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ConflictingNodeTypeException.java index a233f0cd79f..edf4a119e5c 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ConflictingNodeTypeException.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/ConflictingNodeTypeException.java @@ -4,7 +4,7 @@ package com.yahoo.component.chain.dependencies.ordering; /** * Thrown if a searcher provides the same name as a phase. * - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings("serial") public class ConflictingNodeTypeException extends RuntimeException { diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/CycleDependenciesException.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/CycleDependenciesException.java index fd05ab20b02..40a78030c41 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/CycleDependenciesException.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/CycleDependenciesException.java @@ -10,10 +10,11 @@ import java.util.Set; * representation of the cycle is available to help solve the problem (<a * href="http://graphviz.org/">GraphViz</a>). * - * @author tonytv + * @author Tony Vaagenes */ @SuppressWarnings("serial") public class CycleDependenciesException extends RuntimeException { + public Map<String, NameProvider> cycleNodes; CycleDependenciesException(Map<String, NameProvider> cycleNodes) { @@ -41,5 +42,4 @@ public class CycleDependenciesException extends RuntimeException { return createDotString(cycleNodes); } - } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/NameProvider.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/NameProvider.java index 526e65146d9..773b6d07035 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/NameProvider.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/NameProvider.java @@ -4,9 +4,10 @@ package com.yahoo.component.chain.dependencies.ordering; /** * A node containing nodes providing a given name. * - * @author tonytv + * @author Tony Vaagenes */ abstract class NameProvider extends Node { + final String name; public NameProvider(String name, int priority) { @@ -24,6 +25,7 @@ abstract class NameProvider extends Node { protected String dotName() { return name; } + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/Node.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/Node.java index cb5b6a1cbff..da652fde614 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/Node.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/Node.java @@ -17,7 +17,7 @@ import java.util.Set; * * Where name designates a NameProvider( either a phase or a set of searchers). * - * @author tonytv + * @author Tony Vaagenes */ abstract class Node { //How this node should be prioritized if its compared with a node of the same class, see class priority. diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodes.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodes.java index a9650fe751b..7af863a37c3 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodes.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodes.java @@ -8,9 +8,10 @@ import java.util.PriorityQueue; /** * Ensures that Searchers are ordered deterministically. * - * @author tonytv + * @author Tony Vaagenes */ class OrderedReadyNodes { + private class PriorityComparator implements Comparator<Node> { @Override public int compare(Node lhs, Node rhs) { @@ -22,8 +23,7 @@ class OrderedReadyNodes { } } - final private PriorityQueue<Node> nodes = - new PriorityQueue<>(10, new PriorityComparator()); + final private PriorityQueue<Node> nodes = new PriorityQueue<>(10, new PriorityComparator()); public void add(Node node) { nodes.add(node); @@ -36,4 +36,5 @@ class OrderedReadyNodes { public boolean isEmpty() { return nodes.isEmpty(); } + } diff --git a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/PhaseNameProvider.java b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/PhaseNameProvider.java index a44cbad4b2f..f99a9191150 100644 --- a/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/PhaseNameProvider.java +++ b/chain/src/main/java/com/yahoo/component/chain/dependencies/ordering/PhaseNameProvider.java @@ -4,9 +4,10 @@ package com.yahoo.component.chain.dependencies.ordering; /** * A phase providing a given name. * - * @author tonytv + * @author Tony Vaagenes */ class PhaseNameProvider extends NameProvider { + public PhaseNameProvider(String name, int priority) { super(name,priority); } @@ -25,4 +26,5 @@ class PhaseNameProvider extends NameProvider { int classPriority() { return 0; } + } diff --git a/chain/src/main/java/com/yahoo/component/chain/model/ChainSpecification.java b/chain/src/main/java/com/yahoo/component/chain/model/ChainSpecification.java index 2f6a03cbb87..eac76afa275 100644 --- a/chain/src/main/java/com/yahoo/component/chain/model/ChainSpecification.java +++ b/chain/src/main/java/com/yahoo/component/chain/model/ChainSpecification.java @@ -12,10 +12,11 @@ import java.util.*; /** * Specifies how the components should be selected to create a chain. * - * @author tonytv + * @author Tony Vaagenes */ @Immutable public class ChainSpecification { + public static class Inheritance { public final Set<ComponentSpecification> chainSpecifications; public final Set<ComponentSpecification> excludedComponents; diff --git a/chain/src/main/java/com/yahoo/component/chain/model/ChainedComponentModel.java b/chain/src/main/java/com/yahoo/component/chain/model/ChainedComponentModel.java index bc728f0fdd1..cce51824942 100644 --- a/chain/src/main/java/com/yahoo/component/chain/model/ChainedComponentModel.java +++ b/chain/src/main/java/com/yahoo/component/chain/model/ChainedComponentModel.java @@ -9,8 +9,8 @@ import net.jcip.annotations.Immutable; /** * Describes how a chained component should be created. * - * @author <a href="mailto:arnebef@yahoo-inc.com">Arne Bergene Fossaa</a> - * @author tonytv + * @author Arne Bergene Fossaa + * @author Tony Vaagenes */ @Immutable public class ChainedComponentModel extends ComponentModel { diff --git a/chain/src/main/java/com/yahoo/component/chain/model/ChainsModel.java b/chain/src/main/java/com/yahoo/component/chain/model/ChainsModel.java index be0b124c383..08cb6b7ccfd 100644 --- a/chain/src/main/java/com/yahoo/component/chain/model/ChainsModel.java +++ b/chain/src/main/java/com/yahoo/component/chain/model/ChainsModel.java @@ -12,7 +12,7 @@ import com.yahoo.component.provider.ComponentRegistry; /** * A model of how the chains and components should be created. * - * @author tonytv + * @author Tony Vaagenes */ public class ChainsModel { diff --git a/chain/src/main/java/com/yahoo/component/chain/model/ChainsModelBuilder.java b/chain/src/main/java/com/yahoo/component/chain/model/ChainsModelBuilder.java index f7c771c1e60..5f9f2daa177 100644 --- a/chain/src/main/java/com/yahoo/component/chain/model/ChainsModelBuilder.java +++ b/chain/src/main/java/com/yahoo/component/chain/model/ChainsModelBuilder.java @@ -14,7 +14,7 @@ import com.yahoo.container.core.ChainsConfig; /** * Builds a chains model from config. * - * @author tonytv + * @author Tony Vaagenes */ public class ChainsModelBuilder { diff --git a/chain/src/main/java/com/yahoo/component/chain/model/ComponentAdaptor.java b/chain/src/main/java/com/yahoo/component/chain/model/ComponentAdaptor.java index 142af91f0fd..2961768a7de 100644 --- a/chain/src/main/java/com/yahoo/component/chain/model/ComponentAdaptor.java +++ b/chain/src/main/java/com/yahoo/component/chain/model/ComponentAdaptor.java @@ -7,7 +7,7 @@ import com.yahoo.component.ComponentId; /** * For using non-component model classes with ComponentRegistry. * - * @author tonytv + * @author Tony Vaagenes */ public final class ComponentAdaptor<T> extends AbstractComponent { diff --git a/chain/src/main/java/com/yahoo/component/chain/model/Resolver.java b/chain/src/main/java/com/yahoo/component/chain/model/Resolver.java index 5f6b3ce7905..15acff0db0b 100644 --- a/chain/src/main/java/com/yahoo/component/chain/model/Resolver.java +++ b/chain/src/main/java/com/yahoo/component/chain/model/Resolver.java @@ -6,8 +6,10 @@ import com.yahoo.component.ComponentSpecification; /** * Maps component specifications to matching instances. * - * @author tonytv + * @author Tony Vaagenes */ public interface Resolver<T> { + T resolve(ComponentSpecification componentSpecification); + } diff --git a/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java b/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java index 9d302174a47..7e74a732893 100644 --- a/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java +++ b/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/ChainBuilderTest.java @@ -22,8 +22,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** - * @author tonytv - * @since 5.1.10 + * @author Tony Vaagenes */ @SuppressWarnings({"rawtypes", "unchecked"}) public class ChainBuilderTest { diff --git a/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.java b/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.java index 8dde4ac3ea5..77729a99012 100644 --- a/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.java +++ b/chain/src/test/java/com/yahoo/component/chain/dependencies/ordering/OrderedReadyNodesTest.java @@ -16,10 +16,12 @@ import com.yahoo.component.ComponentId; /** * Test for OrderedReadyNodes. - * @author tonytv + * + * @author Tony Vaagenes */ @SuppressWarnings("rawtypes") public class OrderedReadyNodesTest { + class ComponentA extends ChainedComponent { public ComponentA(ComponentId id) { super(id); @@ -101,4 +103,5 @@ public class OrderedReadyNodesTest { private Node pop() { return readyNodes.pop(); } + } diff --git a/chain/src/test/java/com/yahoo/component/chain/model/ChainsModelBuilderTest.java b/chain/src/test/java/com/yahoo/component/chain/model/ChainsModelBuilderTest.java index a946d568704..2a22b5afbf7 100644 --- a/chain/src/test/java/com/yahoo/component/chain/model/ChainsModelBuilderTest.java +++ b/chain/src/test/java/com/yahoo/component/chain/model/ChainsModelBuilderTest.java @@ -17,7 +17,6 @@ import static org.junit.Assert.assertTrue; /** * @author gjoranv - * @since 5.1.10 */ public class ChainsModelBuilderTest { @@ -69,4 +68,5 @@ public class ChainsModelBuilderTest { getComponentsByName(Set<ComponentSpecification> componentSpecifications) { return ChainSpecification.componentsByName(componentSpecifications); } + } |