[02/47] knox git commit: KNOX-501: Avoid NPE , in case of passing invalid argument to KnoxCli. Contributed by J.Andreina.

2015-02-12 Thread sumit
KNOX-501: Avoid NPE , in case of passing invalid argument to KnoxCli.
Contributed by J.Andreina.


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

Branch: refs/heads/KNOX-481
Commit: 7d839171a7c2ecda217732718ae5aedf4d429fba
Parents: 2192932
Author: Kevin Minder kevin.min...@hortonworks.com
Authored: Thu Feb 12 10:40:26 2015 -0500
Committer: Kevin Minder kevin.min...@hortonworks.com
Committed: Thu Feb 12 10:40:26 2015 -0500

--
 CHANGES  |  1 +
 .../java/org/apache/hadoop/gateway/util/KnoxCLI.java |  8 +---
 .../java/org/apache/hadoop/gateway/util/KnoxCLITest.java | 11 +++
 3 files changed, 17 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/7d839171/CHANGES
--
diff --git a/CHANGES b/CHANGES
index 4d072b6..9f2677a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,7 @@ Release Notes - Apache Knox - Version 0.6.0
 
 ** Improvement
   * [KNOX-462] - Proper error message when root tag of topology file incorrect
+  * [KNOX-501] - Avoid NPE in case of passing invalid argument to KnoxCli.
 
 --
 Release Notes - Apache Knox - Version 0.5.1

http://git-wip-us.apache.org/repos/asf/knox/blob/7d839171/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
index dd379aa..8366f2e 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
@@ -89,10 +89,12 @@ public class KnoxCLI extends Configured implements Tool {
   if (exitCode != 0) {
 return exitCode;
   }
-  if (command.validate()) {
-  initializeServices( command instanceof MasterCreateCommand );
-  command.execute();
+  if (command != null  command.validate()) {
+initializeServices( command instanceof MasterCreateCommand );
+command.execute();
   } else {
+out.println(ERROR: Invalid Command + \n + Unrecognized option: + 
args[0] + \n
++ A fatal exception has occurred. Program will exit.);
 exitCode = -2;
   }
 } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/knox/blob/7d839171/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
--
diff --git 
a/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java 
b/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
index 82fc9cc..82f380a 100644
--- 
a/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
+++ 
b/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
@@ -120,6 +120,17 @@ public class KnoxCLITest {
   }
 
   @Test
+  public void testForInvalidArgument() throws Exception {
+outContent.reset();
+String[] args1 = { --value, testvalue1, --master, master };
+KnoxCLI cli = new KnoxCLI();
+cli.setConf(new GatewayConfigImpl());
+int rc = cli.run(args1);
+assertEquals(-2, rc);
+assertTrue(outContent.toString().contains(ERROR: Invalid Command));
+  }
+
+  @Test
   public void testListAndDeleteOfAliasForValidClusterName() throws Exception {
 outContent.reset();
 String[] args1 =



[11/47] knox git commit: KNOX-483 initial commit for loading service definitions

2015-02-12 Thread sumit
KNOX-483 initial commit for loading service definitions


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

Branch: refs/heads/KNOX-481
Commit: b8aed418f90fe9abe8353671a424fc703a5a5e17
Parents: 4fbb0c6
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 12:07:29 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:13 2015 -0500

--
 .../apache/hadoop/gateway/config/impl/GatewayConfigImpl.java| 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/b8aed418/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index 4241856..cfbec54 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -174,6 +174,11 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   }
 
   @Override
+  public String getGatewayStacksDir() {
+return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
+  }
+
+  @Override
   public String getHadoopConfDir() {
 return get( HADOOP_CONF_DIR );
   }



[43/47] knox git commit: Added policy chain to webhdfs service KNOX-487

2015-02-12 Thread sumit
Added policy chain to webhdfs service KNOX-487


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

Branch: refs/heads/KNOX-481
Commit: 5cc21a5c24c70bbb1fa12e6d015ec4e3a302ab9f
Parents: 6615a0d
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 12:23:31 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 17:16:08 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 39 +---
 .../service/definition/PolicyBinding.java   | 24 
 .../gateway/service/definition/UrlBinding.java  | 13 +++
 .../services/yarn-rm/2.5.0/service.xml  |  1 -
 .../definition/ServiceDefinitionTest.java   | 10 +
 5 files changed, 81 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/5cc21a5c/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 755fc67..f31b08a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -24,10 +24,7 @@ import 
org.apache.hadoop.gateway.descriptor.FilterParamDescriptor;
 import org.apache.hadoop.gateway.descriptor.ResourceDescriptor;
 import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter;
 import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor;
-import org.apache.hadoop.gateway.service.definition.CustomDispatch;
-import org.apache.hadoop.gateway.service.definition.RewriteFilter;
-import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
-import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.service.definition.*;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
@@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
 resource.pattern(binding.getPattern());
+ListPolicyBinding policyBindings = binding.getPolicyBindings();
+if (policyBindings == null) {
+  policyBindings = serviceDefinition.getPolicyBindings();
+}
+if (policyBindings == null) {
+  //add default set
+  addDefaultPolicies(context, service, filterParams, params, resource);
+} else {
+  addPolicies(context, service, filterParams, params, resource, 
policyBindings);
+}
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
+for (PolicyBinding policyBinding : policyBindings) {
+  String role = policyBinding.getRole();
+  if (role == null) {
+throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
+  }
+  role = role.trim().toLowerCase();
+  if (role.equals(rewrite)) {
+addRewriteFilter(context, service, filterParams, params, resource);
+  } else if (topologyContainsProviderType(context, role)) {
+context.contributeFilter( service, resource, role, 
policyBinding.getName(), null );
+  }
+}
+  }
+
+  private void addDefaultPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
 addAuthorizationFilter(context, service, resource);
