Search in sources :

Example 11 with ResourceDescriptor

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

the class GatewayFactory method createParams.

private static Map<String, String> createParams(FilterDescriptor filter) {
    Map<String, String> paramMap = new HashMap<>();
    ResourceDescriptor resource = filter.up();
    GatewayDescriptor gateway = resource.up();
    for (GatewayParamDescriptor param : gateway.params()) {
        paramMap.put(param.name(), param.value());
    }
    for (ResourceParamDescriptor param : resource.params()) {
        paramMap.put(param.name(), param.value());
    }
    // TODO: Should all elements of the resource and gateway descriptor somehow be added to the filter params?
    // TODO: Should we use some composite params object instead of copying all these name value pairs?
    paramMap.put("pattern", resource.pattern());
    List<FilterParamDescriptor> paramList = filter.params();
    for (FilterParamDescriptor param : paramList) {
        paramMap.put(param.name(), param.value());
    }
    return paramMap;
}
Also used : HashMap(java.util.HashMap) GatewayDescriptor(org.apache.knox.gateway.descriptor.GatewayDescriptor) FilterParamDescriptor(org.apache.knox.gateway.descriptor.FilterParamDescriptor) GatewayParamDescriptor(org.apache.knox.gateway.descriptor.GatewayParamDescriptor) ResourceParamDescriptor(org.apache.knox.gateway.descriptor.ResourceParamDescriptor) ResourceDescriptor(org.apache.knox.gateway.descriptor.ResourceDescriptor)

Example 12 with ResourceDescriptor

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

the class XmlGatewayDescriptorExporter method store.

@Override
public void store(GatewayDescriptor descriptor, Writer writer) throws IOException {
    try {
        Document document = XmlUtils.createDocument();
        Element gateway = document.createElement(GATEWAY);
        document.appendChild(gateway);
        for (ResourceDescriptor resource : descriptor.resources()) {
            gateway.appendChild(createResource(document, resource));
        }
        XmlUtils.writeXml(document, writer);
    } catch (ParserConfigurationException e) {
        throw new IOException(e);
    } catch (TransformerException e) {
        throw new IOException(e);
    }
}
Also used : Element(org.w3c.dom.Element) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) IOException(java.io.IOException) Document(org.w3c.dom.Document) TransformerException(javax.xml.transform.TransformerException) ResourceDescriptor(org.apache.knox.gateway.descriptor.ResourceDescriptor)

Example 13 with ResourceDescriptor

use of org.apache.knox.gateway.descriptor.ResourceDescriptor 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 14 with ResourceDescriptor

use of org.apache.knox.gateway.descriptor.ResourceDescriptor 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

ResourceDescriptor (org.apache.knox.gateway.descriptor.ResourceDescriptor)14 FilterParamDescriptor (org.apache.knox.gateway.descriptor.FilterParamDescriptor)9 FilterDescriptor (org.apache.knox.gateway.descriptor.FilterDescriptor)6 ArrayList (java.util.ArrayList)5 GatewayDescriptor (org.apache.knox.gateway.descriptor.GatewayDescriptor)4 Test (org.junit.Test)4 Reader (java.io.Reader)2 StringReader (java.io.StringReader)2 HashMap (java.util.HashMap)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 IOException (java.io.IOException)1 List (java.util.List)1 Map (java.util.Map)1 ParserConfigurationException (javax.xml.parsers.ParserConfigurationException)1 TransformerException (javax.xml.transform.TransformerException)1