Repository: apex-core
Updated Branches:
  refs/heads/master eedd467e0 -> d651edc60


APEXCORE-512 While processing the "-exactMatch" flag, immutable list was 
required.


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

Branch: refs/heads/master
Commit: d651edc608a14a6f0718b3022e4ad43bca21571e
Parents: eedd467
Author: sandeshh <[email protected]>
Authored: Mon Aug 22 11:47:32 2016 -0700
Committer: sandeshh <[email protected]>
Committed: Mon Aug 22 13:26:45 2016 -0700

----------------------------------------------------------------------
 .../java/com/datatorrent/stram/cli/ApexCli.java |  2 +-
 .../com/datatorrent/stram/cli/ApexCliTest.java  |  2 +-
 .../stram/client/AppPackageTest.java            | 19 +++++++--
 .../java/com/example/mydtapp/Application2.java  | 43 ++++++++++++++++++++
 4 files changed, 60 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/apex-core/blob/d651edc6/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java 
b/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java
index 91d29bd..2ecff9f 100644
--- a/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java
+++ b/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java
@@ -3456,7 +3456,7 @@ public class ApexCli
       matchAppName = commandLineInfo.args[1];
     }
 
-    List<AppInfo> applications = getAppsFromPackageAndConfig(ap, cp, 
commandLineInfo.useConfigApps);
+    List<AppInfo> applications = new 
ArrayList<>(getAppsFromPackageAndConfig(ap, cp, commandLineInfo.useConfigApps));
 
     if (matchAppName != null) {
       Iterator<AppInfo> it = applications.iterator();

http://git-wip-us.apache.org/repos/asf/apex-core/blob/d651edc6/engine/src/test/java/com/datatorrent/stram/cli/ApexCliTest.java
----------------------------------------------------------------------
diff --git a/engine/src/test/java/com/datatorrent/stram/cli/ApexCliTest.java 
b/engine/src/test/java/com/datatorrent/stram/cli/ApexCliTest.java
index c049e5b..aaf801d 100644
--- a/engine/src/test/java/com/datatorrent/stram/cli/ApexCliTest.java
+++ b/engine/src/test/java/com/datatorrent/stram/cli/ApexCliTest.java
@@ -150,7 +150,7 @@ public class ApexCliTest
     ApexCli.LaunchCommandLineInfo commandLineInfo = ApexCli
         .getLaunchCommandLineInfo(new String[]{"-exactMatch", "-conf", 
configFile.getAbsolutePath(), appFile.getAbsolutePath(), "MyFirstApplication"});
 
-    commandLineInfo.args = new String[] {"MyFirstApplication"};
+    commandLineInfo.args = new String[] {"testApp", "MyFirstApplication"};
 
     String[] args = cli.getLaunchAppPackageArgs(ap, cp, commandLineInfo, null);
     commandLineInfo = ApexCli.getLaunchCommandLineInfo(args);

http://git-wip-us.apache.org/repos/asf/apex-core/blob/d651edc6/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java
----------------------------------------------------------------------
diff --git 
a/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java 
b/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java
index 9999f01..0ea760f 100644
--- a/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java
+++ b/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java
@@ -20,7 +20,9 @@ package com.datatorrent.stram.client;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import org.codehaus.jettison.json.JSONException;
@@ -90,11 +92,20 @@ public class AppPackageTest
     Assert.assertEquals(System.getProperty("apex.version", "3.4.0"), 
json.getString("dtEngineVersion"));
     Assert.assertEquals("lib/*.jar", 
json.getJSONArray("classPath").getString(0));
 
-    JSONObject application = 
json.getJSONArray("applications").getJSONObject(0);
-    Assert.assertEquals("MyFirstApplication", application.getString("name"));
-    Assert.assertEquals("mydtapp-1.0-SNAPSHOT.jar", 
application.getString("file"));
+    JSONObject application1 = 
json.getJSONArray("applications").getJSONObject(0);
+    JSONObject application2 = 
json.getJSONArray("applications").getJSONObject(1);
 
-    JSONObject dag = application.getJSONObject("dag");
+    Map<String, JSONObject> apps = new HashMap<>();
+
+    apps.put(application1.getString("name"), application1);
+    apps.put(application2.getString("name"), application2);
+
+    Assert.assertEquals(true, apps.containsKey("MyFirstApplication"));
+    Assert.assertEquals(true, apps.containsKey("MySecondApplication"));
+
+    Assert.assertEquals("mydtapp-1.0-SNAPSHOT.jar", 
apps.get("MyFirstApplication").getString("file"));
+
+    JSONObject dag = apps.get("MyFirstApplication").getJSONObject("dag");
     Assert.assertTrue("There is at least one stream", 
dag.getJSONArray("streams").length() >= 1);
     Assert.assertEquals("There are two operator", 2, 
dag.getJSONArray("operators").length());
 

http://git-wip-us.apache.org/repos/asf/apex-core/blob/d651edc6/engine/src/test/resources/testAppPackage/mydtapp/src/main/java/com/example/mydtapp/Application2.java
----------------------------------------------------------------------
diff --git 
a/engine/src/test/resources/testAppPackage/mydtapp/src/main/java/com/example/mydtapp/Application2.java
 
b/engine/src/test/resources/testAppPackage/mydtapp/src/main/java/com/example/mydtapp/Application2.java
new file mode 100644
index 0000000..cc4b6d5
--- /dev/null
+++ 
b/engine/src/test/resources/testAppPackage/mydtapp/src/main/java/com/example/mydtapp/Application2.java
@@ -0,0 +1,43 @@
+/**
+ * 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 com.example.mydtapp;
+
+import org.apache.hadoop.conf.Configuration;
+
+import com.datatorrent.api.annotation.ApplicationAnnotation;
+import com.datatorrent.api.StreamingApplication;
+import com.datatorrent.api.DAG;
+import com.datatorrent.api.DAG.Locality;
+
+@ApplicationAnnotation(name="MySecondApplication")
+public class Application2 implements StreamingApplication
+{
+
+  @Override
+  public void populateDAG(DAG dag, Configuration conf)
+  {
+    // Sample DAG with 2 operators
+    // Replace this code with the DAG you want to build
+
+    RandomNumberGenerator rand = dag.addOperator("rand", 
RandomNumberGenerator.class);
+    StdoutOperator stdout = dag.addOperator("stdout", new StdoutOperator());
+
+    dag.addStream("data", rand.out, 
stdout.in).setLocality(Locality.CONTAINER_LOCAL);
+  }
+}

Reply via email to