You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by lm...@apache.org on 2017/10/26 14:21:47 UTC
[2/3] knox git commit: KNOX-1049 - marshaling changes
KNOX-1049 - marshaling changes
Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/3346d99e
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/3346d99e
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/3346d99e
Branch: refs/heads/KNOX-1049
Commit: 3346d99e361e1dab74fc8774d3089f9049529941
Parents: 222385b
Author: Larry McCay <lm...@hortonworks.com>
Authored: Wed Oct 25 13:15:38 2017 -0400
Committer: Larry McCay <lm...@hortonworks.com>
Committed: Wed Oct 25 13:15:38 2017 -0400
----------------------------------------------------------------------
.../xml/KnoxFormatXmlTopologyRules.java | 2 +-
.../src/main/resources/conf/topology-v1.xsd | 2 +-
.../services/ambariui/2.2.1/rewrite.xml | 104 +++++++++++++++++++
.../services/ambariui/2.2.1/service.xml | 92 ++++++++++++++++
.../gateway/topology/topology_binding-xml.xml | 4 +-
5 files changed, 200 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/knox/blob/3346d99e/gateway-server/src/main/java/org/apache/hadoop/gateway/topology/xml/KnoxFormatXmlTopologyRules.java
----------------------------------------------------------------------
diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/topology/xml/KnoxFormatXmlTopologyRules.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/topology/xml/KnoxFormatXmlTopologyRules.java
index e221507..cb30769 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/topology/xml/KnoxFormatXmlTopologyRules.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/topology/xml/KnoxFormatXmlTopologyRules.java
@@ -32,7 +32,7 @@ public class KnoxFormatXmlTopologyRules extends AbstractRulesModule {
private static final String ROOT_TAG = "topology";
private static final String NAME_TAG = "name";
private static final String VERSION_TAG = "version";
- private static final String DEFAULT_SERVICE_TAG = "default-service";
+ private static final String DEFAULT_SERVICE_TAG = "path";
private static final String APPLICATION_TAG = "application";
private static final String SERVICE_TAG = "service";
private static final String ROLE_TAG = "role";
http://git-wip-us.apache.org/repos/asf/knox/blob/3346d99e/gateway-server/src/main/resources/conf/topology-v1.xsd
----------------------------------------------------------------------
diff --git a/gateway-server/src/main/resources/conf/topology-v1.xsd b/gateway-server/src/main/resources/conf/topology-v1.xsd
index ab07caa..96c9ba2 100644
--- a/gateway-server/src/main/resources/conf/topology-v1.xsd
+++ b/gateway-server/src/main/resources/conf/topology-v1.xsd
@@ -21,7 +21,7 @@ limitations under the License.
<h:sequence maxOccurs="1">
<h:element name="name" minOccurs="0" maxOccurs="1"/>
- <h:element name="default-service" minOccurs="0" maxOccurs="1"/>
+ <h:element name="path" minOccurs="0" maxOccurs="1"/>
<h:element name="gateway" minOccurs="0" maxOccurs="1">
<h:complexType>
http://git-wip-us.apache.org/repos/asf/knox/blob/3346d99e/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/rewrite.xml
----------------------------------------------------------------------
diff --git a/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/rewrite.xml b/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/rewrite.xml
new file mode 100644
index 0000000..0c99d76
--- /dev/null
+++ b/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/rewrite.xml
@@ -0,0 +1,104 @@
+<!--
+ 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="AMBARIUI/ambari/inbound/root" pattern="*://*:*/**/ambari/">
+ <rewrite template="{$serviceUrl[AMBARIUI]}/"/>
+ </rule>
+ <rule dir="IN" name="AMBARIUI/ambari/inbound/path" pattern="*://*:*/**/ambari/{**}">
+ <rewrite template="{$serviceUrl[AMBARIUI]}/{**}"/>
+ </rule>
+ <rule dir="IN" name="AMBARIUI/ambari/inbound/query" pattern="*://*:*/**/ambari/{**}?{**}">
+ <rewrite template="{$serviceUrl[AMBARIUI]}/{**}?{**}"/>
+ </rule>
+
+ <rule dir="OUT" name="AMBARIUI/ambari/outbound/sitepath">
+ <rewrite template="{$frontend[path]}/"/>
+ </rule>
+
+ <rule dir="OUT" name="AMBARIUI/ambari/outbound/extrapath">
+ <rewrite template="{$frontend[path]}/api/v1"/>
+ </rule>
+ <rule dir="OUT" name="AMBARIUI/ambari/outbound/logohref">
+ <rewrite template="#/main/dashboard"/>
+ </rule>
+ <rule dir="OUT" name="AMBARIUI/ambari/outbound/img" pattern="/img/{**}">
+ <rewrite template="{$frontend[url]}/img/{**}"/>
+ </rule>
+
+ <rule dir="OUT" name="AMBARIUI/ambari/outbound/css">
+ <rewrite template="{$frontend[path]}/stylesheets/{**}"/>
+ </rule>
+ <rule dir="OUT" name="AMBARIUI/ambari/outbound/js">
+ <rewrite template="{$frontend[path]}/javascripts/{**}"/>
+ </rule>
+
+ <filter name="AMBARIUI/ambari/outbound/proxyroot">
+ <content type="*/x-javascript">
+ <apply path="\{proxy_root\}" rule="AMBARIUI/ambari/outbound/sitepath"/>
+ </content>
+ <content type="application/javascript">
+ <apply path="\{proxy_root\}" rule="AMBARIUI/ambari/outbound/sitepath"/>
+ </content>
+ </filter>
+
+ <!-- filter to rewrite api prefix defined in .js from root -->
+ <!-- e.g. /api/v1 -->
+ <filter name="AMBARIUI/ambari/outbound/apiendpoint">
+ <content type="*/x-javascript">
+ <apply path="/api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ </content>
+ <content type="application/javascript">
+ <apply path="/api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ </content>
+ </filter>
+
+ <filter name="AMBARIUI/ambari/outbound/apiendpoint/html">
+ <content type="text/html">
+ <apply path="/api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ </content>
+ </filter>
+
+ <filter name="AMBARIUI/ambari/outbound/apiendpoint/noroot">
+ <content type="*/x-javascript">
+ <apply path="api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ </content>
+ <content type="application/javascript">
+ <apply path="api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ </content>
+ </filter>
+
+ <filter name="AMBARIUI/ambari/outbound/links">
+ <content type="*/x-javascript">
+ <apply path="/api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ <apply path="\{proxy_root\}" rule="AMBARIUI/ambari/outbound/sitepath"/>
+ <apply path="/#/main/dashboard" rule="AMBARIUI/ambari/outbound/logohref"/>
+ </content>
+ <content type="application/javascript">
+ <apply path="/api/v1" rule="AMBARIUI/ambari/outbound/extrapath"/>
+ <apply path="\{proxy_root\}" rule="AMBARIUI/ambari/outbound/sitepath"/>
+ <apply path="/#/main/dashboard" rule="AMBARIUI/ambari/outbound/logohref"/>
+ </content>
+ <content type="*/html">
+ </content>
+ </filter>
+ <filter name="AMBARIUI/ambari/outbound/mainpage">
+ <content type="*/html">
+ <apply path="stylesheets/{**}.css" rule="AMBARIUI/ambari/outbound/css" />
+ <apply path="javascripts/{**}.js" rule="AMBARIUI/ambari/outbound/js" />
+ </content>
+ </filter>
+</rules>
http://git-wip-us.apache.org/repos/asf/knox/blob/3346d99e/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/service.xml
----------------------------------------------------------------------
diff --git a/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/service.xml b/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/service.xml
new file mode 100644
index 0000000..ab4ab2b
--- /dev/null
+++ b/gateway-service-definitions/src/main/resources/services/ambariui/2.2.1/service.xml
@@ -0,0 +1,92 @@
+<!--
+ 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="AMBARIUI" name="ambariui" version="2.2.0">
+ <policies>
+ <policy role="webappsec"/>
+ <policy role="authentication" name="Anonymous"/>
+ <policy role="rewrite"/>
+ <policy role="authorization"/>
+ </policies>
+ <routes>
+ <route path="/ambari">
+ <rewrite apply="AMBARIUI/ambari/inbound/root" to="request.url"/>
+ <rewrite apply="AMBARIUI/ambari/outbound/mainpage" to="response.body"/>
+ </route>
+ <route path="/ambari/**">
+ <rewrite apply="AMBARIUI/ambari/inbound/path" to="request.url"/>
+ </route>
+ <route path="/ambari/**?**">
+ <rewrite apply="AMBARIUI/ambari/inbound/query" to="request.url"/>
+ </route>
+ <route path="/ambari/**/app.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/links" to="response.body"/>
+ </route>
+
+ <!-- Admin View route -->
+ <route path="/ambari/views/ADMIN_VIEW/**/INSTANCE/**/main.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/proxyroot" to="response.body"/>
+ </route>
+
+ <!-- Files view -->
+ <route path="/ambari/views/FILES/**/assets/files-view.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint/noroot" to="response.body"/>
+ </route>
+
+ <!-- Capacity Scheduler view -->
+ <route path="/ambari/views/CAPACITY-SCHEDULER/**/javascripts/app.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint/noroot" to="response.body"/>
+ </route>
+
+ <!-- Pig view -->
+ <route path="/ambari/views/PIG/**/javascripts/app.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint/noroot" to="response.body"/>
+ </route>
+
+ <!-- Hive view route -->
+ <route path="/ambari/views/HIVE/**/assets/hive.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint" to="response.body"/>
+ </route>
+
+ <!-- Storm View -->
+ <route path="/ambari/views/Storm_Monitoring/**/scripts/models/*.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint" to="response.body"/>
+ </route>
+
+ <route path="/ambari/views/ZEPPELIN/*/*/">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint/html" to="response.body"/>
+ </route>
+
+ <!-- Tez View -->
+ <route path="/ambari/views/TEZ/*/*/ambari-scripts/init-view.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint" to="response.body"/>
+ </route>
+
+ <!-- Hive 2.0 view -->
+ <route path="/ambari/views/HIVE/**/assets/ui.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint/noroot" to="response.body"/>
+ </route>
+
+ <!-- SmartSense view -->
+ <route path="/ambari/views/SMARTSENSE/**/assets/hstapp-*.js">
+ <rewrite apply="AMBARIUI/ambari/outbound/apiendpoint" to="response.body"/>
+ </route>
+
+ <!-- No need to rewrite Slider View -->
+ </routes>
+ <dispatch classname="org.apache.hadoop.gateway.dispatch.PassAllHeadersNoEncodingDispatch"/>
+</service>
+
http://git-wip-us.apache.org/repos/asf/knox/blob/3346d99e/gateway-spi/src/main/resources/org/apache/hadoop/gateway/topology/topology_binding-xml.xml
----------------------------------------------------------------------
diff --git a/gateway-spi/src/main/resources/org/apache/hadoop/gateway/topology/topology_binding-xml.xml b/gateway-spi/src/main/resources/org/apache/hadoop/gateway/topology/topology_binding-xml.xml
index 8c54ed7..4c89b5d 100644
--- a/gateway-spi/src/main/resources/org/apache/hadoop/gateway/topology/topology_binding-xml.xml
+++ b/gateway-spi/src/main/resources/org/apache/hadoop/gateway/topology/topology_binding-xml.xml
@@ -28,7 +28,7 @@ or more contributor license agreements. See the NOTICE file
<xml-root-element/>
<java-attributes>
<xml-element java-attribute="name" name="name"/>
- <xml-element java-attribute="defaultServicePath" name="default-service"/>
+ <xml-element java-attribute="defaultServicePath" name="path"/>
<xml-elements java-attribute="providers">
<xml-element name="provider"/>
<xml-element-wrapper name="gateway"/>
@@ -61,4 +61,4 @@ or more contributor license agreements. See the NOTICE file
</java-attributes>
</java-type>
</java-types>
-</xml-bindings>
\ No newline at end of file
+</xml-bindings>