Quantcast
Channel: Pentaho Community Forums
Viewing all 16689 articles
Browse latest View live

How to add/delete/update a column in PRD dynamically

$
0
0
How to add/delete/update a column in pentaho report designer PRD dynamically

Depending on my report query the report format(number of columns to display) should change in a prpt.
Suggestions please

HMAC_SHA1 in Kettle

$
0
0
Hello,

what would be the simplest method to generate HMAC_SHA1 hash in PDI?
Something like HMAC_SHA1('secret', 'key')

Regards,

G.

EMAIL IMAP not connecting with tls 1.1 or 1.2

$
0
0
Our exchange email server was modified to not allow tls 1 connections( Known security issue).
Now the "Get mails (pop/imap)" step fails in login with following error:

2018/10/31 08:18:09 - Get mails (POP3/IMAP) - Remote host closed connection during handshake
2018/10/31 08:18:09 - Get mails (POP3/IMAP) -
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.entries.getpop.MailConnection.connect(MailConnection.java:319)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.entries.getpop.JobEntryGetPOP.execute(JobEntryGetPOP.java:926)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.Job.execute(Job.java:676)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.Job.execute(Job.java:817)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.Job.execute(Job.java:493)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.Job.run(Job.java:380)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - Caused by: javax.mail.MessagingException: Remote host closed connection during handshake;
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - nested exception is:
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at javax.mail.Service.connect(Service.java:295)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at javax.mail.Service.connect(Service.java:176)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at javax.mail.Service.connect(Service.java:125)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at org.pentaho.di.job.entries.getpop.MailConnection.connect(MailConnection.java:305)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - ... 5 more
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:994)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:211)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.iap.Protocol.<init>(Protocol.java:116)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:115)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:685)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:636)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - ... 9 more
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - Caused by: java.io.EOFException: SSL peer shut down incorrectly
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at sun.security.ssl.InputRecord.read(InputRecord.java:505)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975)
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - ... 19 more
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - Closing connection ...
2018/10/31 08:18:09 - Get mails (POP3/IMAP) - Connection closed.
2018/10/31 08:18:09 - Email_Receive - Finished job entry [Get mails (POP3/IMAP)] (result=[false])

I have tried this with Pentaho 6.1 and 8.1 versions on Windows 10 and Ubuntu 16.04.5 LTS and Oracle Linux and Fedora.
Java 1.8.0_191

It worked prior to the disabling of tls 1.

I know that TLS1.1 and 1.2 work on the exchange server since I can connect using openssl s_client

Get file creation date

$
0
0
Hello,
How can I get file creation date in a transformation?

I only have the date of last modification in the text file entry step.

Thanks,

Resetting Pentaho configurations

