You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by su...@apache.org on 2015/01/30 03:03:56 UTC
[18/24] knox git commit: renamed service xml elements and attributes
as per review KNOX-483
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/bb06e16f
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/bb06e16f
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/bb06e16f
Branch: refs/heads/KNOX-481
Commit: bb06e16f4027ab96da93237d30e5cb2aab645c37
Parents: 21eedf4
Author: Sumit Gupta <su...@apache.org>
Authored: Wed Jan 21 15:52:15 2015 -0500
Committer: Sumit Gupta <su...@apache.org>
Committed: Thu Jan 29 16:51:04 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/bb06e16f/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) {
Map<String, String> filterParams = new HashMap<String, String>();
- List<UrlBinding> bindings = serviceDefinition.getUrlBindings();
- for ( UrlBinding binding : bindings ) {
- List<RewriteFilter> filters = binding.getRewriteFilters();
+ List<Route> bindings = serviceDefinition.getRoutes();
+ for ( Route binding : bindings ) {
+ List<Rewrite> 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, Map<String, String> filterParams) throws URISyntaxException {
+ private void contributeResource(DeploymentContext context, Service service, Route binding, Map<String, String> filterParams) throws URISyntaxException {
List<FilterParamDescriptor> params = new ArrayList<FilterParamDescriptor>();
ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
resource.role(service.getRole());
- resource.pattern(binding.getPattern());
- List<PolicyBinding> policyBindings = binding.getPolicyBindings();
+ resource.pattern(binding.getPath());
+ List<Policy> 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, Map<String, String> filterParams, List<FilterParamDescriptor> params, ResourceDescriptor resource, List<PolicyBinding> policyBindings) throws URISyntaxException {
- for (PolicyBinding policyBinding : policyBindings) {
+ private void addPolicies(DeploymentContext context, Service service, Map<String, String> filterParams, List<FilterParamDescriptor> params, ResourceDescriptor resource, List<Policy> 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
addRewriteFilter(context, service, resource, params);
}
- private void addDispatchFilter(DeploymentContext context, Service service, ResourceDescriptor resource, UrlBinding binding) {
+ private void addDispatchFilter(DeploymentContext context, Service service, ResourceDescriptor resource, Route binding) {
CustomDispatch customDispatch = binding.getDispatch();
if ( customDispatch == null ) {
customDispatch = serviceDefinition.getDispatch();
http://git-wip-us.apache.org/repos/asf/knox/blob/bb06e16f/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..0000000
--- 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/bb06e16f/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..0000000
--- 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;
- }
-}
http://git-wip-us.apache.org/repos/asf/knox/blob/bb06e16f/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 682f2fc..cbb9309 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
@@ -32,9 +32,9 @@ public class ServiceDefinition {
private String version;
- private List<UrlBinding> urlBindings;
+ private List<Route> routes;
- private List<PolicyBinding> policyBindings;
+ private List<Policy> policies;
private CustomDispatch dispatch;
@@ -65,24 +65,24 @@ public class ServiceDefinition {
this.version = version;
}
- @XmlElement(name = "url")
- @XmlElementWrapper(name = "urls")
- public List<UrlBinding> getUrlBindings() {
- return urlBindings;
+ @XmlElement(name = "route")
+ @XmlElementWrapper(name = "routes")
+ public List<Route> getRoutes() {
+ return routes;
}
- public void setUrlBindings(List<UrlBinding> urlBindings) {
- this.urlBindings = urlBindings;
+ public void setRoutes(List<Route> routes) {
+ this.routes = routes;
}
@XmlElement(name = "policy")
@XmlElementWrapper(name = "policies")
- public List<PolicyBinding> getPolicyBindings() {
- return policyBindings;
+ public List<Policy> getPolicies() {
+ return policies;
}
- public void setPolicyBindings(List<PolicyBinding> policyBindings) {
- this.policyBindings = policyBindings;
+ public void setPolicies(List<Policy> policies) {
+ this.policies = policies;
}
@XmlElement(name = "dispatch")
http://git-wip-us.apache.org/repos/asf/knox/blob/bb06e16f/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
deleted file mode 100644
index a1b7718..0000000
--- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java
+++ /dev/null
@@ -1,73 +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.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlType;
-import java.util.List;
-
-@XmlType(name = "url")
-public class UrlBinding {
-
- private String pattern;
-
- private List<RewriteFilter> rewriteFilters;
-
- private List<PolicyBinding> policyBindings;
-
- private CustomDispatch dispatch;
-
- @XmlAttribute
- public String getPattern() {
- return pattern;
- }
-
- public void setPattern(String pattern) {
- this.pattern = pattern;
- }
-
- @XmlElement(name = "rewrite-filter")
- public List<RewriteFilter> getRewriteFilters() {
- return rewriteFilters;
- }
-
- public void setRewriteFilters(List<RewriteFilter> rewriteFilters) {
- this.rewriteFilters = rewriteFilters;
- }
-
- @XmlElement(name = "policy")
- @XmlElementWrapper(name = "policies")
- public List<PolicyBinding> getPolicyBindings() {
- return policyBindings;
- }
-
- public void setPolicyBindings(List<PolicyBinding> policyBindings) {
- this.policyBindings = policyBindings;
- }
-
- @XmlElement(name = "dispatch")
- public CustomDispatch getDispatch() {
- return dispatch;
- }
-
- public void setDispatch(CustomDispatch dispatch) {
- this.dispatch = dispatch;
- }
-}
http://git-wip-us.apache.org/repos/asf/knox/blob/bb06e16f/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 8b53cca..73fb771 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,39 +16,39 @@
limitations under the License.
-->
<service role="RESOURCEMANAGER" name="resourcemanager" version="2.5.0">
- <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"/>
- </url>
- <url pattern="/resourcemanager/v1/cluster/apps?**">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/apps/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/v1/cluster/apps/*?**">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/app/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/v1/cluster/apps/*/appattempts?**">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/appattempts/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/v1/cluster/nodes?**">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/nodes/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/v1/cluster/nodes/*?**">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/nodeId/inbound" apply-to="request.url"/>
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/node/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/proxy/*/ws/v1/**?**">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/inbound/proxy" apply-to="request.url"/>
- </url>
- <url pattern="/resourcemanager/proxy/*/ws/v1/mapreduce/jobs/*/jobattempts">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/proxy/jobattempts/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/proxy/*/ws/v1/mapreduce/jobs/*/tasks/*/attempts">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/proxy/taskattempts/outbound" apply-to="response.body"/>
- </url>
- <url pattern="/resourcemanager/proxy/*/ws/v1/mapreduce/jobs/*/tasks/*/attempts/*">
- <rewrite-filter ref="RESOURCEMANAGER/resourcemanager/proxy/taskattempt/outbound" apply-to="response.body"/>
- </url>
- </urls>
+ <routes>
+ <route path="/resourcemanager/v1/cluster/"/>
+ <route path="/resourcemanager/v1/cluster/**?**"/>
+ <route path="/resourcemanager/v1/cluster/apps?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/apps/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/v1/cluster/apps?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/apps/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/v1/cluster/apps/*?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/app/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/v1/cluster/apps/*/appattempts?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/appattempts/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/v1/cluster/nodes?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/nodes/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/v1/cluster/nodes/*?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/nodeId/inbound" to="request.url"/>
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/node/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/proxy/*/ws/v1/**?**">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/inbound/proxy" to="request.url"/>
+ </route>
+ <route path="/resourcemanager/proxy/*/ws/v1/mapreduce/jobs/*/jobattempts">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/proxy/jobattempts/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/proxy/*/ws/v1/mapreduce/jobs/*/tasks/*/attempts">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/proxy/taskattempts/outbound" to="response.body"/>
+ </route>
+ <route path="/resourcemanager/proxy/*/ws/v1/mapreduce/jobs/*/tasks/*/attempts/*">
+ <rewrite apply="RESOURCEMANAGER/resourcemanager/proxy/taskattempt/outbound" to="response.body"/>
+ </route>
+ </routes>
</service>
http://git-wip-us.apache.org/repos/asf/knox/blob/bb06e16f/gateway-service-definitions/src/test/java/org/apache/hadoop/gateway/service/definition/ServiceDefinitionTest.java
----------------------------------------------------------------------
diff --git a/gateway-service-definitions/src/test/java/org/apache/hadoop/gateway/service/definition/ServiceDefinitionTest.java b/gateway-service-definitions/src/test/java/org/apache/hadoop/gateway/service/definition/ServiceDefinitionTest.java
index 385aa5e..d5bec8a 100644
--- a/gateway-service-definitions/src/test/java/org/apache/hadoop/gateway/service/definition/ServiceDefinitionTest.java
+++ b/gateway-service-definitions/src/test/java/org/apache/hadoop/gateway/service/definition/ServiceDefinitionTest.java
@@ -39,10 +39,10 @@ public class ServiceDefinitionTest {
assertEquals("resourcemanager", definition.getName());
assertEquals("RESOURCEMANAGER", definition.getRole());
assertEquals("2.5.0", definition.getVersion());
- List<UrlBinding> bindings = definition.getUrlBindings();
+ List<Route> bindings = definition.getRoutes();
assertNotNull(bindings);
assertEquals(12, bindings.size());
- assertNotNull(bindings.get(0).getPattern());
+ assertNotNull(bindings.get(0).getPath());
url = ClassLoader.getSystemResource("services/hbase/0.98.0/service.xml");
definition = (ServiceDefinition) unmarshaller.unmarshal(url.openStream());
assertNotNull(definition.getDispatch());
@@ -52,7 +52,7 @@ public class ServiceDefinitionTest {
assertNotNull(definition.getDispatch());
assertEquals("hdfs", definition.getDispatch().getContributorName());
assertEquals("ha-hdfs", definition.getDispatch().getHaContributorName());
- List<PolicyBinding> policyBindings = definition.getPolicyBindings();
+ List<Policy> policyBindings = definition.getPolicies();
assertNotNull(policyBindings);
assertEquals("webappsec", policyBindings.get(0).getRole());
assertNull(policyBindings.get(0).getName());