use of org.dom4j.Node in project pentaho-platform by pentaho.
the class WebXmlTest method testGetContextParamValue_nullSubNode.
@Test
public void testGetContextParamValue_nullSubNode() throws Exception {
webXml = new WebXml(document);
Node node = mock(Node.class);
when(node.selectSingleNode("../param-value")).thenReturn(null);
when(document.selectSingleNode(anyString())).thenReturn(node);
String test = webXml.getContextParamValue("test");
assertNull(test);
verify(node).selectSingleNode("../param-value");
}
use of org.dom4j.Node in project pentaho-platform by pentaho.
the class HttpWebService method getParameterMapFromPayload.
protected Map getParameterMapFromPayload(final String xml) {
Map parameters = new HashMap();
Document doc = null;
try {
doc = XmlDom4JHelper.getDocFromString(xml, new PentahoEntityResolver());
} catch (XmlParseException e) {
// $NON-NLS-1$
error(Messages.getInstance().getErrorString("HttpWebService.ERROR_0001_ERROR_DURING_WEB_SERVICE"), e);
return parameters;
}
// $NON-NLS-1$
List parameterNodes = doc.selectNodes("//SOAP-ENV:Body/*/*");
for (int i = 0; i < parameterNodes.size(); i++) {
Node parameterNode = (Node) parameterNodes.get(i);
String parameterName = parameterNode.getName();
String parameterValue = parameterNode.getText();
parameters.put(parameterName, parameterValue);
}
return parameters;
}
use of org.dom4j.Node in project pentaho-platform by pentaho.
the class HttpWebService method doGetFixMe.
public void doGetFixMe(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
try {
// $NON-NLS-1$
String actionPath = request.getParameter("path");
String solutionName = actionPath.substring(0, actionPath.indexOf('/', 1));
String actionName = actionPath.substring(actionPath.lastIndexOf('/'));
String actionSeqPath = ActionInfo.buildSolutionPath(solutionName, actionPath, actionName);
// $NON-NLS-1$
String component = request.getParameter("component");
String content = getPayloadAsString(request);
IParameterProvider parameterProvider = null;
HashMap parameters = new HashMap();
if ((content != null) && (content.length() > 0)) {
Document doc = XmlDom4JHelper.getDocFromString(content, new PentahoEntityResolver());
// $NON-NLS-1$
List parameterNodes = doc.selectNodes("//SOAP-ENV:Body/*/*");
for (int i = 0; i < parameterNodes.size(); i++) {
Node parameterNode = (Node) parameterNodes.get(i);
String parameterName = parameterNode.getName();
String parameterValue = parameterNode.getText();
// if( "xml-data".equalsIgnoreCase( ) )
if ("action".equals(parameterName)) {
// $NON-NLS-1$
ActionInfo info = ActionInfo.parseActionString(parameterValue);
solutionName = info.getSolutionName();
actionPath = info.getPath();
actionName = info.getActionName();
} else if ("component".equals(parameterName)) {
// $NON-NLS-1$
component = parameterValue;
} else {
parameters.put(parameterName, parameterValue);
}
}
parameterProvider = new SimpleParameterProvider(parameters);
} else {
parameterProvider = new HttpRequestParameterProvider(request);
}
// $NON-NLS-1$
response.setContentType("text/xml");
response.setCharacterEncoding(LocaleHelper.getSystemEncoding());
// PentahoHttpSession userSession = new PentahoHttpSession(
// request.getRemoteUser(), request.getSession(),
// request.getLocale() );
IPentahoSession userSession = getPentahoSession(request);
// $NON-NLS-1$
String instanceId = request.getParameter("instance-id");
String processId = this.getClass().getName();
OutputStream contentStream = new ByteArrayOutputStream();
SimpleOutputHandler outputHandler = new SimpleOutputHandler(contentStream, false);
// send the header of the message to prevent time-outs while we are
// working
OutputStream outputStream = response.getOutputStream();
if ((component == null) || "action".equals(component)) {
// $NON-NLS-1$
// assume this is an action sequence execute
HttpWebServiceRequestHandler requestHandler = new HttpWebServiceRequestHandler(userSession, null, outputHandler, parameterProvider, null);
requestHandler.setParameterProvider(IParameterProvider.SCOPE_SESSION, new HttpSessionParameterProvider(userSession));
requestHandler.setInstanceId(instanceId);
requestHandler.setProcessId(processId);
requestHandler.setActionPath(actionSeqPath);
if (ServletBase.debug) {
// $NON-NLS-1$
debug(Messages.getInstance().getString("HttpWebService.DEBUG_WEB_SERVICE_START"));
}
IRuntimeContext runtime = null;
try {
runtime = requestHandler.handleActionRequest(0, 0);
Document responseDoc = SoapHelper.createSoapResponseDocument(runtime, outputHandler, contentStream, requestHandler.getMessages());
XmlDom4JHelper.saveDom(responseDoc, outputStream, PentahoSystem.getSystemSetting("web-service-encoding", "utf-8"), true);
} finally {
if (runtime != null) {
runtime.dispose();
}
}
} else if ("dial".equals(component)) {
// $NON-NLS-1$
doDial(solutionName, actionPath, actionName, parameterProvider, outputStream, userSession);
} else if ("chart".equals(component)) {
// $NON-NLS-1$
doChart(actionPath, parameterProvider, outputStream, userSession);
} else if ("xaction-parameter".equals(component)) {
// $NON-NLS-1$
doParameter(solutionName, actionPath, actionName, parameterProvider, outputStream, userSession, response);
}
} catch (Throwable t) {
// $NON-NLS-1$
error(Messages.getInstance().getErrorString("HttpWebService.ERROR_0001_ERROR_DURING_WEB_SERVICE"), t);
}
if (ServletBase.debug) {
// $NON-NLS-1$
debug(Messages.getInstance().getString("HttpWebService.DEBUG_WEB_SERVICE_END"));
}
}
use of org.dom4j.Node in project pentaho-platform by pentaho.
the class TimeTableXYDatasetChartDefinition method setPaintSequence.
public void setPaintSequence(final Node paletteNode) {
if (paletteNode != null) {
List colorNodes = paletteNode.selectNodes(ChartDefinition.COLOR_NODE_NAME);
Paint[] paints = new Paint[colorNodes.size()];
for (int i = 0; i < colorNodes.size(); i++) {
paints[i] = JFreeChartEngine.getPaint((Node) colorNodes.get(i));
}
setPaintSequence(paints);
}
}
use of org.dom4j.Node in project pentaho-platform by pentaho.
the class TimeTableXYDatasetChartDefinition method setChartBackground.
public void setChartBackground(final Node chartBackgroundNode) {
if (chartBackgroundNode != null) {
Node backgroundTypeNode = chartBackgroundNode.selectSingleNode(ChartDefinition.BACKGROUND_TYPE_ATTRIBUTE_NAME);
if (backgroundTypeNode != null) {
String backgroundTypeStr = backgroundTypeNode.getText();
if (ChartDefinition.COLOR_TYPE_NAME.equalsIgnoreCase(backgroundTypeStr)) {
setChartBackgroundPaint(JFreeChartEngine.getPaint(chartBackgroundNode));
setChartBackgroundImage((Image) null);
} else if (ChartDefinition.IMAGE_TYPE_NAME.equalsIgnoreCase(backgroundTypeStr)) {
setChartBackgroundImage(chartBackgroundNode);
setChartBackgroundPaint(null);
} else if (ChartDefinition.TEXTURE_TYPE_NAME.equalsIgnoreCase(backgroundTypeStr)) {
setChartBackgroundPaint(JFreeChartEngine.getTexturePaint(chartBackgroundNode, getWidth(), getHeight(), getSession()));
setChartBackgroundImage((Image) null);
} else if (ChartDefinition.GRADIENT_TYPE_NAME.equalsIgnoreCase(backgroundTypeStr)) {
setChartBackgroundPaint(JFreeChartEngine.getGradientPaint(chartBackgroundNode, getWidth(), getHeight()));
setChartBackgroundImage((Image) null);
}
}
}
}
Aggregations