/** * Finds the partition metadata for the given partition iD * * @param partitionId * The partition ID to look for * @return the partition database metadata or null if nothing was found. */ public PartitionDatabaseMeta getPartitionMeta( String partitionId ) { PartitionDatabaseMeta[] partitionInfo = getPartitioningInformation(); for ( int i = 0; i < partitionInfo.length; i++ ) { if ( partitionInfo[i].getPartitionId().equals( partitionId ) ) { return partitionInfo[i]; } } return null; }
/** * @param clusterInfo * the available partition/host/databases/port combinations in the cluster */ @Override public void setPartitioningInformation( PartitionDatabaseMeta[] clusterInfo ) { for ( int nr = 0; nr < clusterInfo.length; nr++ ) { PartitionDatabaseMeta meta = clusterInfo[nr]; attributes.put( ATTRIBUTE_CLUSTER_PARTITION_PREFIX + nr, Const.NVL( meta.getPartitionId(), "" ) ); attributes.put( ATTRIBUTE_CLUSTER_HOSTNAME_PREFIX + nr, Const.NVL( meta.getHostname(), "" ) ); attributes.put( ATTRIBUTE_CLUSTER_PORT_PREFIX + nr, Const.NVL( meta.getPort(), "" ) ); attributes.put( ATTRIBUTE_CLUSTER_DBNAME_PREFIX + nr, Const.NVL( meta.getDatabaseName(), "" ) ); attributes.put( ATTRIBUTE_CLUSTER_USERNAME_PREFIX + nr, Const.NVL( meta.getUsername(), "" ) ); attributes.put( ATTRIBUTE_CLUSTER_PASSWORD_PREFIX + nr, Const.NVL( Encr .encryptPasswordIfNotUsingVariables( meta.getPassword() ), "" ) ); } }
wPartitions.add( new String[] { meta.getPartitionId() } );
for ( int i = 0; i < partitioningInformation.length; i++ ) { try { db.connect( partitioningInformation[i].getPartitionId() ); report.append( BaseMessages.getString( PKG, "DatabaseMeta.report.ConnectionWithPartOk", databaseMeta .getName(), partitioningInformation[i].getPartitionId() ) + Const.CR ); } catch ( KettleException e ) { report.append( BaseMessages.getString( PKG, "DatabaseMeta.report.ConnectionWithPartError", databaseMeta.getName(), partitioningInformation[i].getPartitionId(), e.toString() ) + Const.CR ); report.append( Const.getStackTracker( e ) + Const.CR );
String partitionId = null; if ( partitioningInformation != null && partitioningInformation.length > 0 ) { partitionId = partitioningInformation[partitionNr].getPartitionId();
row.addCellText( 0, Const.NVL( meta.getPartitionId(), "" ) ); row.addCellText( 1, Const.NVL( meta.getHostname(), "" ) ); row.addCellText( 2, Const.NVL( meta.getPort(), "" ) );