$
0
0
I wanted to configure dark mode for Pentaho because the white screen is hurting and damaging my eyes. I went into the "Look & Feel" options. I changed one of the options from white to black (I don't remember which option). Now the entire layout is messed up (see pic: https://ibb.co/gi1ohq).


I am currently running windows and therefore I searched for configs in Appdata, but nothing found here. I also deleted "C:\Users\User\.pentaho". Futhermore I deleted the old version of data-integration and unzipped a new one, but this is not working as well. Changing the options from the GUI does nothing as well. Any suggestions are welcome.

It is a bit disappointing to still see so such buggy and weird UI in Pentaho after years of not using it. Another example is that you can still not move tabs around, which is in my opinion very basic functionality. Is Pentaho even still being developed?

Penatho's branding in third party marketing materials

$
0
0
Hi Pentaho Team,

We integrated Pentaho Mondrian with Jira as a plugin. (This is the second generation. The first generation reached almost +300 active instances (companies)).


We plan to create a video for marketing. Can we include the Pentaho's branding (name and/or logo), even adapting it to match the video look&feel (which will be very close to this)?


We need explicit authorization from 3rd party vendors to use their brands on the Atlassian Marketplace.


Thanks in advance,
Pablo

Run Jar example

$
0
0
Hello Pentaho community,

There are a couple of posts on the forum regarding te execution of Jar (Java) files.
However, there are none that provide a minimalistic, complete, and reproducible .zip example which simply:

-Passes a String to the Jar from Kettle.
-Receives a String back to Kettle from the Jar.
-Provides the source code that compiles into the Jar, so a decompiler is not needed.

If anyone can provide a .zip that suffices, I think it would be helpful for the entire Java-Pentaho community to get started.

Catching up with Kettle REMIX

$
0
0
Dear Kettle and Neo4j friends,
Since I joined the Neo4j team in April I haven’t given you any updates despite the fact that a lot of activity has been taking place in both the Neo4j and Kettle realms.
First and foremost, you can grab the cool Neo4j plugins from kettle.neo4j.be (the plugin in the marketplace is always out of date since it takes weeks to update the metadata).
Then based on valuable feedback from community members we’ve updated the DataSet plugin (including unit testing) to include relative paths for filenames (for easier git support), to avoid modifying transformation metadata and to set custom variables or parameters.
I’ve also created a plugin to debug transformations and jobs a bit easier. You can do things like set specific logging levels on steps (or only for a few rows) and work with zoom levels.
Then, back on the subject of Neo4j, I’ve created a plugin to log the execution results of transformations and jobs (and a bit of their metadata) to Neo4j.
Those working with Azure might enjoy the Event Hubs plugins for a bit of data streaming action in Kettle.
The Kettle Needful Things plugin aims to fix bugs and solve silly problems in Kettle. For now it sets the correct local metastore on Carte servers AND… features a new launcher script called Maitre. Maitre supports transformations and jobs, local, remote and clustered execution.
The Kettle Environment plugin aims to take a stab at lifecycle management by allowing you to define a list of Environments:

In each Environment you can set all sorts of metadata but also the location of the Kettle and MetaStore home folders.

Finally, because downloading, patching, installing and configuring all this is a lot of work, I’ve created an automated process which does this for you on a daily bases (for testing) and so you can download Kettle Community Edition version 8.1.0.0 patched to 8.1.0.4 with all the extra plugins above in its 1GB glory at : remix.kettle.be
To get it on your server simply run:
wget remix.kettle.be -O remix.zipYou can also give these plugins (Except for Needful-things and Environment) on my sandbox WebSpoon server. You can easily run your own WebSpoon from the also daily updated docker container.
If you have suggestions, bugs, rants, please feel free to leave them here or in the respective github projects. Any feedback is as always more than welcome. In fact, thanks you all for the feedback given so far. It’s making all the difference. If you feel the need to contribute more opinions on the subjects of Kettle feel free to send me a mail (mattcasters at gmail dot com) to join our kettle-community Slack channel.
Enjoy!
Matt


More...

Compiling Jar with dependencies

$
0
0
Instead of running code from the code box in the "User defined Java Class" I am trying to compile it into a Jar, and run the jar file from the "User defined Java Class". I do this because my Java projects are too big, and in order to increase modularity. However, there are some problems with dependencies. Some methods are not available in the libraries, whereas there are some which are available in multiple libraries.

Zip file of the project I am trying to compile: https://files.fm/u/75uf8gqs
Screenshot of the Gradle file I am using: [IMAGE]https://imgur.com/a/56ZJ6c7[/IMAGE]
Screenshot of some methods it cannot detect: [IMAGE]https://imgur.com/a/56ZJ6c7[/IMAGE]
Screenshot of some methods that are available in multiple libraries: [IMAGE]https://imgur.com/bO7PfLB[/IMAGE]

EDIT: Manually adding ALL of the Jars from \data-integration\lib\ does not work either.

Error when log into Pentaho

$
0
0
Hi,

I'm having a problem. When I log into Pentaho, I get the next error:

FilesToolBar begin
OK

I click OK and then:

com.google.gwt.user.client.rpc.InvocationException: < html> <head> <title>Pentaho User Console</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="gwt:property" content="locale=es_ES"> <link rel="shortcut icon" href="/pentaho-style/favicon.ico" /> <link rel='stylesheet' href='mantle/MantleStyle.css'/> <link rel="stylesheet" href="content/data-access/resources/gwt/datasourceEditorDialog.css"/> <link rel="stylesheet" href="mantle/Widgets.css" /> <script language="javascript" type="text/javascript" src="webcontext.js?context=mantle"></script> <script type="text/javascript" src="mantle/nativeScripts.js"></script> <script type="text/javascript"> if(window.opener && window.opener.reportWindowOpened != undefined){ window.opener.reportWindowOpened(); } var dataAccessAvailable = false; //Used by child iframes to tell if data access is available. /* this function is called by the gwt code when initing, if the user has permission */ function initDataAccess(hasAccess) { dataAccessAvailable = hasAccess; if(!hasAccess){ return; } if(typeof(addMenuItem) == "undefined"){ setTimeout("initDataAccess("+hasAccess+")", 1000); return; } else { addMenuItem("manageDatasourcesEllipsis","manage_content_menu", "ManageDatasourcesCommand"); addMenuItem("newDatasource","new_menu", "AddDatasourceCommand"); } } var datasourceEditorCallback = { onFinish : function(val, transport) { }, onError : function(val) { alert('error:' + val); }, onCancel : function() { }, onReady : function() { } } // This allows content panels to have PUC create new datasources. The iframe requesting // the new datasource must have a function "openDatasourceEditorCallback" on it's window scope // to be notified of the successful creation of the datasource. function openDatasourceEditorIFrameProxy(windowReference){ var callbackHelper = function(bool, transport){ windowReference.openDatasourceEditorCallback(bool, transport); } pho.openDatasourceEditor(new function(){ this.onError = function(err){ alert(err); } this.onCancel = function(){ } this.onReady = function(){ } this.onFinish = function(bool, transport){ callbackHelper(bool, transport); } }); } </script> </head> <body oncontextmenu="return false;" class="pentaho-page-background"> <div id="loading"> <div class="loading-indicator"> <img src="mantle/large-loading.gif" style="width: 32px" height="32"/>Cargando Consola de usuario Pentaho...<a href="http://www.pentaho.com"></a><br/> <span id="loading-msg">Por favor espere</span> </div> </div> <!-- OPTIONAL: include this if you want history support --> <iframe id="__gwt_historyFrame" style="width:0px;height:0px;border:0;display:none"></iframe> </body> <script language='javascript' src='mantle/mantle.nocache.js'></script> <script language='javascript' src='content/data-access/resources/gwt/DatasourceEditor.nocache.js'></script>< /html>
OK

I click OK. When I try to execute and inform:

Error
java.lang.NullPointerException
OK


Can anyone help me???

Thanks in advance.

Jesi

Strange bug using "Copy rows to result" in sub-transformation

$
0
0
There is a very strange bug happening when trying to send information from a child transformation to a parent transformation.

Background:

I want to loop through a list of values. For each iteration in the loop, rows will be written to a table. Finally, the sum total number of rows written (for all iterations in the loop) should be logged to a logfile.

This was solved by using an input step to get the list of values. Then a Transformation Executor to launch a sub-transformation (child transformation) for each value. The sub-transformation ends with a "Copy rows to result rows" step, which is caught by the parent transformation to be aggregated (group by).

ParentTransformation: GetValues --> ChildTransformation (input: values, output: count) --> Group by (aggregate count) --> Write count to log

Problem is the Group by step in parent transformation fails: Aggregate subject field [COUNT] couldn't be found!
When I tried to debug the situation, I sent a copy of the count in the child-transformation to a log step.

The end of the child transformation then looks like this:

"Select Values" step sends data using "copy data to next steps" to 2 steps: a"log step" (for debugging) and the "copy rows to result rows" step.

Problem:

If the hop between the "Select Values" step and the "log step" is disabled, the "Group by" step in parent transformation fails. If it is enabled, everything works ok.

I can even replace the log step with a dummy step (doing nothing), as long as the hop is enabled, it works. If the hop is disabled, "group by" step in parent transformation fails (can't find the output field).

Is this an old problem that has been fixed in newer versions? I'm using Kettle version 5.4.0.1-130.

Is there a difference between Kettle and PDIEE when running Jobs/Transformations?

$
0
0
This question arises every so often on our dev team and we are trying to find a definitive answer to the question "If you run your job in Kettle alone is it the same as running it in PDIEE - meaning the underlying execution is the same?" Trying to determine if there's any benefit to moving our entire kettle repository into PDIEE environment.

we currently develop in spoon, keep our kettle repository in Oracle and schedule all jobs through windows task scheduler on our server as such:
"E:\pdi-ee-6.1.0.1-196\pdi-ee\data-integration\kitchen.bat" /rep:"PROD_PENT" /job:"xxxxx_PROD" /dir:/"xx/xxxxxxx" /user:xx /pass:xx /level:Basic

thanks.

how to concatenate 100 output rows into one output row

$
0
0
I have database rows from a table input step that produces one JSON document per row.
What I want to do is to concatenate `100 rows at a time with a comma delimiter and write 1 row out, then
process the next 100 rows, then the remainder if any.

I've been trying UDJC but abandoned that in favor of modified javascript step but am not sure how to achieve this.

Pass result rows to transformation parameters fail

$
0
0
Example at the following location: https://drive.google.com/drive/folde...mB?usp=sharing

I want to:
1) generate some rows in transformation A
2) for each result row from transformation A, run transformation B, passing the results into the parameters of transformation B

In the example job, I generate two rows from the first transformation and attempt to pass a value (favorite_food) from the resultant rows into the parameter of the next transformation, and then log the value to the console.
Although the second transformation is executed twice as expected, the value logged to the console is always empty. Am I failing to appropriately reference the "Stream Column Name"? What could be the issue?

=== Logging ===
...
2018/11/14 16:29:51 - Get Variables.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2018/11/14 16:29:51 - Write to log.0 -
2018/11/14 16:29:51 - Write to log.0 - ------------> Linenr 1------------------------------
2018/11/14 16:29:51 - Write to log.0 - favorite_food =
2018/11/14 16:29:51 - Write to log.0 -
2018/11/14 16:29:51 - Write to log.0 - ====================
2018/11/14 16:29:51 - Write to log.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2018/11/14 16:29:51 - logPreviousResults - Using run configuration [Pentaho local]
2018/11/14 16:29:51 - logPreviousResults - Using legacy execution engine
2018/11/14 16:29:51 - logPreviousResults - Dispatching started for transformation [logPreviousResults]
2018/11/14 16:29:51 - Get Variables.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2018/11/14 16:29:51 - Write to log.0 -
2018/11/14 16:29:51 - Write to log.0 - ------------> Linenr 1------------------------------
2018/11/14 16:29:51 - Write to log.0 - favorite_food =
2018/11/14 16:29:51 - Write to log.0 -
2018/11/14 16:29:51 - Write to log.0 - ====================
2018/11/14 16:29:51 - Write to log.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2018/11/14 16:29:51 - example_job - Starting entry [Success]
...

pdi-ce-8.1.0.0-365 Step „Advanced http“ does not work. In pdi-ce-7.1.0.0-12 it works.

$
0
0
Hello,
today I need your advice please.

Until today we used: pdi-ce-7.1.0.0-12: We installed the plugin: „Advanced http“ in pdi-ce-7.1.0.0-12/data-integration/plugins/steps/ --> Alls works fine.

Since today we use: pdi-ce-8.1.0.0-365: We installed the plugin: „Advanced http“ in pdi-ce-8.1.0.0-365/data-integration/plugins/steps/ --> Error Messages occurs no success

I tried the following (using the OSs: Windows 10 and CentOS 7)

Using Spoon with new 8.1.x.x.x version leads in the following error:
Failed to execute runnable (java.lang.NoClassDefFoundError: org/apache/commons/httpclient/protocol/ProtocolSocketFactory)

Using Pan with new 8.1.x.x.x version leads in the following error:
2018/11/15 14:49:42 - Transformation11 - Dispatching started for transformation [Transformation11]
log4j:ERROR No output stream or file set for the appender named [pdi-execution-appender].
java.lang.NoClassDefFoundError: org/apache/commons/httpclient/protocol/ProtocolSocketFactory
at com.bpa.pentaho.plugins.AdvancedHTTPMeta.getStep(AdvancedHTTPMeta.java:636)
at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:918)
at org.pentaho.di.trans.Trans.execute(Trans.java:627)
at org.pentaho.di.pan.PanCommandExecutor.execute(PanCommandExecutor.java:167)
at org.pentaho.di.pan.Pan.main(Pan.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.protocol.ProtocolSocketFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClassFromParent(KettleURLClassLoader.java:94)
at org.pentaho.di.core.plugins.KettleURLClassLoader.loadClass(KettleURLClassLoader.java:114)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 more
~


Do I have misconfigured the plugin?

Thank you for helping me!

Thorsten

Saving Reports

$
0
0
<html>
<head>
<title>Default Report</title>
<script src="jquery-3.2.1.min.js" type="text/javascript"></script>
</head>

<body>
<script>
var debug = true; //1.2 true or false 'browse_tree_expandid' 'browse_tree_frameid'
</script>

<div style="float:right;">
<input type="button" id="odxdSaveAsDefaultReportButton" value="Save As" />


</div>

<iframe id="<%=request.getParameter("iframeid")%>"
src="/pentaho/api/repos/<%=request.getParameter("file_path")%>/prpti.edit?parameterDate=<%=request.getParameter("dateFilter")%>&ts=<%=System.currentTimeMillis()%>"
scrolling="auto" frameborder="0" height="1200px" width="100%"></iframe>

<script>
givenFilePath = '<%=request.getParameter("file_path")%>';



$(document).on('click', '#odxdSaveAsDefaultReportButton', function() {



// var givenFilePath = ':public:optum:odxd:tenant:share:ireport_message_outbound.prpti';
var directoryPath = givenFilePath.substr(0, givenFilePath.lastIndexOf(':')).replace(/:/g, "/").replace("/tenant/share", "/tenant/protected/<%=request.getParameter("tenantSubFolder")%>" );//tenantSubFolder
var filenameOnly = givenFilePath.substr(givenFilePath.lastIndexOf(':') + 1).replace(".prpti","");


//var directoryPath = 'public/optum/odxd/tenant/protected/nyulmc_hie';//tenantSubFolder

var iframeId ='<%=request.getParameter("iframeid")%>';
if(debug) console.log('rr1 1.93 DefaultReport given iframeId =' + iframeId + ' givenFilePath=' + givenFilePath + ' directoryPath=' + directoryPath + ' filenameOnly=' + filenameOnly );

// pirUrlBase contains the location to the Pentaho Interactive Reporting entry point
var pirUrlBase = '/pentaho/api/repos/pentaho-interactive-reporting/prpti.new';
// pirLocation holds the value of the most recent location opened or saved.
var pirLocation;
// lastMessage keeps track of the last error during the save process.
var lastMessage;

// The alertOn and alertlog are used for debugging; set alertOn to see when the different callbacks are made.
var alertOn = false;
function alertlog(txt) {
if (alertOn) {
alert(txt);
}
}

console.log(test);

// API Methods that Interactive Reporting relies on to determine/provide available functionality.
//
// mantle_initialized must be set for Interactive Reporting to enable certain functionality
var mantle_initialized=true;

// The enableContentEdit method is called when a content generator is editable or not
function enableContentEdit(contentEdit) {
alertlog('enableContentEdit called: ' + contentEdit);
document.getElementById("edit").style.display = (contentEdit ? "inline" : "none");
}


// This function is called during the save process. triggers a repository refresh.
function mantle_refreshRepository() {
alertlog('mantle_refreshRepository called');
}


var test = 'hello there2';
console.log(test);

// The getSolutionPath method prompts for a .prpti file.
function getSolutionPath() {
var solutionPath = pirLocation;
if (solutionPath == null) {
solutionPath = [directoryPath,'Custom_iReport.prpti'];
}
//solutionPath[0] = prompt("Step 1 of 2 - Path:", solutionPath[0]);
if (!solutionPath[0]) {
return null;
}
solutionPath[1] = prompt("Enter File Name", solutionPath[1]);
if (!solutionPath[1]) {
return null;
}
window.parent.document.getElementById('browse_tree_frameid1').contentDocument.location.reload(true);
return solutionPath;
}

console.log(test);


// Local functions for interacting with Pentaho Interactive Reporting
//
// Returns the iFrame PIR is loaded in
function getPIRiFrame() {
return window.frames[0];
}

// Create a new Interactive Report. Called when the user clicks 'New'
function newPIRReport() {
alertlog("Loading new PIR Report");
getPIRiFrame().location = pirUrlBase;
editMode = true;
enableAdhocSave(true);
}

// Open an existing Interactive Report. Called when the user clicks "Open".
function openPIRReport() {
// Ajax call to solution browser
// display list
var sp = getSolutionPath();
if (sp != null) {
// This URL opens a PIR report at a given location within the repository.
// command=view is required to view the document at the provided path.
var url = '/pentaho/api/repos/' + sp[0].replace(/\//g, ":") + ':' + sp[1] + '/prpti.view';
getPIRiFrame().location = url;
editMode = false;
updateInfo(sp);
enableAdhocSave(true);
}
}

// Enables and disabled
function editPIRReport() {
// Toggle edit mode and editMode = !editMode;
getPIRiFrame().window.editContentToggled(editMode);
}

// The savePIRReport function is called when the user clicks "Save" or "Save As".
function savePIRReport(saveas) {
var sp;
if (pirLocation == null || saveas) {
sp = getSolutionPath();
} else {
sp = pirLocation;
}
if (sp != null) {
// This call tells PIR to save content in a specified location within a solution.
getPIRiFrame().handle_puc_save(sp[0], sp[1], true, function() {alert('An error occurred during save!');});
//updateInfo(sp);
}
}


var test = 'hello there';
console.log(test);

//var newFilename = prompt('Please enter a new file name.','Custom_' + filenameOnly);

var newFilename = 'Custom_' + filenameOnly;

if(!newFilename){
alert('You did not enter a name. Action will be canceled.');
}
else{
if(debug) console.log('rr1 1.93 DefaultReport SaveAS-clicked ' + ' newFilename =' + newFilename + ' directoryPath=' + directoryPath);
// api.operation.saveReport(newFilename, directoryPath,
// function(){ alert('Report: "' + newFilename + '" Saved Sucessfully'); },
// function(){ alert('Failed to save Report: "' + newFilename + '", Please check with administrator'); },
// true);

// window.location.reload(true);
//window.parent.document.getElementById('browse_tree_frameid').contentDocument.location.reload(true);




savePIRReport(true);
//window.location.reload(true);




}});





</script>
</body>
</html>

How to obtain Timestamp in PDI?

$
0
0
I use Get System Info to have date. Then I use Select Values step and format it to Timestamp.
But in other steps I see '208/11/19...' or ''####0;-####0' instead of '1541767114000' or similar.
Looks like Select Values does not work...

Best way would be to get reall timestamp in Java step. How to obtain that?
Regards

Filter 0 if there's row which have value more than 0

$
0
0
here's the case

i've got a table which got 3 field
1. id(varchar)
2. state1(int)
3. state2(int)
i've set all of them as primary key, which mean combination of the three field should be unique

the problem

value of state2 ranged from 0 to 99, is there a way for me to filter row when the value of state2 is 0 and when there's another row with same id and state1 with state2 more than 0?.

Note that there may be more than one value which is more than 0 and i hope them to stay that way.

is it possible to achieve this in pentaho?

Thanks in advance :D

pdi-ce-7.1.0.0-12 command pan.sh console java.awt.AWTError: Can't connect to X11

$
0
0
Hi Community,
today I have a strange issue, hope so much that you can help me.

Environment:
------------------
Operating System: CentOS 7.x (simple user)
PDI Version: pdi-ce-7.1.0.0-12
Console Client: MobaXterm

Issue description
-----------------------
Outcome ok: using pan.sh via bash console: ./pans.sh rep: trans: etc. with a simple text file output step all works fine, files where created.

Outcome not ok: using pan.sh ./pan.sh etc. with e.g. excel writer step to create *.xlsx files, the error below (below Stacktrace:) occurs.

But, and this where I nee your help, when I use a user and connect with X option on, for example: sudox -iu my_user. The transformation does not generate the error.

In my knowledge I thougt pan.sh is only to use command line, so no X server is needed. Must I switch of, maby a parameter in the console when I use Excel writer step?
Or do you have another idea? becaus the user does not have X switched on.

Thank you in advance to try this out on your side. And we could find a solution ot it.

Best regards

Thorsten


Stacktrace:
---------------

INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-javascript (225) [org.apache.cxf.javascript.JavascriptServerListener]
Nov 22, 2018 12:59:16 PM org.pentaho.caching.impl.PentahoCacheManagerFactory$RegistrationHandler$1 onSuccess
INFO: New Caching Service registered
2018/11/22 12:59:19 - Pan - Start of run.
2018/11/22 12:59:19 - RepositoriesMeta - Reading repositories XML file: /usr/local/home/etl/.kettle/repositories.xml
Nov 22, 2018 12:59:21 PM org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /marketplace
Nov 22, 2018 12:59:21 PM org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /lineage
Nov 22, 2018 12:59:21 PM org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /i18n
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/home/etl/kettle/pdi-ce-7.1.0.0-12/launcher/../lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/home/etl/kettle/pdi-ce-7.1.0.0-12/plugins/pentaho-big-data-plugin/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2018/11/22 12:59:22 - t_test_xxxxx - Dispatching started for transformation [t_test_xxxxx]
2018/11/22 12:59:22 - Generate Rows.0 - Finished processing (I=0, O=0, R=0, W=1, U=0, E=0)
2018/11/22 12:59:22 - Check if file is locked.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2018/11/22 12:59:22 - Filter rows.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
org.apache.commons.vfs2.FileSystemException: File closed.
at org.apache.commons.vfs2.util.MonitorOutputStream.assertOpen(MonitorOutputStream.java:162)
at org.apache.commons.vfs2.util.MonitorOutputStream.flush(MonitorOutputStream.java:133)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:141)
at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.copyFile(ExcelWriterStep.java:643)
at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.prepareNextOutputFile(ExcelWriterStep.java:717)
at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.processRow(ExcelWriterStep.java:123)
at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
at java.lang.Thread.run(Thread.java:745)
2018/11/22 12:59:22 - t_test.0 - Finished reading query, closing connection.
2018/11/22 12:59:22 - t_test.0 - Finished processing (I=77, O=0, R=0, W=77, U=0, E=0)
2018/11/22 12:59:23 - t_test_xx.0 - Finished reading query, closing connection.
2018/11/22 12:59:23 - t_test_xx.0 - Finished processing (I=1729, O=0, R=0, W=1729, U=0, E=0)
MobaXterm X11 proxy: Unsupported authorisation protocol
java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at sun.awt.X11FontManager.isHeadless(X11FontManager.java:509)
at sun.awt.X11FontManager.getFontPath(X11FontManager.java:786)
at sun.font.SunFontManager.getPlatformFontPath(SunFontManager.java:3282)
at sun.font.SunFontManager$10.run(SunFontManager.java:3308)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.loadFonts(SunFontManager.java:3304)
at sun.awt.X11FontManager.loadFonts(X11FontManager.java:460)
at sun.font.SunFontManager.findFont2D(SunFontManager.java:2348)
at java.awt.Font.getFont2D(Font.java:500)
at java.awt.Font.canDisplayUpTo(Font.java:2060)
at java.awt.font.TextLayout.singleFont(TextLayout.java:470)
at java.awt.font.TextLayout.<init>(TextLayout.java:531)
at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:275)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:250)
at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:235)
at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:2164)
at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:2146)
at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.closeOutputFile(ExcelWriterStep.java:250)
at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.processRow(ExcelWriterStep.java:210)
at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
at java.lang.Thread.run(Thread.java:745)
2018/11/22 12:59:23 - create source file.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : Unexpected error
2018/11/22 12:59:23 - create source file.0 - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
2018/11/22 12:59:23 - create source file.0 - at java.security.AccessController.doPrivileged(Native Method)
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
2018/11/22 12:59:23 - create source file.0 - at java.lang.Class.forName0(Native Method)
2018/11/22 12:59:23 - create source file.0 - at java.lang.Class.forName(Class.java:264)
2018/11/22 12:59:23 - create source file.0 - at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
2018/11/22 12:59:23 - create source file.0 - at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11FontManager.isHeadless(X11FontManager.java:509)
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11FontManager.getFontPath(X11FontManager.java:786)
2018/11/22 12:59:23 - create source file.0 - at sun.font.SunFontManager.getPlatformFontPath(SunFontManager.java:3282)
2018/11/22 12:59:23 - create source file.0 - at sun.font.SunFontManager$10.run(SunFontManager.java:3308)
2018/11/22 12:59:23 - create source file.0 - at java.security.AccessController.doPrivileged(Native Method)
2018/11/22 12:59:23 - create source file.0 - at sun.font.SunFontManager.loadFonts(SunFontManager.java:3304)
2018/11/22 12:59:23 - create source file.0 - at sun.awt.X11FontManager.loadFonts(X11FontManager.java:460)
2018/11/22 12:59:23 - create source file.0 - at sun.font.SunFontManager.findFont2D(SunFontManager.java:2348)
2018/11/22 12:59:23 - create source file.0 - at java.awt.Font.getFont2D(Font.java:500)
2018/11/22 12:59:23 - create source file.0 - at java.awt.Font.canDisplayUpTo(Font.java:2060)
2018/11/22 12:59:23 - create source file.0 - at java.awt.font.TextLayout.singleFont(TextLayout.java:470)
2018/11/22 12:59:23 - create source file.0 - at java.awt.font.TextLayout.<init>(TextLayout.java:531)
2018/11/22 12:59:23 - create source file.0 - at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:275)
2018/11/22 12:59:23 - create source file.0 - at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:250)
2018/11/22 12:59:23 - create source file.0 - at org.apache.poi.ss.util.SheetUtil.getColumnWidth(SheetUtil.java:235)
2018/11/22 12:59:23 - create source file.0 - at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:2164)
2018/11/22 12:59:23 - create source file.0 - at org.apache.poi.hssf.usermodel.HSSFSheet.autoSizeColumn(HSSFSheet.java:2146)
2018/11/22 12:59:23 - create source file.0 - at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.closeOutputFile(ExcelWriterStep.java:250)
2018/11/22 12:59:23 - create source file.0 - at org.pentaho.di.trans.steps.excelwriter.ExcelWriterStep.processRow(ExcelWriterStep.java:210)
2018/11/22 12:59:23 - create source file.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2018/11/22 12:59:23 - create source file.0 - at java.lang.Thread.run(Thread.java:745)
child index = 16, logging object : org.pentaho.di.core.logging.LoggingObject@7285978 parent=5084b45a-65b7-4c14-883e-11f4d6a1fa9a

create database repository for kettle pdi-ce-8.1.0.0-365 does not provide backend.

$
0
0
Hello all,

today I trieed to set up a data base repository to store my transformations for kettle pdi-ce-8.1.0.0-365 in oracle.
I can not setup a repository.
I was able to setup a oracle connection whitch was successful created.

What I did (OS = Windows 10):
DB-Action:
-----------
create user tdw_kettle identified by xxxx;
GRANT connect TO tdw_kettle;
GRANT resource TO tdw_kettle;

GUI-Action:
-----------
start Spoon.bat
go to the upper right corner of the gui and select "Connect" - Button
go to "Other Repositories" link
select "Database Repository" link
go to "get startet"
Set "Display Name"
Select "Database Connection" --> create a database connection (oracle) --> test --> ok
Select "Back"
Select Launch connection on startup
Select "Finish" button
Get a message box "Congratulations!"
Select "Connect now"
Enter standard credentials admin/admin
Get the following Error "You don't getting a connection to the server........"

Please, where go I wrong.
Do I have to setup a server?
Using previous Kettle Versions are provided by creating a repository from scretch.

Is there a discription how to set up the kettle repository for pdi 8.1.

Thank you so much for any recommendations or help in advance?

T.
Viewing all 16689 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>