@Override public List<String> evaluate(Cluster cluster, Set<Node> clusterNodes, Node node) throws IncompleteClusterException { int instanceNum = getServiceInstanceNum(node, sortServiceNodes(clusterNodes)); if (instanceNum < 0) { return null; } return ImmutableList.of(String.valueOf(instanceNum)); } }
@Test public void testSelfServiceInstanceNum() throws Exception { Assert.assertEquals( "1", new Expression(new ServiceInstanceEvaluator("svc1"), null, null) .evaluate(cluster, clusterNodes, node1)); Assert.assertEquals( "2", new Expression(new ServiceInstanceEvaluator("svc1"), null, null) .evaluate(cluster, clusterNodes, node2)); }
String service = Type.INSTANCE_OF_SERVICE.stripPrefix(macroName); checkService(service); return new ServiceInstanceEvaluator(service); } else if (macroName.startsWith(Type.IP.prefix)) { String ipStripped = Type.IP.stripPrefix(macroName);
assertEquals(new Expression(new IPServiceEvaluator("abc", "access", 0), null, null), new Parser("ip.access.service.abc[0]").parse()); assertEquals(new Expression(new ServiceInstanceEvaluator("abc"), null, null), new Parser("instance.self.service.abc").parse()); assertEquals(new Expression(new ServiceCardinalityEvaluator("abc"), null, null),