You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apex.apache.org by ch...@apache.org on 2015/09/10 00:12:53 UTC
[22/50] incubator-apex-core git commit: APEX-12 #resolve #comment
filter BaseOperator from introspection
APEX-12 #resolve #comment filter BaseOperator from introspection
Project: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/commit/b2a606bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/tree/b2a606bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-apex-core/diff/b2a606bc
Branch: refs/heads/master
Commit: b2a606bcd76f89af4bd42525670765fce01bccd3
Parents: 3f8f97e
Author: siyuan <si...@datatorrent.com>
Authored: Mon Aug 10 12:52:33 2015 -0700
Committer: siyuan <si...@datatorrent.com>
Committed: Mon Aug 10 12:52:33 2015 -0700
----------------------------------------------------------------------
.../com/datatorrent/stram/webapp/TypeGraph.java | 5 ++++-
.../stram/webapp/OperatorDiscoveryTest.java | 16 ++++++++++++++--
2 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/b2a606bc/engine/src/main/java/com/datatorrent/stram/webapp/TypeGraph.java
----------------------------------------------------------------------
diff --git a/engine/src/main/java/com/datatorrent/stram/webapp/TypeGraph.java b/engine/src/main/java/com/datatorrent/stram/webapp/TypeGraph.java
index 61dc99d..8d7e346 100644
--- a/engine/src/main/java/com/datatorrent/stram/webapp/TypeGraph.java
+++ b/engine/src/main/java/com/datatorrent/stram/webapp/TypeGraph.java
@@ -38,6 +38,8 @@ import org.slf4j.LoggerFactory;
import com.datatorrent.api.Component;
import com.datatorrent.api.Operator;
+
+import com.datatorrent.common.util.BaseOperator;
import com.datatorrent.netlet.util.DTThrowable;
import com.datatorrent.stram.webapp.asm.ClassNodeType;
import com.datatorrent.stram.webapp.asm.ClassSignatureVisitor;
@@ -73,7 +75,8 @@ public class TypeGraph
public static final String[] EXCLUDE_CLASSES = {Object.class.getName().replace('.', '/'),
Enum.class.getName().replace('.', '/'),
Operator.class.getName().replace('.', '/'),
- Component.class.getName().replace('.', '/')};
+ Component.class.getName().replace('.', '/'),
+ BaseOperator.class.getName().replace('.', '/')};
public static final ImmutableSet<String> JACKSON_INSTANTIABLE_CLASSES;
http://git-wip-us.apache.org/repos/asf/incubator-apex-core/blob/b2a606bc/engine/src/test/java/com/datatorrent/stram/webapp/OperatorDiscoveryTest.java
----------------------------------------------------------------------
diff --git a/engine/src/test/java/com/datatorrent/stram/webapp/OperatorDiscoveryTest.java b/engine/src/test/java/com/datatorrent/stram/webapp/OperatorDiscoveryTest.java
index 8baa08a..d937ad7 100644
--- a/engine/src/test/java/com/datatorrent/stram/webapp/OperatorDiscoveryTest.java
+++ b/engine/src/test/java/com/datatorrent/stram/webapp/OperatorDiscoveryTest.java
@@ -15,6 +15,9 @@
*/
package com.datatorrent.stram.webapp;
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -199,7 +202,7 @@ public class OperatorDiscoveryTest
JSONArray outputPorts = oper.getJSONArray("outputPorts");
Assert.assertNotNull(debug + "Properties aren't null ", props);
- Assert.assertEquals(debug + "Number of properties ", 5, props.length());
+ Assert.assertEquals(debug + "Number of properties ", 4, props.length());
Assert.assertNotNull(debug + "Port types aren't null ", portTypes);
Assert.assertEquals(debug + "Number of port types ", 5, portTypes.length());
@@ -285,7 +288,16 @@ public class OperatorDiscoveryTest
JSONArray props = asmDesc.getJSONArray("properties");
Assert.assertNotNull(debug + "Properties aren't null ", props);
- Assert.assertEquals(debug + "Number of properties ", 28, props.length());
+ Assert.assertEquals(debug + "Number of properties ", 27, props.length());
+
+ // make sure properties of excluded classes are not in the asm description of the type
+ for(String classN : TypeGraph.EXCLUDE_CLASSES){
+ Class c = Class.forName(classN.replace('/', '.'));
+ BeanInfo bi = Introspector.getBeanInfo(c);
+ for (PropertyDescriptor pd : bi.getPropertyDescriptors()){
+ Assert.assertNull(debug, getJSONProperty(props, pd.getName()));
+ }
+ }
JSONObject mapProperty = getJSONProperty(props, "map");
Assert.assertEquals(debug + "canGet " + mapProperty, true, mapProperty.get("canGet"));