Skip to content

Instantly share code, notes, and snippets.

@mattyb149
mattyb149 / gist:3669583
Created September 7, 2012 21:00
PDI UDJC code for Google Docs Fusion Table Input step
import com.google.gdata.client.ClientLoginAccountType;
import com.google.gdata.client.GoogleService;
import com.google.gdata.client.Service.GDataRequest;
import com.google.gdata.client.Service.GDataRequest.RequestType;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ContentType;
import com.google.gdata.util.ServiceException;
import java.io.BufferedReader;
import java.io.IOException;
@mattyb149
mattyb149 / gist:3724213
Created September 14, 2012 19:36
PDI UDJC code to get Step Plugin info
import org.pentaho.di.core.plugins.*;
import org.pentaho.di.core.row.*;
import java.util.List;
String type;
String id;
String name;
String description;
String libraries;
String imagefile;
@mattyb149
mattyb149 / gist:3726209
Created September 15, 2012 03:10
UDJC PDI step acting as Input generator
import org.pentaho.di.core.plugins.*;
import org.pentaho.di.core.row.*;
import java.util.List;
String type;
String id;
String name;
String description;
String libraries;
String imagefile;
@mattyb149
mattyb149 / gist:3742850
Created September 18, 2012 12:27
Create Data Grid UDJC step for Pentaho Data Integration
import org.pentaho.di.core.gui.Point;
import org.pentaho.di.core.plugins.*;
import org.pentaho.di.core.row.*;
import org.pentaho.di.trans.TransMeta;
import org.pentaho.di.trans.step.StepMeta;
import org.pentaho.di.trans.step.StepMetaInterface;
import org.pentaho.di.trans.steps.datagrid.DataGridMeta;
import org.pentaho.di.ui.spoon.Spoon;
import java.util.ArrayList;
import java.util.List;
@mattyb149
mattyb149 / gist:3757784
Created September 20, 2012 19:17
Create Reproduction Transformation step for Pentaho Data Integration
import org.pentaho.di.core.gui.Point;
import org.pentaho.di.core.plugins.*;
import org.pentaho.di.core.row.*;
import org.pentaho.di.trans.TransHopMeta;
import org.pentaho.di.trans.TransMeta;
import org.pentaho.di.trans.step.StepMeta;
import org.pentaho.di.trans.step.StepMetaInterface;
import org.pentaho.di.trans.steps.datagrid.DataGridMeta;
import org.pentaho.di.ui.spoon.Spoon;
import java.util.ArrayList;
@mattyb149
mattyb149 / merge_helper.groovy
Created January 13, 2013 23:15
A simple helper script to show how changes to files in the old PDI/Kettle project structure will map to the new project structure.
def module_map = ['src-core':'core/src',
'src-db':'db/src',
'src-dbdialog':'dbdialog/src',
'src':'engine/src',
'src-jdbc':'jdbc/src',
'src-ui':'ui/src',
'src-plugins':'plugins',
'libext':'lib',
'ui':'assembly/package-res/ui']
@mattyb149
mattyb149 / gist:6937603
Created October 11, 2013 16:14
error during subfloor migrate
remote: /usr/lib/ruby/1.8/pathname.rb:441:in `lstat': No such file or directory - /data/repositories/b/nw/b1/17/bin (Errno::ENOENT)
remote: from /usr/lib/ruby/1.8/pathname.rb:441:in `realpath_rec'
remote: from /usr/lib/ruby/1.8/pathname.rb:474:in `realpath'
remote: from -e:1
To https://github.com/pentaho/subfloor
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/pentaho/subfloor'
@mattyb149
mattyb149 / mbeanserver.groovy
Created March 15, 2014 15:48
Display registered MBeans in CRasH
import java.lang.management.ManagementFactory
import javax.management.*
MBeanServer mbeanServer = ManagementFactory.platformMBeanServer
def mbeans = mbeanServer.queryMBeans(null,ObjectName.WILDCARD)
mbeans.each {
def name = it.objectName.getKeyProperty 'name'
println name ?: it.toString();
}

The World Cup Graph

Initial Data Setup

@mattyb149
mattyb149 / jardiff.groovy
Created September 21, 2014 02:10
Find different versions of same JAR in two paths
commonLibs = [:]
leftLibs = []
rightLibs = []
if(args?.length > 1) {
new File(args[0]).eachFileRecurse {
fileName = (it.name - '.jar')
fileNameNoVersion = fileName[0..fileName.lastIndexOf('-')-1]
leftLibs += fileNameNoVersion
commonLibs.putAt(fileNameNoVersion, commonLibs[fileNameNoVersion] ? (commonLibs[fileNameNoVersion] + [1:fileName]) : [1:fileName])
}