use of org.pentaho.platform.util.web.SimpleUrlFactory in project pentaho-platform by pentaho.
the class PentahoSystem method globalStartup.
public static void globalStartup(final IPentahoSession session) {
// getGlobalStartupActions doesn't pay any attention to session class
List<ISessionStartupAction> globalStartupActions = PentahoSystem.getGlobalStartupActions();
if (globalStartupActions == null) {
// nothing to do...
return;
}
boolean doGlobals = PentahoSystem.globalAttributes.size() == 0;
// see if this has been done already
if (!doGlobals) {
return;
}
if (globalStartupActions != null) {
for (ISessionStartupAction globalStartupAction : globalStartupActions) {
// now execute the action...
SimpleOutputHandler outputHandler = null;
String instanceId = null;
ISolutionEngine solutionEngine = PentahoSystem.get(ISolutionEngine.class, session);
solutionEngine.setLoggingLevel(PentahoSystem.loggingLevel);
solutionEngine.init(session);
// $NON-NLS-1$
String baseUrl = "";
HashMap parameterProviderMap = new HashMap();
IPentahoUrlFactory urlFactory = new SimpleUrlFactory(baseUrl);
ArrayList messages = new ArrayList();
IRuntimeContext context = null;
try {
context = solutionEngine.execute(globalStartupAction.getActionPath(), "Global startup actions", false, true, instanceId, false, parameterProviderMap, outputHandler, null, urlFactory, // $NON-NLS-1$
messages);
// if context is null, then we cannot check the status
if (null == context) {
return;
}
if (context.getStatus() == IRuntimeContext.RUNTIME_STATUS_SUCCESS) {
// now grab any outputs
Iterator outputNameIterator = context.getOutputNames().iterator();
while (outputNameIterator.hasNext()) {
String attributeName = (String) outputNameIterator.next();
IActionParameter output = context.getOutputParameter(attributeName);
Object data = output.getValue();
if (data != null) {
PentahoSystem.globalAttributes.remove(attributeName);
PentahoSystem.globalAttributes.put(attributeName, data);
}
}
}
} catch (Throwable th) {
Logger.warn(PentahoSystem.class.getName(), Messages.getInstance().getString("PentahoSystem.WARN_UNABLE_TO_EXECUTE_GLOBAL_ACTION", th.getLocalizedMessage()), // $NON-NLS-1$
th);
} finally {
if (context != null) {
context.dispose();
}
}
}
}
}
use of org.pentaho.platform.util.web.SimpleUrlFactory in project pentaho-platform by pentaho.
the class AxisServiceExecutorTest method setUp.
@Before
public void setUp() throws Exception {
StandaloneSession session = new StandaloneSession("test");
StubServiceSetup serviceSetup = new StubServiceSetup();
serviceSetup.setSession(session);
AxisConfiguration axisCfg = serviceSetup.getAxisConfiguration();
ConfigurationContext configContext = new ConfigurationContext(axisCfg);
serviceSetup.loadServices();
TransportInDescription tIn = new TransportInDescription(DEAFULT_TRANSPOT_PROTOCOL);
StubTransportListener receiver = new StubTransportListener();
tIn.setReceiver(receiver);
axisCfg.addTransportIn(tIn);
TransportOutDescription tOut = new TransportOutDescription(DEAFULT_TRANSPOT_PROTOCOL);
StubTransportSender sender = new StubTransportSender();
tOut.setSender(sender);
axisCfg.addTransportOut(tOut);
AxisWebServiceManager.currentAxisConfiguration = axisCfg;
AxisWebServiceManager.currentAxisConfigContext = configContext;
out = new ByteArrayOutputStream();
IOutputHandler outputHandler = new SimpleOutputHandler(out, false);
outputHandler.setMimeTypeListener(new MimeTypeListener());
contentGenerator = new AxisServiceExecutor();
contentGenerator.setOutputHandler(outputHandler);
contentGenerator.setMessagesList(new ArrayList<String>());
contentGenerator.setSession(session);
contentGenerator.setUrlFactory(new SimpleUrlFactory(BASE_URL + "?"));
assertNotNull("contentGenerator is null", contentGenerator);
assertNotNull("Logger is null", contentGenerator.getLogger());
}
use of org.pentaho.platform.util.web.SimpleUrlFactory in project pentaho-platform by pentaho.
the class DashboardWidgetIT method testWidget2.
public void testWidget2() {
// $NON-NLS-1$
SimpleUrlFactory urlFactory = new SimpleUrlFactory("");
ArrayList messages = new ArrayList();
DashboardWidgetComponent widget = new DashboardWidgetComponent(DashboardWidgetComponent.TYPE_DIAL, getSolutionPath() + "/samples/charts/dashboardwidget1.dial.xml", 200, 200, urlFactory, // $NON-NLS-1$
messages);
widget.setValue(49);
// $NON-NLS-1$
widget.setTitle("test widget 1");
// $NON-NLS-1$
widget.setUnits("");
// $NON-NLS-1$
StandaloneSession session = new StandaloneSession("BaseTest.DEBUG_JUNIT_SESSION");
widget.validate(session, null);
SimpleParameterProvider requestParameters = new SimpleParameterProvider();
SimpleParameterProvider sessionParameters = new SimpleParameterProvider();
widget.setParameterProvider(HttpRequestParameterProvider.SCOPE_REQUEST, requestParameters);
widget.setParameterProvider(HttpSessionParameterProvider.SCOPE_SESSION, sessionParameters);
// $NON-NLS-1$
String content = widget.getContent("text/html");
// $NON-NLS-1$//$NON-NLS-2$
OutputStream outputStream = getOutputStream("DashboardWidgetTest.testWidget1", ".html");
try {
outputStream.write(content.getBytes());
} catch (Exception e) {
// content check will test this
}
}
use of org.pentaho.platform.util.web.SimpleUrlFactory in project pentaho-platform by pentaho.
the class HTMLComponentIT method testComponent2.
public void testComponent2() {
startTest();
// $NON-NLS-1$
info(Messages.getInstance().getString("HTMLComponentTest.USER_ERRORS_EXPECTED_CONTENT_TYPE_INVALID"));
// this should fail because the requested content type is not supported
// $NON-NLS-1$
String url = "http://www.pentaho.org/demo/news.html";
// $NON-NLS-1$
SimpleUrlFactory urlFactory = new SimpleUrlFactory("/testurl?");
ArrayList messages = new ArrayList();
// $NON-NLS-1$
HtmlComponent component = new HtmlComponent(HtmlComponent.TYPE_URL, url, "", urlFactory, messages);
component.setLoggingLevel(getLoggingLevel());
// $NON-NLS-1$//$NON-NLS-2$
OutputStream outputStream = getOutputStream("HTMLComponentTest.testComponent2", ".html");
// $NON-NLS-1$
String contentType = "text/xml";
SimpleParameterProvider requestParameters = new SimpleParameterProvider();
SimpleParameterProvider sessionParameters = new SimpleParameterProvider();
HashMap parameterProviders = new HashMap();
parameterProviders.put(IParameterProvider.SCOPE_REQUEST, requestParameters);
parameterProviders.put(IParameterProvider.SCOPE_SESSION, sessionParameters);
StandaloneSession session = // $NON-NLS-1$
new StandaloneSession(Messages.getInstance().getString("BaseTest.DEBUG_JUNIT_SESSION"));
SimpleOutputHandler outputHandler = new SimpleOutputHandler(outputStream, false);
BaseRequestHandler requestHandler = new BaseRequestHandler(session, null, outputHandler, null, urlFactory);
try {
component.validate(session, requestHandler);
component.handleRequest(outputStream, requestHandler, contentType, parameterProviders);
} catch (IOException e) {
e.printStackTrace();
}
finishTest();
}
use of org.pentaho.platform.util.web.SimpleUrlFactory in project pentaho-platform by pentaho.
the class HTMLComponentIT method testComponent3.
public void testComponent3() {
startTest();
// $NON-NLS-1$
info(Messages.getInstance().getString("HTMLComponentTest.USER_ERRORS_EXPECTED_URL_INVALID"));
// this should fail because the url is bad
// $NON-NLS-1$
String url = "xttp://a";
// $NON-NLS-1$
SimpleUrlFactory urlFactory = new SimpleUrlFactory("/testurl?");
ArrayList messages = new ArrayList();
HtmlComponent component = new HtmlComponent(HtmlComponent.TYPE_URL, url, Messages.getInstance().getString("HTML.ERROR_0001_NOT_AVAILABLE"), urlFactory, // $NON-NLS-1$
messages);
component.setLoggingLevel(getLoggingLevel());
// $NON-NLS-1$//$NON-NLS-2$
OutputStream outputStream = getOutputStream("HTMLComponentTest.testComponent3", ".html");
// $NON-NLS-1$
String contentType = "text/html";
SimpleParameterProvider requestParameters = new SimpleParameterProvider();
SimpleParameterProvider sessionParameters = new SimpleParameterProvider();
HashMap parameterProviders = new HashMap();
parameterProviders.put(IParameterProvider.SCOPE_REQUEST, requestParameters);
parameterProviders.put(IParameterProvider.SCOPE_SESSION, sessionParameters);
StandaloneSession session = // $NON-NLS-1$
new StandaloneSession(Messages.getInstance().getString("BaseTest.DEBUG_JUNIT_SESSION"));
SimpleOutputHandler outputHandler = new SimpleOutputHandler(outputStream, false);
BaseRequestHandler requestHandler = new BaseRequestHandler(session, null, outputHandler, null, urlFactory);
try {
component.validate(session, requestHandler);
component.handleRequest(outputStream, requestHandler, contentType, parameterProviders);
} catch (IOException e) {
e.printStackTrace();
}
finishTest();
}
Aggregations