use of org.wso2.carbon.apimgt.core.template.EndpointContext in project carbon-apimgt by wso2.
the class APIConfigContextTestCase method testEndpointContext.
@Test
public void testEndpointContext() {
Endpoint ep = Endpoint.newEndpoint().name("Ep1").build();
EndpointContext endpointContext = new EndpointContext(ep, "org.test");
Endpoint epFromContext = (Endpoint) endpointContext.getContext().get("endpoint");
Assert.assertEquals(epFromContext.getName(), "Ep1");
}
use of org.wso2.carbon.apimgt.core.template.EndpointContext in project carbon-apimgt by wso2.
the class GatewaySourceGeneratorImpl method getEndpointConfigStringFromTemplate.
@Override
public String getEndpointConfigStringFromTemplate(Endpoint endpoint) throws APITemplateException {
StringWriter writer = new StringWriter();
String templatePath = "resources" + File.separator + "template" + File.separator + "endpoint.xml";
try {
// build the context for template and apply the necessary decorators
ConfigContext configcontext = new EndpointContext(endpoint, packageName);
VelocityContext context = configcontext.getContext();
VelocityEngine velocityengine = new VelocityEngine();
velocityengine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
velocityengine.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
velocityengine.init();
Template template = velocityengine.getTemplate(templatePath);
template.merge(context, writer);
} catch (ResourceNotFoundException e) {
log.error("Template " + templatePath + " not Found", e);
throw new APITemplateException("Template " + templatePath + " not Found", ExceptionCodes.TEMPLATE_EXCEPTION);
} catch (ParseErrorException e) {
log.error("Syntax error in " + templatePath, e);
throw new APITemplateException("Syntax error in " + templatePath, ExceptionCodes.TEMPLATE_EXCEPTION);
}
return writer.toString();
}
Aggregations