+addRewriteFilter(context, service, filterParams, params, resource);
+  }
+
+  private void addRewriteFilter(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 if ( !filterParams.isEmpty() ) {
   for ( Map.EntryString, String filterParam : filterParams.entrySet() ) {
 

[18/47] knox git commit: renamed service xml elements and attributes as per review KNOX-483

2015-02-12 Thread sumit
renamed service xml elements and attributes as per review KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: a4106a59c2b5386b7f633e837534b302ba385273
Parents: 55cef73
Author: Sumit Gupta su...@apache.org
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 24 +++
 .../service/definition/PolicyBinding.java   | 45 
 .../service/definition/RewriteFilter.java   | 47 -
 .../service/definition/ServiceDefinition.java   | 24 +++
 .../gateway/service/definition/UrlBinding.java  | 73 
 .../services/yarn-rm/2.5.0/service.xml  | 70 +--
 .../definition/ServiceDefinitionTest.java   |  6 +-
 7 files changed, 62 insertions(+), 227 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/a4106a59/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index f31b08a..7220cdd 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   private void contributeResources(DeploymentContext context, Service service) 
{
 MapString, String filterParams = new HashMapString, String();
-ListUrlBinding bindings = serviceDefinition.getUrlBindings();
-for ( UrlBinding binding : bindings ) {
-  ListRewriteFilter filters = binding.getRewriteFilters();
+ListRoute bindings = serviceDefinition.getRoutes();
+for ( Route binding : bindings ) {
+  ListRewrite filters = binding.getRewrites();
   if ( filters != null  !filters.isEmpty() ) {
 filterParams.clear();
-for ( RewriteFilter filter : filters ) {
-  filterParams.put(filter.getApplyTo(), filter.getRef());
+for ( Rewrite filter : filters ) {
+  filterParams.put(filter.getTo(), filter.getApply());
 }
   }
   try {
@@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
+  private void contributeResource(DeploymentContext context, Service service, 
Route binding, MapString, String filterParams) throws URISyntaxException {
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(binding.getPattern());
-ListPolicyBinding policyBindings = binding.getPolicyBindings();
+resource.pattern(binding.getPath());
+ListPolicy policyBindings = binding.getPolicies();
 if (policyBindings == null) {
-  policyBindings = serviceDefinition.getPolicyBindings();
+  policyBindings = serviceDefinition.getPolicies();
 }
 if (policyBindings == null) {
   //add default set
@@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 addDispatchFilter(context, service, resource, binding);
   }
 
-  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
-for (PolicyBinding policyBinding : policyBindings) {
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicy policyBindings) throws 
URISyntaxException {
+for (Policy policyBinding : policyBindings) {
   String role = policyBinding.getRole();
   if (role == null) {
 throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
@@ -142,7 +142,7 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 

[20/47] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483

2015-02-12 Thread sumit
Added HA support and URL-level dispatch for webhdfs KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 01c341e81311cdcce9d3b16c6b0242f2be080425
Parents: fca7fa5
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 11:16:00 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 51 +++-
 .../gateway/service/definition/UrlBinding.java  | 11 +
 2 files changed, 50 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/01c341e8/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 79cc4a5..755fc67 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -28,6 +28,7 @@ import 
org.apache.hadoop.gateway.service.definition.CustomDispatch;
 import org.apache.hadoop.gateway.service.definition.RewriteFilter;
 import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
 import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
 import java.net.URISyntaxException;
@@ -86,7 +87,7 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 }
   }
   try {
-contributeResource(context, service, binding.getPattern(), 
filterParams);
+contributeResource(context, service, binding, filterParams);
   } catch ( URISyntaxException e ) {
 e.printStackTrace();
   }
@@ -94,11 +95,11 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
String pattern, MapString, String filterParams) throws URISyntaxException {
+  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(pattern);
+resource.pattern(binding.getPattern());
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
@@ -109,20 +110,46 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
   }
 }
 addRewriteFilter(context, service, resource, params);
-CustomDispatch customDispatch = serviceDefinition.getDispatch();
-if (customDispatch != null) {
-  String contributorName = customDispatch.getContributorName();
-  if (contributorName != null) {
-addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
contributorName);
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addDispatchFilter(DeploymentContext context, Service service, 
ResourceDescriptor resource, UrlBinding binding) {
+CustomDispatch customDispatch = binding.getDispatch();
+if ( customDispatch == null ) {
+  customDispatch = serviceDefinition.getDispatch();
+}
+if ( customDispatch != null ) {
+  boolean isHaEnabled = isHaEnabled(context);
+  if ( isHaEnabled  (customDispatch.getHaContributorName() != null) ) {
+addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
customDispatch.getHaContributorName());
   } else {
-String className = customDispatch.getClassName();
-if (className != null) {
-  FilterDescriptor filter = resource.addFilter().name( getName() 
).role( DISPATCH_ROLE ).impl( GatewayDispatchFilter.class );
-  filter.param().name(DISPATCH_IMPL_PARAM).value(className);
+String contributorName = customDispatch.getContributorName();
+if ( contributorName != null ) {
+  addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
contributorName);
+} else {
+  

[24/47] knox git commit: Added versions to service definitions for deployment and topology KNOX-481

2015-02-12 Thread sumit
Added versions to service definitions for deployment and topology KNOX-481


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

Branch: refs/heads/KNOX-481
Commit: 92b132533b955724ed5be73002bc77cc2eeea090
Parents: 0919c2e
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 27 10:56:37 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../apache/hadoop/gateway/GatewayMessages.java  |   3 +
 .../gateway/deploy/DeploymentFactory.java   | 109 
 .../ServiceDefinitionDeploymentContributor.java |   6 +
 .../interpreter/ServicePropertyInterpreter.java |   3 +-
 .../xml/KnoxFormatXmlTopologyRules.java |   3 +
 .../topology/xml/TopologyRulesModuleTest.java   |  17 ++-
 .../xml/service-param-topology-knox-format.xml  |   1 +
 .../xml/simple-topology-knox-format.xml |   1 +
 gateway-spi/pom.xml |   6 +-
 .../deploy/ServiceDeploymentContributor.java|   3 +
 .../ServiceDeploymentContributorBase.java   |   6 +
 .../apache/hadoop/gateway/topology/Service.java |   9 ++
 .../hadoop/gateway/topology/Topology.java   |  36 ++---
 .../apache/hadoop/gateway/topology/Version.java | 130 +++
 pom.xml |   6 +-
 15 files changed, 254 insertions(+), 85 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/92b13253/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
index 4fd2a7c..45e105b 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
@@ -127,6 +127,9 @@ public interface GatewayMessages {
   @Message( level = MessageLevel.WARN, text = Ignoring service deployment 
contributor with invalid null role: {0} )
   void ignoringServiceContributorWithMissingRole( String className );
 
+  @Message( level = MessageLevel.WARN, text = Ignoring service deployment 
contributor with invalid null version: {0} )
+  void ignoringServiceContributorWithMissingVersion( String className );
+
   @Message( level = MessageLevel.WARN, text = Ignoring provider deployment 
contributor with invalid null name: {0} )
   void ignoringProviderContributorWithMissingName( String className );
 

http://git-wip-us.apache.org/repos/asf/knox/blob/92b13253/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
index a0cc6cb..16d188a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
@@ -19,18 +19,17 @@ package org.apache.hadoop.gateway.deploy;
 
 import org.apache.hadoop.gateway.GatewayMessages;
 import org.apache.hadoop.gateway.GatewayForwardingServlet;
-import org.apache.hadoop.gateway.GatewayResources;
 import org.apache.hadoop.gateway.GatewayServlet;
 import org.apache.hadoop.gateway.config.GatewayConfig;
 import org.apache.hadoop.gateway.descriptor.GatewayDescriptor;
 import org.apache.hadoop.gateway.descriptor.GatewayDescriptorFactory;
 import org.apache.hadoop.gateway.i18n.messages.MessagesFactory;
-import org.apache.hadoop.gateway.i18n.resources.ResourcesFactory;
 import org.apache.hadoop.gateway.services.GatewayServices;
 import org.apache.hadoop.gateway.services.registry.ServiceRegistry;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 import org.apache.hadoop.gateway.topology.Topology;
+import org.apache.hadoop.gateway.topology.Version;
 import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.Asset;
@@ -44,26 +43,16 @@ import java.beans.Statement;
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-import java.util.Set;
-import java.util.LinkedHashMap;
+import java.util.*;

[25/47] knox git commit: renamed service xml elements and attributes as per review KNOX-483

2015-02-12 Thread sumit
renamed service xml elements and attributes as per review KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 0919c2eb3a7982f6b0a408dce97af997422e99f0
Parents: 9972790
Author: Sumit Gupta su...@apache.org
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 24 +++
 .../gateway/service/definition/Policy.java  | 45 
 .../service/definition/PolicyBinding.java   | 45 
 .../gateway/service/definition/Rewrite.java | 47 +
 .../service/definition/RewriteFilter.java   | 47 -
 .../gateway/service/definition/Route.java   | 73 
 .../service/definition/ServiceDefinition.java   | 24 +++
 .../gateway/service/definition/UrlBinding.java  | 73 
 .../resources/services/hbase/0.98.0/service.xml | 28 
 .../resources/services/hive/0.13.0/service.xml  |  6 +-
 .../resources/services/oozie/4.0.0/service.xml  | 22 +++---
 .../services/webhcat/0.13.0/service.xml |  8 +--
 .../services/webhdfs/2.4.0/service.xml  | 38 +-
 .../services/yarn-rm/2.5.0/service.xml  | 70 +--
 .../definition/ServiceDefinitionTest.java   |  6 +-
 15 files changed, 278 insertions(+), 278 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/0919c2eb/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index f31b08a..7220cdd 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   private void contributeResources(DeploymentContext context, Service service) 
{
 MapString, String filterParams = new HashMapString, String();
-ListUrlBinding bindings = serviceDefinition.getUrlBindings();
-for ( UrlBinding binding : bindings ) {
-  ListRewriteFilter filters = binding.getRewriteFilters();
+ListRoute bindings = serviceDefinition.getRoutes();
+for ( Route binding : bindings ) {
+  ListRewrite filters = binding.getRewrites();
   if ( filters != null  !filters.isEmpty() ) {
 filterParams.clear();
-for ( RewriteFilter filter : filters ) {
-  filterParams.put(filter.getApplyTo(), filter.getRef());
+for ( Rewrite filter : filters ) {
+  filterParams.put(filter.getTo(), filter.getApply());
 }
   }
   try {
@@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
+  private void contributeResource(DeploymentContext context, Service service, 
Route binding, MapString, String filterParams) throws URISyntaxException {
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(binding.getPattern());
-ListPolicyBinding policyBindings = binding.getPolicyBindings();
+resource.pattern(binding.getPath());
+ListPolicy policyBindings = binding.getPolicies();
 if (policyBindings == null) {
-  policyBindings = serviceDefinition.getPolicyBindings();
+  policyBindings = serviceDefinition.getPolicies();
 }
 if (policyBindings == null) {
   //add default set
@@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 addDispatchFilter(context, service, resource, binding);
   }
 
-  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
-for (PolicyBinding policyBinding : policyBindings) {
+  private void addPolicies(DeploymentContext context, 

[05/47] knox git commit: KNOX-483 initial commit for loading service definitions

2015-02-12 Thread sumit
KNOX-483 initial commit for loading service definitions


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

Branch: refs/heads/KNOX-481
Commit: 85a3249700d9ba269122bff0d986fa599ef1177c
Parents: 30fd9dc
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 12:07:29 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:00:59 2015 -0500

--
 .../apache/hadoop/gateway/config/impl/GatewayConfigImpl.java| 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/85a32497/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index 97853b3..4241856 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -169,6 +169,11 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   }
 
   @Override
+  public String getGatewayStacksDir() {
+return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
+  }
+
+  @Override
   public String getHadoopConfDir() {
 return get( HADOOP_CONF_DIR );
   }



[36/47] knox git commit: renamed service xml elements and attributes as per review KNOX-483

2015-02-12 Thread sumit
renamed service xml elements and attributes as per review KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 1f6602879240add09fec7f0bf99aeecec4571c73
Parents: 5cc21a5
Author: Sumit Gupta su...@apache.org
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 17:16:08 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 24 +++
 .../service/definition/PolicyBinding.java   | 45 
 .../service/definition/RewriteFilter.java   | 47 -
 .../service/definition/ServiceDefinition.java   | 24 +++
 .../gateway/service/definition/UrlBinding.java  | 73 
 .../services/yarn-rm/2.5.0/service.xml  | 70 +--
 .../definition/ServiceDefinitionTest.java   |  6 +-
 7 files changed, 62 insertions(+), 227 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/1f660287/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index f31b08a..7220cdd 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   private void contributeResources(DeploymentContext context, Service service) 
{
 MapString, String filterParams = new HashMapString, String();
-ListUrlBinding bindings = serviceDefinition.getUrlBindings();
-for ( UrlBinding binding : bindings ) {
-  ListRewriteFilter filters = binding.getRewriteFilters();
+ListRoute bindings = serviceDefinition.getRoutes();
+for ( Route binding : bindings ) {
+  ListRewrite filters = binding.getRewrites();
   if ( filters != null  !filters.isEmpty() ) {
 filterParams.clear();
-for ( RewriteFilter filter : filters ) {
-  filterParams.put(filter.getApplyTo(), filter.getRef());
+for ( Rewrite filter : filters ) {
+  filterParams.put(filter.getTo(), filter.getApply());
 }
   }
   try {
@@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
+  private void contributeResource(DeploymentContext context, Service service, 
Route binding, MapString, String filterParams) throws URISyntaxException {
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(binding.getPattern());
-ListPolicyBinding policyBindings = binding.getPolicyBindings();
+resource.pattern(binding.getPath());
+ListPolicy policyBindings = binding.getPolicies();
 if (policyBindings == null) {
-  policyBindings = serviceDefinition.getPolicyBindings();
+  policyBindings = serviceDefinition.getPolicies();
 }
 if (policyBindings == null) {
   //add default set
@@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 addDispatchFilter(context, service, resource, binding);
   }
 
-  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
-for (PolicyBinding policyBinding : policyBindings) {
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicy policyBindings) throws 
URISyntaxException {
+for (Policy policyBinding : policyBindings) {
   String role = policyBinding.getRole();
   if (role == null) {
 throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
@@ -142,7 +142,7 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 

[23/47] knox git commit: Added Kevin's config injector

2015-02-12 Thread sumit
Added Kevin's config injector


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

Branch: refs/heads/KNOX-481
Commit: 826f3d526ef89cff70fd1a6e35c2b7c5498eb4af
Parents: 2543b3f
Author: Sumit Gupta su...@apache.org
Authored: Thu Jan 29 15:39:22 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../impl/DispatchDeploymentContributor.java |   2 +-
 .../gateway/hive/HiveHttpClientDispatch.java|  20 +-
 gateway-spi/pom.xml |   4 +
 .../config/FilterConfigurationAdapter.java  |  35 ++
 .../FilterConfigurationAdapterDescriptor.java   |  29 ++
 .../gateway/dispatch/GatewayDispatchFilter.java |  25 +-
 .../gateway/dispatch/HttpClientDispatch.java|  46 +--
 ...ay.config.spi.ConfigurationAdapterDescriptor |  18 +
 gateway-util-configinjector/pom.xml |  63 +++
 .../org/apache/hadoop/gateway/config/Alias.java |  31 ++
 .../gateway/config/ConfigurationAdapter.java|  24 ++
 .../gateway/config/ConfigurationBinding.java|  24 ++
 .../gateway/config/ConfigurationException.java  |  30 ++
 .../config/ConfigurationInjectorBuilder.java| 107 ++
 .../apache/hadoop/gateway/config/Configure.java |  30 ++
 .../apache/hadoop/gateway/config/Default.java   |  31 ++
 .../apache/hadoop/gateway/config/Optional.java  |  30 ++
 .../config/impl/BeanConfigurationAdapter.java   |  43 +++
 .../BeanConfigurationAdapterDescriptor.java |  30 ++
 .../impl/ConfigurationAdapterFactory.java   | 132 +++
 .../impl/DefaultConfigurationBinding.java   |  29 ++
 .../impl/DefaultConfigurationInjector.java  | 224 +++
 .../config/impl/MapConfigurationAdapter.java|  38 ++
 .../impl/MapConfigurationAdapterDescriptor.java |  30 ++
 .../config/impl/MappedConfigurationBinding.java |  38 ++
 .../impl/PropertiesConfigurationAdapter.java|  38 ++
 ...ropertiesConfigurationAdapterDescriptor.java |  30 ++
 .../AbstractConfigurationAdapterDescriptor.java |  42 ++
 .../spi/ConfigurationAdapterDescriptor.java |  28 ++
 .../config/spi/ConfigurationInjector.java   |  27 ++
 ...ay.config.spi.ConfigurationAdapterDescriptor |  20 +
 ...oop.gateway.config.spi.ConfigurationInjector |  18 +
 .../gateway/config/AdapterSampleTest.java   |  57 +++
 .../apache/hadoop/gateway/config/FuncTest.java  | 379 +++
 .../gateway/config/MapFieldSampleTest.java  |  45 +++
 .../gateway/config/MapMethodSampleTest.java |  49 +++
 .../config/PropertiesFactorySampleTest.java |  40 ++
 .../config/PropertiesFieldSampleTest.java   |  39 ++
 .../config/PropertiesMethodSampleTest.java  |  57 +++
 .../apache/hadoop/gateway/config/UsageTest.java |  43 +++
 .../BeanConfigurationAdapterDescriptorTest.java |  57 +++
 .../impl/BeanConfigurationAdapterTest.java  |  40 ++
 pom.xml |   6 +
 43 files changed, 2081 insertions(+), 47 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/826f3d52/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
index 3bc260c..345784f 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
@@ -61,7 +61,7 @@ public class DispatchDeploymentContributor extends 
ProviderDeploymentContributor
 }
 FilterDescriptor filter = resource.addFilter().name( getName() ).role( 
getRole() ).impl( GatewayDispatchFilter.class );
 
filter.param().name(DISPATCH_IMPL_PARAM).value(HttpClientDispatch.class.getName());
-filter.param().name(replayBufferSize).value(replayBufferSize);
+filter.param().name(REPLAY_BUFFER_SIZE_PARAM).value(replayBufferSize);
 if( context.getGatewayConfig().isHadoopKerberosSecured() ) {
   filter.param().name(kerberos).value(true);
 }

http://git-wip-us.apache.org/repos/asf/knox/blob/826f3d52/gateway-service-hive/src/main/java/org/apache/hadoop/gateway/hive/HiveHttpClientDispatch.java
--
diff --git 
a/gateway-service-hive/src/main/java/org/apache/hadoop/gateway/hive/HiveHttpClientDispatch.java
 
b/gateway-service-hive/src/main/java/org/apache/hadoop/gateway/hive/HiveHttpClientDispatch.java

[16/47] knox git commit: Added policy chain to webhdfs service KNOX-487

2015-02-12 Thread sumit
Added policy chain to webhdfs service KNOX-487


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

Branch: refs/heads/KNOX-481
Commit: 99727909d6f201729f0224ace3a3140f41ff1b0d
Parents: 49cc8d0
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 12:23:31 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 39 +---
 .../service/definition/PolicyBinding.java   | 24 
 .../service/definition/ServiceDefinition.java   | 12 ++
 .../gateway/service/definition/UrlBinding.java  | 13 +++
 .../services/webhdfs/2.4.0/service.xml  |  7 
 .../services/yarn-rm/2.5.0/service.xml  |  1 -
 .../definition/ServiceDefinitionTest.java   | 10 +
 7 files changed, 100 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/99727909/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 755fc67..f31b08a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -24,10 +24,7 @@ import 
org.apache.hadoop.gateway.descriptor.FilterParamDescriptor;
 import org.apache.hadoop.gateway.descriptor.ResourceDescriptor;
 import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter;
 import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor;
-import org.apache.hadoop.gateway.service.definition.CustomDispatch;
-import org.apache.hadoop.gateway.service.definition.RewriteFilter;
-import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
-import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.service.definition.*;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
@@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
 resource.pattern(binding.getPattern());
+ListPolicyBinding policyBindings = binding.getPolicyBindings();
+if (policyBindings == null) {
+  policyBindings = serviceDefinition.getPolicyBindings();
+}
+if (policyBindings == null) {
+  //add default set
+  addDefaultPolicies(context, service, filterParams, params, resource);
+} else {
+  addPolicies(context, service, filterParams, params, resource, 
policyBindings);
+}
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
+for (PolicyBinding policyBinding : policyBindings) {
+  String role = policyBinding.getRole();
+  if (role == null) {
+throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
+  }
+  role = role.trim().toLowerCase();
+  if (role.equals(rewrite)) {
+addRewriteFilter(context, service, filterParams, params, resource);
+  } else if (topologyContainsProviderType(context, role)) {
+context.contributeFilter( service, resource, role, 
policyBinding.getName(), null );
+  }
+}
+  }
+
+  private void addDefaultPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
 addAuthorizationFilter(context, service, resource);
+addRewriteFilter(context, service, filterParams, params, resource);
+  }
+
+  private void addRewriteFilter(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 if ( !filterParams.isEmpty() ) {

[42/47] knox git commit: KNOX-483 initial commit for loading service definitions

2015-02-12 Thread sumit
KNOX-483 initial commit for loading service definitions


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

Branch: refs/heads/KNOX-481
Commit: 8cbd9fe802e7c0d1bb41a1b013a9ec5061a8512c
Parents: 4aee123
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 12:07:29 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 17:16:08 2015 -0500

--
 .../gateway/deploy/DeploymentFactory.java   | 109 +--
 .../ServiceDefinitionDeploymentContributor.java | 194 ++-
 .../service/definition/PolicyBinding.java   |  21 ++
 .../service/definition/RewriteFilter.java   |  47 +
 .../service/definition/ServiceDefinition.java   |  37 +---
 .../gateway/service/definition/UrlBinding.java  |  49 +
 .../services/yarn-rm/2.5.0/service.xml  |  70 +++
 .../definition/ServiceDefinitionTest.java   |  18 +-
 8 files changed, 270 insertions(+), 275 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/8cbd9fe8/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
index 16d188a..a0cc6cb 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
@@ -19,17 +19,18 @@ package org.apache.hadoop.gateway.deploy;
 
 import org.apache.hadoop.gateway.GatewayMessages;
 import org.apache.hadoop.gateway.GatewayForwardingServlet;
+import org.apache.hadoop.gateway.GatewayResources;
 import org.apache.hadoop.gateway.GatewayServlet;
 import org.apache.hadoop.gateway.config.GatewayConfig;
 import org.apache.hadoop.gateway.descriptor.GatewayDescriptor;
 import org.apache.hadoop.gateway.descriptor.GatewayDescriptorFactory;
 import org.apache.hadoop.gateway.i18n.messages.MessagesFactory;
+import org.apache.hadoop.gateway.i18n.resources.ResourcesFactory;
 import org.apache.hadoop.gateway.services.GatewayServices;
 import org.apache.hadoop.gateway.services.registry.ServiceRegistry;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 import org.apache.hadoop.gateway.topology.Topology;
-import org.apache.hadoop.gateway.topology.Version;
 import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.Asset;
@@ -43,16 +44,26 @@ import java.beans.Statement;
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+import java.util.Set;
+import java.util.LinkedHashMap;
 
 public abstract class DeploymentFactory {
 
   private static final String DEFAULT_APP_REDIRECT_CONTEXT_PATH = redirectTo;
   private static final String STACKS_SERVICES_DIRECTORY = services;
+  private static GatewayResources res = ResourcesFactory.get( 
GatewayResources.class );
   private static GatewayMessages log = MessagesFactory.get( 
GatewayMessages.class );
   private static GatewayServices gatewayServices = null;
 
-  private static MapString,MapString,MapVersion, 
ServiceDeploymentContributor SERVICE_CONTRIBUTOR_MAP;
+  //private static SetServiceDeploymentContributor SERVICE_CONTRIBUTORS;
+  private static MapString,MapString,ServiceDeploymentContributor 
SERVICE_CONTRIBUTOR_MAP;
   static {
 loadServiceContributors();
   }
@@ -62,7 +73,7 @@ public abstract class DeploymentFactory {
   static {
 loadProviderContributors();
   }
-
+  
   public static void setGatewayServices(GatewayServices services) {
 DeploymentFactory.gatewayServices = services;
   }
@@ -73,7 +84,7 @@ public abstract class DeploymentFactory {
 String stacks = config.getGatewayStacksDir();
 File stacksDir = new File(stacks, STACKS_SERVICES_DIRECTORY);
 SetServiceDeploymentContributor deploymentContributors = 
ServiceDefinitionsLoader.loadServiceDefinitions(stacksDir);
-addServiceDeploymentContributors(deploymentContributors.iterator());
+addServiceDeploymentContributors(SERVICE_CONTRIBUTOR_MAP, 
deploymentContributors.iterator());
 
 MapString,ListProviderDeploymentContributor providers = 
selectContextProviders( topology );
 MapString,ListServiceDeploymentContributor 

[47/47] knox git commit: Merge branch 'KNOX-481' of https://git-wip-us.apache.org/repos/asf/knox into KNOX-481

2015-02-12 Thread sumit
Merge branch 'KNOX-481' of https://git-wip-us.apache.org/repos/asf/knox into 
KNOX-481

Conflicts:

gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java

gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java


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

Branch: refs/heads/KNOX-481
Commit: 272fb90ed69cb50f166b48ab9bf6fc597f07061b
Parents: aeee64e a1d4356
Author: Sumit Gupta su...@apache.org
Authored: Thu Feb 12 21:16:51 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 21:16:51 2015 -0500

--
 .../gateway/config/impl/GatewayConfigImpl.java  | 10 -
 .../service/definition/ServiceDefinition.java   | 46 
 2 files changed, 56 deletions(-)
--




[44/47] knox git commit: KNOX-483 added oozie service xml

2015-02-12 Thread sumit
KNOX-483 added oozie service xml


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

Branch: refs/heads/KNOX-481
Commit: 9122c27dddeddd7a8d2ce13af24c1755698e1813
Parents: 8cbd9fe
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 16:18:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 17:16:08 2015 -0500

--
 .../gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/9122c27d/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index dd2a4c9..4cff585 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -56,7 +56,6 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
 @Override
 public void contributeService(DeploymentContext context, Service service) 
throws Exception {
-System.out.println(contributing service def);
 contributeRewriteRules(context, service);
 contributeResources(context, service);
 }



[19/47] knox git commit: Added policy chain to webhdfs service KNOX-487

2015-02-12 Thread sumit
Added policy chain to webhdfs service KNOX-487


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

Branch: refs/heads/KNOX-481
Commit: 55cef738cef468ea50d2d2dc397563f1f5f4ca72
Parents: 01c341e
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 12:23:31 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 39 +---
 .../service/definition/PolicyBinding.java   | 24 
 .../service/definition/ServiceDefinition.java   | 12 ++
 .../gateway/service/definition/UrlBinding.java  | 13 +++
 .../services/yarn-rm/2.5.0/service.xml  |  1 -
 .../definition/ServiceDefinitionTest.java   | 10 +
 6 files changed, 93 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/55cef738/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 755fc67..f31b08a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -24,10 +24,7 @@ import 
org.apache.hadoop.gateway.descriptor.FilterParamDescriptor;
 import org.apache.hadoop.gateway.descriptor.ResourceDescriptor;
 import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter;
 import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor;
-import org.apache.hadoop.gateway.service.definition.CustomDispatch;
-import org.apache.hadoop.gateway.service.definition.RewriteFilter;
-import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
-import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.service.definition.*;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
@@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
 resource.pattern(binding.getPattern());
+ListPolicyBinding policyBindings = binding.getPolicyBindings();
+if (policyBindings == null) {
+  policyBindings = serviceDefinition.getPolicyBindings();
+}
+if (policyBindings == null) {
+  //add default set
+  addDefaultPolicies(context, service, filterParams, params, resource);
+} else {
+  addPolicies(context, service, filterParams, params, resource, 
policyBindings);
+}
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
+for (PolicyBinding policyBinding : policyBindings) {
+  String role = policyBinding.getRole();
+  if (role == null) {
+throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
+  }
+  role = role.trim().toLowerCase();
+  if (role.equals(rewrite)) {
+addRewriteFilter(context, service, filterParams, params, resource);
+  } else if (topologyContainsProviderType(context, role)) {
+context.contributeFilter( service, resource, role, 
policyBinding.getName(), null );
+  }
+}
+  }
+
+  private void addDefaultPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
 addAuthorizationFilter(context, service, resource);
+addRewriteFilter(context, service, filterParams, params, resource);
+  }
+
+  private void addRewriteFilter(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 if ( !filterParams.isEmpty() ) {
   for ( Map.EntryString, String filterParam : 

[21/47] knox git commit: Fixed merge issues with master KNOX-481

2015-02-12 Thread sumit
Fixed merge issues with master KNOX-481


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

Branch: refs/heads/KNOX-481
Commit: d7f2b51ddbc8bcaf92d2c8f84631e944ea05f643
Parents: 826f3d5
Author: Sumit Gupta su...@apache.org
Authored: Thu Jan 29 19:39:08 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:01:14 2015 -0500

--
 .../impl/DispatchDeploymentContributor.java | 23 
 .../HBaseDispatchDeploymentContributor.java | 22 +++
 .../hive/HiveDispatchDeploymentContributor.java | 22 +++
 .../gateway/dispatch/HttpClientDispatch.java|  3 ---
 .../deploy/DeploymentFactoryFuncTest.java   |  2 ++
 5 files changed, 42 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/d7f2b51d/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
index 345784f..30f2c65 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
@@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
 import java.util.List;
+import java.util.Map;
 
 public class DispatchDeploymentContributor extends 
ProviderDeploymentContributorBase {
   
@@ -50,18 +51,22 @@ public class DispatchDeploymentContributor extends 
ProviderDeploymentContributor
 
   @Override
   public void contributeFilter( DeploymentContext context, Provider provider, 
Service service, ResourceDescriptor resource, ListFilterParamDescriptor 
params ) {
-String replayBufferSize = DEFAULT_REPLAY_BUFFER_SIZE;
-if (params != null) {
-  for (FilterParamDescriptor paramDescriptor : params) {
-if (REPLAY_BUFFER_SIZE_PARAM.equals( paramDescriptor.name() )) {
-  replayBufferSize = paramDescriptor.value();
-  break;
+FilterDescriptor filter = resource.addFilter().name( getName() ).role( 
getRole() ).impl( GatewayDispatchFilter.class );
+
filter.param().name(DISPATCH_IMPL_PARAM).value(HttpClientDispatch.class.getName());
+FilterParamDescriptor filterParam = filter.param().name( 
REPLAY_BUFFER_SIZE_PARAM ).value( DEFAULT_REPLAY_BUFFER_SIZE );
+for ( Map.EntryString,String serviceParam : 
service.getParams().entrySet() ) {
+  if ( REPLAY_BUFFER_SIZE_PARAM.equals( serviceParam.getKey() ) ) {
+filterParam.value( serviceParam.getValue() );
+  }
+}
+if ( params != null ) {
+  for ( FilterParamDescriptor customParam : params ) {
+if ( REPLAY_BUFFER_SIZE_PARAM.equals( customParam.name() ) ) {
+  filterParam.value( customParam.value() );
 }
   }
 }
-FilterDescriptor filter = resource.addFilter().name( getName() ).role( 
getRole() ).impl( GatewayDispatchFilter.class );
-
filter.param().name(DISPATCH_IMPL_PARAM).value(HttpClientDispatch.class.getName());
-filter.param().name(REPLAY_BUFFER_SIZE_PARAM).value(replayBufferSize);
+
 if( context.getGatewayConfig().isHadoopKerberosSecured() ) {
   filter.param().name(kerberos).value(true);
 }

http://git-wip-us.apache.org/repos/asf/knox/blob/d7f2b51d/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java
--
diff --git 
a/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java
 
b/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java
index c5d1ab9..a87b84c 100644
--- 
a/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java
+++ 
b/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java
@@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
 import java.util.List;
+import java.util.Map;
 
 public class HBaseDispatchDeploymentContributor extends 
ProviderDeploymentContributorBase {
   
@@ -50,18 +51,21 @@ public class HBaseDispatchDeploymentContributor extends 
ProviderDeploymentContri
 
   @Override
   public void 

[26/47] knox git commit: Separated dispatch from filters and added custom dispatch config KNOX-483

2015-02-12 Thread sumit
Separated dispatch from filters and added custom dispatch config KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 6ada46efd5e3b36fe721ab9baf118a5fe839d009
Parents: 87ce454
Author: Sumit Gupta su...@apache.org
Authored: Thu Jan 15 23:46:01 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 17:16:05 2015 -0500

--
 .../gateway/service/definition/ServiceDefinition.java| 11 +++
 1 file changed, 11 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/6ada46ef/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
index cbb9309..9cbb9e0 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
@@ -38,6 +38,8 @@ public class ServiceDefinition {
 
   private CustomDispatch dispatch;
 
+  private CustomDispatch dispatch;
+
   @XmlAttribute
   public String getName() {
 return name;
@@ -93,4 +95,13 @@ public class ServiceDefinition {
   public void setDispatch(CustomDispatch dispatch) {
 this.dispatch = dispatch;
   }
+
+  @XmlElement(name = dispatch)
+  public CustomDispatch getDispatch() {
+return dispatch;
+  }
+
+  public void setDispatch(CustomDispatch dispatch) {
+this.dispatch = dispatch;
+  }
 }



[41/47] knox git commit: Separated dispatch from filters and added custom dispatch config KNOX-483

2015-02-12 Thread sumit
Separated dispatch from filters and added custom dispatch config KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 99311af0b4e38742508312e4ca12486ee2f74a12
Parents: 56eaf14
Author: Sumit Gupta su...@apache.org
Authored: Thu Jan 15 23:46:01 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 17:16:08 2015 -0500

--
 .../gateway/service/definition/ServiceDefinition.java| 11 +++
 1 file changed, 11 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/99311af0/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
index cbb9309..9cbb9e0 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
@@ -38,6 +38,8 @@ public class ServiceDefinition {
 
   private CustomDispatch dispatch;
 
+  private CustomDispatch dispatch;
+
   @XmlAttribute
   public String getName() {
 return name;
@@ -93,4 +95,13 @@ public class ServiceDefinition {
   public void setDispatch(CustomDispatch dispatch) {
 this.dispatch = dispatch;
   }
+
+  @XmlElement(name = dispatch)
+  public CustomDispatch getDispatch() {
+return dispatch;
+  }
+
+  public void setDispatch(CustomDispatch dispatch) {
+this.dispatch = dispatch;
+  }
 }



[04/47] knox git commit: KNOX-483 added webhcat for testing

2015-02-12 Thread sumit
KNOX-483 added webhcat for testing


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

Branch: refs/heads/KNOX-481
Commit: 30fd9dc213a111f8811d59469b7fab2803b1f845
Parents: 0b9f320
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 16:39:11 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 16:00:38 2015 -0500

--
 .../services/webhcat/0.13.0/rewrite.xml | 28 
 .../services/webhcat/0.13.0/service.xml | 23 
 .../webhcat/WebHCatDeploymentContributor.java   |  8 +++---
 3 files changed, 55 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/30fd9dc2/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml
--
diff --git 
a/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml
 
b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml
new file mode 100644
index 000..558abb4
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml
@@ -0,0 +1,28 @@
+?xml version=1.0 encoding=UTF-8 standalone=yes?
+!--
+   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.
+--
+rules
+
+rule dir=IN name=WEBHCAT/webhcat/root/inbound 
pattern=*://*:*/**/templeton/v1/?{**}
+  rewrite template={$serviceUrl[WEBHCAT]}/v1/?{**}/
+/rule
+
+rule dir=IN name=WEBHCAT/webhcat/path/inbound 
pattern=*://*:*/**/templeton/v1/{path=**}?{**}
+  rewrite template={$serviceUrl[WEBHCAT]}/v1/{path=**}?{**}/
+/rule
+
+/rules

http://git-wip-us.apache.org/repos/asf/knox/blob/30fd9dc2/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml
--
diff --git 
a/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml
 
b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml
new file mode 100644
index 000..9f0c6bf
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml
@@ -0,0 +1,23 @@
+?xml version=1.0 encoding=UTF-8 standalone=yes?
+!--
+   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.
+--
+service role=WEBHCAT name=webhcat version=0.13.0
+urls
+url pattern=/templeton/v1/?**/
+url pattern=/templeton/v1/**?**/
+/urls
+/service

http://git-wip-us.apache.org/repos/asf/knox/blob/30fd9dc2/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
--
diff --git 
a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
 
b/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
index 9ee7a9a..857459f 100644
--- 
a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
+++ 

[07/41] knox git commit: KNOX-483 added oozie service xml

2015-02-12 Thread sumit
KNOX-483 added oozie service xml


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

Branch: refs/heads/KNOX-481
Commit: c8484c99cce2c26343a4cd523aaff752d4b27797
Parents: d378cdd
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 16:18:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:19:42 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java |   1 -
 .../resources/services/oozie/4.0.0/rewrite.xml  | 122 +++
 .../resources/services/oozie/4.0.0/service.xml  |  30 +
 .../oozie/OozieDeploymentContributor.java   |  19 ++-
 4 files changed, 165 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/c8484c99/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index dd2a4c9..4cff585 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -56,7 +56,6 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
 @Override
 public void contributeService(DeploymentContext context, Service service) 
throws Exception {
-System.out.println(contributing service def);
 contributeRewriteRules(context, service);
 contributeResources(context, service);
 }

http://git-wip-us.apache.org/repos/asf/knox/blob/c8484c99/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml
--
diff --git 
a/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml
 
b/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml
new file mode 100644
index 000..d3c52bb
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml
@@ -0,0 +1,122 @@
+!--
+   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.
+--
+rules
+
+rule dir=IN name=OOZIE/oozie/root 
pattern=*://*:*/**/oozie/{**}?{**}
+rewrite template={$serviceUrl[OOZIE]}/{**}?{**}/
+/rule
+
+rule dir=IN name=OOZIE/oozie/v1 
pattern=*://*:*/**/oozie/v1/{**}?{**}
+rewrite template={$serviceUrl[OOZIE]}/v1/{**}?{**}/
+/rule
+
+rule dir=IN name=OOZIE/oozie/v2 
pattern=*://*:*/**/oozie/v2/{**}?{**}
+rewrite template={$serviceUrl[OOZIE]}/v2/{**}?{**}/
+/rule
+
+rule name=OOZIE/oozie/user-name
+rewrite template={$username}/
+/rule
+
+rule name=OOZIE/oozie/name-node-url
+rewrite template=hdfs://{$serviceMappedAddr[NAMENODE]}/
+/rule
+
+rule name=OOZIE/oozie/job-tracker-address
+rewrite template={$serviceMappedAddr[JOBTRACKER]}/
+/rule
+
+rule name=OOZIE/oozie/hdfs-path flow=OR
+match pattern=/~
+rewrite 
template=hdfs://{$serviceMappedHost[NAMENODE]}:{$servicePort[NAMENODE]}/user/{$username}/
+/match
+match pattern=/~/{path=**}
+rewrite 
template=hdfs://{$serviceMappedHost[NAMENODE]}:{$servicePort[NAMENODE]}/user/{$username}/{path=**}/
+/match
+match pattern={path=**}
+rewrite 
template=hdfs://{$serviceMappedHost[NAMENODE]}:{$servicePort[NAMENODE]}/{path=**}/
+/match
+/rule
+
+filter name=OOZIE/oozie/configuration
+content type=*/xml
+buffer path=/configuration/property
+detect path=name value=user.name
+apply 

[11/41] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483

2015-02-12 Thread sumit
Added HA support and URL-level dispatch for webhdfs KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 6ed40a7d7a0e685b847d26d55485c866d90e49dc
Parents: e9fe7bc
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 11:16:00 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:24:58 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 51 +++-
 .../service/definition/CustomDispatch.java  | 11 +
 .../gateway/service/definition/UrlBinding.java  | 11 +
 .../services/webhdfs/2.4.0/service.xml  |  2 +
 ...NameNodeHaDispatchDeploymentContributor.java |  6 +--
 .../hdfs/dispatch/WebHdfsHaDispatchFilter.java  | 36 ++
 .../dispatch/WebHdfsHaHttpClientDispatch.java   | 48 ++
 .../WebHdfsHaHttpClientDispatchTest.java|  8 ++-
 .../deploy/DeploymentFactoryFuncTest.java   |  6 +--
 9 files changed, 135 insertions(+), 44 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/6ed40a7d/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 79cc4a5..755fc67 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -28,6 +28,7 @@ import 
org.apache.hadoop.gateway.service.definition.CustomDispatch;
 import org.apache.hadoop.gateway.service.definition.RewriteFilter;
 import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
 import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
 import java.net.URISyntaxException;
@@ -86,7 +87,7 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 }
   }
   try {
-contributeResource(context, service, binding.getPattern(), 
filterParams);
+contributeResource(context, service, binding, filterParams);
   } catch ( URISyntaxException e ) {
 e.printStackTrace();
   }
@@ -94,11 +95,11 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
String pattern, MapString, String filterParams) throws URISyntaxException {
+  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(pattern);
+resource.pattern(binding.getPattern());
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
@@ -109,20 +110,46 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
   }
 }
 addRewriteFilter(context, service, resource, params);
-CustomDispatch customDispatch = serviceDefinition.getDispatch();
-if (customDispatch != null) {
-  String contributorName = customDispatch.getContributorName();
-  if (contributorName != null) {
-addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
contributorName);
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addDispatchFilter(DeploymentContext context, Service service, 
ResourceDescriptor resource, UrlBinding binding) {
+CustomDispatch customDispatch = binding.getDispatch();
+if ( customDispatch == null ) {
+  customDispatch = serviceDefinition.getDispatch();
+}
+if ( customDispatch != null ) {
+  boolean isHaEnabled = isHaEnabled(context);
+  if ( isHaEnabled  (customDispatch.getHaContributorName() != null) ) {
+addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
customDispatch.getHaContributorName());
   } else {
-String className = customDispatch.getClassName();
-if (className != null) {
-  

[13/41] knox git commit: Added versions to service definitions for deployment and topology KNOX-481

2015-02-12 Thread sumit
Added versions to service definitions for deployment and topology KNOX-481


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

Branch: refs/heads/KNOX-481
Commit: bfb3abd8fd7c571dc17da0b515afc4c0ec670482
Parents: 27dfa07
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 27 10:56:37 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:24:58 2015 -0500

--
 .../apache/hadoop/gateway/GatewayMessages.java  |   3 +
 .../gateway/deploy/DeploymentFactory.java   | 109 
 .../ServiceDefinitionDeploymentContributor.java |   6 +
 .../interpreter/ServicePropertyInterpreter.java |   3 +-
 .../xml/KnoxFormatXmlTopologyRules.java |   3 +
 .../topology/xml/TopologyRulesModuleTest.java   |  17 ++-
 .../xml/service-param-topology-knox-format.xml  |   1 +
 .../xml/simple-topology-knox-format.xml |   1 +
 gateway-spi/pom.xml |   6 +-
 .../deploy/ServiceDeploymentContributor.java|   3 +
 .../ServiceDeploymentContributorBase.java   |   6 +
 .../apache/hadoop/gateway/topology/Service.java |   9 ++
 .../hadoop/gateway/topology/Topology.java   |  36 ++---
 .../apache/hadoop/gateway/topology/Version.java | 130 +++
 pom.xml |   6 +-
 15 files changed, 254 insertions(+), 85 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/bfb3abd8/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
index 9325c02..fb0e3a4 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
@@ -124,6 +124,9 @@ public interface GatewayMessages {
   @Message( level = MessageLevel.WARN, text = Ignoring service deployment 
contributor with invalid null role: {0} )
   void ignoringServiceContributorWithMissingRole( String className );
 
+  @Message( level = MessageLevel.WARN, text = Ignoring service deployment 
contributor with invalid null version: {0} )
+  void ignoringServiceContributorWithMissingVersion( String className );
+
   @Message( level = MessageLevel.WARN, text = Ignoring provider deployment 
contributor with invalid null name: {0} )
   void ignoringProviderContributorWithMissingName( String className );
 

http://git-wip-us.apache.org/repos/asf/knox/blob/bfb3abd8/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
index a0cc6cb..16d188a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
@@ -19,18 +19,17 @@ package org.apache.hadoop.gateway.deploy;
 
 import org.apache.hadoop.gateway.GatewayMessages;
 import org.apache.hadoop.gateway.GatewayForwardingServlet;
-import org.apache.hadoop.gateway.GatewayResources;
 import org.apache.hadoop.gateway.GatewayServlet;
 import org.apache.hadoop.gateway.config.GatewayConfig;
 import org.apache.hadoop.gateway.descriptor.GatewayDescriptor;
 import org.apache.hadoop.gateway.descriptor.GatewayDescriptorFactory;
 import org.apache.hadoop.gateway.i18n.messages.MessagesFactory;
-import org.apache.hadoop.gateway.i18n.resources.ResourcesFactory;
 import org.apache.hadoop.gateway.services.GatewayServices;
 import org.apache.hadoop.gateway.services.registry.ServiceRegistry;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 import org.apache.hadoop.gateway.topology.Topology;
+import org.apache.hadoop.gateway.topology.Version;
 import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.Asset;
@@ -44,26 +43,16 @@ import java.beans.Statement;
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-import java.util.Set;
-import java.util.LinkedHashMap;
+import java.util.*;

[18/41] knox git commit: renamed service xml elements and attributes as per review KNOX-483

2015-02-12 Thread sumit
renamed service xml elements and attributes as per review KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 12b28045e50a727a6c20949be532054dce5dead6
Parents: c588ab7
Author: Sumit Gupta su...@apache.org
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:17:28 2015 -0500

--
 .../service/definition/PolicyBinding.java   | 45 
 .../service/definition/RewriteFilter.java   | 47 -
 .../service/definition/ServiceDefinition.java   | 23 --
 .../gateway/service/definition/UrlBinding.java  | 73 
 4 files changed, 188 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/12b28045/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
deleted file mode 100644
index d87674f..000
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * 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 org.apache.hadoop.gateway.service.definition;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-public class PolicyBinding {
-
-  private String name;
-
-  private String role;
-
-  @XmlAttribute
-  public String getName() {
-return name;
-  }
-
-  public void setName(String name) {
-this.name = name;
-  }
-
-  @XmlAttribute
-  public String getRole() {
-return role;
-  }
-
-  public void setRole(String role) {
-this.role = role;
-  }
-}

http://git-wip-us.apache.org/repos/asf/knox/blob/12b28045/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
deleted file mode 100644
index 4b0dccc..000
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * 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 org.apache.hadoop.gateway.service.definition;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlType(name = rewrite-filter)
-public class RewriteFilter {
-
-  private String ref;
-
-  private String applyTo;
-
-  @XmlAttribute
-  public String getRef() {
-return ref;
-  }
-
-  public void setRef(String ref) {
-this.ref = ref;
-  }
-
-  @XmlAttribute(name = apply-to)
-  public String getApplyTo() {
-return applyTo;
-  }
-
-  public void setApplyTo(String applyTo) {
-

[09/41] knox git commit: renamed service xml elements and attributes as per review KNOX-483

2015-02-12 Thread sumit
renamed service xml elements and attributes as per review KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 27dfa07936b0d6a0bbcaf0aec9b0ea4b8f9b990f
Parents: fe085d3
Author: Sumit Gupta su...@apache.org
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:24:58 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 24 +++
 .../gateway/service/definition/Policy.java  | 45 
 .../service/definition/PolicyBinding.java   | 45 
 .../gateway/service/definition/Rewrite.java | 47 +
 .../service/definition/RewriteFilter.java   | 47 -
 .../gateway/service/definition/Route.java   | 73 
 .../service/definition/ServiceDefinition.java   | 24 +++
 .../gateway/service/definition/UrlBinding.java  | 73 
 .../resources/services/hbase/0.98.0/service.xml | 28 
 .../resources/services/hive/0.13.0/service.xml  |  6 +-
 .../resources/services/oozie/4.0.0/service.xml  | 22 +++---
 .../services/webhcat/0.13.0/service.xml |  8 +--
 .../services/webhdfs/2.4.0/service.xml  | 38 +-
 .../services/yarn-rm/2.5.0/service.xml  | 70 +--
 .../definition/ServiceDefinitionTest.java   |  6 +-
 15 files changed, 278 insertions(+), 278 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/27dfa079/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index f31b08a..7220cdd 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   private void contributeResources(DeploymentContext context, Service service) 
{
 MapString, String filterParams = new HashMapString, String();
-ListUrlBinding bindings = serviceDefinition.getUrlBindings();
-for ( UrlBinding binding : bindings ) {
-  ListRewriteFilter filters = binding.getRewriteFilters();
+ListRoute bindings = serviceDefinition.getRoutes();
+for ( Route binding : bindings ) {
+  ListRewrite filters = binding.getRewrites();
   if ( filters != null  !filters.isEmpty() ) {
 filterParams.clear();
-for ( RewriteFilter filter : filters ) {
-  filterParams.put(filter.getApplyTo(), filter.getRef());
+for ( Rewrite filter : filters ) {
+  filterParams.put(filter.getTo(), filter.getApply());
 }
   }
   try {
@@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
+  private void contributeResource(DeploymentContext context, Service service, 
Route binding, MapString, String filterParams) throws URISyntaxException {
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(binding.getPattern());
-ListPolicyBinding policyBindings = binding.getPolicyBindings();
+resource.pattern(binding.getPath());
+ListPolicy policyBindings = binding.getPolicies();
 if (policyBindings == null) {
-  policyBindings = serviceDefinition.getPolicyBindings();
+  policyBindings = serviceDefinition.getPolicies();
 }
 if (policyBindings == null) {
   //add default set
@@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 addDispatchFilter(context, service, resource, binding);
   }
 
-  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
-for (PolicyBinding policyBinding : policyBindings) {
+  private void addPolicies(DeploymentContext context, 

[19/41] knox git commit: Added versions to service definitions for deployment and topology KNOX-481

2015-02-12 Thread sumit
Added versions to service definitions for deployment and topology KNOX-481


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

Branch: refs/heads/KNOX-481
Commit: 4dc51e61c74b943371dc48502b6aa4d52971d706
Parents: 12b2804
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 27 10:56:37 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:25:54 2015 -0500

--
 .../apache/hadoop/gateway/deploy/DeploymentFactory.java   | 10 +-
 1 file changed, 1 insertion(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/4dc51e61/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
index 54e58f2..16d188a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
@@ -43,15 +43,7 @@ import java.beans.Statement;
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-import java.util.Set;
-import java.util.LinkedHashMap;
+import java.util.*;
 
 public abstract class DeploymentFactory {
 



[27/41] knox git commit: renamed service xml elements and attributes as per review KNOX-483

2015-02-12 Thread sumit
renamed service xml elements and attributes as per review KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 31630693f255686d8372ee3c79966ef6c236dd21
Parents: bba245f
Author: Sumit Gupta su...@apache.org
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:50:07 2015 -0500

--
 .../service/definition/PolicyBinding.java   | 45 
 .../service/definition/RewriteFilter.java   | 47 -
 .../gateway/service/definition/UrlBinding.java  | 73 
 3 files changed, 165 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/31630693/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
deleted file mode 100644
index d87674f..000
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * 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 org.apache.hadoop.gateway.service.definition;
-
-import javax.xml.bind.annotation.XmlAttribute;
-
-public class PolicyBinding {
-
-  private String name;
-
-  private String role;
-
-  @XmlAttribute
-  public String getName() {
-return name;
-  }
-
-  public void setName(String name) {
-this.name = name;
-  }
-
-  @XmlAttribute
-  public String getRole() {
-return role;
-  }
-
-  public void setRole(String role) {
-this.role = role;
-  }
-}

http://git-wip-us.apache.org/repos/asf/knox/blob/31630693/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
deleted file mode 100644
index 4b0dccc..000
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * 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 org.apache.hadoop.gateway.service.definition;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlType(name = rewrite-filter)
-public class RewriteFilter {
-
-  private String ref;
-
-  private String applyTo;
-
-  @XmlAttribute
-  public String getRef() {
-return ref;
-  }
-
-  public void setRef(String ref) {
-this.ref = ref;
-  }
-
-  @XmlAttribute(name = apply-to)
-  public String getApplyTo() {
-return applyTo;
-  }
-
-  public void setApplyTo(String applyTo) {
-this.applyTo = applyTo;
-  }
-}


[16/41] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483

2015-02-12 Thread sumit
Added HA support and URL-level dispatch for webhdfs KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 886d59d099e1510717f611e5e2be10e7227f1ea0
Parents: 562bb52
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 11:16:00 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:08:52 2015 -0500

--
 .../hadoop/gateway/service/definition/UrlBinding.java| 11 +++
 1 file changed, 11 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/886d59d0/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
index 3630ebf..c64658c 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
@@ -29,6 +29,8 @@ public class UrlBinding {
 
   private ListRewriteFilter rewriteFilters;
 
+  private CustomDispatch dispatch;
+
   @XmlAttribute
   public String getPattern() {
 return pattern;
@@ -46,4 +48,13 @@ public class UrlBinding {
   public void setRewriteFilters(ListRewriteFilter rewriteFilters) {
 this.rewriteFilters = rewriteFilters;
   }
+
+  @XmlElement(name = dispatch)
+  public CustomDispatch getDispatch() {
+return dispatch;
+  }
+
+  public void setDispatch(CustomDispatch dispatch) {
+this.dispatch = dispatch;
+  }
 }



[41/41] knox git commit: Fixed issues with merge

2015-02-12 Thread sumit
Fixed issues with merge


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

Branch: refs/heads/KNOX-481
Commit: 9e0e3e8ceb06d33bc2f504d8f254954f15af586d
Parents: 37963dc
Author: Sumit Gupta su...@apache.org
Authored: Thu Feb 12 11:21:20 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Thu Feb 12 11:21:20 2015 -0500

--
 .../gateway/config/impl/GatewayConfigImpl.java  | 16 
 .../deploy/impl/DispatchDeploymentContributor.java  |  2 +-
 .../hadoop/gateway/dispatch/HttpClientDispatch.java |  2 +-
 3 files changed, 2 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/9e0e3e8c/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index f935533..d34cbb4 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -167,24 +167,8 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
 
   @Override
   public String getGatewayStacksDir() {
-return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
-  }
-
-  @Override
-  public String getGatewayStacksDir() {
-return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
-  }
-
-  @Override
-  public String getGatewayStacksDir() {
 return getGatewayDataDir() + File.separator + STACKS_SERVICES_DIRECTORY;
   }
-
-  @Override
-  public String getGatewayStacksDir() {
-return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
-  }
-
   @Override
   public String getHadoopConfDir() {
 return get( HADOOP_CONF_DIR );

http://git-wip-us.apache.org/repos/asf/knox/blob/9e0e3e8c/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
index 4d272c2..30f2c65 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java
@@ -37,7 +37,7 @@ public class DispatchDeploymentContributor extends 
ProviderDeploymentContributor
   private static final String DISPATCH_IMPL_PARAM = dispatch-impl;
 
   // Default global replay buffer size in KB
-  public static final String DEFAULT_REPLAY_BUFFER_SIZE = 4;
+  public static final String DEFAULT_REPLAY_BUFFER_SIZE = 8;
 
   @Override
   public String getRole() {

http://git-wip-us.apache.org/repos/asf/knox/blob/9e0e3e8c/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
--
diff --git 
a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
 
b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
index 8c5b4f9..e5810d4 100644
--- 
a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
+++ 
b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java
@@ -301,7 +301,7 @@ public class HttpClientDispatch extends 
AbstractGatewayDispatch {
}
 
@Configure
-   protected void setReplayBufferSize(@Default(4) int size) {
+   protected void setReplayBufferSize(@Default(8) int size) {
   replayBufferSize = size;
}
 



[32/41] knox git commit: KNOX-483 added webhdfs sans ha

2015-02-12 Thread sumit
KNOX-483 added webhdfs sans ha


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

Branch: refs/heads/KNOX-481
Commit: 335b6a428f7a221e02b07094b4d35d213f21d474
Parents: 5930edb
Author: Sumit Gupta su...@apache.org
Authored: Mon Jan 19 12:21:03 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:51:10 2015 -0500

--
 .../src/main/resources/services/yarn-rm/2.5.0/service.xml  | 2 --
 1 file changed, 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/335b6a42/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml
--
diff --git 
a/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml
 
b/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml
index 61a77f0..f77d94d 100644
--- 
a/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml
+++ 
b/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml
@@ -16,13 +16,11 @@
limitations under the License.
 --
 service role=RESOURCEMANAGER name=resourcemanager version=2.5.0
-policies/policies
 urls
 url pattern=/resourcemanager/v1/cluster//
 url pattern=/resourcemanager/v1/cluster/**?**/
 url pattern=/resourcemanager/v1/cluster/apps?**
 rewrite-filter 
ref=RESOURCEMANAGER/resourcemanager/apps/outbound apply-to=response.body/
-policies/policies
 /url
 url pattern=/resourcemanager/v1/cluster/apps?**
 rewrite-filter 
ref=RESOURCEMANAGER/resourcemanager/apps/outbound apply-to=response.body/



[12/41] knox git commit: KNOX-483 added webhdfs sans ha

2015-02-12 Thread sumit
KNOX-483 added webhdfs sans ha


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

Branch: refs/heads/KNOX-481
Commit: e9fe7bccf04bf1ac61e50a9c3d08359efbee2a29
Parents: 7258c49
Author: Sumit Gupta su...@apache.org
Authored: Mon Jan 19 12:21:03 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:24:58 2015 -0500

--
 .../services/webhdfs/2.4.0/rewrite.xml  | 70 
 .../services/webhdfs/2.4.0/service.xml  | 38 +++
 .../services/yarn-rm/2.5.0/service.xml  |  2 -
 .../hdfs/WebHdfsDeploymentContributor.java  | 10 +--
 .../deploy/DeploymentFactoryFuncTest.java   | 34 +-
 5 files changed, 145 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/e9fe7bcc/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml
--
diff --git 
a/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml
 
b/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml
new file mode 100644
index 000..efbd93d
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml
@@ -0,0 +1,70 @@
+?xml version=1.0 encoding=UTF-8 standalone=yes?
+!--
+   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.
+--
+rules
+
+rule dir=OUT name=WEBHDFS/webhdfs/outbound 
pattern=hdfs://*:*/{path=**}?{**}
+rewrite template={$frontend[url]}/webhdfs/v1/{path=**}?{**}/
+/rule
+
+rule dir=OUT name=WEBHDFS/webhdfs/outbound 
pattern=webhdfs://*:*/{path=**}?{**}
+rewrite template={$frontend[url]}/webhdfs/v1/{path=**}?{**}/
+/rule
+
+rule dir=OUT name=WEBHDFS/webhdfs/outbound/namenode/headers/location
+match pattern={scheme}://{host}:{port}/{path=**}?{**}/
+rewrite 
template={$frontend[url]}/webhdfs/data/v1/{path=**}?{scheme}?host={$hostmap(host)}?{port}?{**}/
+encrypt-query/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/hdfs 
pattern=hdfs:/{path=**}?{**}
+rewrite template={$serviceMappedUrl[NAMENODE]}/{path=**}?{**}/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/webhdfs 
pattern=webhdfs:/{path=**}?{**}
+rewrite template={$serviceUrl[WEBHDFS]}/{path=**}?{**}/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/root 
pattern=*://*:*/**/webhdfs/{version}/?{**}
+rewrite template={$serviceUrl[WEBHDFS]}/{version}/?{**}/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/file 
pattern=*://*:*/**/webhdfs/{version}/{path=**}?{**}
+rewrite template={$serviceUrl[WEBHDFS]}/{version}/{path=**}?{**}/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/home 
pattern=*://*:*/**/webhdfs/{version}/~?{**}
+rewrite 
template={$serviceUrl[WEBHDFS]}/{version}/user/{$username}?{**}/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/home/file 
pattern=*://*:*/**/webhdfs/{version}/~/{path=**}?{**}
+rewrite 
template={$serviceUrl[WEBHDFS]}/{version}/user/{$username}/{path=**}?{**}/
+/rule
+
+rule dir=IN name=WEBHDFS/webhdfs/inbound/datanode
+decrypt-query/
+match 
pattern=*://*:*/**/webhdfs/data/*/{path=**}?{scheme}?{host}?{port}?{**}/
+rewrite template={scheme}://{host}:{port}/{path=**}?{**}/
+/rule
+
+filter name=WEBHDFS/webhdfs/outbound/namenode/headers
+content type=application/x-http-headers
+apply path=Location 
rule=WEBHDFS/webhdfs/outbound/namenode/headers/location/
+/content
+/filter
+
+/rules
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/knox/blob/e9fe7bcc/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/service.xml
--
diff --git 

[26/41] knox git commit: Added policy chain to webhdfs service KNOX-487

2015-02-12 Thread sumit
Added policy chain to webhdfs service KNOX-487


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

Branch: refs/heads/KNOX-481
Commit: bba245fe736be164d575ce89b2af86b0ba48f348
Parents: 52c3418
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 12:23:31 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:49:49 2015 -0500

--
 .../service/definition/PolicyBinding.java   | 24 
 .../service/definition/ServiceDefinition.java   | 12 ++
 .../gateway/service/definition/UrlBinding.java  | 13 +++
 3 files changed, 49 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/bba245fe/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
index ad6b0a6..d87674f 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
@@ -17,5 +17,29 @@
  */
 package org.apache.hadoop.gateway.service.definition;
 
+import javax.xml.bind.annotation.XmlAttribute;
+
 public class PolicyBinding {
+
+  private String name;
+
+  private String role;
+
+  @XmlAttribute
+  public String getName() {
+return name;
+  }
+
+  public void setName(String name) {
+this.name = name;
+  }
+
+  @XmlAttribute
+  public String getRole() {
+return role;
+  }
+
+  public void setRole(String role) {
+this.role = role;
+  }
 }

http://git-wip-us.apache.org/repos/asf/knox/blob/bba245fe/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
index 9cbb9e0..6cb14c4 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
@@ -38,6 +38,8 @@ public class ServiceDefinition {
 
   private CustomDispatch dispatch;
 
+  private ListPolicyBinding policyBindings;
+
   private CustomDispatch dispatch;
 
   @XmlAttribute
@@ -96,6 +98,16 @@ public class ServiceDefinition {
 this.dispatch = dispatch;
   }
 
+  @XmlElement(name = policy)
+  @XmlElementWrapper(name = policies)
+  public ListPolicyBinding getPolicyBindings() {
+return policyBindings;
+  }
+
+  public void setPolicyBindings(ListPolicyBinding policyBindings) {
+this.policyBindings = policyBindings;
+  }
+
   @XmlElement(name = dispatch)
   public CustomDispatch getDispatch() {
 return dispatch;

http://git-wip-us.apache.org/repos/asf/knox/blob/bba245fe/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
index c64658c..a1b7718 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.gateway.service.definition;
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlType;
 import java.util.List;
 
@@ -29,6 +30,8 @@ public class UrlBinding {
 
   private ListRewriteFilter rewriteFilters;
 
+  private ListPolicyBinding policyBindings;
+
   private CustomDispatch dispatch;
 
   @XmlAttribute
@@ -49,6 +52,16 @@ public class UrlBinding {
 this.rewriteFilters = rewriteFilters;
   }
 
+  @XmlElement(name = policy)
+  @XmlElementWrapper(name = policies)
+  public ListPolicyBinding getPolicyBindings() {
+return policyBindings;
+  }
+
+  

[38/41] knox git commit: Minor cleanup and bug fixes KNOX-481

2015-02-12 Thread sumit
http://git-wip-us.apache.org/repos/asf/knox/blob/7cb3551b/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
--
diff --git 
a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
 
b/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
deleted file mode 100644
index 857459f..000
--- 
a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * 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 org.apache.hadoop.gateway.webhcat;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.URISyntaxException;
-
-import org.apache.hadoop.gateway.deploy.DeploymentContext;
-import org.apache.hadoop.gateway.deploy.ServiceDeploymentContributorBase;
-import org.apache.hadoop.gateway.descriptor.ResourceDescriptor;
-import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor;
-import 
org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptorFactory;
-import org.apache.hadoop.gateway.topology.Service;
-
-public class WebHCatDeploymentContributor extends 
ServiceDeploymentContributorBase {
-
-  private static final String RULES_RESOURCE = 
WebHCatDeploymentContributor.class.getName().replace( '.', '/' ) + 
/rewrite.xml;
-  private static final String WEBHCAT_EXTERNAL_PATH = /templeton/v1;
-
-  @Override
-  public String getRole() {
-return xWEBHCAT;
-  }
-
-  @Override
-  public String getName() {
-return xwebhcat;
-  }
-
-  @Override
-  public void contributeService( DeploymentContext context, Service service ) 
throws Exception {
-//contributeRewriteRules( context, service );
-//contributeResources( context, service );
-  }
-
-  private void contributeRewriteRules( DeploymentContext context, Service 
service ) throws IOException {
-UrlRewriteRulesDescriptor hbaseRules = loadRulesFromTemplate();
-UrlRewriteRulesDescriptor clusterRules = context.getDescriptor( rewrite 
);
-clusterRules.addRules( hbaseRules );
-  }
-
-  private UrlRewriteRulesDescriptor loadRulesFromTemplate() throws IOException 
{
-InputStream stream = this.getClass().getClassLoader().getResourceAsStream( 
RULES_RESOURCE );
-Reader reader = new InputStreamReader( stream );
-UrlRewriteRulesDescriptor rules = UrlRewriteRulesDescriptorFactory.load( 
xml, reader );
-reader.close();
-stream.close();
-return rules;
-  }
-
-  private void contributeResources( DeploymentContext context, Service service 
) throws URISyntaxException {
-ResourceDescriptor rootResource = 
context.getGatewayDescriptor().addResource();
-rootResource.role( service.getRole() );
-rootResource.pattern( WEBHCAT_EXTERNAL_PATH + /?** );
-addWebAppSecFilters( context, service, rootResource );
-addAuthenticationFilter( context, service, rootResource );
-addRewriteFilter( context, service, rootResource, null );
-addIdentityAssertionFilter( context, service, rootResource );
-addAuthorizationFilter( context, service, rootResource );
-addDispatchFilter( context, service, rootResource );
-
-ResourceDescriptor pathResource = 
context.getGatewayDescriptor().addResource();
-pathResource.role( service.getRole() );
-pathResource.pattern( WEBHCAT_EXTERNAL_PATH + /**?** );
-addWebAppSecFilters( context, service, pathResource );
-addAuthenticationFilter( context, service, pathResource );
-addRewriteFilter( context, service, pathResource, null );
-addIdentityAssertionFilter( context, service, pathResource );
-addAuthorizationFilter( context, service, pathResource );
-addDispatchFilter( context, service, pathResource );
-  }
-
-  private void addDispatchFilter(
-  DeploymentContext context, Service service, ResourceDescriptor resource 
) {
-context.contributeFilter( service, resource, dispatch, http-client, 
null );
-  }
-}


[15/41] knox git commit: Separated dispatch from filters and added custom dispatch config KNOX-483

2015-02-12 Thread sumit
Separated dispatch from filters and added custom dispatch config KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: 562bb52c28a6e42fd63290acf3ad4320948fb475
Parents: 35e0c71
Author: Sumit Gupta su...@apache.org
Authored: Thu Jan 15 23:46:01 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:02:47 2015 -0500

--
 .../gateway/service/definition/ServiceDefinition.java| 11 +++
 1 file changed, 11 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/562bb52c/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
index cbb9309..9cbb9e0 100644
--- 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java
@@ -38,6 +38,8 @@ public class ServiceDefinition {
 
   private CustomDispatch dispatch;
 
+  private CustomDispatch dispatch;
+
   @XmlAttribute
   public String getName() {
 return name;
@@ -93,4 +95,13 @@ public class ServiceDefinition {
   public void setDispatch(CustomDispatch dispatch) {
 this.dispatch = dispatch;
   }
+
+  @XmlElement(name = dispatch)
+  public CustomDispatch getDispatch() {
+return dispatch;
+  }
+
+  public void setDispatch(CustomDispatch dispatch) {
+this.dispatch = dispatch;
+  }
 }



[02/41] knox git commit: KNOX-493 - Data and sub data directory should be made configurable. (Andreina J via lmccay)

2015-02-12 Thread sumit
KNOX-493 - Data and sub data directory should be made configurable. (Andreina J 
via lmccay)

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

Branch: refs/heads/KNOX-481
Commit: 1275b08820bac477901d3a6e207ea867426c5e6c
Parents: 59735a8
Author: Larry McCay lmc...@hortonworks.com
Authored: Thu Feb 5 22:20:39 2015 -0500
Committer: Larry McCay lmc...@hortonworks.com
Committed: Thu Feb 5 22:20:39 2015 -0500

--
 CHANGES |  1 +
 .../gateway/config/impl/GatewayConfigImpl.java  | 17 -
 .../hadoop/gateway/GatewayGlobalConfigTest.java | 66 +++-
 .../conf-demo/conf/gateway-default.xml  | 11 
 .../resources/conf-demo/conf/gateway-site.xml   | 11 
 5 files changed, 102 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/1275b088/CHANGES
--
diff --git a/CHANGES b/CHANGES
index 2588f74..e795281 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ Release Notes - Apache Knox - Version 0.6.0
   * [KNOX-479] - Remove cacheManager configuration from template files
   * [KNOX-480] - KnoxCLI needs to print usage when alias not provided
   * [KNOX-494] - knox-env.sh script should print proper warning message , if 
JAVA is not set. (Andreina J via lmccay)
+  * [KNOX-493] - Data and sub data directory should be made configurable. 
(Andreina J via lmccay)
 
 --
 Release Notes - Apache Knox - Version 0.5.1

http://git-wip-us.apache.org/repos/asf/knox/blob/1275b088/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index 87691b9..4b2a0ac 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -98,6 +98,8 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   public static final String HTTP_PORT = GATEWAY_CONFIG_FILE_PREFIX + .port;
   public static final String HTTP_PATH = GATEWAY_CONFIG_FILE_PREFIX + .path;
   public static final String DEPLOYMENT_DIR = GATEWAY_CONFIG_FILE_PREFIX + 
.deployment.dir;
+  public static final String SECURITY_DIR = GATEWAY_CONFIG_FILE_PREFIX + 
.security.dir;
+  public static final String DATA_DIR = GATEWAY_CONFIG_FILE_PREFIX + 
.data.dir;
   public static final String HADOOP_CONF_DIR = GATEWAY_CONFIG_FILE_PREFIX + 
.hadoop.conf.dir;
 //  public static final String SHIRO_CONFIG_FILE = GATEWAY_CONFIG_FILE_PREFIX 
+ .shiro.config.file;
   public static final String FRONTEND_URL = GATEWAY_CONFIG_FILE_PREFIX + 
.frontend.url;
@@ -105,6 +107,8 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   public static final String DEFAULT_HTTP_PORT = ;
   public static final String DEFAULT_HTTP_PATH = gateway;
   public static final String DEFAULT_DEPLOYMENT_DIR = deployments;
+  public static final String DEFAULT_SECURITY_DIR = security;
+  public static final String DEFAULT_DATA_DIR = data;
   private static final String SSL_ENABLED = ssl.enabled;
   private static final String SSL_EXCLUDE_PROTOCOLS = ssl.exclude.protocols;
 //  public static final String DEFAULT_SHIRO_CONFIG_FILE = shiro.ini;
@@ -148,8 +152,15 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
 
   @Override
   public String getGatewayDataDir() {
-String value = getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + 
File.separator + data );
-return value;
+String systemValue =
+System.getProperty(GATEWAY_DATA_HOME_VAR, 
System.getenv(GATEWAY_DATA_HOME_VAR));
+String dataDir = null;
+if (systemValue != null) {
+  dataDir = systemValue;
+} else {
+  dataDir = get(DATA_DIR, getGatewayHomeDir() + File.separator + 
DEFAULT_DATA_DIR);
+}
+return dataDir;
   }
 
   @Override
@@ -280,7 +291,7 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
 
   @Override
   public String getGatewaySecurityDir() {
-return getGatewayDataDir() + File.separator + security;
+return get(SECURITY_DIR, getGatewayDataDir() + File.separator + 
DEFAULT_SECURITY_DIR);
   }
 
   @Override


[05/41] knox git commit: KNOX-483 initial commit for loading service definitions

2015-02-12 Thread sumit
KNOX-483 initial commit for loading service definitions


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

Branch: refs/heads/KNOX-481
Commit: d378cdd19e55142a59c2b78bee1e8ff20be05911
Parents: 5abdde8
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 12:07:29 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:15:57 2015 -0500

--
 gateway-server/pom.xml  |   8 +
 .../gateway/config/impl/GatewayConfigImpl.java  |   5 +
 .../gateway/deploy/DeploymentFactory.java   |  54 +++---
 .../ServiceDefinitionDeploymentContributor.java | 108 +++
 .../gateway/util/ServiceDefinitionsLoader.java  |  95 +
 gateway-service-definitions/pom.xml |  39 
 .../service/definition/PolicyBinding.java   |  21 ++
 .../service/definition/RewriteFilter.java   |  47 +
 .../service/definition/ServiceDefinition.java   |  73 +++
 .../gateway/service/definition/UrlBinding.java  |  49 +
 .../services/yarn-rm/2.5.0/rewrite.xml  | 193 +++
 .../services/yarn-rm/2.5.0/service.xml  |  54 ++
 .../definition/ServiceDefinitionTest.java   |  46 +
 .../ResourceManagerDeploymentContributor.java   |   9 +-
 .../hadoop/gateway/config/GatewayConfig.java|   6 +
 .../hadoop/gateway/GatewayFuncTestDriver.java   |  13 ++
 .../hadoop/gateway/GatewayTestConfig.java   |   6 +-
 pom.xml |   6 +
 18 files changed, 805 insertions(+), 27 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/d378cdd1/gateway-server/pom.xml
--
diff --git a/gateway-server/pom.xml b/gateway-server/pom.xml
index 3f736f3..1304cd0 100644
--- a/gateway-server/pom.xml
+++ b/gateway-server/pom.xml
@@ -178,6 +178,14 @@
 groupIdcommons-io/groupId
 artifactIdcommons-io/artifactId
 /dependency
+dependency
+groupIdorg.apache.knox/groupId
+artifactIdgateway-service-definitions/artifactId
+/dependency
+dependency
+groupIdorg.apache.knox/groupId
+artifactIdgateway-provider-rewrite/artifactId
+/dependency
 
 !-- ** ** ** ** ** ** 
--
 !-- ** Test Dependencies   ** 
--

http://git-wip-us.apache.org/repos/asf/knox/blob/d378cdd1/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index 4b2a0ac..97853b3 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -164,6 +164,11 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   }
 
   @Override
+  public String getGatewayStacksDir() {
+return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
+  }
+
+  @Override
   public String getHadoopConfDir() {
 return get( HADOOP_CONF_DIR );
   }

http://git-wip-us.apache.org/repos/asf/knox/blob/d378cdd1/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
index 44ba37a..a0cc6cb 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
@@ -31,6 +31,7 @@ import 
org.apache.hadoop.gateway.services.registry.ServiceRegistry;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 import org.apache.hadoop.gateway.topology.Topology;
+import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.Asset;
 import org.jboss.shrinkwrap.api.asset.StringAsset;
@@ -40,6 +41,7 @@ import 
org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor;
 import org.jboss.shrinkwrap.descriptor.api.webcommon30.ServletType;
 
 import 

[30/41] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483

2015-02-12 Thread sumit
Added HA support and URL-level dispatch for webhdfs KNOX-483


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

Branch: refs/heads/KNOX-481
Commit: e9c54cf1d944ce35dce8188937ce81bd1c869cb1
Parents: 335b6a4
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 11:16:00 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:51:10 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 51 +++-
 .../gateway/service/definition/UrlBinding.java  | 11 +
 2 files changed, 50 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/e9c54cf1/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 79cc4a5..755fc67 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -28,6 +28,7 @@ import 
org.apache.hadoop.gateway.service.definition.CustomDispatch;
 import org.apache.hadoop.gateway.service.definition.RewriteFilter;
 import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
 import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
 import java.net.URISyntaxException;
@@ -86,7 +87,7 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 }
   }
   try {
-contributeResource(context, service, binding.getPattern(), 
filterParams);
+contributeResource(context, service, binding, filterParams);
   } catch ( URISyntaxException e ) {
 e.printStackTrace();
   }
@@ -94,11 +95,11 @@ public class ServiceDefinitionDeploymentContributor extends 
ServiceDeploymentCon
 
   }
 
-  private void contributeResource(DeploymentContext context, Service service, 
String pattern, MapString, String filterParams) throws URISyntaxException {
+  private void contributeResource(DeploymentContext context, Service service, 
UrlBinding binding, MapString, String filterParams) throws URISyntaxException 
{
 ListFilterParamDescriptor params = new 
ArrayListFilterParamDescriptor();
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
-resource.pattern(pattern);
+resource.pattern(binding.getPattern());
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
@@ -109,20 +110,46 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
   }
 }
 addRewriteFilter(context, service, resource, params);
-CustomDispatch customDispatch = serviceDefinition.getDispatch();
-if (customDispatch != null) {
-  String contributorName = customDispatch.getContributorName();
-  if (contributorName != null) {
-addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
contributorName);
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addDispatchFilter(DeploymentContext context, Service service, 
ResourceDescriptor resource, UrlBinding binding) {
+CustomDispatch customDispatch = binding.getDispatch();
+if ( customDispatch == null ) {
+  customDispatch = serviceDefinition.getDispatch();
+}
+if ( customDispatch != null ) {
+  boolean isHaEnabled = isHaEnabled(context);
+  if ( isHaEnabled  (customDispatch.getHaContributorName() != null) ) {
+addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
customDispatch.getHaContributorName());
   } else {
-String className = customDispatch.getClassName();
-if (className != null) {
-  FilterDescriptor filter = resource.addFilter().name( getName() 
).role( DISPATCH_ROLE ).impl( GatewayDispatchFilter.class );
-  filter.param().name(DISPATCH_IMPL_PARAM).value(className);
+String contributorName = customDispatch.getContributorName();
+if ( contributorName != null ) {
+  addDispatchFilter(context, service, resource, DISPATCH_ROLE, 
contributorName);
+} else {
+  

[10/41] knox git commit: Added policy chain to webhdfs service KNOX-487

2015-02-12 Thread sumit
Added policy chain to webhdfs service KNOX-487


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

Branch: refs/heads/KNOX-481
Commit: fe085d3aea14b10fa59fef493e28976bf33c89a9
Parents: 6ed40a7
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 12:23:31 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:24:58 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 39 +---
 .../service/definition/PolicyBinding.java   | 24 
 .../service/definition/ServiceDefinition.java   | 12 ++
 .../gateway/service/definition/UrlBinding.java  | 13 +++
 .../services/webhdfs/2.4.0/service.xml  |  7 
 .../services/yarn-rm/2.5.0/service.xml  |  1 -
 .../definition/ServiceDefinitionTest.java   | 10 +
 7 files changed, 100 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/fe085d3a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 755fc67..f31b08a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -24,10 +24,7 @@ import 
org.apache.hadoop.gateway.descriptor.FilterParamDescriptor;
 import org.apache.hadoop.gateway.descriptor.ResourceDescriptor;
 import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter;
 import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor;
-import org.apache.hadoop.gateway.service.definition.CustomDispatch;
-import org.apache.hadoop.gateway.service.definition.RewriteFilter;
-import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
-import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.service.definition.*;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
@@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
 resource.pattern(binding.getPattern());
+ListPolicyBinding policyBindings = binding.getPolicyBindings();
+if (policyBindings == null) {
+  policyBindings = serviceDefinition.getPolicyBindings();
+}
+if (policyBindings == null) {
+  //add default set
+  addDefaultPolicies(context, service, filterParams, params, resource);
+} else {
+  addPolicies(context, service, filterParams, params, resource, 
policyBindings);
+}
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
+for (PolicyBinding policyBinding : policyBindings) {
+  String role = policyBinding.getRole();
+  if (role == null) {
+throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
+  }
+  role = role.trim().toLowerCase();
+  if (role.equals(rewrite)) {
+addRewriteFilter(context, service, filterParams, params, resource);
+  } else if (topologyContainsProviderType(context, role)) {
+context.contributeFilter( service, resource, role, 
policyBinding.getName(), null );
+  }
+}
+  }
+
+  private void addDefaultPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
 addAuthorizationFilter(context, service, resource);
+addRewriteFilter(context, service, filterParams, params, resource);
+  }
+
+  private void addRewriteFilter(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 if ( !filterParams.isEmpty() ) {

[14/41] knox git commit: KNOX-483 initial commit for loading service definitions

2015-02-12 Thread sumit
KNOX-483 initial commit for loading service definitions


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

Branch: refs/heads/KNOX-481
Commit: 35e0c7113dd80228c4b905c5423607c29c777d0a
Parents: bfb3abd
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 12:07:29 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 13:43:53 2015 -0500

--
 .../gateway/config/impl/GatewayConfigImpl.java  |  5 ++
 .../gateway/deploy/DeploymentFactory.java   | 10 +++-
 .../service/definition/PolicyBinding.java   | 21 +
 .../service/definition/RewriteFilter.java   | 47 +++
 .../gateway/service/definition/UrlBinding.java  | 49 
 5 files changed, 131 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index 97853b3..4241856 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -169,6 +169,11 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   }
 
   @Override
+  public String getGatewayStacksDir() {
+return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
+  }
+
+  @Override
   public String getHadoopConfDir() {
 return get( HADOOP_CONF_DIR );
   }

http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
index 16d188a..54e58f2 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java
@@ -43,7 +43,15 @@ import java.beans.Statement;
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+import java.util.Set;
+import java.util.LinkedHashMap;
 
 public abstract class DeploymentFactory {
 

http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
new file mode 100644
index 000..ad6b0a6
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
@@ -0,0 +1,21 @@
+/**
+ * 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 org.apache.hadoop.gateway.service.definition;
+
+public class PolicyBinding {
+}

http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
--
diff --git 

[23/41] knox git commit: KNOX-483 initial commit for loading service definitions

2015-02-12 Thread sumit
KNOX-483 initial commit for loading service definitions


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

Branch: refs/heads/KNOX-481
Commit: 21d9a17e80cb22c0868062b8846f2b723e4bfc3f
Parents: ef2439b
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 6 12:07:29 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:38:09 2015 -0500

--
 .../gateway/config/impl/GatewayConfigImpl.java  |  5 ++
 .../service/definition/PolicyBinding.java   | 21 +
 .../service/definition/RewriteFilter.java   | 47 +++
 .../gateway/service/definition/UrlBinding.java  | 49 
 4 files changed, 122 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/21d9a17e/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
index 4241856..cfbec54 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java
@@ -174,6 +174,11 @@ public class GatewayConfigImpl extends Configuration 
implements GatewayConfig {
   }
 
   @Override
+  public String getGatewayStacksDir() {
+return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator 
+ stacks );
+  }
+
+  @Override
   public String getHadoopConfDir() {
 return get( HADOOP_CONF_DIR );
   }

http://git-wip-us.apache.org/repos/asf/knox/blob/21d9a17e/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
new file mode 100644
index 000..ad6b0a6
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java
@@ -0,0 +1,21 @@
+/**
+ * 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 org.apache.hadoop.gateway.service.definition;
+
+public class PolicyBinding {
+}

http://git-wip-us.apache.org/repos/asf/knox/blob/21d9a17e/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
--
diff --git 
a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
new file mode 100644
index 000..4b0dccc
--- /dev/null
+++ 
b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java
@@ -0,0 +1,47 @@
+/**
+ * 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 

[37/41] knox git commit: Added policy chain to webhdfs service KNOX-487

2015-02-12 Thread sumit
Added policy chain to webhdfs service KNOX-487


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

Branch: refs/heads/KNOX-481
Commit: 3c6b750654e2ca0bb7a96529f826d1aff6231ea5
Parents: e9c54cf
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 20 12:23:31 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:51:11 2015 -0500

--
 .../ServiceDefinitionDeploymentContributor.java | 39 +---
 .../service/definition/PolicyBinding.java   | 24 
 .../gateway/service/definition/UrlBinding.java  | 13 +++
 .../services/yarn-rm/2.5.0/service.xml  |  1 -
 .../definition/ServiceDefinitionTest.java   | 10 +
 5 files changed, 81 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/3c6b7506/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
index 755fc67..f31b08a 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java
@@ -24,10 +24,7 @@ import 
org.apache.hadoop.gateway.descriptor.FilterParamDescriptor;
 import org.apache.hadoop.gateway.descriptor.ResourceDescriptor;
 import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter;
 import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor;
-import org.apache.hadoop.gateway.service.definition.CustomDispatch;
-import org.apache.hadoop.gateway.service.definition.RewriteFilter;
-import org.apache.hadoop.gateway.service.definition.ServiceDefinition;
-import org.apache.hadoop.gateway.service.definition.UrlBinding;
+import org.apache.hadoop.gateway.service.definition.*;
 import org.apache.hadoop.gateway.topology.Provider;
 import org.apache.hadoop.gateway.topology.Service;
 
@@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor 
extends ServiceDeploymentCon
 ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
 resource.role(service.getRole());
 resource.pattern(binding.getPattern());
+ListPolicyBinding policyBindings = binding.getPolicyBindings();
+if (policyBindings == null) {
+  policyBindings = serviceDefinition.getPolicyBindings();
+}
+if (policyBindings == null) {
+  //add default set
+  addDefaultPolicies(context, service, filterParams, params, resource);
+} else {
+  addPolicies(context, service, filterParams, params, resource, 
policyBindings);
+}
+addDispatchFilter(context, service, resource, binding);
+  }
+
+  private void addPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource, ListPolicyBinding policyBindings) throws 
URISyntaxException {
+for (PolicyBinding policyBinding : policyBindings) {
+  String role = policyBinding.getRole();
+  if (role == null) {
+throw new IllegalArgumentException(Policy defined has no role for 
service  + service.getName());
+  }
+  role = role.trim().toLowerCase();
+  if (role.equals(rewrite)) {
+addRewriteFilter(context, service, filterParams, params, resource);
+  } else if (topologyContainsProviderType(context, role)) {
+context.contributeFilter( service, resource, role, 
policyBinding.getName(), null );
+  }
+}
+  }
+
+  private void addDefaultPolicies(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 addWebAppSecFilters(context, service, resource);
 addAuthenticationFilter(context, service, resource);
 addIdentityAssertionFilter(context, service, resource);
 addAuthorizationFilter(context, service, resource);
+addRewriteFilter(context, service, filterParams, params, resource);
+  }
+
+  private void addRewriteFilter(DeploymentContext context, Service service, 
MapString, String filterParams, ListFilterParamDescriptor params, 
ResourceDescriptor resource) throws URISyntaxException {
 if ( !filterParams.isEmpty() ) {
   for ( Map.EntryString, String filterParam : filterParams.entrySet() ) {
 

[20/41] knox git commit: Added service definitions to the assembly KNOX-481

2015-02-12 Thread sumit
Added service definitions to the assembly KNOX-481


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

Branch: refs/heads/KNOX-481
Commit: 106279daa5aa6b924eb8fb0024ebe322d0a1d1c5
Parents: 4dc51e6
Author: Sumit Gupta su...@apache.org
Authored: Tue Jan 27 12:32:25 2015 -0500
Committer: Sumit Gupta su...@apache.org
Committed: Wed Feb 11 15:25:55 2015 -0500

--
 gateway-release/pom.xml  | 31 +++
 gateway-release/src/assembly.xml |  7 +++
 2 files changed, 38 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/106279da/gateway-release/pom.xml
--
diff --git a/gateway-release/pom.xml b/gateway-release/pom.xml
index 744242b..0ea7a81 100644
--- a/gateway-release/pom.xml
+++ b/gateway-release/pom.xml
@@ -37,6 +37,7 @@
 /license
 /licenses
 
+
 profiles
 profile
 idrelease/id
@@ -94,6 +95,36 @@
 /dependency
 /dependencies
 /plugin
+plugin
+groupIdorg.apache.maven.plugins/groupId
+artifactIdmaven-dependency-plugin/artifactId
+version2.8/version
+executions
+execution
+idunpack/id
+phasegenerate-resources/phase
+goals
+goalunpack/goal
+/goals
+configuration
+artifactItems
+artifactItem
+groupId${gateway-group}/groupId
+
artifactIdgateway-service-definitions/artifactId
+typejar/type
+overWritetrue/overWrite
+
outputDirectory${project.build.directory}/outputDirectory
+includesservices/**/*/includes
+
!--excludes**/*.class/excludes--
+/artifactItem
+/artifactItems
+
!--outputDirectory${project.build.directory}/data/outputDirectory--
+
!--overWriteReleasesfalse/overWriteReleases--
+
!--overWriteSnapshotstrue/overWriteSnapshots--
+/configuration
+/execution
+/executions
+/plugin
 /plugins
 /build
 /profile

http://git-wip-us.apache.org/repos/asf/knox/blob/106279da/gateway-release/src/assembly.xml
--
diff --git a/gateway-release/src/assembly.xml b/gateway-release/src/assembly.xml
index 9a46f39..709d1f3 100644
--- a/gateway-release/src/assembly.xml
+++ b/gateway-release/src/assembly.xml
@@ -58,6 +58,13 @@
 /includes
 fileMode0444/fileMode
 /fileSet
+fileSet
+directory${project.build.directory}/services/directory
+outputDirectorydata/services/outputDirectory
+includes
+include**/*/include
+/includes
+/fileSet
 /fileSets
 dependencySets
 dependencySet



knox git commit: KNOX-462: Proper error message when root tag of topology file incorrect Contributed by J.Andreina via KNOX-462.3.patch.

2015-02-12 Thread kminder
Repository: knox
Updated Branches:
  refs/heads/master 5abdde8bc - 2192932e0


KNOX-462: Proper error message when root tag of topology file incorrect
Contributed by J.Andreina via KNOX-462.3.patch.


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

Branch: refs/heads/master
Commit: 2192932e012186ca8dc5777bdcc1b14d162c9128
Parents: 5abdde8
Author: Kevin Minder kevin.min...@hortonworks.com
Authored: Thu Feb 12 10:07:14 2015 -0500
Committer: Kevin Minder kevin.min...@hortonworks.com
Committed: Thu Feb 12 10:07:14 2015 -0500

--
 CHANGES |  3 ++
 .../apache/hadoop/gateway/GatewayMessages.java  |  3 ++
 .../topology/impl/DefaultTopologyService.java   | 35 ++--
 .../apache/hadoop/gateway/audit/api/Action.java |  1 +
 4 files changed, 40 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/knox/blob/2192932e/CHANGES
--
diff --git a/CHANGES b/CHANGES
index e795281..4d072b6 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,9 @@ Release Notes - Apache Knox - Version 0.6.0
   * [KNOX-494] - knox-env.sh script should print proper warning message , if 
JAVA is not set. (Andreina J via lmccay)
   * [KNOX-493] - Data and sub data directory should be made configurable. 
(Andreina J via lmccay)
 
+** Improvement
+  * [KNOX-462] - Proper error message when root tag of topology file incorrect
+
 --
 Release Notes - Apache Knox - Version 0.5.1
 --

http://git-wip-us.apache.org/repos/asf/knox/blob/2192932e/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
index 9325c02..4fd2a7c 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java
@@ -97,6 +97,9 @@ public interface GatewayMessages {
   @Message( level = MessageLevel.ERROR, text = Failed to redeploy topology 
{0}: {1} )
   void failedToRedeployTopology( String name, 
@StackTrace(level=MessageLevel.DEBUG) Throwable e );
 
+  @Message(level = MessageLevel.ERROR, text = Failed to load topology {0}: 
Topology configuration is invalid!)
+  void failedToLoadTopology(String fileName);
+
   @Message( level = MessageLevel.ERROR, text = Failed to redeploy topologies: 
{0} )
   void failedToRedeployTopologies( @StackTrace(level=MessageLevel.DEBUG) 
Throwable e );
 

http://git-wip-us.apache.org/repos/asf/knox/blob/2192932e/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java
--
diff --git 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java
 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java
index c80d8a1..74a29bc 100644
--- 
a/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java
+++ 
b/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java
@@ -28,6 +28,12 @@ import 
org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
 import org.apache.commons.io.monitor.FileAlterationMonitor;
 import org.apache.commons.io.monitor.FileAlterationObserver;
 import org.apache.hadoop.gateway.GatewayMessages;
+import org.apache.hadoop.gateway.audit.api.Action;
+import org.apache.hadoop.gateway.audit.api.ActionOutcome;
+import org.apache.hadoop.gateway.audit.api.AuditServiceFactory;
+import org.apache.hadoop.gateway.audit.api.Auditor;
+import org.apache.hadoop.gateway.audit.api.ResourceType;
+import org.apache.hadoop.gateway.audit.log4j.audit.AuditConstants;
 import org.apache.hadoop.gateway.config.GatewayConfig;
 import org.apache.hadoop.gateway.i18n.messages.MessagesFactory;
 import org.apache.hadoop.gateway.services.ServiceLifecycleException;
@@ -65,7 +71,9 @@ import static 
org.apache.commons.digester3.binder.DigesterLoader.newLoader;
 public class DefaultTopologyService
 extends FileAlterationListenerAdaptor
 implements TopologyService, TopologyMonitor, TopologyProvider, FileFilter, 
FileAlterationListener {
-
+  private static Auditor auditor =