You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/09/01 06:47:09 UTC
[1/2] ignite git commit: # IGNITE-843 Updated sql page.
Repository: ignite
Updated Branches:
refs/heads/ignite-843 98872d307 -> b11cbfd05
# IGNITE-843 Updated sql page.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3228c4b0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3228c4b0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3228c4b0
Branch: refs/heads/ignite-843
Commit: 3228c4b0b9d8cad20964c281c1e187860a31775e
Parents: 5ce52e9
Author: Andrey <an...@gridgain.com>
Authored: Tue Sep 1 11:42:02 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Tue Sep 1 11:42:02 2015 +0700
----------------------------------------------------------------------
.../bin/ignite-web-agent.sh | 15 ++++
.../apache/ignite/agent/AgentConfiguration.java | 11 +--
.../org/apache/ignite/agent/AgentLauncher.java | 22 +++--
.../ignite/agent/AgentLoggingConfigurator.java | 8 +-
.../org/apache/ignite/agent/AgentSocket.java | 36 +++++---
.../org/apache/ignite/agent/AgentUtils.java | 10 ++-
.../handlers/DatabaseMetadataExtractor.java | 28 +++++--
.../ignite/agent/handlers/RestExecutor.java | 34 ++++----
.../org/apache/ignite/agent/remote/Remote.java | 5 +-
.../ignite/agent/remote/RemoteHandler.java | 23 ++++--
.../ignite/agent/remote/WebSocketSender.java | 2 +-
.../agent/testdrive/AgentMetadataTestDrive.java | 19 +++--
.../agent/testdrive/AgentSqlTestDrive.java | 55 ++++++++++---
.../ignite/agent/testdrive/model/Car.java | 2 +-
.../ignite/agent/testdrive/model/CarKey.java | 2 +-
.../ignite/agent/testdrive/model/Country.java | 2 +-
.../agent/testdrive/model/CountryKey.java | 2 +-
.../agent/testdrive/model/Department.java | 2 +-
.../agent/testdrive/model/DepartmentKey.java | 2 +-
.../ignite/agent/testdrive/model/Employee.java | 2 +-
.../agent/testdrive/model/EmployeeKey.java | 2 +-
.../ignite/agent/testdrive/model/Parking.java | 2 +-
.../agent/testdrive/model/ParkingKey.java | 2 +-
.../src/main/js/controllers/sql-controller.js | 47 ++++++++++-
modules/control-center-web/src/main/js/db.js | 4 +-
.../src/main/js/public/stylesheets/style.scss | 12 +--
.../src/main/js/views/includes/controls.jade | 6 +-
.../src/main/js/views/sql/sql.jade | 87 +++++++++++---------
28 files changed, 296 insertions(+), 148 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/bin/ignite-web-agent.sh
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/bin/ignite-web-agent.sh b/modules/control-center-agent/bin/ignite-web-agent.sh
index b0158a3..9acdc5c 100755
--- a/modules/control-center-agent/bin/ignite-web-agent.sh
+++ b/modules/control-center-agent/bin/ignite-web-agent.sh
@@ -16,4 +16,19 @@
# limitations under the License.
#
+SOURCE="${BASH_SOURCE[0]}"
+
+DIR="$( dirname "$SOURCE" )"
+
+while [ -h "$SOURCE" ]
+ do
+ SOURCE="$(readlink "$SOURCE")"
+
+ [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
+
+ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+ done
+
+DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
+
java -jar ignite-web-agent-${version}.jar "$@"
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentConfiguration.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentConfiguration.java
index 44a7f1f..f2de4a7 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentConfiguration.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentConfiguration.java
@@ -17,11 +17,12 @@
package org.apache.ignite.agent;
-import com.beust.jcommander.*;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
+import com.beust.jcommander.Parameter;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+import java.util.Properties;
/**
* Agent configuration.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
index f04d9d9..01de963 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLauncher.java
@@ -17,15 +17,14 @@
package org.apache.ignite.agent;
-import com.beust.jcommander.*;
-import org.apache.ignite.agent.handlers.*;
-import org.apache.ignite.agent.testdrive.*;
-import org.eclipse.jetty.util.ssl.*;
-import org.eclipse.jetty.websocket.client.*;
-
-import java.io.*;
-import java.net.*;
-import java.util.logging.*;
+import com.beust.jcommander.JCommander;
+import java.io.File;
+import java.net.URI;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.ignite.agent.handlers.RestExecutor;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.eclipse.jetty.websocket.client.WebSocketClient;
/**
* Control Center Agent launcher.
@@ -61,6 +60,11 @@ public class AgentLauncher {
return;
}
+ if (cmdCfg.testDriveSql() && cmdCfg.nodeUri() != null)
+ log.log(Level.WARNING,
+ "URI for connect to Ignite REST server will be ignored because --test-drive-sql option was specified.");
+
+
if (cmdCfg.configPath() != null)
cfg.load(new File(cmdCfg.configPath()).toURI().toURL());
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLoggingConfigurator.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLoggingConfigurator.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLoggingConfigurator.java
index d492c45..3a0084a 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLoggingConfigurator.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentLoggingConfigurator.java
@@ -17,8 +17,12 @@
package org.apache.ignite.agent;
-import java.io.*;
-import java.util.logging.*;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.LogManager;
/**
* Configurator for java.util.Logger.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentSocket.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentSocket.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentSocket.java
index b329967..d66393b 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentSocket.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentSocket.java
@@ -17,18 +17,28 @@
package org.apache.ignite.agent;
-import com.google.gson.*;
-import org.apache.http.auth.*;
-import org.apache.ignite.agent.handlers.*;
-import org.apache.ignite.agent.remote.*;
-import org.apache.ignite.agent.testdrive.*;
-import org.eclipse.jetty.websocket.api.*;
-import org.eclipse.jetty.websocket.api.annotations.*;
-
-import java.io.*;
-import java.net.*;
-import java.util.concurrent.*;
-import java.util.logging.*;
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import java.io.IOException;
+import java.net.ConnectException;
+import java.util.concurrent.CountDownLatch;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.ignite.agent.handlers.DatabaseMetadataExtractor;
+import org.apache.ignite.agent.handlers.RestExecutor;
+import org.apache.ignite.agent.remote.Remote;
+import org.apache.ignite.agent.remote.RemoteHandler;
+import org.apache.ignite.agent.remote.WebSocketSender;
+import org.apache.ignite.agent.testdrive.AgentMetadataTestDrive;
+import org.apache.ignite.agent.testdrive.AgentSqlTestDrive;
+import org.eclipse.jetty.websocket.api.Session;
+import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
+import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
+import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
+import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
+import org.eclipse.jetty.websocket.api.annotations.WebSocket;
/**
* Handler for web-socket connection.
@@ -170,7 +180,7 @@ public class AgentSocket implements WebSocketSender {
AgentMetadataTestDrive.testDrive();
if (cfg.testDriveSql())
- AgentSqlTestDrive.testDrive();
+ AgentSqlTestDrive.testDrive(cfg);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
index d756664..6ee5633 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/AgentUtils.java
@@ -17,10 +17,12 @@
package org.apache.ignite.agent;
-import java.io.*;
-import java.net.*;
-import java.security.*;
-import java.util.logging.*;
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.security.ProtectionDomain;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Utility methods.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java
index 55e3307..6012b3f 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/DatabaseMetadataExtractor.java
@@ -17,15 +17,25 @@
package org.apache.ignite.agent.handlers;
-import org.apache.ignite.agent.*;
-import org.apache.ignite.agent.remote.*;
-import org.apache.ignite.schema.parser.*;
-
-import java.io.*;
-import java.net.*;
-import java.sql.*;
-import java.util.*;
-import java.util.logging.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.ignite.agent.AgentConfiguration;
+import org.apache.ignite.agent.AgentUtils;
+import org.apache.ignite.agent.remote.Remote;
+import org.apache.ignite.schema.parser.DbMetadataReader;
+import org.apache.ignite.schema.parser.DbTable;
/**
* Remote API to extract database metadata.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/RestExecutor.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/RestExecutor.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/RestExecutor.java
index 98fd2fa..7e8edf8 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/RestExecutor.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/handlers/RestExecutor.java
@@ -17,20 +17,26 @@
package org.apache.ignite.agent.handlers;
-import org.apache.commons.codec.*;
-import org.apache.http.*;
-import org.apache.http.client.entity.*;
-import org.apache.http.client.methods.*;
-import org.apache.http.client.utils.*;
-import org.apache.http.entity.*;
-import org.apache.http.impl.client.*;
-import org.apache.ignite.agent.*;
-import org.apache.ignite.agent.remote.*;
-
-import java.io.*;
-import java.net.*;
-import java.nio.charset.*;
-import java.util.*;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.charset.Charset;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.codec.Charsets;
+import org.apache.http.Header;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.ignite.agent.AgentConfiguration;
+import org.apache.ignite.agent.remote.Remote;
/**
* Executor for REST requests.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/Remote.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/Remote.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/Remote.java
index ecd056c..8fe49bd 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/Remote.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/Remote.java
@@ -17,7 +17,10 @@
package org.apache.ignite.agent.remote;
-import java.lang.annotation.*;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
/**
* Use this annotation to associate methods with remote NodeJS server commands.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/RemoteHandler.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/RemoteHandler.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/RemoteHandler.java
index 5ca6379..203f0fb 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/RemoteHandler.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/RemoteHandler.java
@@ -17,13 +17,22 @@
package org.apache.ignite.agent.remote;
-import com.google.gson.*;
-import org.apache.http.auth.*;
-
-import java.lang.reflect.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.logging.*;
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonNull;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonPrimitive;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.http.auth.AuthenticationException;
/**
* Allow to execute methods remotely from NodeJS server by web-socket command.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/WebSocketSender.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/WebSocketSender.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/WebSocketSender.java
index 44f4147..655ff85 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/WebSocketSender.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/remote/WebSocketSender.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.remote;
-import com.google.gson.*;
+import com.google.gson.JsonObject;
/**
* Sender for messages to web-socket.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentMetadataTestDrive.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentMetadataTestDrive.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentMetadataTestDrive.java
index 6d2ab50..d3307b7 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentMetadataTestDrive.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentMetadataTestDrive.java
@@ -1,12 +1,17 @@
package org.apache.ignite.agent.testdrive;
-import org.apache.ignite.agent.*;
-import org.h2.tools.*;
-
-import java.io.*;
-import java.sql.*;
-import java.util.concurrent.atomic.*;
-import java.util.logging.*;
+import java.io.File;
+import java.io.FileReader;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.ignite.agent.AgentUtils;
+import org.h2.tools.RunScript;
+import org.h2.tools.Server;
/**
* Test drive for metadata load from database.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentSqlTestDrive.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentSqlTestDrive.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentSqlTestDrive.java
index d52deae..7a493a6 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentSqlTestDrive.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/AgentSqlTestDrive.java
@@ -1,14 +1,34 @@
package org.apache.ignite.agent.testdrive;
-import org.apache.ignite.*;
-import org.apache.ignite.agent.testdrive.model.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.lang.*;
-
-import java.util.*;
-import java.util.concurrent.atomic.*;
-import java.util.logging.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Random;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.Ignition;
+import org.apache.ignite.agent.AgentConfiguration;
+import org.apache.ignite.agent.testdrive.model.Car;
+import org.apache.ignite.agent.testdrive.model.CarKey;
+import org.apache.ignite.agent.testdrive.model.Country;
+import org.apache.ignite.agent.testdrive.model.CountryKey;
+import org.apache.ignite.agent.testdrive.model.Department;
+import org.apache.ignite.agent.testdrive.model.DepartmentKey;
+import org.apache.ignite.agent.testdrive.model.Employee;
+import org.apache.ignite.agent.testdrive.model.EmployeeKey;
+import org.apache.ignite.agent.testdrive.model.Parking;
+import org.apache.ignite.agent.testdrive.model.ParkingKey;
+import org.apache.ignite.cache.CacheTypeMetadata;
+import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.internal.IgniteNodeAttributes;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.lang.IgniteBiTuple;
/**
* Test drive for SQL.
@@ -299,7 +319,7 @@ public class AgentSqlTestDrive {
/**
* Start ignite node with cacheEmployee and populate it with data.
*/
- public static void testDrive() {
+ public static void testDrive(AgentConfiguration acfg) {
if (initLatch.compareAndSet(false, true)) {
log.log(Level.INFO, "TEST-DRIVE: Prepare node configuration...");
@@ -312,7 +332,20 @@ public class AgentSqlTestDrive {
log.log(Level.INFO, "TEST-DRIVE: Start embedded node with indexed enabled caches...");
- Ignite ignite = Ignition.start(cfg);
+ IgniteEx ignite = (IgniteEx)Ignition.start(cfg);
+
+ String host = ((Collection<String>)
+ ignite.localNode().attribute(IgniteNodeAttributes.ATTR_REST_JETTY_ADDRS)).iterator().next();
+
+ Integer port = ignite.localNode().attribute(IgniteNodeAttributes.ATTR_REST_JETTY_PORT);
+
+ if (F.isEmpty(host) || port == null) {
+ log.log(Level.SEVERE, "TEST-DRIVE: Failed to start embedded node with rest!");
+
+ return;
+ }
+
+ acfg.nodeUri(String.format("http://%s:%d", "0.0.0.0".equals(host) ? "127.0.0.1" : host, port));
log.log(Level.INFO, "TEST-DRIVE: Embedded node started");
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Car.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Car.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Car.java
index 38cb1bc..969830b 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Car.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Car.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* Car definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CarKey.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CarKey.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CarKey.java
index 7e9d0ce..1c661d2 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CarKey.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CarKey.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* CarKey definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Country.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Country.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Country.java
index 7a6ddf9..9f10e6f 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Country.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Country.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* Country definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CountryKey.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CountryKey.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CountryKey.java
index e27d78c..8e10c94 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CountryKey.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/CountryKey.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* CountryKey definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Department.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Department.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Department.java
index 054eb20..2786b0b 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Department.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Department.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* Department definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/DepartmentKey.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/DepartmentKey.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/DepartmentKey.java
index a176461..0f4ce64 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/DepartmentKey.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/DepartmentKey.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* DepartmentKey definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Employee.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Employee.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Employee.java
index 1695549..eacc538 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Employee.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Employee.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* Employee definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/EmployeeKey.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/EmployeeKey.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/EmployeeKey.java
index 2cce7c4..da89c20 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/EmployeeKey.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/EmployeeKey.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* EmployeeKey definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Parking.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Parking.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Parking.java
index 69048e5..3363d6f 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Parking.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/Parking.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* Parking definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/ParkingKey.java
----------------------------------------------------------------------
diff --git a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/ParkingKey.java b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/ParkingKey.java
index b076b33..1e0e595 100644
--- a/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/ParkingKey.java
+++ b/modules/control-center-agent/src/main/java/org/apache/ignite/agent/testdrive/model/ParkingKey.java
@@ -17,7 +17,7 @@
package org.apache.ignite.agent.testdrive.model;
-import java.io.*;
+import java.io.Serializable;
/**
* ParkingKey definition.
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-web/src/main/js/controllers/sql-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/sql-controller.js b/modules/control-center-web/src/main/js/controllers/sql-controller.js
index 8822dc3..1abab92 100644
--- a/modules/control-center-web/src/main/js/controllers/sql-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/sql-controller.js
@@ -25,7 +25,7 @@ controlCenterModule.controller('sqlController', ['$scope', '$controller', '$http
$scope.joinTip = $common.joinTip;
- $scope.pageSizes = [50, 100, 200, 400, 800, 1000];
+ $scope.pageSizes = [10, 25, 50];
$scope.modes = [
{value: 'PARTITIONED', label: 'PARTITIONED'},
@@ -40,6 +40,8 @@ controlCenterModule.controller('sqlController', ['$scope', '$controller', '$http
$scope.notebook_name = notebook.name;
+ $scope.notebook.activeIdx = [];
+
if (!notebook.paragraphs || notebook.paragraphs.length == 0)
$scope.addParagraph();
})
@@ -67,6 +69,8 @@ controlCenterModule.controller('sqlController', ['$scope', '$controller', '$http
}
$scope.notebook.edit = false;
+
+ $common.showInfo("Notebook successfully renamed.");
})
.error(function (errMsg) {
$common.showError(errMsg);
@@ -76,6 +80,26 @@ controlCenterModule.controller('sqlController', ['$scope', '$controller', '$http
$scope.notebook.edit = false
};
+ $scope.saveNotebook = function() {
+ $http.post('/notebooks/save', $scope.notebook)
+ .success(function () {
+ $common.showInfo("Notebook successfully saved.");
+ })
+ .error(function (errMsg) {
+ $common.showError(errMsg);
+ });
+ };
+
+ $scope.removeNotebook = function() {
+ $http.post('/notebooks/remove', $scope.notebook)
+ .success(function () {
+ $common.showInfo("Notebook successfully removed.");
+ })
+ .error(function (errMsg) {
+ $common.showError(errMsg);
+ });
+ };
+
$scope.renameParagraph = function(paragraph, newName) {
if (paragraph.name != newName) {
paragraph.name = newName;
@@ -103,11 +127,26 @@ controlCenterModule.controller('sqlController', ['$scope', '$controller', '$http
if ($scope.caches && $scope.caches.length > 0)
paragraph.cache = $scope.caches[0];
+ $scope.notebook.activeIdx.push($scope.notebook.paragraphs.length);
+
$scope.notebook.paragraphs.push(paragraph);
};
- $scope.removeParagraph = function(idx) {
- $scope.notebook.splice(idx, 1);
+ $scope.removeParagraph = function(paragraph) {
+ var paragraph_idx = _.findIndex($scope.notebook.paragraphs, function (item) {
+ return paragraph == item;
+ });
+
+ var panel_idx = _.findIndex($scope.notebook.activeIdx, function (item) {
+ console.log(item);
+
+ return paragraph_idx == item;
+ });
+
+ if (panel_idx >= 0)
+ $scope.notebook.activeIdx.splice(panel_idx, 1);
+
+ $scope.notebook.paragraphs.splice(paragraph_idx, 1);
};
$http.get('/models/sql.json')
@@ -230,5 +269,5 @@ controlCenterModule.controller('sqlController', ['$scope', '$controller', '$http
$scope.getter = function (value) {
return value;
- }
+ };
}]);
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-web/src/main/js/db.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/db.js b/modules/control-center-web/src/main/js/db.js
index edaf9dd..84529a4 100644
--- a/modules/control-center-web/src/main/js/db.js
+++ b/modules/control-center-web/src/main/js/db.js
@@ -348,7 +348,9 @@ var NotebookSchema = new Schema({
paragraphs: [{
name: String,
query: String,
- result: {type: String, enum: ['table', 'bar']}
+ editor: Boolean,
+ result: {type: String, enum: ['none', 'table', 'bar']},
+ pageSize: Number
}]
});
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-web/src/main/js/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/public/stylesheets/style.scss b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
index 748dde8..0ba33d1 100644
--- a/modules/control-center-web/src/main/js/public/stylesheets/style.scss
+++ b/modules/control-center-web/src/main/js/public/stylesheets/style.scss
@@ -514,21 +514,21 @@ table tr:hover {
}
.theme-line .panel-heading {
- padding: 5px 10px 8px 10px;
+ padding: 5px 10px;
margin: 0;
cursor: pointer;
- font-size: 1.2em;
+ font-size: $font-size-large;
+ line-height: 27px;
- i {
- font-size: $font-size-base;
- }
+ a { color: black; }
+
+ .btn-group { margin-left: 10px; }
}
.theme-line .panel-heading:hover {
text-decoration: underline;
}
-
.theme-line .panel-body {
padding: 10px 20px;
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-web/src/main/js/views/includes/controls.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/includes/controls.jade b/modules/control-center-web/src/main/js/views/includes/controls.jade
index 9a046f7..a4cef34 100644
--- a/modules/control-center-web/src/main/js/views/includes/controls.jade
+++ b/modules/control-center-web/src/main/js/views/includes/controls.jade
@@ -437,9 +437,9 @@ mixin main-table(title, rows, focusId, click, rowTemplate)
mixin groups(groups, dataSource)
.panel.panel-default(ng-repeat='group in #{groups}' ng-click='triggerDigest=true' ng-hide='{{group.hide}}')
.panel-heading(bs-collapse-toggle ng-click='hidePopover()') {{::group.label}}
- label(id='{{::group.group + "-title"}}')
- i.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
- i.fa.fa-question-circle.blank(ng-if='!group.tip')
+ label(id='{{::group.group + "-title"}}')
+ i.tipLabel.fa.fa-question-circle(ng-if='group.tip' bs-tooltip='joinTip(group.tip)' type='button')
+ i.tipLabel.fa.fa-question-circle.blank(ng-if='!group.tip')
.panel-collapse(role='tabpanel' bs-collapse-target id='{{::group.group}}' number='{{::group.number}}')
.panel-body
.col-sm-6(id='{{::group.group + "-left"}}')
http://git-wip-us.apache.org/repos/asf/ignite/blob/3228c4b0/modules/control-center-web/src/main/js/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/sql/sql.jade b/modules/control-center-web/src/main/js/views/sql/sql.jade
index b5a03c9..45b251d 100644
--- a/modules/control-center-web/src/main/js/views/sql/sql.jade
+++ b/modules/control-center-web/src/main/js/views/sql/sql.jade
@@ -28,7 +28,10 @@ block container
.docs-header.notebook-header
h1.col-sm-6(ng-hide='notebook.edit')
a {{notebook.name}}
- i.fa.fa-pencil.tipLabel(ng-click='notebook.edit = true;notebook.edit_name = notebook.name' bs-tooltip data-title='Rename notebook' data-trigger='hover')
+ .btn-group
+ i.btn.btn-default.fa.fa-pencil(ng-click='notebook.edit = true;notebook.edit_name = notebook.name' bs-tooltip data-title='Rename notebook' data-trigger='hover')
+ i.btn.btn-default.fa.fa-floppy-o(ng-click='saveNotebook()' bs-tooltip data-title='Save notebook' data-trigger='hover')
+ i.btn.btn-default.fa.fa-remove(ng-click='removeNotebook()' bs-tooltip data-title='Remove notebook' data-trigger='hover')
h1.col-sm-6(ng-show='notebook.edit')
input.sql-name-input(ng-model='notebook.edit_name' on-enter='renameNotebook(notebook.edit_name)' on-escape='notebook.edit = false;')
i.tipLabel.fa.fa-floppy-o(ng-click='renameNotebook(notebook.edit_name)' bs-tooltip data-title='Save notebook name' data-trigger='hover')
@@ -38,16 +41,20 @@ block container
hr
.panel-group(bs-collapse ng-model='notebook.activeIdx' data-allow-multiple='true' data-start-collapsed='false')
.panel.panel-default(ng-repeat='paragraph in notebook.paragraphs')
- .panel-heading
- h3(ng-hide='paragraph.edit')
- a(bs-collapse-toggle ng-click='hidePopover()') {{paragraph.name}}
- i.fa.fa-pencil.tipLabel(ng-click='paragraph.edit = true; paragraph.edit_name = paragraph.name;' bs-tooltip data-title='Rename paragraph' data-trigger='hover')
- .result.btn-group(ng-model='paragraph.result')
+ .panel-heading(bs-collapse-toggle)
+ div(ng-hide='paragraph.edit')
+ a {{paragraph.name}}
+ .btn-group(ng-click='$event.stopPropagation();')
+ i.btn.btn-default.fa.fa-pencil(ng-click='paragraph.edit = true; paragraph.edit_name = paragraph.name;' bs-tooltip data-title='Rename paragraph' data-trigger='hover')
+ i.btn.btn-default.fa.fa-clock-o(ng-click='paragraph.edit = true; paragraph.edit_name = paragraph.name;' bs-tooltip data-title='Refresh rate' data-trigger='hover')
+ i.btn.btn-default.fa.fa-remove(ng-click='removeParagraph(paragraph)' bs-tooltip data-title='Remove paragraph' data-trigger='hover')
+
+ .btn-group(ng-model='paragraph.result' ng-click='$event.stopPropagation();' style='float: right' )
i.btn.btn-default.fa.fa-table(ng-click='paragraph.result="table"' ng-class="{'active': resultMode(paragraph, 'table')}" bs-tooltip data-title='Show table' data-trigger='hover')
i.btn.btn-default.fa.fa-bar-chart(ng-click='paragraph.result="bar"' ng-class="{'active': resultMode(paragraph, 'bar')}" bs-tooltip data-title='Show bar chart' data-trigger='hover')
- h3(ng-show='paragraph.edit')
- input.sql-name-input(ng-model='paragraph.edit_name' on-enter='renameParagraph(paragraph, paragraph.edit_name)' on-escape='paragraph.edit = false;')
- i.tipLabel.fa.fa-floppy-o(ng-click='renameParagraph(paragraph, paragraph.edit_name)' bs-tooltip data-title='Save paragraph name' data-trigger='hover')
+ div(ng-show='paragraph.edit')
+ input.sql-name-input(ng-model='paragraph.edit_name' ng-click='$event.stopPropagation();' on-enter='renameParagraph(paragraph, paragraph.edit_name)' on-escape='renameParagraph(paragraph, paragraph.name)')
+ i.tipLabel.fa.fa-floppy-o(ng-click='renameParagraph(paragraph, paragraph.edit_name); $event.stopPropagation();' bs-tooltip data-title='Save paragraph name' data-trigger='hover')
.panel-collapse(role='tabpanel' bs-collapse-target)
.panel-body(ng-show='paragraph.editor')
.row
@@ -67,35 +74,33 @@ block container
a(ng-click='paragraph.cache = cache') {{$index + 1}}) {{::cache.name}}, {{::cache.mode}}
hr(style='margin: 0')
.settings-row
- label Page Size:
- button.btn.btn-default.base-control(ng-model='paragraph.pageSize' bs-options='item for item in pageSizes' bs-select)
- .settings-row
- button.btn.btn-primary(ng-click='explain(paragraph)') Explain
- button.btn.btn-primary(ng-click='execute(paragraph)') Execute
- button.btn.btn-primary(ng-click='scan(paragraph)') Scan
- .panel-body.table-responsive(ng-show='paragraph.result === "table"')
- table.table.table-striped.col-sm-12.sql-results(st-table='displayedCollection' st-safe-src='paragraph.rows')
- thead
- tr(style='border-size: 0')
- td(colspan='{{paragraph.meta.length}}')
- .col-sm-8
- lable Page #:
- b {{paragraph.page}}
- | Results:
- b {{paragraph.rows.length + paragraph.total}}
- .col-sm-4
- button.btn.btn-primary.fieldButton(ng-click='nextPage(paragraph)' ng-disabled='!paragraph.queryId') Next page
- //.input-tip
- // input.form-control(st-search placeholder='Filter...' type='search')
- tr
- th(ng-repeat='col in paragraph.meta track by $index' st-sort='getter' data-ng-bind='::col.fieldName' bs-tooltip='columnToolTip(col)')
- tbody
- //tr
- // td(colspan='{{#{tab}.cols.length}}')
- // .loading-indicator
- tr(ng-repeat='row in displayedCollection track by $index')
- td(ng-repeat='val in row track by $index') {{ val }}
- tfoot
- tr
- td.text-right(colspan='{{paragraph.meta.length}}')
- div(st-pagination st-items-by-page='10' st-displayed-pages='5')
+ button.btn.btn-primary(ng-click='explain(paragraph)' ng-disabled='!paragraph.query || !paragraph.cache') Explain
+ button.btn.btn-primary(ng-click='execute(paragraph)' ng-disabled='!paragraph.query || !paragraph.cache') Execute
+ button.btn.btn-primary(ng-click='scan(paragraph)' ng-disabled='!paragraph.cache') Scan
+ .pull-right
+ label Page Size:
+ button.btn.btn-default.base-control(ng-model='paragraph.pageSize' bs-options='item for item in pageSizes' bs-select)
+ .panel-body(ng-show='paragraph.result === "table"')
+ .row
+ .col-sm-8
+ lable Page #:
+ b {{paragraph.page}}
+ | Results:
+ b {{paragraph.rows.length + paragraph.total}}
+ .col-sm-4
+ button.btn.btn-primary.fieldButton(ng-click='nextPage(paragraph)' ng-disabled='!paragraph.queryId') Next page
+ .table-responsive
+ table.table.table-condensed(st-table='displayedCollection' st-safe-src='paragraph.rows')
+ thead
+ tr
+ th(ng-repeat='col in paragraph.meta track by $index' st-sort='getter' data-ng-bind='::col.fieldName' bs-tooltip='columnToolTip(col)')
+ tbody
+ //tr
+ // td(colspan='{{#{tab}.cols.length}}')
+ // .loading-indicator
+ tr(ng-repeat='row in displayedCollection track by $index')
+ td(ng-repeat='val in row track by $index') {{ val }}
+ //tfoot
+ // tr
+ // td.text-right(colspan='{{paragraph.meta.length}}')
+ // div(st-pagination st-items-by-page='10' st-displayed-pages='5')
[2/2] ignite git commit: Merge remote-tracking branch
'origin/ignite-843' into ignite-843
Posted by an...@apache.org.
Merge remote-tracking branch 'origin/ignite-843' into ignite-843
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b11cbfd0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b11cbfd0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b11cbfd0
Branch: refs/heads/ignite-843
Commit: b11cbfd050b80f5e7d71a0943753acb049625ee1
Parents: 3228c4b 98872d3
Author: Andrey <an...@gridgain.com>
Authored: Tue Sep 1 11:47:46 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Tue Sep 1 11:47:46 2015 +0700
----------------------------------------------------------------------
.../src/main/js/routes/generator/generator-xml.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------