You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by sa...@apache.org on 2017/03/16 04:04:30 UTC

apex-core git commit: APEXCORE-592 Returning description field in defaultProperties during apex cli call get-app-package-info

Repository: apex-core
Updated Branches:
  refs/heads/master 3024b06e1 -> 408cd967a


APEXCORE-592 Returning description field in defaultProperties during apex cli call get-app-package-info


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

Branch: refs/heads/master
Commit: 408cd967a98506317e94821df5143a7800f0eb7d
Parents: 3024b06
Author: ajaygit158 <aj...@gmail.com>
Authored: Mon Dec 19 16:13:55 2016 +0530
Committer: ajaygit158 <aj...@gmail.com>
Committed: Thu Mar 16 07:50:42 2017 +0530

----------------------------------------------------------------------
 .../java/com/datatorrent/stram/cli/ApexCli.java |  8 ++---
 .../datatorrent/stram/client/AppPackage.java    | 35 +++++++++++++++++---
 .../stram/client/DTConfiguration.java           |  2 +-
 .../stram/client/AppPackageTest.java            |  5 +--
 .../META-INF/properties-MyFirstApplication.xml  |  1 +
 5 files changed, 39 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/apex-core/blob/408cd967/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 28ac3df..e95a391 100644
--- a/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java
+++ b/engine/src/main/java/com/datatorrent/stram/cli/ApexCli.java
@@ -98,6 +98,7 @@ import com.datatorrent.api.StreamingApplication;
 import com.datatorrent.stram.StramUtils;
 import com.datatorrent.stram.client.AppPackage;
 import com.datatorrent.stram.client.AppPackage.AppInfo;
+import com.datatorrent.stram.client.AppPackage.PropertyInfo;
 import com.datatorrent.stram.client.ConfigPackage;
 import com.datatorrent.stram.client.DTConfiguration;
 import com.datatorrent.stram.client.DTConfiguration.Scope;
@@ -3480,7 +3481,6 @@ public class ApexCli
         printJson(apInfo);
       }
     }
-
   }
 
   private void checkConfigPackageCompatible(AppPackage ap, ConfigPackage cp)
@@ -3728,11 +3728,11 @@ public class ApexCli
         break;
       }
     }
-    Map<String, String> defaultProperties = selectedApp == null ? ap.getDefaultProperties() : selectedApp.defaultProperties;
+    Map<String, PropertyInfo> defaultProperties = selectedApp == null ? ap.getDefaultProperties() : selectedApp.defaultProperties;
     Set<String> requiredProperties = new TreeSet<>(selectedApp == null ? ap.getRequiredProperties() : selectedApp.requiredProperties);
 
-    for (Map.Entry<String, String> entry : defaultProperties.entrySet()) {
-      launchProperties.set(entry.getKey(), entry.getValue(), Scope.TRANSIENT, null);
+    for (Map.Entry<String, PropertyInfo> entry : defaultProperties.entrySet()) {
+      launchProperties.set(entry.getKey(), entry.getValue().getValue(), Scope.TRANSIENT, entry.getValue().getDescription());
       requiredProperties.remove(entry.getKey());
     }
 

http://git-wip-us.apache.org/repos/asf/apex-core/blob/408cd967/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java b/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java
index e6b4b7f..fcb1612 100644
--- a/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java
+++ b/engine/src/main/java/com/datatorrent/stram/client/AppPackage.java
@@ -81,7 +81,7 @@ public class AppPackage extends JarFile
   private final List<String> appPropertiesFiles = new ArrayList<>();
 
   private final Set<String> requiredProperties = new TreeSet<>();
-  private final Map<String, String> defaultProperties = new TreeMap<>();
+  private final Map<String, PropertyInfo> defaultProperties = new TreeMap<>();
   private final Set<String> configs = new TreeSet<>();
 
   private final File resourcesDirectory;
@@ -98,7 +98,7 @@ public class AppPackage extends JarFile
     public String errorStackTrace;
 
     public Set<String> requiredProperties = new TreeSet<>();
-    public Map<String, String> defaultProperties = new TreeMap<>();
+    public Map<String, PropertyInfo> defaultProperties = new TreeMap<>();
 
     public AppInfo(String name, String file, String type)
     {
@@ -109,6 +109,28 @@ public class AppPackage extends JarFile
 
   }
 
+  public static class PropertyInfo
+  {
+    private final String value;
+    private final String description;
+
+    public PropertyInfo(final String value, final String description)
+    {
+      this.value = value;
+      this.description = description;
+    }
+
+    public String getValue()
+    {
+      return value;
+    }
+
+    public String getDescription()
+    {
+      return description;
+    }
+  }
+
   public AppPackage(File file) throws IOException, ZipException
   {
     this(file, false);
@@ -317,7 +339,7 @@ public class AppPackage extends JarFile
     return Collections.unmodifiableSet(requiredProperties);
   }
 
-  public Map<String, String> getDefaultProperties()
+  public Map<String, PropertyInfo> getDefaultProperties()
   {
     return Collections.unmodifiableMap(defaultProperties);
   }
@@ -434,11 +456,14 @@ public class AppPackage extends JarFile
             app.requiredProperties.add(key);
           }
         } else {
+        //Attribute are platform specific, ignoring description provided in properties file
+          String description = key.contains(".attr.") ? null : config.getDescription(key);
+          PropertyInfo propertyInfo = new PropertyInfo(value, description);
           if (app == null) {
-            defaultProperties.put(key, value);
+            defaultProperties.put(key, propertyInfo);
           } else {
             app.requiredProperties.remove(key);
-            app.defaultProperties.put(key, value);
+            app.defaultProperties.put(key, propertyInfo);
           }
         }
       }

