http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
deleted file mode 100644
index ad91183..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/StateAccessForProviders.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.state;
-
-import org.apache.hadoop.yarn.api.records.Container;
-import org.apache.hadoop.yarn.api.records.ContainerId;
-import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
-import org.apache.slider.api.ClusterDescription;
-import org.apache.slider.api.ClusterNode;
-import org.apache.slider.api.StatusKeys;
-import org.apache.slider.api.types.ApplicationLivenessInformation;
-import org.apache.slider.api.types.ComponentInformation;
-import org.apache.slider.api.types.NodeInformation;
-import org.apache.slider.api.types.RoleStatistics;
-import org.apache.slider.core.conf.AggregateConf;
-import org.apache.slider.core.conf.ConfTreeOperations;
-import org.apache.slider.core.exceptions.NoSuchNodeException;
-import org.apache.slider.core.registry.docstore.PublishedConfigSet;
-import org.apache.slider.core.registry.docstore.PublishedExportsSet;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-/**
- * The methods to offer state access to the providers and other parts of
- * the system which want read-only access to the state.
- */
-public interface StateAccessForProviders {
-
-  /**
-   * Get a map of role status entries by role Id
-   * @return the map of currently defined roles.
-   */
-  Map<Integer, RoleStatus> getRoleStatusMap();
-
-  /**
-   * Get the name of the application
-   * @return the name
-   */
-  String getApplicationName();
-
-  /**
-   * Get the published configurations
-   * @return the configuration set
-   */
-  PublishedConfigSet getPublishedSliderConfigurations();
-
-  /**
-   * Get the published exports set
-   * @return
-   */
-  PublishedExportsSet getPublishedExportsSet();
-
-  /**
-   * Get a named published config set
-   * @param name name to look up
-   * @return the instance or null
-   */
-  PublishedConfigSet getPublishedConfigSet(String name);
-
-  /**
-   * Get a named published config set, creating it if need be.
-   * @param name name to look up
-   * @return the instance -possibly a new one
-   */
-  PublishedConfigSet getOrCreatePublishedConfigSet(String name);
-
-  /**
-   * List the config sets -this takes a clone of the current set
-   * @return a list of config sets
-   */
-  List<String> listConfigSets();
-
-  /**
-   * Get a map of all the failed containers
-   * @return map of recorded failed containers
-   */
-  Map<ContainerId, RoleInstance> getFailedContainers();
-
-  /**
-   * Get the live containers.
-   * 
-   * @return the live nodes
-   */
-  Map<ContainerId, RoleInstance> getLiveContainers();
-
-  /**
-   * Get the current cluster description 
-   * @return the actual state of the cluster
-   */
-  ClusterDescription getClusterStatus();
-
-  /**
-   * Get at the snapshot of the resource config
-   * Changes here do not affect the application state.
-   * @return the most recent settings
-   */
-  ConfTreeOperations getResourcesSnapshot();
-
-  /**
-   * Get at the snapshot of the appconf config
-   * Changes here do not affect the application state.
-   * @return the most recent settings
-   */
-  ConfTreeOperations getAppConfSnapshot();
-
-  /**
-   * Get at the snapshot of the internals config.
-   * Changes here do not affect the application state.
-   * @return the internals settings
-   */
-
-  ConfTreeOperations getInternalsSnapshot();
-
-  /**
-   * Flag set to indicate the application is live -this only happens
-   * after the buildInstance operation
-   */
-  boolean isApplicationLive();
-
-  long getSnapshotTime();
-
-  /**
-   * Get a snapshot of the entire aggregate configuration
-   * @return the aggregate configuration
-   */
-  AggregateConf getInstanceDefinitionSnapshot();
-
-  /**
-   * Get the desired/unresolved value
-   * @return unresolved
-   */
-  AggregateConf getUnresolvedInstanceDefinition();
-
-  /**
-   * Look up a role from its key -or fail 
-   *
-   * @param key key to resolve
-   * @return the status
-   * @throws YarnRuntimeException on no match
-   */
-  RoleStatus lookupRoleStatus(int key);
-
-  /**
-   * Look up a role from its key -or fail 
-   *
-   * @param c container in a role
-   * @return the status
-   * @throws YarnRuntimeException on no match
-   */
-  RoleStatus lookupRoleStatus(Container c) throws YarnRuntimeException;
-
-  /**
-   * Look up a role from its key -or fail 
-   *
-   * @param name container in a role
-   * @return the status
-   * @throws YarnRuntimeException on no match
-   */
-  RoleStatus lookupRoleStatus(String name) throws YarnRuntimeException;
-
-  /**
-   * Clone a list of active containers
-   * @return the active containers at the time
-   * the call was made
-   */
-  List<RoleInstance> cloneOwnedContainerList();
-
-  /**
-   * Get the number of active containers
-   * @return the number of active containers the time the call was made
-   */
-  int getNumOwnedContainers();
-
-  /**
-   * Get any active container with the given ID
-   * @param id container Id
-   * @return the active container or null if it is not found
-   */
-  RoleInstance getOwnedContainer(ContainerId id);
-
-  /**
-   * Get any active container with the given ID
-   * @param id container Id
-   * @return the active container or null if it is not found
-   */
-  RoleInstance getOwnedContainer(String id) throws NoSuchNodeException;
-
-  /**
-   * Create a clone of the list of live cluster nodes.
-   * @return the list of nodes, may be empty
-   */
-  List<RoleInstance> cloneLiveContainerInfoList();
-
-  /**
-   * Get the {@link RoleInstance} details on a container.
-   * This is an O(n) operation
-   * @param containerId the container ID
-   * @return null if there is no such node
-   * @throws NoSuchNodeException if the node cannot be found
-   */
-  RoleInstance getLiveInstanceByContainerID(String containerId)
-    throws NoSuchNodeException;
-
-  /**
-   * Get the details on a list of instaces referred to by ID.
-   * Unknown nodes are not returned
-   * <i>Important: the order of the results are undefined</i>
-   * @param containerIDs the containers
-   * @return list of instances
-   */
-  List<RoleInstance> getLiveInstancesByContainerIDs(
-    Collection<String> containerIDs);
-
-  /**
-   * Update the cluster description with anything interesting
-   */
-  ClusterDescription refreshClusterStatus();
-
-  /**
-   * Get a deep clone of the role status list. Concurrent events may mean this
-   * list (or indeed, some of the role status entries) may be inconsistent
-   * @return a snapshot of the role status entries
-   */
-  List<RoleStatus> cloneRoleStatusList();
-
-  /**
-   * get application liveness information
-   * @return a snapshot of the current liveness information
-   */
-  ApplicationLivenessInformation getApplicationLivenessInformation();
-
-  /**
-   * Get the live statistics map
-   * @return a map of statistics values, defined in the {@link StatusKeys}
-   * keylist.
-   */
-  Map<String, Integer> getLiveStatistics();
-
-  /**
-   * Get a snapshot of component information.
-   * <p>
-   *   This does <i>not</i> include any container list, which 
-   *   is more expensive to create.
-   * @return a map of current role status values.
-   */
-  Map<String, ComponentInformation> getComponentInfoSnapshot();
-
-  /**
-   * Find out about the nodes for specific roles
-   * @return 
-   */
-  Map<String, Map<String, ClusterNode>> getRoleClusterNodeMapping();
-
-  /**
-   * Enum all role instances by role.
-   * @param role role, or "" for all roles
-   * @return a list of instances, may be empty
-   */
-  List<RoleInstance> enumLiveInstancesInRole(String role);
-
-  /**
-   * Look up all containers of a specific component name 
-   * @param component component/role name
-   * @return list of instances. This is a snapshot
-   */
-  List<RoleInstance> lookupRoleContainers(String component);
-
-  /**
-   * Get the JSON serializable information about a component
-   * @param component component to look up
-   * @return a structure describing the component.
-   */
-  ComponentInformation getComponentInformation(String component);
-
-
-  /**
-   * Get a clone of the nodemap.
-   * The instances inside are not cloned
-   * @return a possibly empty map of hostname top info
-   */
-  Map<String, NodeInformation> getNodeInformationSnapshot();
-
-  /**
-   * get information on a node
-   * @param hostname hostname to look up
-   * @return the information, or null if there is no information held.
-   */
-  NodeInformation getNodeInformation(String hostname);
-
-  /**
-   * Get the aggregate statistics across all roles
-   * @return role statistics
-   */
-  RoleStatistics getRoleStatistics();
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
deleted file mode 100644
index f840035..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web;
-
-import org.apache.slider.server.appmaster.web.rest.agent.AgentWebApp;
-import org.apache.slider.server.services.workflow.ClosingService;
-import org.apache.slider.server.services.workflow.WorkflowCompositeService;
-
-/**
- * agent service gives the agent webapp lifecycle integration
- */
-public class AgentService extends ClosingService<AgentWebApp> {
-
-
-  public AgentService(String name) {
-    super(name);
-  }
-
-  public AgentService(String name, AgentWebApp app) {
-    super(name, app);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/HttpCacheHeaders.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/HttpCacheHeaders.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/HttpCacheHeaders.java
deleted file mode 100644
index be8960d..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/HttpCacheHeaders.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.web;
-
-/*
-
-
-  ,  );
-  long now = System.currentTimeMillis();
-  httpRes.addDateHeader ( "Expires", now );
-  httpRes.addDateHeader ( "Date", now );
-  httpRes.addHeader ( "Pragma", "no-cache" );
- */
-public interface HttpCacheHeaders {
-  String HTTP_HEADER_CACHE_CONTROL = "Cache-Control";
-  String HTTP_HEADER_CACHE_CONTROL_NONE = "no-cache";
-  String HTTP_HEADER_PRAGMA = "Pragma";
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMController.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMController.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMController.java
deleted file mode 100644
index c3c6e60..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMController.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web;
-
-import com.google.inject.Inject;
-import org.apache.hadoop.yarn.webapp.Controller;
-import org.apache.slider.server.appmaster.web.layout.AppLayout;
-import org.apache.slider.server.appmaster.web.layout.ClusterSpecificationView;
-import org.apache.slider.server.appmaster.web.layout.ContainerStatsView;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * 
- */
-public class SliderAMController extends Controller {
-  private static final Logger log = 
LoggerFactory.getLogger(SliderAMController.class);
-
-  private final WebAppApi slider;
-  
-  @Inject
-  public SliderAMController(WebAppApi slider, RequestContext ctx) {
-    super(ctx);
-    this.slider = slider;
-  }
-  
-  @Override
-  public void index() {
-    setTitle("Slider App Master");
-    
-    updateAppState();
-    
-    render(AppLayout.class);
-  }
-  
-  public void containerStats() {
-    setTitle("Container Statistics");
-    
-    updateAppState();
-    
-    render(ContainerStatsView.class);
-  }
-  
-  public void specification() {
-    setTitle("Cluster Specification");
-    
-    render(ClusterSpecificationView.class);
-  }
-
-  private void updateAppState() {
-    //TODO don't do this on every request?
-    slider.getAppState().refreshClusterStatus();
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMWebApp.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMWebApp.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMWebApp.java
deleted file mode 100644
index 7ecc00c..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderAMWebApp.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web;
-
-import com.codahale.metrics.servlets.HealthCheckServlet;
-import com.codahale.metrics.servlets.MetricsServlet;
-import com.codahale.metrics.servlets.PingServlet;
-import com.codahale.metrics.servlets.ThreadDumpServlet;
-import com.google.common.base.Preconditions;
-import com.sun.jersey.api.container.filter.GZIPContentEncodingFilter;
-import com.sun.jersey.api.core.ResourceConfig;
-import com.sun.jersey.guice.spi.container.servlet.GuiceContainer;
-import com.sun.jersey.spi.container.servlet.ServletContainer;
-import org.apache.hadoop.yarn.webapp.Dispatcher;
-import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
-import org.apache.hadoop.yarn.webapp.WebApp;
-import org.apache.slider.server.appmaster.management.MetricsAndMonitoring;
-import org.apache.slider.server.appmaster.web.rest.AMWadlGeneratorConfig;
-import org.apache.slider.server.appmaster.web.rest.AMWebServices;
-import static org.apache.slider.server.appmaster.web.rest.RestPaths.*;
-import 
org.apache.slider.server.appmaster.web.rest.SliderJacksonJaxbJsonProvider;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * 
- */
-public class SliderAMWebApp extends WebApp {
-  public static final String BASE_PATH = "slideram";
-  public static final String CONTAINER_STATS = "/stats";
-  public static final String CLUSTER_SPEC = "/spec";
-
-  private final WebAppApi webAppApi;
-
-  public SliderAMWebApp(WebAppApi webAppApi) {
-    Preconditions.checkArgument(webAppApi != null, "webAppApi null");
-    this.webAppApi = webAppApi;
-  }
-
-  @Override
-  public void setup() {
-    Logger.getLogger("com.sun.jersey").setLevel(Level.FINEST);
-    // Make one of these to ensure that the jax-b annotations
-    // are properly picked up.
-    bind(SliderJacksonJaxbJsonProvider.class);
-    
-    // Get exceptions printed to the screen
-    bind(GenericExceptionHandler.class);
-    // bind the REST interface
-    bind(AMWebServices.class);
-    //bind(AMAgentWebServices.class);
-    route("/", SliderAMController.class);
-    route(CONTAINER_STATS, SliderAMController.class, "containerStats");
-    route(CLUSTER_SPEC, SliderAMController.class, "specification");
-  }
-
-  @Override
-  public void configureServlets() {
-    setup();
-
-    serve("/", "/__stop").with(Dispatcher.class);
-
-    for (String path : this.getServePathSpecs()) {
-      serve(path).with(Dispatcher.class);
-    }
-
-    // metrics
-    MetricsAndMonitoring monitoring =
-        webAppApi.getMetricsAndMonitoring();
-    serve(SYSTEM_HEALTHCHECK).with(new 
HealthCheckServlet(monitoring.getHealth()));
-    serve(SYSTEM_METRICS).with(new MetricsServlet(monitoring.getMetrics()));
-    serve(SYSTEM_PING).with(new PingServlet());
-    serve(SYSTEM_THREADS).with(new ThreadDumpServlet());
-
-    String regex = "(?!/ws)";
-    serveRegex(regex).with(SliderDefaultWrapperServlet.class); 
-
-    Map<String, String> params = new HashMap<>();
-    params.put(ResourceConfig.FEATURE_IMPLICIT_VIEWABLES, "true");
-    params.put(ServletContainer.FEATURE_FILTER_FORWARD_ON_404, "true");
-    params.put(ResourceConfig.FEATURE_XMLROOTELEMENT_PROCESSING, "true");
-    params.put(ResourceConfig.PROPERTY_CONTAINER_REQUEST_FILTERS, 
GZIPContentEncodingFilter.class.getName());
-    params.put(ResourceConfig.PROPERTY_CONTAINER_RESPONSE_FILTERS, 
GZIPContentEncodingFilter.class.getName());
-    //params.put("com.sun.jersey.spi.container.ContainerRequestFilters", 
"com.sun.jersey.api.container.filter.LoggingFilter");
-    //params.put("com.sun.jersey.spi.container.ContainerResponseFilters", 
"com.sun.jersey.api.container.filter.LoggingFilter");
-    //params.put("com.sun.jersey.config.feature.Trace", "true");
-    params.put("com.sun.jersey.config.property.WadlGeneratorConfig",
-        AMWadlGeneratorConfig.CLASSNAME);
-    filter("/*").through(GuiceContainer.class, params);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderDefaultWrapperServlet.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderDefaultWrapperServlet.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderDefaultWrapperServlet.java
deleted file mode 100644
index 12c41ac..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/SliderDefaultWrapperServlet.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-  * Licensed to the Apache Software Foundation (ASF) under one or more
-  * contributor license agreements.  See the NOTICE file distributed with
-  * this work for additional information regarding copyright ownership.
-  * The ASF licenses this file to You under the Apache License, Version 2.0
-  * (the "License"); you may not use this file except in compliance with
-  * the License.  You may obtain a copy of the License at
-  *
-  *     http://www.apache.org/licenses/LICENSE-2.0
-  *
-  * Unless required by applicable law or agreed to in writing, software
-  * distributed under the License is distributed on an "AS IS" BASIS,
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  * See the License for the specific language governing permissions and
-  * limitations under the License.
-  */
-package org.apache.slider.server.appmaster.web;
-
-import com.google.inject.Singleton;
-import org.apache.hadoop.yarn.webapp.DefaultWrapperServlet;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
-  *
-  */
-@Singleton
-public class SliderDefaultWrapperServlet extends DefaultWrapperServlet {
-  @Override
-  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
-      throws ServletException, IOException {
-    RequestDispatcher rd = getServletContext().getNamedDispatcher("default");
-
-    HttpServletRequest wrapped = new HttpServletRequestWrapper(req) {
-      public String getServletPath() {
-        return "";
-      }
-    };
-
-    rd.forward(wrapped, resp);
-
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
deleted file mode 100644
index 0f99d6d..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApi.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web;
-
-import org.apache.hadoop.registry.client.api.RegistryOperations;
-import org.apache.slider.api.SliderClusterProtocol;
-import org.apache.slider.providers.ProviderService;
-import org.apache.slider.server.appmaster.AppMasterActionOperations;
-import org.apache.slider.server.appmaster.actions.QueueAccess;
-import org.apache.slider.server.appmaster.management.MetricsAndMonitoring;
-import org.apache.slider.server.appmaster.state.AppState;
-import org.apache.slider.server.appmaster.state.RoleStatus;
-import org.apache.slider.server.appmaster.state.StateAccessForProviders;
-import org.apache.slider.server.appmaster.web.rest.agent.AgentRestOperations;
-import 
org.apache.slider.server.appmaster.web.rest.application.resources.ContentCache;
-import org.apache.slider.server.services.security.CertificateManager;
-
-import java.util.Map;
-
-/**
- * Interface to pass information from the Slider AppMaster to the WebApp
- */
-public interface WebAppApi {
-
-  /**
-   * The {@link AppState} for the current cluster
-   */
-  StateAccessForProviders getAppState();
-  
-  /**
-   * The {@link ProviderService} for the current cluster
-   */
-  ProviderService getProviderService();
-
-
-  /**
-   * The {@link CertificateManager} for the current cluster
-   */
-  CertificateManager getCertificateManager();
-
-  /**
-   * Generate a mapping from role name to its {@link RoleStatus}. Be aware 
that this
-   * is a computed value and not just a getter
-   */
-  Map<String, RoleStatus> getRoleStatusByName();
-
-  /**
-   * Returns an interface that can support the agent-based REST operations.
-   */
-  AgentRestOperations getAgentRestOperations();
-  
-  /**
-   * Registry operations accessor
-   * @return registry access
-   */
-  RegistryOperations getRegistryOperations();
-
-  /**
-   * Metrics and monitoring service
-   * @return the (singleton) instance
-   */
-  MetricsAndMonitoring getMetricsAndMonitoring();
-
-  /**
-   * Get the queue accessor
-   * @return the immediate and scheduled queues
-   */
-  QueueAccess getQueues();
-
-  /**
-   * API for AM operations
-   * @return current operations implementation
-   */
-  AppMasterActionOperations getAMOperations();
-
-  /**
-   * Local cache of content
-   * @return the cache
-   */
-  ContentCache getContentCache();
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
deleted file mode 100644
index a0fe310..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/WebAppApiImpl.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web;
-
-import org.apache.hadoop.registry.client.api.RegistryOperations;
-import org.apache.slider.providers.ProviderService;
-import org.apache.slider.server.appmaster.AppMasterActionOperations;
-import org.apache.slider.server.appmaster.actions.QueueAccess;
-import org.apache.slider.server.appmaster.management.MetricsAndMonitoring;
-import org.apache.slider.server.appmaster.state.RoleStatus;
-import org.apache.slider.server.appmaster.state.StateAccessForProviders;
-import org.apache.slider.server.appmaster.web.rest.agent.AgentRestOperations;
-import 
org.apache.slider.server.appmaster.web.rest.application.resources.ContentCache;
-import org.apache.slider.server.services.security.CertificateManager;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-/**
- * 
- */
-public class WebAppApiImpl implements WebAppApi {
-  private static final Logger log = 
LoggerFactory.getLogger(WebAppApiImpl.class);
-
-  protected final StateAccessForProviders appState;
-  protected final ProviderService provider;
-  protected final CertificateManager certificateManager;
-  private final RegistryOperations registryOperations;
-  private final MetricsAndMonitoring metricsAndMonitoring;
-  private final QueueAccess queues;
-  private final AppMasterActionOperations appMasterOperations;
-  private final ContentCache contentCache;
-
-  public WebAppApiImpl(StateAccessForProviders appState,
-      ProviderService provider,
-      CertificateManager certificateManager,
-      RegistryOperations registryOperations,
-      MetricsAndMonitoring metricsAndMonitoring,
-      QueueAccess queues,
-      AppMasterActionOperations appMasterOperations,
-      ContentCache contentCache) {
-    this.appMasterOperations = appMasterOperations;
-    this.contentCache = contentCache;
-    checkNotNull(appState);
-    checkNotNull(provider);
-    this.queues = queues;
-
-    this.registryOperations = registryOperations;
-    this.appState = appState;
-    this.provider = provider;
-    this.certificateManager = certificateManager;
-    this.metricsAndMonitoring = metricsAndMonitoring;
-  }
-
-  @Override
-  public StateAccessForProviders getAppState() {
-    return appState;
-  }
-
-  @Override
-  public ProviderService getProviderService() {
-    return provider;
-  }
-
-  @Override
-  public CertificateManager getCertificateManager() {
-    return certificateManager;
-  }
-
-  @Override
-  public Map<String,RoleStatus> getRoleStatusByName() {
-    List<RoleStatus> roleStatuses = appState.cloneRoleStatusList();
-    Map<String, RoleStatus> map = new TreeMap<>();
-    for (RoleStatus status : roleStatuses) {
-      map.put(status.getName(), status);
-    }
-    return map;
-  }
-
-  @Override
-  public AgentRestOperations getAgentRestOperations() {
-    return provider.getAgentRestOperations();
-  }
-
-  @Override
-  public RegistryOperations getRegistryOperations() {
-    return registryOperations;
-  }
-
-  @Override
-  public MetricsAndMonitoring getMetricsAndMonitoring() {
-    return metricsAndMonitoring;
-  }
-
-  @Override
-  public QueueAccess getQueues() {
-    return queues;
-  }
-
-  @Override
-  public AppMasterActionOperations getAMOperations() {
-    return appMasterOperations;
-  }
-
-  @Override
-  public ContentCache getContentCache() {
-    return contentCache;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/AppLayout.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/AppLayout.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/AppLayout.java
deleted file mode 100644
index d9a2cda..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/AppLayout.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.layout;
-
-import org.apache.hadoop.yarn.webapp.SubView;
-import org.apache.slider.server.appmaster.web.view.IndexBlock;
-
-/**
- * 
- */
-public class AppLayout extends WebUILayout {
-
-  @Override
-  protected Class<? extends SubView> content() {
-    return IndexBlock.class;
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ClusterSpecificationView.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ClusterSpecificationView.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ClusterSpecificationView.java
deleted file mode 100644
index b54ca71..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ClusterSpecificationView.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.layout;
-
-import org.apache.hadoop.yarn.webapp.SubView;
-import org.apache.slider.server.appmaster.web.view.ClusterSpecificationBlock;
-
-/**
- * 
- */
-public class ClusterSpecificationView extends WebUILayout {
-
-  @Override
-  protected Class<? extends SubView> content() {
-    return ClusterSpecificationBlock.class;
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ContainerStatsView.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ContainerStatsView.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ContainerStatsView.java
deleted file mode 100644
index 39ba0ad..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/ContainerStatsView.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.layout;
-
-import org.apache.hadoop.yarn.webapp.SubView;
-import org.apache.slider.server.appmaster.web.view.ContainerStatsBlock;
-
-
-
-/**
- * 
- */
-public class ContainerStatsView extends WebUILayout {
-
-  @Override
-  protected Class<? extends SubView> content() {
-    return ContainerStatsBlock.class;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/WebUILayout.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/WebUILayout.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/WebUILayout.java
deleted file mode 100644
index 1681f59..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/layout/WebUILayout.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.layout;
-
-import org.apache.hadoop.yarn.webapp.SubView;
-import org.apache.hadoop.yarn.webapp.view.TwoColumnLayout;
-import org.apache.slider.server.appmaster.web.view.NavBlock;
-
-import static org.apache.hadoop.yarn.webapp.view.JQueryUI.ACCORDION;
-import static org.apache.hadoop.yarn.webapp.view.JQueryUI.ACCORDION_ID;
-import static org.apache.hadoop.yarn.webapp.view.JQueryUI.initID;
-
-/**
- * 
- */
-public class WebUILayout extends TwoColumnLayout {
-  
-  @Override 
-  protected void preHead(Page.HTML<_> html) {
-    set(ACCORDION_ID, "nav");
-    set(initID(ACCORDION, "nav"), "{autoHeight:false, active:0}");
-  }
-  
-  @Override
-  protected Class<? extends SubView> nav() {
-    return NavBlock.class;
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGenerator.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGenerator.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGenerator.java
deleted file mode 100644
index 05aaa5b..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGenerator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.rest;
-
-import com.sun.jersey.server.wadl.ApplicationDescription;
-import com.sun.jersey.server.wadl.WadlGenerator;
-import com.sun.jersey.server.wadl.WadlGeneratorImpl;
-import com.sun.research.ws.wadl.Application;
-import com.sun.research.ws.wadl.Resource;
-import com.sun.research.ws.wadl.Resources;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- *
- */
-public class AMWadlGenerator extends WadlGeneratorImpl {
-  @Override
-  /**
-   * This method is called once the WADL application has been assembled, so it
-   * affords an opportunity to edit the resources presented by the WADL.  In
-   * this case, we're removing the internal "/agents" resources.
-   */
-  public void attachTypes(ApplicationDescription egd) {
-    super.attachTypes(egd);
-
-    Application application = egd.getApplication();
-    List<Resources> resources = application.getResources();
-
-    for (Resources appResources : resources) {
-      List<Resource> resourceList = appResources.getResource();
-      for (Resource appResource : resourceList) {
-        String path = appResource.getPath();
-        if (RestPaths.SLIDER_CONTEXT_ROOT.equals(path)) {
-          List<Object> sliderResources = appResource.getMethodOrResource();
-          Iterator<Object> itor = sliderResources.iterator();
-          while (itor.hasNext()) {
-            Object sliderRes = itor.next();
-            if (sliderRes instanceof Resource) {
-              Resource res = (Resource) sliderRes;
-              if (RestPaths.SLIDER_SUBPATH_AGENTS.equals(res.getPath())) {
-                // assuming I'll get a list modification issue if I remove at 
this
-                // point
-                itor.remove();
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-
-  @Override
-  public void setWadlGeneratorDelegate(WadlGenerator delegate) {
-    // do nothing
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGeneratorConfig.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGeneratorConfig.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGeneratorConfig.java
deleted file mode 100644
index ea9f22b..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWadlGeneratorConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.rest;
-
-import com.sun.jersey.api.wadl.config.WadlGeneratorConfig;
-import com.sun.jersey.api.wadl.config.WadlGeneratorDescription;
-
-import java.util.List;
-
-/**
- * App master's WADL generation support
- */
-public class AMWadlGeneratorConfig extends WadlGeneratorConfig {
-
-  public static final String CLASSNAME = 
"org.apache.slider.server.appmaster.web.rest.AMWadlGeneratorConfig";
-  @Override
-  public List<WadlGeneratorDescription> configure() {
-    return generator(AMWadlGenerator.class).descriptions();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWebServices.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWebServices.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWebServices.java
deleted file mode 100644
index 03bf703..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AMWebServices.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.rest;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-import org.apache.slider.server.appmaster.web.WebAppApi;
-import org.apache.slider.server.appmaster.web.rest.agent.AgentResource;
-import 
org.apache.slider.server.appmaster.web.rest.application.ApplicationResource;
-import 
org.apache.slider.server.appmaster.web.rest.management.ManagementResource;
-import org.apache.slider.server.appmaster.web.rest.publisher.PublisherResource;
-import org.apache.slider.server.appmaster.web.rest.registry.RegistryResource;
-
-import javax.ws.rs.Path;
-
-/**
- *  The available REST services exposed by a slider AM. 
- */
-@Singleton
-@Path(RestPaths.SLIDER_CONTEXT_ROOT)
-public class AMWebServices {
-  
-  /** AM/WebApp info object */
-  private WebAppApi slider;
-  private final ManagementResource managementResource;
-  private final PublisherResource publisherResource;
-  private final RegistryResource registryResource;
-  private final ApplicationResource applicationResource;
-
-  @Inject
-  public AMWebServices(WebAppApi slider) {
-    this.slider = slider;
-    managementResource = new ManagementResource(slider);
-    publisherResource = new PublisherResource(slider);
-    registryResource = new RegistryResource(slider);
-    applicationResource = new ApplicationResource(slider);
-  }
-
-  @Path(RestPaths.SLIDER_SUBPATH_MANAGEMENT)
-  public ManagementResource getManagementResource() {
-    return managementResource;
-  }
-
-  @Path(RestPaths.SLIDER_SUBPATH_PUBLISHER)
-  public PublisherResource getPublisherResource() {
-    return publisherResource;
-  }
- 
-  @Path(RestPaths.SLIDER_SUBPATH_REGISTRY)
-  public RegistryResource getRegistryResource() {
-    return registryResource;
-  }
-  
-  @Path(RestPaths.SLIDER_SUBPATH_APPLICATION)
-  public ApplicationResource getApplicationResource() {
-    return applicationResource;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AbstractSliderResource.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AbstractSliderResource.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AbstractSliderResource.java
deleted file mode 100644
index 7ff83b6..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/AbstractSliderResource.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.web.rest;
-
-import org.apache.hadoop.fs.PathNotFoundException;
-import 
org.apache.hadoop.registry.client.exceptions.AuthenticationFailedException;
-import org.apache.hadoop.registry.client.exceptions.NoPathPermissionsException;
-import org.apache.hadoop.yarn.webapp.ForbiddenException;
-import org.apache.hadoop.yarn.webapp.NotFoundException;
-import org.apache.slider.server.appmaster.management.MetricsAndMonitoring;
-import org.apache.slider.server.appmaster.web.WebAppApi;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import java.io.FileNotFoundException;
-import java.net.URI;
-import java.net.URL;
-
-/**
- * Abstract resource base class for REST resources
- * that use the slider WebAppApi
- */
-public abstract class AbstractSliderResource {
-  private static final Logger log =
-      LoggerFactory.getLogger(AbstractSliderResource.class);
-  protected final WebAppApi slider;
-  protected final MetricsAndMonitoring metricsAndMonitoring;
-
-  protected AbstractSliderResource(WebAppApi slider) {
-    this.slider = slider;
-    metricsAndMonitoring = slider.getMetricsAndMonitoring();
-  }
-
-  /**
-   * Generate a redirect to the WASL
-   * @param request to base the URL on
-   * @return a 302 response
-   */
-  protected Response redirectToAppWadl(HttpServletRequest request) {
-    try {
-      URI location = new URL(request.getScheme(),
-          request.getServerName(),
-          request.getServerPort(),
-          RestPaths.APPLICATION_WADL).toURI();
-      return Response.temporaryRedirect(location).build();
-    } catch (Exception e) {
-      log.error("Error during redirect to WADL", e);
-      throw new WebApplicationException(Response.serverError().build());
-    }
-  }
-
-  /**
-   * Convert any exception caught into a web application
-   * exception for rethrowing
-   * @param path path of request
-   * @param ex exception
-   * @return an exception to throw
-   */
-  public WebApplicationException buildException(String path,
-      Exception ex) {
-    try {
-      throw ex;
-    } catch (WebApplicationException e) {
-      // rethrow direct
-      throw e;
-    } catch (FileNotFoundException e) {
-      return new NotFoundException("Not found: " + path);
-    } catch (PathNotFoundException e) {
-      return new NotFoundException("Not found: " + path);
-    } catch (AuthenticationFailedException e) {
-      return new ForbiddenException(path);
-    } catch (NoPathPermissionsException e) {
-      return new ForbiddenException(path);
-    } catch (Exception e) {
-      log.error("Error during generation of response: {}", e, e);
-      return new WebApplicationException(e);
-    }
-  }
-
-  /**
-   * Mark an GET operation on a path
-   * @param verb HTTP Verb
-   * @param path path relative to slider API
-   */
-  protected void mark(String verb, String path) {
-    metricsAndMonitoring.markMeterAndCounter(verb + "-" + path);
-  }
-
-  /**
-   * Mark an GET operation on a path
-   * @param verb HTTP Verb
-   * @param path path relative to slider API
-   */
-  protected void mark(String verb, String path, String subpath) {
-    metricsAndMonitoring.markMeterAndCounter(verb + "-" + path + subpath);
-  }
-
-  /**
-   * Mark a GET operation on a path
-   * @param path path relative to slider API
-   */
-  protected void markGet(String path) {
-    mark("GET", path);
-  }
-
-  /**
-   * Mark a GET operation on a path
-   * @param path path relative to slider API
-   */
-  protected void markGet(String path, String subpath) {
-    mark("GET", path, subpath);
-  }
-
-  /**
-   * Mark a GET operation on a path
-   * @param path path relative to slider API
-   */
-  protected void markPost(String path, String subpath) {
-    mark("POST", path, subpath);
-  }
-
-  /**
-   * Mark a GET operation on a path
-   * @param path path relative to slider API
-   */
-  protected void markPut(String path, String subpath) {
-    mark("PUT", path, subpath);
-  }
-
-  /**
-   * Mark a GET operation on a path
-   * @param path path relative to slider API
-   */
-  protected void markDelete(String path, String subpath) {
-    mark("DELETE", path, subpath);
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilter.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilter.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilter.java
deleted file mode 100644
index d5b6b36..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.web.rest;
-
-import org.apache.hadoop.yarn.server.webproxy.WebAppProxyServlet;
-import org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter;
-import org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpPrincipal;
-import 
org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpServletRequestWrapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * This is a filter which is used to forward insecure operations
- * There's some metrics to track all operations too
- */
-public class InsecureAmFilter extends AmIpFilter {
-  public static final String WS_CONTEXT_ROOT = "slider.rest.context.root";
-  protected static final Logger log =
-      LoggerFactory.getLogger(InsecureAmFilter.class);
-
-  private String wsContextRoot;
-
-
-  @Override
-  public void init(FilterConfig conf) throws ServletException {
-    super.init(conf);
-    wsContextRoot = conf.getInitParameter(WS_CONTEXT_ROOT);
-    if (wsContextRoot == null) {
-      throw new ServletException("No value set for " + WS_CONTEXT_ROOT);
-    }
-  }
-
-  private void rejectNonHttpRequests(ServletRequest req) throws
-      ServletException {
-    if (!(req instanceof HttpServletRequest)) {
-      throw new ServletException("This filter only works for HTTP/HTTPS");
-    }
-  }  
-
-  @Override
-  public void doFilter(ServletRequest req,
-      ServletResponse resp,
-      FilterChain chain) throws IOException, ServletException {
-    rejectNonHttpRequests(req);
-    HttpServletRequest httpReq = (HttpServletRequest) req;
-    HttpServletResponse httpResp = (HttpServletResponse) resp;
-
-
-    String requestURI = httpReq.getRequestURI();
-    if (requestURI == null || !requestURI.startsWith(wsContextRoot)) {
-      // hand off to the AM filter if it is not the context root
-      super.doFilter(req, resp, chain);
-      return;
-    }
-
-    String user = null;
-
-    if (httpReq.getCookies() != null) {
-      for (Cookie c : httpReq.getCookies()) {
-        if (WebAppProxyServlet.PROXY_USER_COOKIE_NAME.equals(c.getName())) {
-          user = c.getValue();
-          break;
-        }
-      }
-    }
-    
-    if (user == null) {
-      log.debug("Could not find " + WebAppProxyServlet.PROXY_USER_COOKIE_NAME
-               + " cookie, so user will not be set");
-      chain.doFilter(req, resp);
-    } else {
-      final AmIpPrincipal principal = new AmIpPrincipal(user);
-      ServletRequest requestWrapper = new AmIpServletRequestWrapper(httpReq,
-          principal);
-      chain.doFilter(requestWrapper, resp);
-    }
-
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilterInitializer.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilterInitializer.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilterInitializer.java
deleted file mode 100644
index 42a5bdd..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/InsecureAmFilterInitializer.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.web.rest;
-
-import com.google.common.annotations.VisibleForTesting;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.http.FilterContainer;
-import org.apache.hadoop.http.FilterInitializer;
-import org.apache.hadoop.http.HttpConfig;
-import org.apache.hadoop.yarn.api.ApplicationConstants;
-import org.apache.hadoop.yarn.conf.YarnConfiguration;
-import org.apache.hadoop.yarn.webapp.util.WebAppUtils;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class InsecureAmFilterInitializer extends FilterInitializer {
-  private static final String FILTER_NAME = "AM_PROXY_FILTER";
-  private static final String FILTER_CLASS =
-      InsecureAmFilter.class.getCanonicalName();
-  private static final String HTTPS_PREFIX = "https://";;
-  private static final String HTTP_PREFIX = "http://";;
-
-  static final String PROXY_HOSTS = "PROXY_HOSTS";
-  static final String PROXY_HOSTS_DELIMITER = ",";
-  static final String PROXY_URI_BASES = "PROXY_URI_BASES";
-  static final String PROXY_URI_BASES_DELIMITER = ",";
-
-  private Configuration configuration;
-
-  public static final String NAME =
-      
"org.apache.slider.server.appmaster.web.rest.InsecureAmFilterInitializer";
-
-  @Override
-  public void initFilter(FilterContainer container, Configuration conf) {
-    configuration = conf;
-    Map<String, String> params = new HashMap<String, String>();
-    String proxy = WebAppUtils.getProxyHostAndPort(conf);
-    String[] parts = proxy.split(":");
-    params.put(InsecureAmFilter.PROXY_HOST, parts[0]);
-    // todo:  eventually call WebAppUtils.getHttpSchemePrefix
-    params.put(InsecureAmFilter.PROXY_URI_BASE, getHttpSchemePrefix()
-                                                + proxy +
-                                                getApplicationWebProxyBase());
-    params.put(InsecureAmFilter.WS_CONTEXT_ROOT, RestPaths.WS_CONTEXT_ROOT);
-    container.addFilter(FILTER_NAME, FILTER_CLASS, params);
-  }
-
-  private void classicAmFilterInitializerInit(FilterContainer container,
-      Configuration conf) {
-    Map<String, String> params = new HashMap<String, String>();
-    List<String> proxies = WebAppUtils.getProxyHostsAndPortsForAmFilter(conf);
-    StringBuilder sb = new StringBuilder();
-    for (String proxy : proxies) {
-      sb.append(proxy.split(":")[0]).append(PROXY_HOSTS_DELIMITER);
-    }
-    sb.setLength(sb.length() - 1);
-    params.put(PROXY_HOSTS, sb.toString());
-
-    String prefix = WebAppUtils.getHttpSchemePrefix(conf);
-    String proxyBase = getApplicationWebProxyBase();
-    sb = new StringBuilder();
-    for (String proxy : proxies) {
-      sb.append(prefix).append(proxy).append(proxyBase)
-        .append(PROXY_HOSTS_DELIMITER);
-    }
-    sb.setLength(sb.length() - 1);
-    params.put(PROXY_URI_BASES, sb.toString());
-
-  }
-
-  @VisibleForTesting
-  protected String getApplicationWebProxyBase() {
-    return System.getenv(ApplicationConstants.APPLICATION_WEB_PROXY_BASE_ENV);
-  }
-
-  private String getHttpSchemePrefix() {
-    return HttpConfig.Policy.HTTPS_ONLY ==
-           HttpConfig.Policy.fromString(configuration
-               .get(
-                   YarnConfiguration.YARN_HTTP_POLICY_KEY,
-                   YarnConfiguration.YARN_HTTP_POLICY_DEFAULT))
-           ? HTTPS_PREFIX : HTTP_PREFIX;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/RestPaths.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/RestPaths.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/RestPaths.java
deleted file mode 100644
index ae9eb0f..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/RestPaths.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.web.rest;
-
-/**
- * Paths in the REST App
- */
-public class RestPaths {
-
-  public static final String WS_CONTEXT = "ws";
-  public static final String AGENT_WS_CONTEXT = "ws";
-
-  /**
-   * Root path for the web services context: {@value}
-   */
-  public static final String WS_CONTEXT_ROOT = "/" + WS_CONTEXT;
-
-  /**
-   * agent content root: {@value}
-   */
-  public static final String WS_AGENT_CONTEXT_ROOT = "/" + AGENT_WS_CONTEXT;
-  public static final String V1_SLIDER = "/v1/slider";
-  public static final String SLIDER_CONTEXT_ROOT = WS_CONTEXT_ROOT + V1_SLIDER;
-  public static final String RELATIVE_API = WS_CONTEXT + V1_SLIDER;
-  public static final String SLIDER_AGENT_CONTEXT_ROOT = WS_AGENT_CONTEXT_ROOT 
+ V1_SLIDER;
-  public static final String MANAGEMENT = "mgmt";
-  public static final String SLIDER_SUBPATH_MANAGEMENT = "/" + MANAGEMENT;
-  public static final String SLIDER_SUBPATH_AGENTS = "/agents";
-  public static final String SLIDER_SUBPATH_PUBLISHER = "/publisher";
-
-
-  /**
-   * management path: {@value}
-   */
-  public static final String SLIDER_PATH_MANAGEMENT = SLIDER_CONTEXT_ROOT
-                                      + SLIDER_SUBPATH_MANAGEMENT;
-
-  public static final String RELATIVE_PATH_MANAGEMENT = RELATIVE_API
-                                      + SLIDER_SUBPATH_MANAGEMENT;
-
-  /**
-   * Agents: {@value}
-   */
-  public static final String SLIDER_PATH_AGENTS = SLIDER_AGENT_CONTEXT_ROOT
-                                      + SLIDER_SUBPATH_AGENTS;
-  
-  /**
-   * Publisher: {@value}
-   */
-  public static final String SLIDER_PATH_PUBLISHER = SLIDER_CONTEXT_ROOT
-                                      + SLIDER_SUBPATH_PUBLISHER;
-
-  public static final String RELATIVE_PATH_PUBLISHER = RELATIVE_API
-                                      + SLIDER_SUBPATH_PUBLISHER;
-
-  /**
-   * Registry subpath: {@value} 
-   */
-  public static final String SLIDER_SUBPATH_REGISTRY = "/registry";
-
-  /**
-   * Registry: {@value}
-   */
-  public static final String SLIDER_PATH_REGISTRY = SLIDER_CONTEXT_ROOT
-                                                    + SLIDER_SUBPATH_REGISTRY;
-  public static final String RELATIVE_PATH_REGISTRY = RELATIVE_API
-                                                    + SLIDER_SUBPATH_REGISTRY;
-
-
-  /**
-   * The regular expressions used to define valid configuration names/url path
-   * fragments: {@value}
-   */
-  public static final String PUBLISHED_CONFIGURATION_REGEXP
-      = "[a-z0-9][a-z0-9_\\+-]*";
-
-  public static final String PUBLISHED_CONFIGURATION_SET_REGEXP
-      = "[a-z0-9][a-z0-9_.\\+-]*";
-
-  public static final String SLIDER_CONFIGSET = "slider";
-  public static final String SLIDER_EXPORTS = "exports";
-
-  public static final String SLIDER_CLASSPATH = "classpath";
-
-  /**
-   * Codahale Metrics - base path: {@value}
-   */
-
-  public static final String SYSTEM = "/system";
-
-
-  /**
-   * Codahale Metrics - health: {@value}
-   */
-  public static final String SYSTEM_HEALTHCHECK = SYSTEM + "/health";
-  /**
-   * Codahale Metrics - metrics: {@value}
-   */
-  public static final String SYSTEM_METRICS = SYSTEM + "/metrics";
-  /**
-   * Codahale Metrics - metrics as JSON: {@value}
-   */
-  public static final String SYSTEM_METRICS_JSON = SYSTEM_METRICS + 
"?format=json";
-  /**
-   * Codahale Metrics - ping: {@value}
-   */
-  public static final String SYSTEM_PING = SYSTEM + "/ping";
-  /**
-   * Codahale Metrics - thread dump: {@value}
-   */
-  public static final String SYSTEM_THREADS = SYSTEM + "/threads";
-
-  /**
-   * application subpath
-   */
-  public static final String SLIDER_SUBPATH_APPLICATION = "/application";
-  
-  /**
-   * management path: {@value}
-   */
-  public static final String SLIDER_PATH_APPLICATION =
-      SLIDER_CONTEXT_ROOT + SLIDER_SUBPATH_APPLICATION;
-
-
-  public static final String APPLICATION_WADL = "/application.wadl";
-  public static final String LIVE = "/live";
-  public static final String LIVE_RESOURCES = "/live/resources";
-  public static final String LIVE_CONTAINERS = "/live/containers";
-  public static final String LIVE_COMPONENTS = "/live/components";
-  public static final String LIVE_NODES = "/live/nodes";
-  public static final String LIVE_LIVENESS = "/live/liveness";
-  public static final String LIVE_STATISTICS = "/live/statistics";
-  public static final String MODEL = "/model";
-  public static final String MODEL_DESIRED = MODEL +"/desired";
-  public static final String MODEL_DESIRED_APPCONF = MODEL_DESIRED +"/appconf";
-  public static final String MODEL_DESIRED_RESOURCES = MODEL_DESIRED 
+"/resources";
-  public static final String MODEL_RESOLVED = "/model/resolved";
-  public static final String MODEL_RESOLVED_APPCONF = MODEL_RESOLVED 
+"/appconf";
-  public static final String MODEL_RESOLVED_RESOURCES = MODEL_RESOLVED 
+"/resources";
-  public static final String MODEL_INTERNAL = "/model/internal";
-
-  public static final String ACTION = "/action";
-  public static final String ACTION_PING = ACTION + "/ping";
-  public static final String ACTION_STOP = ACTION + "/stop";
-
-  /**
-   * Path to a role
-   * @param name role name
-   * @return a path to it
-   */
-  public String pathToRole(String name) {
-
-    // ws/v1/slider/application/live/components/$name
-    return SLIDER_PATH_APPLICATION + LIVE_COMPONENTS + "/" + name;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/SliderJacksonJaxbJsonProvider.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/SliderJacksonJaxbJsonProvider.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/SliderJacksonJaxbJsonProvider.java
deleted file mode 100644
index 86d68a8..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/SliderJacksonJaxbJsonProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.slider.server.appmaster.web.rest;
-
-import com.google.inject.Singleton;
-import org.apache.hadoop.classification.InterfaceAudience.Private;
-import org.apache.hadoop.classification.InterfaceStability.Unstable;
-import org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider;
-import org.codehaus.jackson.map.AnnotationIntrospector;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector;
-import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.ext.Provider;
-
-/**
- * Implementation of JAX-RS abstractions based on {@link
- * JacksonJaxbJsonProvider} needed to deserialize JSON content to, or serialize
- * it from, POJO objects.
- */
-@Singleton
-@Provider
-@Unstable
-@Private
-public class SliderJacksonJaxbJsonProvider extends JacksonJaxbJsonProvider {
-
-  public SliderJacksonJaxbJsonProvider() {
-  }
-
-  @Override
-  public ObjectMapper locateMapper(Class<?> type, MediaType mediaType) {
-    ObjectMapper mapper = super.locateMapper(type, mediaType);
-    AnnotationIntrospector introspector = new AnnotationIntrospector.Pair(
-        new JaxbAnnotationIntrospector(),
-        new JacksonAnnotationIntrospector()
-    );
-    mapper.setAnnotationIntrospector(introspector);
-    //mapper.setSerializationInclusion(Inclusion.NON_NULL);
-    return mapper;
-  }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentCommandType.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentCommandType.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentCommandType.java
deleted file mode 100644
index 17cd8f2..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentCommandType.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.rest.agent;
-
-public enum AgentCommandType {
-  EXECUTION_COMMAND,
-  STATUS_COMMAND,
-  REGISTRATION_COMMAND
-}

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/51c2b92c/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentEnv.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentEnv.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentEnv.java
deleted file mode 100644
index 781ae00..0000000
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentEnv.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.slider.server.appmaster.web.rest.agent;
-
-import com.google.gson.annotations.SerializedName;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-
-@JsonIgnoreProperties(ignoreUnknown = true)
-@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
-public class AgentEnv {
-
-  /**
-   * Various directories, configurable in <code>ambari-agent.ini</code>
-   */
-  private Directory[] stackFoldersAndFiles = new Directory[0];
-
-  /**
-   * Directories that match name <code>/etc/alternatives/*conf</code>
-   */
-  private Alternative[] alternatives = new Alternative[0];
-
-  /**
-   * List of existing users
-   */
-  private ExistingUser[] existingUsers = new ExistingUser[0];
-
-  /**
-   * List of repos
-   */
-  private String[] existingRepos = new String[0];
-
-  /**
-   * List of packages
-   */
-  private PackageDetail[] installedPackages = new PackageDetail[0];
-
-  /**
-   * The host health report
-   */
-  private HostHealth hostHealth = new HostHealth();
-
-  private Integer umask;
-
-  private Boolean iptablesIsRunning;
-
-  public Integer getUmask() {
-    return umask;
-  }
-
-  public void setUmask(Integer umask) {
-    this.umask = umask;
-  }
-
-  public Directory[] getStackFoldersAndFiles() {
-    return stackFoldersAndFiles;
-  }
-
-  public void setStackFoldersAndFiles(Directory[] dirs) {
-    stackFoldersAndFiles = dirs;
-  }
-
-  public void setExistingUsers(ExistingUser[] users) {
-    existingUsers = users;
-  }
-
-  public ExistingUser[] getExistingUsers() {
-    return existingUsers;
-  }
-
-  public void setAlternatives(Alternative[] dirs) {
-    alternatives = dirs;
-  }
-
-  public Alternative[] getAlternatives() {
-    return alternatives;
-  }
-
-  public void setExistingRepos(String[] repos) {
-    existingRepos = repos;
-  }
-
-  public String[] getExistingRepos() {
-    return existingRepos;
-  }
-
-  public void setInstalledPackages(PackageDetail[] packages) {
-    installedPackages = packages;
-  }
-
-  public PackageDetail[] getInstalledPackages() {
-    return installedPackages;
-  }
-
-  public void setHostHealth(HostHealth healthReport) {
-    hostHealth = healthReport;
-  }
-
-  public HostHealth getHostHealth() {
-    return hostHealth;
-  }
-
-  public Boolean getIptablesIsRunning() {
-    return iptablesIsRunning;
-  }
-
-  public void setIptablesIsRunning(Boolean iptablesIsRunning) {
-    this.iptablesIsRunning = iptablesIsRunning;
-  }
-
-  public static class HostHealth {
-    /**
-     * Java processes running on the system.  Default empty array.
-     */
-    @SerializedName("activeJavaProcs")
-    private JavaProc[] activeJavaProcs = new JavaProc[0];
-
-    /**
-     * The current time when agent send the host check report
-     */
-    @SerializedName("agentTimeStampAtReporting")
-    private long agentTimeStampAtReporting = 0;
-
-    /**
-     * The current time when host check report was received
-     */
-    @SerializedName("serverTimeStampAtReporting")
-    private long serverTimeStampAtReporting = 0;
-
-    /**
-     * Live services running on the agent
-     */
-    @SerializedName("liveServices")
-    private LiveService[] liveServices = new LiveService[0];
-
-    public void setAgentTimeStampAtReporting(long currentTime) {
-      agentTimeStampAtReporting = currentTime;
-    }
-
-    public long getAgentTimeStampAtReporting() {
-      return agentTimeStampAtReporting;
-    }
-
-    public void setServerTimeStampAtReporting(long currentTime) {
-      serverTimeStampAtReporting = currentTime;
-    }
-
-    public long getServerTimeStampAtReporting() {
-      return serverTimeStampAtReporting;
-    }
-
-    public void setActiveJavaProcs(JavaProc[] procs) {
-      activeJavaProcs = procs;
-    }
-
-    public JavaProc[] getActiveJavaProcs() {
-      return activeJavaProcs;
-    }
-
-    public void setLiveServices(LiveService[] services) {
-      liveServices = services;
-    }
-
-    public LiveService[] getLiveServices() {
-      return liveServices;
-    }
-  }
-
-  public static class PackageDetail {
-    @SerializedName("name")
-    private String pkgName;
-    @SerializedName("version")
-    private String pkgVersion;
-    @SerializedName("repoName")
-    private String pkgRepoName;
-
-    public void setName(String name) {
-      pkgName = name;
-    }
-
-    public String getName() {
-      return pkgName;
-    }
-
-    public void setVersion(String version) {
-      pkgVersion = version;
-    }
-
-    public String getVersion() {
-      return pkgVersion;
-    }
-
-    public void setRepoName(String repoName) {
-      pkgRepoName = repoName;
-    }
-
-    public String getRepoName() {
-      return pkgRepoName;
-    }
-  }
-
-  /**
-   * Represents information about a directory of interest.
-   */
-  public static class Directory {
-    @SerializedName("name")
-    private String dirName;
-    @SerializedName("type")
-    private String dirType;
-
-    public void setName(String name) {
-      dirName = name;
-    }
-
-    public String getName() {
-      return dirName;
-    }
-
-    public void setType(String type) {
-      dirType = type;
-    }
-
-    public String getType() {
-      return dirType;
-    }
-  }
-
-  /**
-   * Represents information about running java processes.
-   */
-  public static class JavaProc {
-    @SerializedName("user")
-    private String user;
-    @SerializedName("pid")
-    private int pid = 0;
-    @SerializedName("hadoop")
-    private boolean is_hadoop = false;
-    @SerializedName("command")
-    private String command;
-
-    public void setUser(String user) {
-      this.user = user;
-    }
-
-    public String getUser() {
-      return user;
-    }
-
-    public void setPid(int pid) {
-      this.pid = pid;
-    }
-
-    public int getPid() {
-      return pid;
-    }
-
-    public void setHadoop(boolean hadoop) {
-      is_hadoop = hadoop;
-    }
-
-    public boolean isHadoop() {
-      return is_hadoop;
-    }
-
-    public void setCommand(String cmd) {
-      command = cmd;
-    }
-
-    public String getCommand() {
-      return command;
-    }
-  }
-
-  public static class Alternative {
-    @SerializedName("name")
-    private String altName;
-    @SerializedName("target")
-    private String altTarget;
-
-    public void setName(String name) {
-      altName = name;
-    }
-
-    public String getName() {
-      return altName;
-    }
-
-    public void setTarget(String target) {
-      altTarget = target;
-    }
-
-    public String getTarget() {
-      return altTarget;
-    }
-  }
-
-  public static class LiveService {
-    @SerializedName("name")
-    private String svcName;
-    @SerializedName("status")
-    private String svcStatus;
-    @SerializedName("desc")
-    private String svcDesc;
-
-    public void setName(String name) {
-      svcName = name;
-    }
-
-    public String getName() {
-      return svcName;
-    }
-
-    public void setStatus(String status) {
-      svcStatus = status;
-    }
-
-    public String getStatus() {
-      return svcStatus;
-    }
-
-    public void setDesc(String desc) {
-      svcDesc = desc;
-    }
-
-    public String getDesc() {
-      return svcDesc;
-    }
-  }
-
-  public static class ExistingUser {
-    @SerializedName("name")
-    private String name;
-    @SerializedName("homeDir")
-    private String homeDir;
-    @SerializedName("status")
-    private String status;
-
-    public void setUserName(String userName) {
-      name = userName;
-    }
-
-    public String getUserName() {
-      return name;
-    }
-
-    public void setUserHomeDir(String userHomeDir) {
-      homeDir = userHomeDir;
-    }
-
-    public String getUserHomeDir() {
-      return homeDir;
-    }
-
-    public void setUserStatus(String userStatus) {
-      status = userStatus;
-    }
-
-    public String getUserStatus() {
-      return status;
-    }
-  }
-}

Reply via email to