You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by sn...@apache.org on 2014/12/10 01:09:12 UTC

incubator-ranger git commit: RANGER-197: Fixed the source code compilation issues related to SNAPSHOT library dependencies

Repository: incubator-ranger
Updated Branches:
  refs/heads/master 7fc7c9f27 -> 351e26fa4


RANGER-197: Fixed the source code compilation issues related to SNAPSHOT library dependencies


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/351e26fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/351e26fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/351e26fa

Branch: refs/heads/master
Commit: 351e26fa45f12f31d6a73e26973dc31d3cf39e03
Parents: 7fc7c9f
Author: sneethiraj <sn...@apache.org>
Authored: Tue Dec 9 18:47:19 2014 -0500
Committer: sneethiraj <sn...@apache.org>
Committed: Tue Dec 9 18:47:19 2014 -0500

----------------------------------------------------------------------
 .../security/access/XaAccessControlLists.java   | 79 ++++++++++++++++++--
 .../access/XaAccessControlListsTest.java        | 43 +++++++++++
 pom.xml                                         | 10 +--
 3 files changed, 122 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/351e26fa/hbase-agent/src/main/java/org/apache/hadoop/hbase/security/access/XaAccessControlLists.java
----------------------------------------------------------------------
diff --git a/hbase-agent/src/main/java/org/apache/hadoop/hbase/security/access/XaAccessControlLists.java b/hbase-agent/src/main/java/org/apache/hadoop/hbase/security/access/XaAccessControlLists.java
index 6dcb985..8313532 100644
--- a/hbase-agent/src/main/java/org/apache/hadoop/hbase/security/access/XaAccessControlLists.java
+++ b/hbase-agent/src/main/java/org/apache/hadoop/hbase/security/access/XaAccessControlLists.java
@@ -19,17 +19,86 @@
 package org.apache.hadoop.hbase.security.access;
 
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 
 import org.apache.hadoop.hbase.TableExistsException;
 import org.apache.hadoop.hbase.master.MasterServices;
