You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/12/02 10:42:58 UTC

ignite git commit: IGNITE-2039 reworked generation of factory and node startup java files.

Repository: ignite
Updated Branches:
  refs/heads/ignite-843-rc2 7530ec1c9 -> cc06ba1ca


IGNITE-2039 reworked generation of factory and node startup java files.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/cc06ba1c
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/cc06ba1c
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/cc06ba1c

Branch: refs/heads/ignite-843-rc2
Commit: cc06ba1ca54e33e1a485ee93f3a8a1832465e729
Parents: 7530ec1
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Wed Dec 2 16:43:36 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Wed Dec 2 16:43:36 2015 +0700

----------------------------------------------------------------------
 .../main/js/controllers/summary-controller.js   | 30 +++++---
 .../main/js/helpers/generator/generator-java.js | 72 +++++++++-----------
 2 files changed, 54 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/cc06ba1c/modules/control-center-web/src/main/js/controllers/summary-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/summary-controller.js b/modules/control-center-web/src/main/js/controllers/summary-controller.js
index c2bb1d7..0b5b8b2 100644
--- a/modules/control-center-web/src/main/js/controllers/summary-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/summary-controller.js
@@ -92,8 +92,8 @@ consoleModule.controller('summaryController', [
     };
 
     $scope.generateJavaServer = function () {
-        $scope.javaServer = $generatorJava.cluster($scope.selectedItem,
-            $scope.configServer.javaClassServer === 2 ? 'ServerConfigurationFactory' : false, null, false);
+        $scope.javaServer = $generatorJava.cluster($scope.selectedItem, 'factory',
+            $scope.configServer.javaClassServer === 2 ? 'ServerConfigurationFactory' : false, null);
     };
 
     function selectPojoClass(config) {
@@ -166,9 +166,9 @@ consoleModule.controller('summaryController', [
 
     $scope.generateClient = function () {
         $scope.xmlClient = $generatorXml.cluster($scope.selectedItem, $scope.backupItem.nearConfiguration);
-        $scope.javaClient = $generatorJava.cluster($scope.selectedItem,
+        $scope.javaClient = $generatorJava.cluster($scope.selectedItem, 'factory',
             $scope.backupItem.javaClassClient === 2 ? 'ClientConfigurationFactory' : false,
-            $scope.backupItem.nearConfiguration, true);
+            $scope.backupItem.nearConfiguration);
     };
 
     $scope.$watch('backupItem', $scope.generateClient, true);
@@ -198,7 +198,7 @@ consoleModule.controller('summaryController', [
 
     $scope.downloadConfiguration = function () {
         var cluster = $scope.selectedItem;
-        var clientNearConfiguration = $scope.backupItem.nearConfiguration;
+        var clientNearCfg = $scope.backupItem.nearConfiguration;
 
         var zip = new JSZip();
 
@@ -211,12 +211,22 @@ consoleModule.controller('summaryController', [
 
         var srcPath = 'src/main/java/';
 
-        zip.file('config/' + cluster.name + '-server.xml', $generatorXml.cluster(cluster));
-        zip.file('config/' + cluster.name + '-client.xml', $generatorXml.cluster(cluster, clientNearConfiguration));
+        var serverXml = 'config/' + cluster.name + '-server.xml';
+        var clientXml = 'config/' + cluster.name + '-client.xml';
 
-        zip.file(srcPath + 'ServerConfigurationFactory.java', $generatorJava.cluster(cluster, 'ServerConfigurationFactory', null, false));
-        zip.file(srcPath + 'ClientConfigurationFactory.java', $generatorJava.cluster(cluster, 'ClientConfigurationFactory', clientNearConfiguration, true));
-        zip.file(srcPath + 'NodeStartup.java', $generatorJava.nodeStartup(cluster));
+        zip.file(serverXml, $generatorXml.cluster(cluster));
+        zip.file(clientXml , $generatorXml.cluster(cluster, clientNearCfg));
+
+        zip.file(srcPath + '/factory/ServerConfigurationFactory.java', $generatorJava.cluster(cluster, 'factory', 'ServerConfigurationFactory', null));
+        zip.file(srcPath + '/factory/ClientConfigurationFactory.java', $generatorJava.cluster(cluster, 'factory', 'ClientConfigurationFactory', clientNearCfg));
+
+        zip.file(srcPath + '/startup/ServerNodeSpringStartup.java', $generatorJava.nodeStartup(cluster, 'startup', 'ServerNodeSpringStartup', '"' + serverXml + '"'));
+        zip.file(srcPath + '/startup/ClientNodeSpringStartup.java', $generatorJava.nodeStartup(cluster, 'startup', 'ClientNodeSpringStartup', '"' + clientXml + '"'));
+
+        zip.file(srcPath + '/startup/ServerNodeCodeStartup.java', $generatorJava.nodeStartup(cluster, 'startup', 'ServerNodeStartup',
+            'ServerConfigurationFactory.createConfiguration()', 'factory.ServerConfigurationFactory'));
+        zip.file(srcPath + '/startup/ClientNodeCodeStartup.java', $generatorJava.nodeStartup(cluster, 'startup', 'ClientNodeStartup',
+            'ClientConfigurationFactory.createConfiguration()', 'factory.ClientConfigurationFactory', clientNearCfg));
 
         zip.file('pom.xml', $generatorPom.pom(cluster, igniteVersion).asString());
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/cc06ba1c/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/helpers/generator/generator-java.js b/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
index 1ea01ae..bd3d579 100644
--- a/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
+++ b/modules/control-center-web/src/main/js/helpers/generator/generator-java.js
@@ -1868,11 +1868,11 @@ $generatorJava.clusterConfiguration = function (cluster, clientNearCfg, res) {
  * Function to generate java code for cluster configuration.
  *
  * @param cluster Cluster to process.
+ * @param pkg Package name.
  * @param javaClass Class name for generate factory class otherwise generate code snippet.
- * @param clientNearCfg Near cache configuration for client node.
- * @param clientMode If `true` generates code for client mode or server mode otherwise.
+ * @param clientNearCfg Optional near cache configuration for client node.
  */
-$generatorJava.cluster = function (cluster, javaClass, clientNearCfg, clientMode) {
+$generatorJava.cluster = function (cluster, pkg, javaClass, clientNearCfg) {
     var res = $generatorCommon.builder();
 
     if (cluster) {
@@ -1881,7 +1881,7 @@ $generatorJava.cluster = function (cluster, javaClass, clientNearCfg, clientMode
         res.mergeProps(resCfg);
 
         if (javaClass) {
-            if (clientMode)
+            if (clientNearCfg)
                 res.importClass('org.apache.ignite.Ignite');
 
             res.importClass('org.apache.ignite.Ignition');
@@ -1926,7 +1926,7 @@ $generatorJava.cluster = function (cluster, javaClass, clientNearCfg, clientMode
             res.needEmptyLine = true;
         }
 
-        if (clientMode && clientNearCfg) {
+        if (clientNearCfg) {
             if (javaClass) {
                 res.line('/**');
                 res.line(' * Configure client near cache configuration.');
@@ -1959,37 +1959,11 @@ $generatorJava.cluster = function (cluster, javaClass, clientNearCfg, clientMode
         }
 
         if (javaClass) {
-            res.line('/**');
-            res.line(' * Sample usage of ' + javaClass + '.');
-            res.line(' *');
-            res.line(' * @param args Command line arguments, none required.');
-            res.line(' * @throws Exception If sample execution failed.');
-            res.line(' */');
-
-            res.startBlock('public static void main(String[] args) throws Exception {');
-
-            if (clientMode) {
-                res.startBlock('try (Ignite ignite = Ignition.start(' + javaClass + '.createConfiguration())) {');
-
-                if ($commonUtils.isDefinedAndNotEmpty(cluster.caches)) {
-                    res.line('// Example of near cache creation on client node.');
-                    res.line('ignite.getOrCreateNearCache("' + cluster.caches[0].name + '", ' + javaClass + '.createNearCacheConfiguration());');
-
-                    res.needEmptyLine = true;
-                }
-
-                res.line('System.out.println("Write some code here...");');
-
-                res.endBlock('}');
-            }
-            else
-                res.line('Ignition.start(' + javaClass + '.createConfiguration());');
-
             res.endBlock('}');
 
             res.endBlock('}');
 
-            return res.generateImports() + '\n\n' + res.asString();
+            return 'package ' + pkg + ';\n\n' + res.generateImports() + '\n\n' + res.asString();
         }
     }
 
@@ -1997,32 +1971,54 @@ $generatorJava.cluster = function (cluster, javaClass, clientNearCfg, clientMode
 };
 
 /**
- * Function to generate java code for cluster configuration.
+ * Function to generate java class for node startup with cluster configuration.
+ *
  * @param cluster Cluster to process.
+ * @param pkg Class package name.
+ * @param cls Class name.
+ * @param cfg Config.
+ * @param factoryCls Optional fully qualified class name of configuration factory.
+ * @param clientNearCfg Optional near cache configuration for client node.
  */
-$generatorJava.nodeStartup = function (cluster) {
+$generatorJava.nodeStartup = function (cluster, pkg, cls, cfg, factoryCls, clientNearCfg) {
     var res = $generatorCommon.builder();
 
     res.importClass('org.apache.ignite.IgniteException');
     res.importClass('org.apache.ignite.Ignition');
 
+    if (factoryCls)
+      res.importClass(factoryCls);
+
     res.line('/**');
     res.line(' * ' + $generatorCommon.mainComment());
     res.line(' */');
-    res.startBlock('public class NodeStartup {');
+    res.startBlock('public class ' + cls + ' {');
 
     res.line('/**');
-    res.line(' * Start up an server node.');
+    res.line(' * Start up node with specified configuration.');
     res.line(' *');
     res.line(' * @param args Command line arguments, none required.');
     res.line(' * @throws IgniteException If failed.');
     res.line(' */');
 
     res.startBlock('public static void main(String[] args) throws IgniteException {');
-    res.line('Ignition.start("config/' + cluster.name + '-server.xml");');
+
+    if (clientNearCfg) {
+        res.line('Ignite ignite = Ignition.start(' + cfg + ');');
+
+        if ($commonUtils.isDefinedAndNotEmpty(cluster.caches)) {
+            res.line('// Example of near cache creation on client node.');
+            res.line('ignite.getOrCreateNearCache("' + cluster.caches[0].name + '", ' + cls + '.createNearCacheConfiguration());');
+
+            res.needEmptyLine = true;
+        }
+    }
+    else
+        res.line('Ignition.start(' + cfg + ');');
+
     res.endBlock('}');
 
     res.endBlock('}');
 
-    return res.generateImports() + '\n\n' + res.asString();
+    return 'package ' + pkg + ';\n\n' + res.generateImports() + '\n\n' + res.asString();
 };