Search in sources :

Example 11 with FilterDescriptor

use of org.apache.knox.gateway.descriptor.FilterDescriptor in project knox by apache.

the class XmlGatewayDescriptorExporter method createResource.

private static Element createResource(Document dom, ResourceDescriptor resource) {
    Element element = dom.createElement(RESOURCE);
    String role = resource.role();
    if (role != null) {
        addTextElement(dom, element, RESOURCE_ROLE, role);
    }
    addTextElement(dom, element, RESOURCE_PATTERN, resource.pattern());
    for (FilterDescriptor filter : resource.filters()) {
        element.appendChild(createFilter(dom, filter));
    }
    return element;
}
Also used : FilterDescriptor(org.apache.knox.gateway.descriptor.FilterDescriptor) Element(org.w3c.dom.Element)

Example 12 with FilterDescriptor

use of org.apache.knox.gateway.descriptor.FilterDescriptor in project knox by apache.

the class XmlGatewayDescriptorImporterTest method testXmlGatewayDescriptorLoad.

@Test
public void testXmlGatewayDescriptorLoad() throws IOException {
    String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" + "<gateway>\n" + "  <resource>\n" + "    <pattern>resource1-source</pattern>\n" + // "    <target>resource1-target</target>\n" +
    "    <filter>\n" + "      <role>resource1-filter1-role</role>\n" + "      <class>resource1-filter1-impl</class>\n" + "      <param>\n" + "        <name>resource1-filter1-param1-name</name>\n" + "        <value>resource1-filter1-param1-value</value>\n" + "      </param>\n" + "      <param>\n" + "        <name>resource1-filter1-param2-name</name>\n" + "        <value>resource1-filter1-param2-value</value>\n" + "      </param>\n" + "    </filter>\n" + "    <filter>\n" + "      <role>resource1-filter2-role</role>\n" + "      <class>resource1-filter2-impl</class>\n" + "    </filter>\n" + "  </resource>\n" + "  <resource>\n" + "    <pattern>resource2-source</pattern>\n" + // "    <target>resource2-target</target>\n" +
    "  </resource>\n" + "</gateway>";
    Reader reader = new StringReader(xml);
    GatewayDescriptor descriptor = GatewayDescriptorFactory.load("xml", reader);
    assertThat(descriptor, notNullValue());
    assertThat(descriptor.resources().size(), is(2));
    ResourceDescriptor resource1 = descriptor.resources().get(0);
    assertThat(resource1, notNullValue());
    assertThat(resource1.pattern(), is("resource1-source"));
    assertThat(resource1.filters().size(), is(2));
    FilterDescriptor filter1 = resource1.filters().get(0);
    assertThat(filter1, notNullValue());
    assertThat(filter1.role(), is("resource1-filter1-role"));
    assertThat(filter1.impl(), is("resource1-filter1-impl"));
    assertThat(filter1.params().size(), is(2));
    FilterParamDescriptor param1 = filter1.params().get(0);
    assertThat(param1, notNullValue());
    assertThat(param1.name(), is("resource1-filter1-param1-name"));
    assertThat(param1.value(), is("resource1-filter1-param1-value"));
    FilterParamDescriptor param2 = filter1.params().get(1);
    assertThat(param2, notNullValue());
    assertThat(param2.name(), is("resource1-filter1-param2-name"));
    assertThat(param2.value(), is("resource1-filter1-param2-value"));
    FilterDescriptor filter2 = resource1.filters().get(1);
    assertThat(filter2, notNullValue());
    assertThat(filter2.role(), is("resource1-filter2-role"));
    assertThat(filter2.impl(), is("resource1-filter2-impl"));
    ResourceDescriptor resource2 = descriptor.resources().get(1);
    assertThat(resource2, notNullValue());
    assertThat(resource2.pattern(), is("resource2-source"));
}
Also used : FilterDescriptor(org.apache.knox.gateway.descriptor.FilterDescriptor) GatewayDescriptor(org.apache.knox.gateway.descriptor.GatewayDescriptor) FilterParamDescriptor(org.apache.knox.gateway.descriptor.FilterParamDescriptor) StringReader(java.io.StringReader) Reader(java.io.Reader) StringReader(java.io.StringReader) Matchers.containsString(org.hamcrest.Matchers.containsString) ResourceDescriptor(org.apache.knox.gateway.descriptor.ResourceDescriptor) Test(org.junit.Test)

Example 13 with FilterDescriptor

use of org.apache.knox.gateway.descriptor.FilterDescriptor in project knox by apache.

the class XmlGatewayDescriptorImporterTest method testXmlGatewayDescriptorLoadEmpty.

@Test
public void testXmlGatewayDescriptorLoadEmpty() throws IOException {
    String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" + "<gateway>\n" + "  <resource>\n" + "    <filter>\n" + "      <param>\n" + "      </param>\n" + "    </filter>\n" + "  </resource>\n" + "</gateway>";
    Reader reader = new StringReader(xml);
    GatewayDescriptor descriptor = GatewayDescriptorFactory.load("xml", reader);
    assertThat(descriptor, notNullValue());
    assertThat(descriptor.resources().size(), is(1));
    ResourceDescriptor resource1 = descriptor.resources().get(0);
    assertThat(resource1, notNullValue());
    assertThat(resource1.filters().size(), is(1));
    FilterDescriptor filter1 = resource1.filters().get(0);
    assertThat(filter1, notNullValue());
    assertThat(filter1.params().size(), is(1));
    FilterParamDescriptor param1 = filter1.params().get(0);
    assertThat(param1, notNullValue());
}
Also used : FilterDescriptor(org.apache.knox.gateway.descriptor.FilterDescriptor) GatewayDescriptor(org.apache.knox.gateway.descriptor.GatewayDescriptor) FilterParamDescriptor(org.apache.knox.gateway.descriptor.FilterParamDescriptor) StringReader(java.io.StringReader) Reader(java.io.Reader) StringReader(java.io.StringReader) Matchers.containsString(org.hamcrest.Matchers.containsString) ResourceDescriptor(org.apache.knox.gateway.descriptor.ResourceDescriptor) Test(org.junit.Test)

Aggregations

FilterDescriptor (org.apache.knox.gateway.descriptor.FilterDescriptor)13 FilterParamDescriptor (org.apache.knox.gateway.descriptor.FilterParamDescriptor)6 ResourceDescriptor (org.apache.knox.gateway.descriptor.ResourceDescriptor)6 Test (org.junit.Test)4 ArrayList (java.util.ArrayList)3 GatewayDescriptor (org.apache.knox.gateway.descriptor.GatewayDescriptor)3 Reader (java.io.Reader)2 StringReader (java.io.StringReader)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 DeploymentContext (org.apache.knox.gateway.deploy.DeploymentContext)2 Policy (org.apache.knox.gateway.service.definition.Policy)2 Provider (org.apache.knox.gateway.topology.Provider)2 Service (org.apache.knox.gateway.topology.Service)2 Topology (org.apache.knox.gateway.topology.Topology)2 Matchers.containsString (org.hamcrest.Matchers.containsString)2 List (java.util.List)1 GatewayConfig (org.apache.knox.gateway.config.GatewayConfig)1 DefaultDispatch (org.apache.knox.gateway.dispatch.DefaultDispatch)1 UrlRewriteRulesDescriptor (org.apache.knox.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor)1