SLIDER-44 modified agent provider to leverage map from curator rather than previous service instance data
git-svn-id: https://svn.apache.org/repos/asf/incubator/slider/trunk@1593740 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
index 1f0f8cf..d03ca31 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java
@@ -665,18 +665,17 @@
private void buildEndpointDetails(Map<String, URL> details) {
try {
- List<ServiceInstanceData> services =
+ List services =
registry.listInstancesByType(SliderKeys.APP_TYPE);
assert services.size() >= 1;
- ServiceInstanceData payload = services.get(0);
- Map<String, RegisteredEndpoint> endpointMap =
- payload.externalView.endpoints;
- for (Map.Entry<String, RegisteredEndpoint> endpoint : endpointMap
- .entrySet()) {
- RegisteredEndpoint val = endpoint.getValue();
- if ("http".equals(val.protocol)) {
- URL url = new URL(val.value);
- details.put(val.description, url);
+ Map payload = (Map) services.get(0);
+ Map<String,Map> endpointMap =
+ (Map<String,Map>) ((Map)payload.get("externalView")).get("endpoints");
+ for (Map.Entry<String,Map> endpoint : endpointMap.entrySet()) {
+ Map<String,String> val = endpoint.getValue();
+ if ("http".equals(val.get("protocol"))) {
+ URL url = new URL(val.get("value"));
+ details.put(val.get("description"), url);
}
}
} catch (IOException e) {
diff --git a/slider-core/src/main/java/org/apache/slider/server/services/registry/SliderRegistryService.java b/slider-core/src/main/java/org/apache/slider/server/services/registry/SliderRegistryService.java
index 21b751d..2a76f69 100644
--- a/slider-core/src/main/java/org/apache/slider/server/services/registry/SliderRegistryService.java
+++ b/slider-core/src/main/java/org/apache/slider/server/services/registry/SliderRegistryService.java
@@ -49,11 +49,11 @@
@Override
- public List<ServiceInstanceData> listInstancesByType(String serviceType) throws
+ public List listInstancesByType(String serviceType) throws
IOException {
List<CuratorServiceInstance<ServiceInstanceData>> services =
listInstances(serviceType);
- List<ServiceInstanceData> payloads = new ArrayList<>(services.size());
+ List payloads = new ArrayList(services.size());
for (CuratorServiceInstance<ServiceInstanceData> instance : services) {
payloads.add(instance.payload);
}