http://git-wip-us.apache.org/repos/asf/apex-core/blob/408cd967/engine/src/main/java/com/datatorrent/stram/client/DTConfiguration.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/client/DTConfiguration.java b/engine/src/main/java/com/datatorrent/stram/client/DTConfiguration.java
index 1f19d71..5844740 100644
--- a/engine/src/main/java/com/datatorrent/stram/client/DTConfiguration.java
+++ b/engine/src/main/java/com/datatorrent/stram/client/DTConfiguration.java
@@ -70,7 +70,7 @@ public class DTConfiguration implements Iterable<Map.Entry<String, String>>
   private final Map<String, ValueEntry> map = new LinkedHashMap<>();
   private static final Logger LOG = LoggerFactory.getLogger(DTConfiguration.class);
 
-  public static class ValueEntry
+  private static class ValueEntry
   {
     public String value;
     public boolean isFinal = false;

http://git-wip-us.apache.org/repos/asf/apex-core/blob/408cd967/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 0ea760f..9f3276d 100644
--- a/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java
+++ b/engine/src/test/java/com/datatorrent/stram/client/AppPackageTest.java
@@ -125,7 +125,7 @@ public class AppPackageTest
   }
 
   @Test
-  public void testAppLevelRequiredProperties()
+  public void testAppLevelRequiredAndDefaultProperties()
   {
     List<AppPackage.AppInfo> applications = ap.getApplications();
     for (AppPackage.AppInfo app : applications) {
@@ -133,7 +133,8 @@ public class AppPackageTest
         String[] rp = app.requiredProperties.toArray(new String[]{});
         Assert.assertEquals("dt.test.required.2", rp[0]);
         Assert.assertEquals("dt.test.required.3", rp[1]);
-        Assert.assertEquals("app-default-for-required-1", app.defaultProperties.get("dt.test.required.1"));
+        Assert.assertEquals("app-default-for-required-1", app.defaultProperties.get("dt.test.required.1").getValue());
+        Assert.assertEquals("app-default-for-required-1-description", app.defaultProperties.get("dt.test.required.1").getDescription());
         return;
       }
     }

http://git-wip-us.apache.org/repos/asf/apex-core/blob/408cd967/engine/src/test/resources/testAppPackage/mydtapp/src/main/resources/META-INF/properties-MyFirstApplication.xml
----------------------------------------------------------------------
diff --git a/engine/src/test/resources/testAppPackage/mydtapp/src/main/resources/META-INF/properties-MyFirstApplication.xml b/engine/src/test/resources/testAppPackage/mydtapp/src/main/resources/META-INF/properties-MyFirstApplication.xml
index 8f7e9a8..b23bd61 100644
--- a/engine/src/test/resources/testAppPackage/mydtapp/src/main/resources/META-INF/properties-MyFirstApplication.xml
+++ b/engine/src/test/resources/testAppPackage/mydtapp/src/main/resources/META-INF/properties-MyFirstApplication.xml
@@ -43,6 +43,7 @@
   <property>
     <name>dt.test.required.1</name>
     <value>app-default-for-required-1</value>
+    <description>app-default-for-required-1-description</description>
   </property>
   <property>
     <name>dt.test.required.3</name>