-import org.apache.hadoop.hbase.security.access.AccessControlLists;
+import org.apache.log4j.Logger;
+
 
 public class XaAccessControlLists {
+	
+	private static final Logger LOG = Logger.getLogger(XaAccessControlLists.class) ;
+	
 	public static void init(MasterServices master) throws IOException {
-		try {
-			AccessControlLists.init(master);
-		} catch(TableExistsException excp) {
-			// ignore
+
+		Class<AccessControlLists> accessControlListsClass = AccessControlLists.class ;
+		String cName = accessControlListsClass.getName() ;
+
+		Class<?>[] params = new Class[1] ;
+		params[0] = MasterServices.class ;
+		
+		for (String mname : new String[] { "init", "createACLTable" } ) {
+			try {
+				try {
+					Method m = accessControlListsClass.getDeclaredMethod(mname, params) ;
+					if (m != null) {
+						try {
+							
+							try {
+								m.invoke(null, master) ;
+								logInfo("Execute method name [" + mname + "] in Class [" +  cName + "] is successful.");
+							} catch (InvocationTargetException e) {
+								Throwable cause = e ;
+								boolean tableExistsExceptionFound = false ;
+								if  (e != null) { 	
+									Throwable ecause = e.getTargetException() ;
+									if (ecause != null) {
+										cause = ecause ;
+										if (ecause instanceof TableExistsException) {
+											tableExistsExceptionFound = true ;
+										}
+									}
+								}
+								if (! tableExistsExceptionFound) {
+									logError("Unable to execute the method [" + mname + "] on [" + cName + "] due to exception", cause) ;
+									throw new IOException(cause) ;
+								}
+							}
+							return ;
+						} catch (IllegalArgumentException e) {
+							logError("Unable to execute method name [" + mname + "] in Class [" +  cName + "].", e);
+							throw new IOException(e) ;
+						} catch (IllegalAccessException e) {
+							logError("Unable to execute method name [" + mname + "] in Class [" +  cName + "].", e);
+							throw new IOException(e) ;
+						}
+					}
+				}
+				catch(NoSuchMethodException nsme) {
+					logInfo("Unable to get method name [" + mname + "] in Class [" +  cName + "]. Ignoring the exception");
+				}
+			} catch (SecurityException e) {
+				logError("Unable to get method name [" + mname + "] in Class [" +  cName + "].", e);
+				throw new IOException(e) ;
+			}
 		}
+		throw new IOException("Unable to initialize() [" + cName + "]") ;
+	}
+	
+	
+	private static void logInfo(String msg) {
+		// System.out.println(msg) ;
+		LOG.info(msg) ;
 	}
+
+	private static void logError(String msg, Throwable t) {
+//		System.err.println(msg) ;
+//		if (t != null) {
+//			t.printStackTrace(System.err);
+//		}
+		LOG.error(msg, t);
+	}
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/351e26fa/hbase-agent/src/test/java/org/apache/hadoop/hbase/security/access/XaAccessControlListsTest.java
----------------------------------------------------------------------
diff --git a/hbase-agent/src/test/java/org/apache/hadoop/hbase/security/access/XaAccessControlListsTest.java b/hbase-agent/src/test/java/org/apache/hadoop/hbase/security/access/XaAccessControlListsTest.java
new file mode 100644
index 0000000..4035ab4
--- /dev/null
+++ b/hbase-agent/src/test/java/org/apache/hadoop/hbase/security/access/XaAccessControlListsTest.java
@@ -0,0 +1,43 @@
+package org.apache.hadoop.hbase.security.access;
+
+import java.io.IOException;
+
+import org.apache.hadoop.hbase.master.MasterServices;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class XaAccessControlListsTest {
+
+	@BeforeClass
+	public static void setUpBeforeClass() throws Exception {
+	}
+
+	@AfterClass
+	public static void tearDownAfterClass() throws Exception {
+	}
+
+	@Before
+	public void setUp() throws Exception {
+	}
+
+	@After
+	public void tearDown() throws Exception {
+	}
+
+	@Test
+	public void testInit() {
+		IOException exceptionFound = null ;
+		try {
+			MasterServices service = null ;
+			XaAccessControlLists.init(service) ;
+		} catch (IOException e) {
+			exceptionFound = e ;
+		}
+		Assert.assertFalse("Expected to get a NullPointerExecution after init method Execution - Found [" + exceptionFound + "]",  (!(exceptionFound != null && exceptionFound.getCause() instanceof NullPointerException))) ;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/351e26fa/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b10db9d..38590d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,11 +78,11 @@
 		<google.guava.version>17.0</google.guava.version>
 		<gson.version>2.2.4</gson.version>
 		<guava.version>11.0.2</guava.version>
-		<hadoop-auth.version>3.0.0-SNAPSHOT</hadoop-auth.version>
-		<hadoop-common.version>3.0.0-SNAPSHOT</hadoop-common.version>
-		<hadoop.version>3.0.0-SNAPSHOT</hadoop.version>
+		<hadoop-auth.version>2.6.0</hadoop-auth.version>
+		<hadoop-common.version>2.6.0</hadoop-common.version>
+		<hadoop.version>2.6.0</hadoop.version>
 		<hamcrest.all.version>1.3</hamcrest.all.version>
-		<hbase.version>0.99.2-SNAPSHOT</hbase.version>
+		<hbase.version>0.99.2</hbase.version>
 		<hive.version>0.14.0-SNAPSHOT</hive.version>
 		<javassist.version>3.12.1.GA</javassist.version>
 		<javax.persistence.version>2.1.0</javax.persistence.version>
@@ -92,7 +92,7 @@
 		<junit.version>4.11</junit.version>
 		<mockito.version>1.8.4</mockito.version>
 		<hamcrest-version>1.3</hamcrest-version>
-		<knox.gateway.version>0.5.0-SNAPSHOT</knox.gateway.version>
+		<knox.gateway.version>0.5.0</knox.gateway.version>
 		<local.lib.dir>${project.basedir}/../lib/local</local.lib.dir>
 		<log4j.version>1.2.17</log4j.version>
 		<mysql-connector-java.version>5.1.31</mysql-connector-java.version>