http://git-wip-us.apache.org/repos/asf/ignite/blob/ae09fa9f/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/top/GridTopologyCommandHandler.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/top/GridTopologyCommandHandler.java index b68c7d4,3b36c6a..2ad3588 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/top/GridTopologyCommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/top/GridTopologyCommandHandler.java @@@ -73,6 -73,6 +73,14 @@@ public class GridTopologyCommandHandle super(ctx); } ++ /** ++ * @param col Collection; ++ * @return Non-empty list. ++ */ ++ private static Collection<String> nonEmptyList(Collection<String> col) { ++ return col == null ? Collections.<String>emptyList() : col; ++ } ++ /** {@inheritDoc} */ @Override public Collection<GridRestCommand> supportedCommands() { return SUPPORTED_COMMANDS; @@@ -307,14 -307,143 +315,6 @@@ } /** - * Creates node bean out of grid node. Notice that cache attribute is handled separately. - * - * @param node Grid node. - * @param mtr {@code true} to add metrics. - * @param attr {@code true} to add attributes. - * @return Grid Node bean. - */ - private GridClientNodeBean createNodeBean(ClusterNode node, boolean mtr, boolean attr) { - assert node != null; - - GridClientNodeBean nodeBean = new GridClientNodeBean(); - - nodeBean.setNodeId(node.id()); - nodeBean.setConsistentId(node.consistentId()); - nodeBean.setTcpPort(attribute(node, ATTR_REST_TCP_PORT, 0)); - - nodeBean.setTcpAddresses(nonEmptyList(node.<Collection<String>>attribute(ATTR_REST_TCP_ADDRS))); - nodeBean.setTcpHostNames(nonEmptyList(node.<Collection<String>>attribute(ATTR_REST_TCP_HOST_NAMES))); - - Map<String, CacheMode> nodeCaches = ctx.discovery().nodeCaches(node); - - Map<String, String> cacheMap = U.newHashMap(nodeCaches.size()); - - for (Map.Entry<String, CacheMode> cache : nodeCaches.entrySet()) { - String cacheName = cache.getKey(); - - if (CU.isSystemCache(cacheName) || CU.isIgfsCache(ctx.config(), cacheName)) - continue; - - String mode = cache.getValue().toString(); - - if (cacheName != null) - cacheMap.put(cacheName, mode); - else - nodeBean.setDefaultCacheMode(mode); - } - - nodeBean.setCaches(cacheMap); - - if (mtr) { - ClusterMetrics metrics = node.metrics(); - - GridClientNodeMetricsBean metricsBean = new GridClientNodeMetricsBean(); - - metricsBean.setStartTime(metrics.getStartTime()); - metricsBean.setAverageActiveJobs(metrics.getAverageActiveJobs()); - metricsBean.setAverageCancelledJobs(metrics.getAverageCancelledJobs()); - metricsBean.setAverageCpuLoad(metrics.getAverageCpuLoad()); - metricsBean.setAverageJobExecuteTime(metrics.getAverageJobExecuteTime()); - metricsBean.setAverageJobWaitTime(metrics.getAverageJobWaitTime()); - metricsBean.setAverageRejectedJobs(metrics.getAverageRejectedJobs()); - metricsBean.setAverageWaitingJobs(metrics.getAverageWaitingJobs()); - metricsBean.setCurrentActiveJobs(metrics.getCurrentActiveJobs()); - metricsBean.setCurrentCancelledJobs(metrics.getCurrentCancelledJobs()); - metricsBean.setCurrentCpuLoad(metrics.getCurrentCpuLoad()); - metricsBean.setCurrentGcCpuLoad(metrics.getCurrentGcCpuLoad()); - metricsBean.setCurrentDaemonThreadCount(metrics.getCurrentDaemonThreadCount()); - metricsBean.setCurrentIdleTime(metrics.getCurrentIdleTime()); - metricsBean.setCurrentJobExecuteTime(metrics.getCurrentJobExecuteTime()); - metricsBean.setCurrentJobWaitTime(metrics.getCurrentJobWaitTime()); - metricsBean.setCurrentRejectedJobs(metrics.getCurrentRejectedJobs()); - metricsBean.setCurrentThreadCount(metrics.getCurrentThreadCount()); - metricsBean.setCurrentWaitingJobs(metrics.getCurrentWaitingJobs()); - metricsBean.setHeapMemoryCommitted(metrics.getHeapMemoryCommitted()); - metricsBean.setHeapMemoryInitialized(metrics.getHeapMemoryInitialized()); - metricsBean.setHeapMemoryMaximum(metrics.getHeapMemoryMaximum()); - metricsBean.setHeapMemoryUsed(metrics.getHeapMemoryUsed()); - metricsBean.setLastDataVersion(metrics.getLastDataVersion()); - metricsBean.setLastUpdateTime(metrics.getLastUpdateTime()); - metricsBean.setMaximumActiveJobs(metrics.getMaximumActiveJobs()); - metricsBean.setMaximumCancelledJobs(metrics.getMaximumCancelledJobs()); - metricsBean.setMaximumJobExecuteTime(metrics.getMaximumJobExecuteTime()); - metricsBean.setMaximumJobWaitTime(metrics.getMaximumJobWaitTime()); - metricsBean.setMaximumRejectedJobs(metrics.getMaximumRejectedJobs()); - metricsBean.setMaximumThreadCount(metrics.getMaximumThreadCount()); - metricsBean.setMaximumWaitingJobs(metrics.getMaximumWaitingJobs()); - metricsBean.setNodeStartTime(metrics.getNodeStartTime()); - metricsBean.setNonHeapMemoryCommitted(metrics.getNonHeapMemoryCommitted()); - metricsBean.setNonHeapMemoryInitialized(metrics.getNonHeapMemoryInitialized()); - metricsBean.setNonHeapMemoryMaximum(metrics.getNonHeapMemoryMaximum()); - metricsBean.setNonHeapMemoryUsed(metrics.getNonHeapMemoryUsed()); - metricsBean.setStartTime(metrics.getStartTime()); - metricsBean.setTotalCancelledJobs(metrics.getTotalCancelledJobs()); - metricsBean.setTotalCpus(metrics.getTotalCpus()); - metricsBean.setTotalExecutedJobs(metrics.getTotalExecutedJobs()); - metricsBean.setTotalIdleTime(metrics.getTotalIdleTime()); - metricsBean.setTotalRejectedJobs(metrics.getTotalRejectedJobs()); - metricsBean.setTotalStartedThreadCount(metrics.getTotalStartedThreadCount()); - metricsBean.setTotalExecutedTasks(metrics.getTotalExecutedTasks()); - metricsBean.setSentMessagesCount(metrics.getSentMessagesCount()); - metricsBean.setSentBytesCount(metrics.getSentBytesCount()); - metricsBean.setReceivedMessagesCount(metrics.getReceivedMessagesCount()); - metricsBean.setReceivedBytesCount(metrics.getReceivedBytesCount()); - metricsBean.setUpTime(metrics.getUpTime()); - - nodeBean.setMetrics(metricsBean); - } - - if (attr) { - Map<String, Object> attrs = new HashMap<>(node.attributes()); - - attrs.remove(ATTR_CACHE); - attrs.remove(ATTR_TX_CONFIG); - attrs.remove(ATTR_SECURITY_SUBJECT); - attrs.remove(ATTR_SECURITY_CREDENTIALS); - - for (Iterator<Map.Entry<String, Object>> i = attrs.entrySet().iterator(); i.hasNext();) { - Map.Entry<String, Object> e = i.next(); - - if (!e.getKey().startsWith("org.apache.ignite.") && !e.getKey().startsWith("plugins.") && - System.getProperty(e.getKey()) == null) { - i.remove(); - - continue; - } - - if (e.getValue() != null) { - if (e.getValue().getClass().isEnum() || e.getValue() instanceof InetAddress) - e.setValue(e.getValue().toString()); - else if (e.getValue().getClass().isArray()) - i.remove(); - } - } - - nodeBean.setAttributes(attrs); - } - - return nodeBean; - } /** -- * @param col Collection; -- * @return Non-empty list. -- */ -- private static Collection<String> nonEmptyList(Collection<String> col) { -- return col == null ? Collections.<String>emptyList() : col; -- } -- -- /** * Get node attribute by specified attribute name. * * @param node Node to get attribute for.
http://git-wip-us.apache.org/repos/asf/ignite/blob/ae09fa9f/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java ---------------------------------------------------------------------- diff --cc modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java index 9a89f43,48a60a9..441becf --- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java +++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java @@@ -91,22 -85,15 +91,17 @@@ public class GridJettyRestHandler exten /** Logger. */ private final IgniteLogger log; - + /** Authentication checker. */ + private final IgniteClosure<String, Boolean> authChecker; ++ /** Grid context. */ ++ GridKernalContext ctx; /** Request handlers. */ private GridRestProtocolHandler hnd; - /** Default page. */ private volatile String dfltPage; - /** Favicon. */ private volatile byte[] favicon; - - /** Authentication checker. */ - private final IgniteClosure<String, Boolean> authChecker; - - /** Grid context. */ - GridKernalContext ctx; -- ++ /** * Creates new HTTP requests handler. *