Full Code of pentaho/big-data-plugin for AI

master abd061467a83 cached
805 files
5.8 MB
1.6M tokens
6084 symbols
1 requests
Download .txt
Showing preview only (6,368K chars total). Download the full file or copy to clipboard to get everything.
Repository: pentaho/big-data-plugin
Branch: master
Commit: abd061467a83
Files: 805
Total size: 5.8 MB

Directory structure:
gitextract_fsrec6j5/

├── .gitattributes
├── .github/
│   └── CODEOWNERS
├── .gitignore
├── LICENSE.txt
├── README.markdown
├── api/
│   ├── pom.xml
│   └── runtimeTest/
│       ├── pom.xml
│       └── src/
│           ├── main/
│           │   ├── java/
│           │   │   └── org/
│           │   │       └── pentaho/
│           │   │           └── runtime/
│           │   │               └── test/
│           │   │                   ├── RuntimeTest.java
│           │   │                   ├── RuntimeTestProgressCallback.java
│           │   │                   ├── RuntimeTestStatus.java
│           │   │                   ├── RuntimeTester.java
│           │   │                   ├── action/
│           │   │                   │   ├── RuntimeTestAction.java
│           │   │                   │   ├── RuntimeTestActionHandler.java
│           │   │                   │   ├── RuntimeTestActionPayload.java
│           │   │                   │   ├── RuntimeTestActionService.java
│           │   │                   │   └── impl/
│           │   │                   │       ├── HelpUrlPayload.java
│           │   │                   │       ├── LoggingRuntimeTestActionHandlerImpl.java
│           │   │                   │       ├── RuntimeTestActionImpl.java
│           │   │                   │       └── RuntimeTestActionServiceImpl.java
│           │   │                   ├── i18n/
│           │   │                   │   ├── MessageGetter.java
│           │   │                   │   ├── MessageGetterFactory.java
│           │   │                   │   └── impl/
│           │   │                   │       ├── BaseMessagesMessageGetterFactoryImpl.java
│           │   │                   │       └── BaseMessagesMessageGetterImpl.java
│           │   │                   ├── impl/
│           │   │                   │   ├── RuntimeTestComparator.java
│           │   │                   │   ├── RuntimeTestRunner.java
│           │   │                   │   ├── RuntimeTestStatusImpl.java
│           │   │                   │   └── RuntimeTesterImpl.java
│           │   │                   ├── module/
│           │   │                   │   ├── RuntimeTestModuleResults.java
│           │   │                   │   └── impl/
│           │   │                   │       └── RuntimeTestModuleResultsImpl.java
│           │   │                   ├── network/
│           │   │                   │   ├── ConnectivityTest.java
│           │   │                   │   ├── ConnectivityTestFactory.java
│           │   │                   │   └── impl/
│           │   │                   │       ├── ConnectivityTestFactoryImpl.java
│           │   │                   │       ├── ConnectivityTestImpl.java
│           │   │                   │       └── GatewayConnectivityTestImpl.java
│           │   │                   ├── result/
│           │   │                   │   ├── RuntimeTestEntrySeverity.java
│           │   │                   │   ├── RuntimeTestResult.java
│           │   │                   │   ├── RuntimeTestResultEntry.java
│           │   │                   │   ├── RuntimeTestResultSummary.java
│           │   │                   │   └── org/
│           │   │                   │       └── pentaho/
│           │   │                   │           └── runtime/
│           │   │                   │               └── test/
│           │   │                   │                   └── result/
│           │   │                   │                       └── impl/
│           │   │                   │                           └── RuntimeTestResultSummaryImpl.java
│           │   │                   └── test/
│           │   │                       └── impl/
│           │   │                           ├── BaseRuntimeTest.java
│           │   │                           ├── RuntimeTestDelegateWithMoreDependencies.java
│           │   │                           ├── RuntimeTestResultEntryImpl.java
│           │   │                           └── RuntimeTestResultImpl.java
│           │   └── resources/
│           │       ├── OSGI-INF/
│           │       │   └── blueprint/
│           │       │       └── blueprint.xml
│           │       └── org/
│           │           └── pentaho/
│           │               └── runtime/
│           │                   └── test/
│           │                       ├── action/
│           │                       │   └── impl/
│           │                       │       └── messages/
│           │                       │           └── messages_en_US.properties
│           │                       ├── impl/
│           │                       │   └── messages/
│           │                       │       └── messages_en_US.properties
│           │                       └── network/
│           │                           └── impl/
│           │                               └── messages/
│           │                                   └── messages_en_US.properties
│           └── test/
│               └── java/
│                   └── org/
│                       └── pentaho/
│                           └── runtime/
│                               └── test/
│                                   ├── RuntimeTestEntryUtil.java
│                                   ├── TestMessageGetter.java
│                                   ├── TestMessageGetterFactory.java
│                                   ├── action/
│                                   │   └── impl/
│                                   │       ├── HelpUrlPayloadTest.java
│                                   │       ├── LoggingRuntimeTestActionHandlerImplTest.java
│                                   │       ├── RuntimeTestActionImplTest.java
│                                   │       └── RuntimeTestActionServiceImplTest.java
│                                   ├── i18n/
│                                   │   └── impl/
│                                   │       ├── BaseMessagesMessageGetterFactoryImplTest.java
│                                   │       └── BaseMessagesMessageGetterImplTest.java
│                                   ├── impl/
│                                   │   ├── RuntimeTestComparatorTest.java
│                                   │   ├── RuntimeTestRunnerTest.java
│                                   │   ├── RuntimeTestStatusImplTest.java
│                                   │   └── RuntimeTesterImplTest.java
│                                   ├── module/
│                                   │   └── impl/
│                                   │       └── RuntimeTestModuleResultsImplTest.java
│                                   ├── network/
│                                   │   └── impl/
│                                   │       ├── ConnectivityTestImplTest.java
│                                   │       └── GatewayConnectivityTestImplTest.java
│                                   ├── result/
│                                   │   └── RuntimeTestEntrySeverityTest.java
│                                   └── test/
│                                       └── impl/
│                                           ├── BaseRuntimeTestTest.java
│                                           ├── RuntimeTestDelegateWithMoreDependenciesTest.java
│                                           ├── RuntimeTestResultEntryImplTest.java
│                                           └── RuntimeTestResultImplTest.java
├── assemblies/
│   ├── pentaho-big-data-plugin/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── assembly/
│   │               ├── descriptors/
│   │               │   └── plugin.xml
│   │               └── resources/
│   │                   ├── bigdata-logging.properties
│   │                   ├── classpath.properties
│   │                   ├── hadoop-configurations/
│   │                   │   └── .kettle-ignore
│   │                   ├── plugin.properties
│   │                   └── plugins/
│   │                       └── .gitignore
│   ├── pmr-libraries/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── descriptors/
│   │           │   └── assembly.xml
│   │           └── resources/
│   │               ├── classes/
│   │               │   ├── kettle-lifecycle-listeners.xml
│   │               │   ├── kettle-password-encoder-plugins.xml
│   │               │   ├── kettle-registry-extensions.xml
│   │               │   ├── log4j2.xml
│   │               │   ├── org/
│   │               │   │   └── apache/
│   │               │   │       └── commons/
│   │               │   │           └── vfs2/
│   │               │   │               └── impl/
│   │               │   │                   └── providers.xml
│   │               │   └── pmr.properties
│   │               └── simple-jndi/
│   │                   └── jdbc.properties
│   ├── pom.xml
│   └── samples/
│       ├── pom.xml
│       └── src/
│           └── main/
│               ├── assembly/
│               │   └── descriptors/
│               │       └── samples.xml
│               └── resources/
│                   ├── .kettle-ignore
│                   └── jobs/
│                       └── hadoop/
│                           ├── Hadoop Job Executor 2 adv.kjb
│                           ├── Hadoop Job Executor adv.kjb
│                           ├── Hadoop Job Executor simple.kjb
│                           ├── Pentaho MapReduce - weblogs.kjb
│                           ├── Pentaho MapReduce - wordcount.kjb
│                           ├── Pig Script Executor tutorial local.kjb
│                           ├── Pig Script Executor tutorial.kjb
│                           ├── emr_job.kjb
│                           ├── excite-small.log
│                           ├── excite.log.bz2
│                           ├── files/
│                           │   ├── 2008.log
│                           │   ├── 2009.log
│                           │   ├── 2010.log
│                           │   └── readme.txt
│                           ├── pentaho-mapreduce-sample-src/
│                           │   ├── README.TXT
│                           │   └── src/
│                           │       └── org/
│                           │           └── pentaho/
│                           │               └── hadoop/
│                           │                   └── sample/
│                           │                       └── wordcount/
│                           │                           ├── WordCount.java
│                           │                           ├── WordCountMapper.java
│                           │                           └── WordCountReducer.java
│                           ├── pentaho-mapreduce-sample.jar
│                           ├── pentaho-mapreduce2-sample-src/
│                           │   ├── README.TXT
│                           │   └── src/
│                           │       └── org/
│                           │           └── pentaho/
│                           │               └── hadoop/
│                           │                   └── sample/
│                           │                       └── wordcount/
│                           │                           └── WordCount2.java
│                           ├── pentaho-mapreduce2-sample.jar
│                           ├── script1-hadoop-mod.pig
│                           ├── script1-local-mod.pig
│                           ├── tutorial.jar
│                           ├── weblogs-mapper.ktr
│                           ├── weblogs-reducer.ktr
│                           ├── wordcount-mapper.ktr
│                           ├── wordcount-reducer.ktr
│                           └── wordcount.jar
├── authentication-mapper/
│   ├── api/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── org/
│   │                   └── pentaho/
│   │                       └── authentication/
│   │                           └── mapper/
│   │                               └── api/
│   │                                   ├── AuthenticationMappingManager.java
│   │                                   ├── AuthenticationMappingService.java
│   │                                   └── MappingException.java
│   ├── impl/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   └── java/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── authentication/
│   │       │                   └── mapper/
│   │       │                       └── impl/
│   │       │                           └── AuthenticationMappingManagerImpl.java
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── authentication/
│   │           │               └── mapper/
│   │           │                   └── impl/
│   │           │                       └── AuthenticationMappingManagerImplTest.java
│   │           └── resources/
│   │               ├── invalid_mapping.json
│   │               └── mapping.json
│   └── pom.xml
├── dev-doc/
│   ├── multishim/
│   │   ├── MultiShimHBase.sd
│   │   ├── README.md
│   │   └── SingleShimHBase.sd
│   ├── shim-bridge-classloading.graphml
│   ├── shim-bridging-classloading.md
│   └── shimprovements.md
├── impl/
│   ├── cluster/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── it/
│   │       │   └── resources/
│   │       │       └── core-site.xml
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── big/
│   │       │   │               └── data/
│   │       │   │                   └── impl/
│   │       │   │                       └── cluster/
│   │       │   │                           ├── NamedClusterImpl.java
│   │       │   │                           └── NamedClusterManager.java
│   │       │   └── resources/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── impl/
│   │       │                           └── cluster/
│   │       │                               └── messages/
│   │       │                                   └── messages_en_US.properties
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── impl/
│   │           │                       └── cluster/
│   │           │                           ├── NamedClusterImplTest.java
│   │           │                           ├── NamedClusterManagerTest.java
│   │           │                           └── NamedClusterMetastoreIT.java
│   │           └── resources/
│   │               ├── core-site.xml
│   │               └── plugin.properties
│   ├── clusterTests/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── big/
│   │       │   │               └── data/
│   │       │   │                   └── impl/
│   │       │   │                       └── cluster/
│   │       │   │                           └── tests/
│   │       │   │                               ├── ClusterRuntimeTestEntry.java
│   │       │   │                               ├── Constants.java
│   │       │   │                               ├── hdfs/
│   │       │   │                               │   ├── GatewayListHomeDirectoryTest.java
│   │       │   │                               │   ├── GatewayListRootDirectoryTest.java
│   │       │   │                               │   ├── GatewayPingFileSystemEntryPoint.java
│   │       │   │                               │   ├── GatewayWriteToAndDeleteFromUsersHomeFolderTest.java
│   │       │   │                               │   ├── ListDirectoryTest.java
│   │       │   │                               │   ├── ListHomeDirectoryTest.java
│   │       │   │                               │   ├── ListRootDirectoryTest.java
│   │       │   │                               │   ├── PingFileSystemEntryPointTest.java
│   │       │   │                               │   └── WriteToAndDeleteFromUsersHomeFolderTest.java
│   │       │   │                               ├── kafka/
│   │       │   │                               │   └── KafkaConnectTest.java
│   │       │   │                               ├── mr/
│   │       │   │                               │   ├── GatewayPingJobTrackerTest.java
│   │       │   │                               │   └── PingJobTrackerTest.java
│   │       │   │                               ├── oozie/
│   │       │   │                               │   ├── GatewayPingOozieHostTest.java
│   │       │   │                               │   └── PingOozieHostTest.java
│   │       │   │                               └── zookeeper/
│   │       │   │                                   ├── GatewayPingZookeeperEnsembleTest.java
│   │       │   │                                   └── PingZookeeperEnsembleTest.java
│   │       │   └── resources/
│   │       │       ├── OSGI-INF/
│   │       │       │   └── blueprint/
│   │       │       │       └── blueprint.xml
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── impl/
│   │       │                           └── cluster/
│   │       │                               └── tests/
│   │       │                                   ├── hdfs/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   ├── kafka/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   ├── messages/
│   │       │                                   │   └── messages_en_US.properties
│   │       │                                   ├── mr/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   ├── oozie/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   └── zookeeper/
│   │       │                                       └── messages/
│   │       │                                           └── messages_en_US.properties
│   │       └── test/
│   │           └── java/
│   │               └── org/
│   │                   └── pentaho/
│   │                       └── big/
│   │                           └── data/
│   │                               └── impl/
│   │                                   └── cluster/
│   │                                       └── tests/
│   │                                           ├── hdfs/
│   │                                           │   ├── ListDirectoryTestTest.java
│   │                                           │   ├── ListHomeDirectoryTestTest.java
│   │                                           │   ├── ListRootDirectoryTestTest.java
│   │                                           │   ├── PingFileSystemEntryPointTestTest.java
│   │                                           │   └── WriteToAndDeleteFromUsersHomeFolderTestTest.java
│   │                                           ├── kafka/
│   │                                           │   └── KafkaConnectTestTest.java
│   │                                           ├── mr/
│   │                                           │   └── PingJobTrackerTestTest.java
│   │                                           ├── oozie/
│   │                                           │   └── PingOozieHostTestTest.java
│   │                                           └── zookeeper/
│   │                                               └── PingZookeeperEnsembleTestTest.java
│   ├── pom.xml
│   ├── shim/
│   │   ├── jaas/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── impl/
│   │   │       │   │                       └── shim/
│   │   │       │   │                           └── jaas/
│   │   │       │   │                               ├── JaasConfigServiceFactory.java
│   │   │       │   │                               └── JaasConfigServiceImpl.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── impl/
│   │   │       │                           └── shim/
│   │   │       │                               └── jaas/
│   │   │       │                                   └── messages.properties
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── impl/
│   │   │                                   └── shim/
│   │   │                                       └── jaas/
│   │   │                                           ├── JaasConfigServiceFactoryTest.java
│   │   │                                           └── JaasConfigServiceImplTest.java
│   │   ├── pig/
│   │   │   └── pdi-testName
│   │   ├── pom.xml
│   │   └── shimTests/
│   │       ├── pom.xml
│   │       └── src/
│   │           ├── main/
│   │           │   ├── java/
│   │           │   │   └── org/
│   │           │   │       └── pentaho/
│   │           │   │           └── big/
│   │           │   │               └── data/
│   │           │   │                   └── impl/
│   │           │   │                       └── shim/
│   │           │   │                           └── tests/
│   │           │   │                               ├── TestShimConfig.java
│   │           │   │                               └── TestShimLoad.java
│   │           │   └── resources/
│   │           │       ├── OSGI-INF/
│   │           │       │   └── blueprint/
│   │           │       │       └── blueprint.xml
│   │           │       └── org/
│   │           │           └── pentaho/
│   │           │               └── big/
│   │           │                   └── data/
│   │           │                       └── impl/
│   │           │                           └── shim/
│   │           │                               └── tests/
│   │           │                                   └── messages/
│   │           │                                       └── messages_en_US.properties
│   │           └── test/
│   │               └── java/
│   │                   └── org/
│   │                       └── pentaho/
│   │                           └── big/
│   │                               └── data/
│   │                                   └── impl/
│   │                                       └── shim/
│   │                                           └── tests/
│   │                                               └── TestShimLoadTest.java
│   └── vfs-hdfs/
│       ├── pom.xml
│       └── src/
│           ├── main/
│           │   ├── java/
│           │   │   └── org/
│           │   │       └── pentaho/
│           │   │           └── big/
│           │   │               └── data/
│           │   │                   └── impl/
│           │   │                       └── vfs/
│           │   │                           └── hdfs/
│           │   │                               ├── AzureHdInsightsFileNameParser.java
│           │   │                               ├── HDFSFileNameParser.java
│           │   │                               ├── HDFSFileObject.java
│           │   │                               ├── HDFSFileProvider.java
│           │   │                               ├── HDFSFileSystem.java
│           │   │                               ├── MapRFileNameParser.java
│           │   │                               └── nc/
│           │   │                                   ├── NamedClusterConfigBuilder.java
│           │   │                                   ├── NamedClusterFileObject.java
│           │   │                                   ├── NamedClusterFileSystem.java
│           │   │                                   └── NamedClusterProvider.java
│           │   └── resources/
│           │       └── OSGI-INF/
│           │           └── blueprint/
│           │               └── blueprint.xml
│           └── test/
│               └── java/
│                   └── org/
│                       └── pentaho/
│                           └── big/
│                               └── data/
│                                   └── impl/
│                                       └── vfs/
│                                           └── hdfs/
│                                               ├── AzureFileNameParserTest.java
│                                               ├── HDFSFileNameParserTest.java
│                                               ├── HDFSFileObjectTest.java
│                                               ├── HDFSFileProviderTest.java
│                                               ├── HDFSFileSystemTest.java
│                                               ├── MapRFileNameParserTest.java
│                                               └── nc/
│                                                   ├── NamedClusterConfigBuilderTest.java
│                                                   └── NamedClusterProviderTest.java
├── kettle-plugins/
│   ├── browse/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── impl/
│   │           │                       └── browse/
│   │           │                           ├── NamedClusterProvider.java
│   │           │                           └── model/
│   │           │                               ├── NamedClusterDirectory.java
│   │           │                               ├── NamedClusterFile.java
│   │           │                               └── NamedClusterTree.java
│   │           └── resources/
│   │               └── OSGI-INF/
│   │                   └── blueprint/
│   │                       └── blueprint.xml
│   ├── common/
│   │   ├── job/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── job/
│   │   │       │   │                               ├── AbstractJobEntry.java
│   │   │       │   │                               ├── AbstractJobEntryController.java
│   │   │       │   │                               ├── BlockableJobConfig.java
│   │   │       │   │                               ├── JobEntryMode.java
│   │   │       │   │                               ├── JobEntrySerializationHelper.java
│   │   │       │   │                               ├── JobEntryUtils.java
│   │   │       │   │                               ├── Password.java
│   │   │       │   │                               └── PropertyEntry.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── job/
│   │   │       │                                   └── messages/
│   │   │       │                                       └── messages_en_US.properties
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── job/
│   │   │                                           ├── AbstractJobEntryTest.java
│   │   │                                           ├── BlockableJobConfigTest.java
│   │   │                                           └── JobEntryUtilsTest.java
│   │   ├── pom.xml
│   │   └── ui/
│   │       ├── pom.xml
│   │       └── src/
│   │           ├── main/
│   │           │   ├── java/
│   │           │   │   └── org/
│   │           │   │       └── pentaho/
│   │           │   │           └── big/
│   │           │   │               └── data/
│   │           │   │                   └── plugins/
│   │           │   │                       └── common/
│   │           │   │                           └── ui/
│   │           │   │                               ├── ClusterTestDialog.java
│   │           │   │                               ├── ClusterTestResultsDialog.java
│   │           │   │                               ├── CommonDialogFactory.java
│   │           │   │                               ├── HadoopClusterDelegateImpl.java
│   │           │   │                               ├── NamedClusterComposite.java
│   │           │   │                               ├── NamedClusterDialogImpl.java
│   │           │   │                               ├── NamedClusterWidgetImpl.java
│   │           │   │                               ├── StateChangeListener.java
│   │           │   │                               ├── TestResultComposite.java
│   │           │   │                               └── VfsFileChooserHelper.java
│   │           │   └── resources/
│   │           │       ├── apachesampleconfig.properties
│   │           │       ├── apachevanillasampleconfig.properties
│   │           │       ├── cdpdc71sampleconfig.properties
│   │           │       ├── dataproc1421sampleconfig.properties
│   │           │       ├── dataproc23sampleconfig.properties
│   │           │       ├── emr521sampleconfig.properties
│   │           │       ├── emr770sampleconfig.properties
│   │           │       ├── hdi40sampleconfig.properties
│   │           │       └── org/
│   │           │           └── pentaho/
│   │           │               └── big/
│   │           │                   └── data/
│   │           │                       └── plugins/
│   │           │                           └── common/
│   │           │                               └── ui/
│   │           │                                   └── messages/
│   │           │                                       └── messages_en_US.properties
│   │           └── test/
│   │               └── java/
│   │                   └── org/
│   │                       └── pentaho/
│   │                           └── big/
│   │                               └── data/
│   │                                   └── plugins/
│   │                                       └── common/
│   │                                           └── ui/
│   │                                               ├── HadoopClusterDelegateImplTest.java
│   │                                               └── TestClusterTestDialog.java
│   ├── formats/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── formats/
│   │   │       │   │                               └── impl/
│   │   │       │   │                                   ├── NamedClusterResolver.java
│   │   │       │   │                                   ├── NullableValuesEnum.java
│   │   │       │   │                                   ├── orc/
│   │   │       │   │                                   │   ├── BaseOrcStepDialog.java
│   │   │       │   │                                   │   ├── input/
│   │   │       │   │                                   │   │   ├── OrcInput.java
│   │   │       │   │                                   │   │   ├── OrcInputData.java
│   │   │       │   │                                   │   │   ├── OrcInputDialog.java
│   │   │       │   │                                   │   │   └── OrcInputMeta.java
│   │   │       │   │                                   │   └── output/
│   │   │       │   │                                   │       ├── OrcOutput.java
│   │   │       │   │                                   │       ├── OrcOutputData.java
│   │   │       │   │                                   │       ├── OrcOutputDialog.java
│   │   │       │   │                                   │       └── OrcOutputMeta.java
│   │   │       │   │                                   ├── output/
│   │   │       │   │                                   │   └── PvfsFileAliaser.java
│   │   │       │   │                                   └── parquet/
│   │   │       │   │                                       ├── BaseParquetStepDialog.java
│   │   │       │   │                                       ├── input/
│   │   │       │   │                                       │   ├── ParquetInput.java
│   │   │       │   │                                       │   ├── ParquetInputData.java
│   │   │       │   │                                       │   ├── ParquetInputDialog.java
│   │   │       │   │                                       │   ├── ParquetInputMeta.java
│   │   │       │   │                                       │   └── VFSScheme.java
│   │   │       │   │                                       └── output/
│   │   │       │   │                                           ├── ParquetOutput.java
│   │   │       │   │                                           ├── ParquetOutputData.java
│   │   │       │   │                                           ├── ParquetOutputDialog.java
│   │   │       │   │                                           └── ParquetOutputMeta.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── formats/
│   │   │       │                                   └── impl/
│   │   │       │                                       ├── orc/
│   │   │       │                                       │   ├── input/
│   │   │       │                                       │   │   └── messages/
│   │   │       │                                       │   │       └── messages_en_US.properties
│   │   │       │                                       │   ├── messages/
│   │   │       │                                       │   │   └── messages_en_US.properties
│   │   │       │                                       │   └── output/
│   │   │       │                                       │       └── messages/
│   │   │       │                                       │           └── messages_en_US.properties
│   │   │       │                                       └── parquet/
│   │   │       │                                           ├── input/
│   │   │       │                                           │   └── messages/
│   │   │       │                                           │       └── messages_en_US.properties
│   │   │       │                                           ├── messages/
│   │   │       │                                           │   └── messages_en_US.properties
│   │   │       │                                           └── output/
│   │   │       │                                               └── messages/
│   │   │       │                                                   └── messages_en_US.properties
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── formats/
│   │   │                                           └── impl/
│   │   │                                               ├── NamedClusterResolverTest.java
│   │   │                                               ├── orc/
│   │   │                                               │   ├── input/
│   │   │                                               │   │   ├── OrcInputMetaInjectionTest.java
│   │   │                                               │   │   └── OrcInputTest.java
│   │   │                                               │   └── output/
│   │   │                                               │       ├── OrcOutputMetaInjectionTest.java
│   │   │                                               │       └── OrcOutputTest.java
│   │   │                                               ├── output/
│   │   │                                               │   └── PvfsFileAliaserTest.java
│   │   │                                               └── parquet/
│   │   │                                                   ├── input/
│   │   │                                                   │   ├── ParquetInputMetaInjectionTest.java
│   │   │                                                   │   └── ParquetInputTest.java
│   │   │                                                   └── output/
│   │   │                                                       ├── ParquetOutputMetaInjectionTest.java
│   │   │                                                       └── ParquetOutputTest.java
│   │   └── pom.xml
│   ├── formats-meta/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── big/
│   │       │   │               └── data/
│   │       │   │                   └── kettle/
│   │       │   │                       └── plugins/
│   │       │   │                           └── formats/
│   │       │   │                               ├── BaseFormatInputField.java
│   │       │   │                               ├── BaseFormatOutputField.java
│   │       │   │                               ├── FormatInputFile.java
│   │       │   │                               ├── FormatInputOutputField.java
│   │       │   │                               ├── orc/
│   │       │   │                               │   ├── OrcFormatInputOutputField.java
│   │       │   │                               │   ├── OrcInputField.java
│   │       │   │                               │   ├── OrcTypeConverter.java
│   │       │   │                               │   ├── input/
│   │       │   │                               │   │   └── OrcInputMetaBase.java
│   │       │   │                               │   └── output/
│   │       │   │                               │       ├── OrcOutputField.java
│   │       │   │                               │       └── OrcOutputMetaBase.java
│   │       │   │                               └── parquet/
│   │       │   │                                   ├── ParquetTypeConverter.java
│   │       │   │                                   ├── input/
│   │       │   │                                   │   ├── ParquetInputField.java
│   │       │   │                                   │   └── ParquetInputMetaBase.java
│   │       │   │                                   └── output/
│   │       │   │                                       ├── ParquetOutputField.java
│   │       │   │                                       └── ParquetOutputMetaBase.java
│   │       │   └── resources/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── kettle/
│   │       │                           └── plugins/
│   │       │                               └── formats/
│   │       │                                   └── parquet/
│   │       │                                       └── output/
│   │       │                                           └── messages/
│   │       │                                               └── messages_en_US.properties
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── kettle/
│   │           │                       └── plugins/
│   │           │                           └── formats/
│   │           │                               ├── orc/
│   │           │                               │   ├── OrcInputFieldTest.java
│   │           │                               │   ├── input/
│   │           │                               │   │   └── OrcInputMetaBaseTest.java
│   │           │                               │   └── output/
│   │           │                               │       ├── OrcOutputFieldTest.java
│   │           │                               │       └── OrcOutputMetabaseTest.java
│   │           │                               └── parquet/
│   │           │                                   ├── input/
│   │           │                                   │   └── ParquetInputMetaBaseTest.java
│   │           │                                   └── output/
│   │           │                                       └── ParquetOutputMetaBaseTest.java
│   │           └── resources/
│   │               └── org/
│   │                   └── pentaho/
│   │                       └── big/
│   │                           └── data/
│   │                               └── kettle/
│   │                                   └── plugins/
│   │                                       └── formats/
│   │                                           └── orc/
│   │                                               └── input/
│   │                                                   └── OrcInput.xml
│   ├── guiTestActionHandlers/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── plugins/
│   │           │                       └── gui/
│   │           │                           └── test/
│   │           │                               └── actionHandlers/
│   │           │                                   └── ShowHelpDialogActionHandler.java
│   │           └── resources/
│   │               └── OSGI-INF/
│   │                   └── blueprint/
│   │                       └── blueprint.xml
│   ├── hadoop-cluster/
│   │   ├── pom.xml
│   │   └── ui/
│   │       ├── pom.xml
│   │       └── src/
│   │           ├── main/
│   │           │   ├── java/
│   │           │   │   └── org/
│   │           │   │       └── pentaho/
│   │           │   │           └── big/
│   │           │   │               └── data/
│   │           │   │                   └── kettle/
│   │           │   │                       └── plugins/
│   │           │   │                           └── hadoopcluster/
│   │           │   │                               └── ui/
│   │           │   │                                   ├── dialog/
│   │           │   │                                   │   ├── HadoopClusterDelegate.java
│   │           │   │                                   │   ├── HadoopClusterDialog.java
│   │           │   │                                   │   └── wizard/
│   │           │   │                                   │       ├── NamedClusterDialog.java
│   │           │   │                                   │       ├── pages/
│   │           │   │                                   │       │   ├── ClusterSettingsPage.java
│   │           │   │                                   │       │   ├── KerberosSettingsPage.java
│   │           │   │                                   │       │   ├── KnoxSettingsPage.java
│   │           │   │                                   │       │   ├── ReportPage.java
│   │           │   │                                   │       │   ├── SecuritySettingsPage.java
│   │           │   │                                   │       │   └── TestResultsPage.java
│   │           │   │                                   │       └── util/
│   │           │   │                                   │           ├── BadSiteFilesException.java
│   │           │   │                                   │           ├── CustomWizardDialog.java
│   │           │   │                                   │           └── NamedClusterHelper.java
│   │           │   │                                   ├── endpoints/
│   │           │   │                                   │   ├── CachedFileItemStream.java
│   │           │   │                                   │   ├── Category.java
│   │           │   │                                   │   ├── HadoopClusterManager.java
│   │           │   │                                   │   ├── Test.java
│   │           │   │                                   │   └── TestCategory.java
│   │           │   │                                   ├── lifecycle/
│   │           │   │                                   │   └── HadoopClusterLifecycleListener.java
│   │           │   │                                   ├── model/
│   │           │   │                                   │   └── ThinNameClusterModel.java
│   │           │   │                                   └── tree/
│   │           │   │                                       ├── HadoopClusterPopupMenuExtension.java
│   │           │   │                                       ├── ThinHadoopClusterEditExtension.java
│   │           │   │                                       ├── ThinHadoopClusterFolderProvider.java
│   │           │   │                                       └── ThinHadoopClusterTreeDelegateExtension.java
│   │           │   └── resources/
│   │           │       ├── kettle-password-encoder-plugins.xml
│   │           │       └── org/
│   │           │           └── pentaho/
│   │           │               └── big/
│   │           │                   └── data/
│   │           │                       └── kettle/
│   │           │                           └── plugins/
│   │           │                               └── hadoopcluster/
│   │           │                                   └── ui/
│   │           │                                       ├── dialog/
│   │           │                                       │   ├── messages/
│   │           │                                       │   │   ├── messages.properties
│   │           │                                       │   │   └── messages_en_US.properties
│   │           │                                       │   └── wizard/
│   │           │                                       │       └── pages/
│   │           │                                       │           └── messages/
│   │           │                                       │               ├── messages.properties
│   │           │                                       │               └── messages_en_US.properties
│   │           │                                       ├── messages/
│   │           │                                       │   └── messages_en_US.properties
│   │           │                                       └── tree/
│   │           │                                           └── messages/
│   │           │                                               └── messages_en_US.properties
│   │           └── test/
│   │               ├── java/
│   │               │   └── org/
│   │               │       └── pentaho/
│   │               │           └── big/
│   │               │               └── data/
│   │               │                   └── kettle/
│   │               │                       └── plugins/
│   │               │                           └── hadoopcluster/
│   │               │                               └── ui/
│   │               │                                   └── endpoints/
│   │               │                                       └── HadoopClusterManagerTest.java
│   │               └── resources/
│   │                   ├── bad/
│   │                   │   └── core-site.xml
│   │                   ├── dataproc/
│   │                   │   ├── core-site.xml
│   │                   │   ├── hdfs-site.xml
│   │                   │   ├── hive-site.xml
│   │                   │   ├── mapred-site.xml
│   │                   │   └── yarn-site.xml
│   │                   ├── driver-source/
│   │                   │   └── driver.kar
│   │                   ├── keytab/
│   │                   │   └── test.keytab
│   │                   ├── missing-info/
│   │                   │   ├── core-site.xml
│   │                   │   ├── hive-site.xml
│   │                   │   ├── oozie-default.xml
│   │                   │   └── yarn-site.xml
│   │                   ├── secured/
│   │                   │   ├── core-site.xml
│   │                   │   ├── hive-site.xml
│   │                   │   └── yarn-site.xml
│   │                   └── unsecured/
│   │                       ├── core-site.xml
│   │                       ├── hive-site.xml
│   │                       ├── oozie-default.xml
│   │                       └── yarn-site.xml
│   ├── hbase/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── hbase/
│   │   │       │   │                               ├── FilterDefinition.java
│   │   │       │   │                               ├── HBaseConnectionException.java
│   │   │       │   │                               ├── HbaseUtil.java
│   │   │       │   │                               ├── MappingDefinition.java
│   │   │       │   │                               ├── NamedClusterLoadSaveUtil.java
│   │   │       │   │                               ├── ServiceStatus.java
│   │   │       │   │                               ├── input/
│   │   │       │   │                               │   ├── HBaseInput.java
│   │   │       │   │                               │   ├── HBaseInputData.java
│   │   │       │   │                               │   ├── HBaseInputDialog.java
│   │   │       │   │                               │   ├── HBaseInputMeta.java
│   │   │       │   │                               │   ├── Messages.java
│   │   │       │   │                               │   └── OutputFieldDefinition.java
│   │   │       │   │                               ├── mapping/
│   │   │       │   │                               │   ├── ConfigurationProducer.java
│   │   │       │   │                               │   ├── FieldProducer.java
│   │   │       │   │                               │   ├── HBaseRowToKettleTuple.java
│   │   │       │   │                               │   ├── MappingAdmin.java
│   │   │       │   │                               │   ├── MappingEditor.java
│   │   │       │   │                               │   └── MappingUtils.java
│   │   │       │   │                               ├── output/
│   │   │       │   │                               │   ├── HBaseOutput.java
│   │   │       │   │                               │   ├── HBaseOutputData.java
│   │   │       │   │                               │   ├── HBaseOutputDialog.java
│   │   │       │   │                               │   ├── HBaseOutputMeta.java
│   │   │       │   │                               │   ├── KettleRowToHBaseTuple.java
│   │   │       │   │                               │   └── Messages.java
│   │   │       │   │                               └── rowdecoder/
│   │   │       │   │                                   ├── HBaseRowDecoder.java
│   │   │       │   │                                   ├── HBaseRowDecoderData.java
│   │   │       │   │                                   ├── HBaseRowDecoderDialog.java
│   │   │       │   │                                   └── HBaseRowDecoderMeta.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── hbase/
│   │   │       │                                   ├── input/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       └── messages_en_US.properties
│   │   │       │                                   ├── mapping/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       └── messages_en_US.properties
│   │   │       │                                   ├── output/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       └── messages_en_US.properties
│   │   │       │                                   └── rowdecoder/
│   │   │       │                                       └── messages/
│   │   │       │                                           └── messages_en_US.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── hbase/
│   │   │           │                               ├── HbaseUtilTest.java
│   │   │           │                               ├── LogInjector.java
│   │   │           │                               ├── NamedClusterLoadSaveUtilTest.java
│   │   │           │                               ├── input/
│   │   │           │                               │   ├── HBaseInputMetaInjectionTest.java
│   │   │           │                               │   └── HBaseInputMetaTest.java
│   │   │           │                               ├── mapping/
│   │   │           │                               │   ├── MappingAdminTest.java
│   │   │           │                               │   ├── MappingUtilsTest.java
│   │   │           │                               │   └── MockHBaseByteConverterUsingJavaByteBuffer.java
│   │   │           │                               ├── output/
│   │   │           │                               │   ├── HBaseOutputMetaInjectionTest.java
│   │   │           │                               │   ├── HBaseOutputMetaTest.java
│   │   │           │                               │   └── KettleRowToHBaseTupleTest.java
│   │   │           │                               └── rowdecoder/
│   │   │           │                                   ├── HBaseRowDecoderMetaInjectionTest.java
│   │   │           │                                   └── HBaseRowDecoderMetaTest.java
│   │   │           └── resources/
│   │   │               └── StubMapping.xml
│   │   └── pom.xml
│   ├── hbase-meta/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   └── java/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── kettle/
│   │       │                           └── plugins/
│   │       │                               └── hbase/
│   │       │                                   └── meta/
│   │       │                                       ├── AELHBaseMappingImpl.java
│   │       │                                       └── AELHBaseValueMetaImpl.java
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── kettle/
│   │           │                       └── plugins/
│   │           │                           └── hbase/
│   │           │                               └── meta/
│   │           │                                   ├── AELHBaseMappingTest.java
│   │           │                                   └── AELHBaseValueMetaTest.java
│   │           └── resources/
│   │               └── StubMapping.xml
│   ├── hdfs/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── hdfs/
│   │   │       │   │                               ├── HdfsLifecycleListener.java
│   │   │       │   │                               ├── job/
│   │   │       │   │                               │   ├── JobEntryHadoopCopyFiles.java
│   │   │       │   │                               │   └── JobEntryHadoopCopyFilesDialog.java
│   │   │       │   │                               ├── trans/
│   │   │       │   │                               │   ├── HadoopFileInputDialog.java
│   │   │       │   │                               │   ├── HadoopFileInputMeta.java
│   │   │       │   │                               │   ├── HadoopFileMeta.java
│   │   │       │   │                               │   ├── HadoopFileOutputDialog.java
│   │   │       │   │                               │   ├── HadoopFileOutputMeta.java
│   │   │       │   │                               │   ├── HadoopInputFileSelectionAdapter.java
│   │   │       │   │                               │   └── analyzer/
│   │   │       │   │                               │       ├── HadoopBaseStepAnalyzer.java
│   │   │       │   │                               │       ├── HadoopFileInputExternalResourceConsumer.java
│   │   │       │   │                               │       ├── HadoopFileInputStepAnalyzer.java
│   │   │       │   │                               │       ├── HadoopFileOutputExternalResourceConsumer.java
│   │   │       │   │                               │       └── HadoopFileOutputStepAnalyzer.java
│   │   │       │   │                               └── vfs/
│   │   │       │   │                                   ├── HadoopVfsConnection.java
│   │   │       │   │                                   ├── HadoopVfsFileChooserDialog.java
│   │   │       │   │                                   ├── MapRFSFileChooserDialog.java
│   │   │       │   │                                   ├── NamedClusterVfsFileChooserDialog.java
│   │   │       │   │                                   └── Schemes.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       ├── graph.properties
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── hdfs/
│   │   │       │                                   ├── job/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       ├── messages_en_US.properties
│   │   │       │                                   │       └── messages_ko_KR.properties
│   │   │       │                                   ├── trans/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       ├── messages_en_US.properties
│   │   │       │                                   │       └── messages_ko_KR.properties
│   │   │       │                                   └── vfs/
│   │   │       │                                       └── messages/
│   │   │       │                                           ├── messages_en_US.properties
│   │   │       │                                           └── messages_ko_KR.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── hdfs/
│   │   │           │                               ├── job/
│   │   │           │                               │   ├── JobEntryHadoopCopyFilesLoadSaveTest.java
│   │   │           │                               │   └── JobEntryHadoopCopyFilesTest.java
│   │   │           │                               ├── trans/
│   │   │           │                               │   ├── HadoopFileInputDialogTest.java
│   │   │           │                               │   ├── HadoopFileInputMetaTest.java
│   │   │           │                               │   ├── HadoopFileOutputDialogTest.java
│   │   │           │                               │   ├── HadoopFileOutputMetaTest.java
│   │   │           │                               │   └── analyzer/
│   │   │           │                               │       ├── HadoopBaseStepAnalyzerTest.java
│   │   │           │                               │       ├── HadoopFileInputStepAnalyzerTest.java
│   │   │           │                               │       └── HadoopFileOutputStepAnalyzerTest.java
│   │   │           │                               └── vfs/
│   │   │           │                                   ├── HadoopVfsConnectionTest.java
│   │   │           │                                   └── HadoopVfsFileChooserDialogTest.java
│   │   │           └── resources/
│   │   │               ├── graph.properties
│   │   │               ├── sample-hadoop-file-input-step.xml
│   │   │               └── sample-hadoop-file-output-step.xml
│   │   └── pom.xml
│   ├── hive/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   └── java/
│   │   │       │       └── org/
│   │   │       │           ├── apache/
│   │   │       │           │   ├── hadoop/
│   │   │       │           │   │   └── hive/
│   │   │       │           │   │       └── jdbc/
│   │   │       │           │   │           └── HiveDriver.java
│   │   │       │           │   └── hive/
│   │   │       │           │       └── jdbc/
│   │   │       │           │           ├── HiveDriver.java
│   │   │       │           │           ├── HiveSimbaDriver.java
│   │   │       │           │           ├── ImpalaDriver.java
│   │   │       │           │           ├── ImpalaSimbaDriver.java
│   │   │       │           │           └── SparkSqlSimbaDriver.java
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── hive/
│   │   │       │                                   ├── Activator.java
│   │   │       │                                   ├── BaseSimbaDatabaseMeta.java
│   │   │       │                                   ├── DatabaseMetaWithVersion.java
│   │   │       │                                   ├── DummyDriver.java
│   │   │       │                                   ├── Hive2DatabaseDialect.java
│   │   │       │                                   ├── Hive2DatabaseMeta.java
│   │   │       │                                   ├── Hive2SimbaDatabaseDialect.java
│   │   │       │                                   ├── Hive2SimbaDatabaseMeta.java
│   │   │       │                                   ├── HiveDatabaseDialect.java
│   │   │       │                                   ├── HiveDatabaseMeta.java
│   │   │       │                                   ├── HiveWarehouseDatabaseMeta.java
│   │   │       │                                   ├── ImpalaDatabaseDialect.java
│   │   │       │                                   ├── ImpalaDatabaseMeta.java
│   │   │       │                                   ├── ImpalaSimbaDatabaseDialect.java
│   │   │       │                                   ├── ImpalaSimbaDatabaseMeta.java
│   │   │       │                                   ├── SimbaUrl.java
│   │   │       │                                   ├── SparkSimbaDatabaseDialect.java
│   │   │       │                                   └── SparkSimbaDatabaseMeta.java
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   ├── apache/
│   │   │                   │   ├── hadoop/
│   │   │                   │   │   └── hive/
│   │   │                   │   │       └── jdbc/
│   │   │                   │   │           └── HiveDriverTest.java
│   │   │                   │   └── hive/
│   │   │                   │       └── jdbc/
│   │   │                   │           ├── HiveDriverTest.java
│   │   │                   │           ├── HiveSimbaDriverTest.java
│   │   │                   │           ├── ImpalaDriverTest.java
│   │   │                   │           └── ImpalaSimbaDriverTest.java
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── hive/
│   │   │                                           ├── BaseSimbaDatabaseMetaTest.java
│   │   │                                           ├── Hive2DatabaseDialectTest.java
│   │   │                                           ├── Hive2DatabaseMetaTest.java
│   │   │                                           ├── Hive2SimbaDatabaseDialectTest.java
│   │   │                                           ├── Hive2SimbaDatabaseMetaTest.java
│   │   │                                           ├── HiveDatabaseDialectTest.java
│   │   │                                           ├── HiveDatabaseMetaTest.java
│   │   │                                           ├── ImpalaDatabaseDialectTest.java
│   │   │                                           ├── ImpalaDatabaseMetaTest.java
│   │   │                                           ├── ImpalaSimbaDatabaseDialectTest.java
│   │   │                                           ├── ImpalaSimbaDatabaseMetaTest.java
│   │   │                                           ├── SimbaUrlTest.java
│   │   │                                           ├── SparkSimbaDatabaseDialectTest.java
│   │   │                                           └── SparkSimbaDatabaseMetaTest.java
│   │   └── pom.xml
│   ├── mapreduce/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── mapreduce/
│   │   │       │   │                               ├── DialogClassUtil.java
│   │   │       │   │                               ├── entry/
│   │   │       │   │                               │   ├── NamedClusterLoadSaveUtil.java
│   │   │       │   │                               │   ├── UserDefinedItem.java
│   │   │       │   │                               │   ├── hadoop/
│   │   │       │   │                               │   │   └── JobEntryHadoopJobExecutor.java
│   │   │       │   │                               │   └── pmr/
│   │   │       │   │                               │       └── JobEntryHadoopTransJobExecutor.java
│   │   │       │   │                               ├── step/
│   │   │       │   │                               │   ├── enter/
│   │   │       │   │                               │   │   └── HadoopEnterMeta.java
│   │   │       │   │                               │   └── exit/
│   │   │       │   │                               │       ├── HadoopExit.java
│   │   │       │   │                               │       ├── HadoopExitData.java
│   │   │       │   │                               │       └── HadoopExitMeta.java
│   │   │       │   │                               └── ui/
│   │   │       │   │                                   ├── entry/
│   │   │       │   │                                   │   ├── hadoop/
│   │   │       │   │                                   │   │   ├── JobEntryHadoopJobExecutorController.java
│   │   │       │   │                                   │   │   └── JobEntryHadoopJobExecutorDialog.java
│   │   │       │   │                                   │   └── pmr/
│   │   │       │   │                                   │       ├── JobEntryHadoopTransJobExecutorController.java
│   │   │       │   │                                   │       └── JobEntryHadoopTransJobExecutorDialog.java
│   │   │       │   │                                   └── step/
│   │   │       │   │                                       ├── enter/
│   │   │       │   │                                       │   ├── HadoopEnterDialog.java
│   │   │       │   │                                       │   └── HadoopEnterMetaMapper.java
│   │   │       │   │                                       └── exit/
│   │   │       │   │                                           ├── HadoopExitDialog.java
│   │   │       │   │                                           └── HadoopExitMetaMapper.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── mapreduce/
│   │   │       │                                   ├── entry/
│   │   │       │                                   │   ├── hadoop/
│   │   │       │                                   │   │   └── messages/
│   │   │       │                                   │   │       ├── messages_en_US.properties
│   │   │       │                                   │   │       └── messages_ko_KR.properties
│   │   │       │                                   │   └── pmr/
│   │   │       │                                   │       └── messages/
│   │   │       │                                   │           └── messages_en_US.properties
│   │   │       │                                   ├── step/
│   │   │       │                                   │   ├── enter/
│   │   │       │                                   │   │   └── messages/
│   │   │       │                                   │   │       └── messages_en_US.properties
│   │   │       │                                   │   └── exit/
│   │   │       │                                   │       └── messages/
│   │   │       │                                   │           └── messages_en_US.properties
│   │   │       │                                   └── ui/
│   │   │       │                                       ├── entry/
│   │   │       │                                       │   ├── JobEntryHadoopJobExecutorDialog.xul
│   │   │       │                                       │   └── JobEntryHadoopTransJobExecutorDialog.xul
│   │   │       │                                       └── step/
│   │   │       │                                           ├── enter/
│   │   │       │                                           │   └── dialog.xul
│   │   │       │                                           └── exit/
│   │   │       │                                               └── dialog.xul
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── mapreduce/
│   │   │           │                               ├── DialogClassUtilTest.java
│   │   │           │                               ├── JobEntryHadoopTransJobExecutorTest.java
│   │   │           │                               ├── entry/
│   │   │           │                               │   ├── NamedClusterLoadSaveUtilTest.java
│   │   │           │                               │   ├── UserDefinedItemTest.java
│   │   │           │                               │   ├── hadoop/
│   │   │           │                               │   │   └── JobEntryHadoopJobExecutorTest.java
│   │   │           │                               │   └── pmr/
│   │   │           │                               │       └── JobEntryHadoopTransJobExecutorTest.java
│   │   │           │                               ├── step/
│   │   │           │                               │   ├── HadoopExitMetaTest.java
│   │   │           │                               │   ├── enter/
│   │   │           │                               │   │   ├── HadoopEnterMetaInjectionTest.java
│   │   │           │                               │   │   └── HadoopEnterMetaTest.java
│   │   │           │                               │   └── exit/
│   │   │           │                               │       ├── HadoopExitDataTest.java
│   │   │           │                               │       ├── HadoopExitMetaInjectionTest.java
│   │   │           │                               │       ├── HadoopExitMetaTest.java
│   │   │           │                               │       └── HadoopExitTest.java
│   │   │           │                               └── ui/
│   │   │           │                                   └── entry/
│   │   │           │                                       └── pmr/
│   │   │           │                                           └── JobEntryHadoopTransJobExecutorControllerTest.java
│   │   │           └── resources/
│   │   │               └── testTrans.ktr
│   │   └── pom.xml
│   ├── oozie/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── oozie/
│   │   │       │   │                               ├── OozieJobExecutorConfig.java
│   │   │       │   │                               ├── OozieJobExecutorJobEntry.java
│   │   │       │   │                               ├── OozieJobExecutorJobEntryController.java
│   │   │       │   │                               └── OozieJobExecutorJobEntryDialog.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── oozie/
│   │   │       │                                   ├── messages/
│   │   │       │                                   │   └── messages_en_US.properties
│   │   │       │                                   └── xul/
│   │   │       │                                       ├── OozieJobExecutor.xul
│   │   │       │                                       └── button-bar.xul
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── oozie/
│   │   │           │                               ├── OozieJobExecutorConfigTest.java
│   │   │           │                               ├── OozieJobExecutorControllerTest.java
│   │   │           │                               └── OozieJobExecutorJobEntryTest.java
│   │   │           └── resources/
│   │   │               ├── badJob.properties
│   │   │               └── job.properties
│   │   └── pom.xml
│   ├── pig/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── pig/
│   │   │       │   │                               ├── JobEntryPigScriptExecutor.java
│   │   │       │   │                               └── JobEntryPigScriptExecutorDialog.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── pig/
│   │   │       │                                   └── messages/
│   │   │       │                                       └── messages_en_US.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── pig/
│   │   │           │                               ├── JobEntryPigScriptExecutorTest.java
│   │   │           │                               └── PigNamedClusterValidator.java
│   │   │           └── resources/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── pig/
│   │   │                                           └── pig.script
│   │   └── pom.xml
│   ├── pom.xml
│   ├── spark/
│   │   ├── README.md
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── di/
│   │   │       │   │               ├── job/
│   │   │       │   │               │   └── entries/
│   │   │       │   │               │       └── spark/
│   │   │       │   │               │           ├── JobEntrySparkSubmit.java
│   │   │       │   │               │           ├── JobEntrySparkSubmitAnalyzer.java
│   │   │       │   │               │           ├── PatternMatchingStreamLogger.java
│   │   │       │   │               │           └── WinProcess.java
│   │   │       │   │               └── ui/
│   │   │       │   │                   └── job/
│   │   │       │   │                       └── entries/
│   │   │       │   │                           └── spark/
│   │   │       │   │                               └── JobEntrySparkSubmitDialog.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── di/
│   │   │       │                   └── job/
│   │   │       │                       └── entries/
│   │   │       │                           └── spark/
│   │   │       │                               └── messages/
│   │   │       │                                   └── messages_en_US.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── di/
│   │   │           │               └── job/
│   │   │           │                   └── entries/
│   │   │           │                       └── spark/
│   │   │           │                           ├── JobEntrySparkSubmitLoadSaveTest.java
│   │   │           │                           ├── JobEntrySparkSubmitTest.java
│   │   │           │                           ├── PatternMatchingStreamLoggerTest.java
│   │   │           │                           └── WinProcessTest.java
│   │   │           └── resources/
│   │   │               ├── ChildProcessTester.java
│   │   │               └── process.cmd
│   │   └── pom.xml
│   └── sqoop/
│       ├── assemblies/
│       │   ├── plugin/
│       │   │   ├── pom.xml
│       │   │   └── src/
│       │   │       ├── assembly/
│       │   │       │   └── assembly.xml
│       │   │       └── main/
│       │   │           └── resources/
│       │   │               └── version.xml
│       │   └── pom.xml
│       ├── core/
│       │   ├── pom.xml
│       │   └── src/
│       │       ├── main/
│       │       │   ├── java/
│       │       │   │   └── org/
│       │       │   │       └── pentaho/
│       │       │   │           └── big/
│       │       │   │               └── data/
│       │       │   │                   └── kettle/
│       │       │   │                       └── plugins/
│       │       │   │                           └── sqoop/
│       │       │   │                               ├── AbstractSqoopJobEntry.java
│       │       │   │                               ├── ArgumentWrapper.java
│       │       │   │                               ├── CommandLineArgument.java
│       │       │   │                               ├── DatabaseItem.java
│       │       │   │                               ├── LoggingProxy.java
│       │       │   │                               ├── SqoopConfig.java
│       │       │   │                               ├── SqoopExportConfig.java
│       │       │   │                               ├── SqoopExportJobEntry.java
│       │       │   │                               ├── SqoopExportJobEntryDialog.java
│       │       │   │                               ├── SqoopImportConfig.java
│       │       │   │                               ├── SqoopImportJobEntry.java
│       │       │   │                               ├── SqoopImportJobEntryDialog.java
│       │       │   │                               ├── SqoopLog4jFilter.java
│       │       │   │                               ├── SqoopUtils.java
│       │       │   │                               └── ui/
│       │       │   │                                   ├── AbstractSqoopJobEntryController.java
│       │       │   │                                   ├── AbstractSqoopJobEntryDialog.java
│       │       │   │                                   ├── SqoopExportJobEntryController.java
│       │       │   │                                   └── SqoopImportJobEntryController.java
│       │       │   └── resources/
│       │       │       └── org/
│       │       │           └── pentaho/
│       │       │               └── big/
│       │       │                   └── data/
│       │       │                       └── kettle/
│       │       │                           └── plugins/
│       │       │                               └── sqoop/
│       │       │                                   ├── messages/
│       │       │                                   │   └── messages_en_US.properties
│       │       │                                   └── xul/
│       │       │                                       ├── SqoopExportJobEntry.xul
│       │       │                                       ├── SqoopImportJobEntry.xul
│       │       │                                       ├── advanced-mode.xul
│       │       │                                       └── button-bar.xul
│       │       └── test/
│       │           └── java/
│       │               └── org/
│       │                   └── pentaho/
│       │                       └── big/
│       │                           └── data/
│       │                               └── kettle/
│       │                                   └── plugins/
│       │                                       └── sqoop/
│       │                                           ├── AbstractSqoopJobEntryTest.java
│       │                                           ├── PersistentPropertyChangeListener.java
│       │                                           ├── PropertyFiringObjectTest.java
│       │                                           ├── SqoopConfigTest.java
│       │                                           ├── SqoopLog4jFilterTest.java
│       │                                           └── util/
│       │                                               └── MockitoAutoBean.java
│       └── pom.xml
├── legacy/
│   ├── pom.xml
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── org/
│       │   │       └── pentaho/
│       │   │           ├── di/
│       │   │           │   ├── core/
│       │   │           │   │   └── hadoop/
│       │   │           │   │       ├── HadoopConfigurationInfo.java
│       │   │           │   │       ├── HadoopConfigurationPrompter.java
│       │   │           │   │       ├── HadoopSpoonPlugin.java
│       │   │           │   │       ├── NoShimSpecifiedException.java
│       │   │           │   │       └── SpoonExtensionPoint.java
│       │   │           │   ├── trans/
│       │   │           │   │   └── steps/
│       │   │           │   │       ├── avroinput/
│       │   │           │   │       │   ├── AvroInput.java
│       │   │           │   │       │   ├── AvroInputData.java
│       │   │           │   │       │   ├── AvroInputDialog.java
│       │   │           │   │       │   └── AvroInputMeta.java
│       │   │           │   │       └── couchdbinput/
│       │   │           │   │           ├── CouchDbInput.java
│       │   │           │   │           ├── CouchDbInputData.java
│       │   │           │   │           └── CouchDbInputMeta.java
│       │   │           │   └── ui/
│       │   │           │       ├── core/
│       │   │           │       │   └── namedcluster/
│       │   │           │       │       ├── HadoopClusterDelegate.java
│       │   │           │       │       ├── NamedClusterDialog.java
│       │   │           │       │       ├── NamedClusterUIFactory.java
│       │   │           │       │       ├── NamedClusterUIHelper.java
│       │   │           │       │       └── NamedClusterWidget.java
│       │   │           │       ├── job/
│       │   │           │       │   └── entries/
│       │   │           │       │       └── hadoopjobexecutor/
│       │   │           │       │           └── UserDefinedItem.java
│       │   │           │       ├── repository/
│       │   │           │       │   └── repositoryexplorer/
│       │   │           │       │       ├── controllers/
│       │   │           │       │       │   └── NamedClustersController.java
│       │   │           │       │       └── model/
│       │   │           │       │           ├── UINamedCluster.java
│       │   │           │       │           ├── UINamedClusterObjectRegistry.java
│       │   │           │       │           └── UINamedClusters.java
│       │   │           │       ├── trans/
│       │   │           │       │   └── steps/
│       │   │           │       │       └── couchdbinput/
│       │   │           │       │           └── CouchDbInputDialog.java
│       │   │           │       └── vfs/
│       │   │           │           └── VfsFileChooserHelper.java
│       │   │           └── hadoop/
│       │   │               ├── PluginPropertiesUtil.java
│       │   │               └── PropertiesConfigurationProperties.java
│       │   └── resources/
│       │       ├── META-INF/
│       │       │   └── version.properties
│       │       └── org/
│       │           └── pentaho/
│       │               ├── di/
│       │               │   ├── core/
│       │               │   │   └── hadoop/
│       │               │   │       ├── explorer-layout-overlay.xul
│       │               │   │       └── messages/
│       │               │   │           └── messages_en_US.properties
│       │               │   ├── trans/
│       │               │   │   └── steps/
│       │               │   │       ├── avroinput/
│       │               │   │       │   └── messages/
│       │               │   │       │       └── messages_en_US.properties
│       │               │   │       └── couchdbinput/
│       │               │   │           └── messages/
│       │               │   │               └── messages_en_US.properties
│       │               │   └── ui/
│       │               │       ├── core/
│       │               │       │   └── namedcluster/
│       │               │       │       └── dialog/
│       │               │       │           └── messages/
│       │               │       │               └── messages_en_US.properties
│       │               │       └── hadoop/
│       │               │           └── configuration/
│       │               │               ├── messages/
│       │               │               │   └── messages_en_US.properties
│       │               │               ├── no-configs.xul
│       │               │               ├── restart-prompt.xul
│       │               │               ├── select-config.xul
│       │               │               └── toolbar-overlay.xul
│       │               └── hadoop/
│       │                   └── messages/
│       │                       └── messages_en_US.properties
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── pentaho/
│           │           ├── database/
│           │           │   └── TestSelectCount.java
│           │           ├── di/
│           │           │   ├── core/
│           │           │   │   └── hadoop/
│           │           │   │       └── HadoopConfigurationInfoTest.java
│           │           │   ├── trans/
│           │           │   │   └── steps/
│           │           │   │       ├── avroinput/
│           │           │   │       │   ├── AvroInputDataTest.java
│           │           │   │       │   ├── AvroInputMetaAvroFieldTest.java
│           │           │   │       │   ├── AvroInputMetaLookupFieldTest.java
│           │           │   │       │   ├── AvroInputMetaTest.java
│           │           │   │       │   └── AvroInputTest.java
│           │           │   │       └── couchdbinput/
│           │           │   │           ├── CouchDbInputMetaTest.java
│           │           │   │           └── CouchDbInputTest.java
│           │           │   └── ui/
│           │           │       ├── core/
│           │           │       │   └── namedcluster/
│           │           │       │       └── NamedClusterUIHelperTest.java
│           │           │       └── vfs/
│           │           │           └── VfsFileChooserHelperTest.java
│           │           ├── hadoop/
│           │           │   ├── PluginPropertiesUtilTest.java
│           │           │   └── PropertiesConfigurationPropertiesTest.java
│           │           ├── util/
│           │           │   └── FileUtil.java
│           │           └── weblogs/
│           │               └── WebLogs.java
│           └── resources/
│               ├── hadoop-configurations/
│               │   └── .gitignore
│               ├── master.log
│               ├── plugin.properties
│               ├── s3OutputMetaTest.ktr
│               ├── test-settings.properties
│               ├── test-version.properties
│               └── test.ktr
├── legacy-amazon/
│   ├── assemblies/
│   │   ├── plugin/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── assembly/
│   │   │       │   └── assembly.xml
│   │   │       └── main/
│   │   │           └── resources/
│   │   │               └── version.xml
│   │   └── pom.xml
│   ├── core/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── amazon/
│   │       │   │               ├── AbstractAmazonJobEntry.java
│   │       │   │               ├── AbstractAmazonJobEntryDialog.java
│   │       │   │               ├── AbstractAmazonJobExecutor.java
│   │       │   │               ├── AbstractAmazonJobExecutorController.java
│   │       │   │               ├── AmazonEmrReleases.java
│   │       │   │               ├── AmazonRegion.java
│   │       │   │               ├── InstanceType.java
│   │       │   │               ├── client/
│   │       │   │               │   ├── AbstractClientFactory.java
│   │       │   │               │   ├── AmazonClientCredentials.java
│   │       │   │               │   ├── ClientFactoriesManager.java
│   │       │   │               │   ├── ClientType.java
│   │       │   │               │   ├── api/
│   │       │   │               │   │   ├── AimClient.java
│   │       │   │               │   │   ├── Ec2Client.java
│   │       │   │               │   │   ├── EmrClient.java
│   │       │   │               │   │   ├── PricingClient.java
│   │       │   │               │   │   └── S3Client.java
│   │       │   │               │   └── impl/
│   │       │   │               │       ├── AimClientFactory.java
│   │       │   │               │       ├── AimClientImpl.java
│   │       │   │               │       ├── Ec2ClientFactory.java
│   │       │   │               │       ├── Ec2ClientImpl.java
│   │       │   │               │       ├── EmrClientFactory.java
│   │       │   │               │       ├── EmrClientImpl.java
│   │       │   │               │       ├── PricingClientFactory.java
│   │       │   │               │       ├── PricingClientImpl.java
│   │       │   │               │       ├── S3ClientFactory.java
│   │       │   │               │       └── S3ClientImpl.java
│   │       │   │               ├── emr/
│   │       │   │               │   ├── job/
│   │       │   │               │   │   └── AmazonElasticMapReduceJobExecutor.java
│   │       │   │               │   └── ui/
│   │       │   │               │       ├── AmazonElasticMapReduceJobExecutorController.java
│   │       │   │               │       └── AmazonElasticMapReduceJobExecutorDialog.java
│   │       │   │               ├── hive/
│   │       │   │               │   ├── job/
│   │       │   │               │   │   └── AmazonHiveJobExecutor.java
│   │       │   │               │   └── ui/
│   │       │   │               │       ├── AmazonHiveJobExecutorController.java
│   │       │   │               │       └── AmazonHiveJobExecutorDialog.java
│   │       │   │               └── s3/
│   │       │   │                   ├── S3VfsFileChooserHelper.java
│   │       │   │                   └── VfsFileChooserHelper.java
│   │       │   └── resources/
│   │       │       ├── META-INF/
│   │       │       │   └── version.properties
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── amazon/
│   │       │                   ├── emr/
│   │       │                   │   ├── job/
│   │       │                   │   │   └── messages/
│   │       │                   │   │       └── messages_en_US.properties
│   │       │                   │   └── ui/
│   │       │                   │       └── AmazonElasticMapReduceJobExecutorDialog.xul
│   │       │                   ├── hive/
│   │       │                   │   ├── job/
│   │       │                   │   │   └── messages/
│   │       │                   │   │       └── messages_en_US.properties
│   │       │                   │   └── ui/
│   │       │                   │       └── AmazonHiveJobExecutorDialog.xul
│   │       │                   └── messages/
│   │       │                       └── messages_en_US.properties
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── amazon/
│   │           │               ├── AbstractAmazonJobExecutorControllerTest.java
│   │           │               ├── AbstractAmazonJobExecutorTest.java
│   │           │               ├── AmazonRegionTest.java
│   │           │               ├── InstanceTypeTest.java
│   │           │               ├── PersistentPropertyChangeListener.java
│   │           │               ├── PropertyFiringObjectTest.java
│   │           │               ├── client/
│   │           │               │   ├── AmazonClientCredentialsTest.java
│   │           │               │   ├── ClientFactoriesManagerTest.java
│   │           │               │   └── impl/
│   │           │               │       ├── AimClientImplTest.java
│   │           │               │       ├── Ec2ClientFactoryTest.java
│   │           │               │       ├── Ec2ClientImplTest.java
│   │           │               │       ├── EmrClientImplTest.java
│   │           │               │       ├── PricingClientImplTest.java
│   │           │               │       └── S3ClientImplTest.java
│   │           │               ├── emr/
│   │           │               │   └── job/
│   │           │               │       └── AmazonElasticMapReduceJobExecutorLoadSaveTest.java
│   │           │               └── hive/
│   │           │                   └── job/
│   │           │                       └── AmazonHiveJobExecutorLoadSaveTest.java
│   │           └── resources/
│   │               └── master.log
│   └── pom.xml
├── legacy-core/
│   ├── pom.xml
│   └── src/
│       └── main/
│           └── java/
│               └── org/
│                   └── pentaho/
│                       └── big/
│                           └── data/
│                               └── api/
│                                   └── services/
│                                       └── BigDataServicesHelper.java
├── pom.xml
└── services-bootstrap/
    ├── pom.xml
    └── src/
        ├── main/
        │   └── java/
        │       └── org/
        │           └── pentaho/
        │               └── big/
        │                   └── data/
        │                       ├── api/
        │                       │   └── services/
        │                       │       └── impl/
        │                       │           └── BigDataServicesProxyImpl.java
        │                       ├── hadoop/
        │                       │   └── bootstrap/
        │                       │       ├── HadoopConfigurationBootstrap.java
        │                       │       └── HadoopConfigurationListener.java
        │                       └── services/
        │                           └── bootstrap/
        │                               ├── BigDataCEServiceInitializerImpl.java
        │                               ├── BigDataLogConfig.java
        │                               └── BigDataPluginLifecycleListener.java
        └── test/
            └── java/
                └── org/
                    └── pentaho/
                        └── big/
                            └── data/
                                └── services/
                                    └── bootstrap/
                                        ├── BigDataCEServiceInitializerImplTest.java
                                        └── BigDataLogConfigTest.java

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto



================================================
FILE: .github/CODEOWNERS
================================================
* @pentaho/sp-branch-write

================================================
FILE: .gitignore
================================================
bin/
dist/
lib/
lib-provided/
stage-pmr/
test-lib/
eclipse-bin/
override.properties
.settings/
.classpath
.project
/dev-lib
/pdi-null
/legacy/pdi-null
/pdi-bin
*.iml
.idea/
.vscode/
target/
rebel.xml
.DS_Store


================================================
FILE: LICENSE.txt
================================================
Pentaho Developer Edition 10.3 Copyright 2024 Hitachi Vantara, LLC; licensed under the 
Business Source License 1.1 (BSL). This project may include third party components that
are individually licensed per the terms indicated by their respective copyright owners
included in text file or in the source code. 

License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved.
"Business Source License" is a trademark of MariaDB Corporation Ab.

Parameters

Licensor:             Hitachi Vantara, LLC.
Licensed Work:        Pentaho Developer Edition 10.3. The Licensed Work is (c) 2024
                      Hitachi Vantara, LLC.
Additional Use Grant: None
Change Date:          Four years from the date the Licensed Work is published.
Change License:       Apache 2.0

For information about alternative licensing arrangements for the Licensed Work,
please contact support@pentaho.com.

Notice

Business Source License 1.1

Terms

The Licensor hereby grants you the right to copy, modify, create derivative
works, redistribute, and make non-production use of the Licensed Work. The
Licensor may make an Additional Use Grant, above, permitting limited production use.

Effective on the Change Date, or the fourth anniversary of the first publicly
available distribution of a specific version of the Licensed Work under this
License, whichever comes first, the Licensor hereby grants you rights under
the terms of the Change License, and the rights granted in the paragraph
above terminate.

If your use of the Licensed Work does not comply with the requirements
currently in effect as described in this License, you must purchase a
commercial license from the Licensor, its affiliated entities, or authorized
resellers, or you must refrain from using the Licensed Work.

All copies of the original and modified Licensed Work, and derivative works
of the Licensed Work, are subject to this License. This License applies
separately for each version of the Licensed Work and the Change Date may vary
for each version of the Licensed Work released by Licensor.

You must conspicuously display this License on each original or modified copy
of the Licensed Work. If you receive the Licensed Work in original or
modified form from a third party, the terms and conditions set forth in this
License apply to your use of that work.

Any use of the Licensed Work in violation of this License will automatically
terminate your rights under this License for the current and all other
versions of the Licensed Work.

This License does not grant you any right in any trademark or logo of
Licensor or its affiliates (provided that you may use a trademark or logo of
Licensor as expressly required by this License).

TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND TITLE.

================================================
FILE: README.markdown
================================================
Pentaho Big Data Plugin
=======================

The Pentaho Big Data Plugin Project provides support for an ever-expanding Big Data community within the Pentaho ecosystem. It is a plugin for the Pentaho Kettle engine which can be used within Pentaho Data Integration (Kettle), Pentaho Reporting, and the Pentaho BI Platform.

Building
--------
It's a maven build, so `mvn clean install` is a typical default for a local build.

Pre-requisites
---------------
JDK 11 in your path.
Maven 3.3.9 in your path.
This [settings.xml](https://raw.githubusercontent.com/pentaho/maven-parent-poms/master/maven-support-files/settings.xml)

How to use the custom settings.xml
---------------
Option 1: Copy this file into your <user-home>/.m2 folder and name it "settings.xml". 
Warning: If you do this, it will become your default settings.xml for all maven builds.

Option 2: Copy this file into some other folder--possibly the project folder for the project you want to build and use the maven 's' option to build with this settings.xml file. Example: `mvn -s public-settings.xml install`.

The Pentaho profile defaults to pull all artifacts through the Pentaho public repository. 
If you want to try resolving maven plugin dependencies through the maven central repository instead of the Pentaho public repository, activate the "central" profile like this:

`mvn -s -public-settings.xml -P central install`


If your fails to resolve the jacoco-maven-plugin version 0.7.7-SNAPSHOT
---------------
The 0.7.7-SNAPSHOT property version for the jacoco-maven-plugin is defined in several releases of the Pentaho parent poms, but it is only available in the Pentaho artifact repositories. If you are trying to resolve through maven central or other public repositories you should override to get the latest version like this:

`mvn -s -public-settings.xml -P central install -Djacoco-maven-plugin.version=0.7.7.201606060606`

Further Reading
---------------
Additional documentation is available on the Community wiki: [Big Data Plugin for Java Developers](https://pentaho-community.atlassian.net/wiki/display/BAD/Getting+Started+for+Java+Developers)

License
-------
Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.


================================================
FILE: api/pom.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>pentaho</groupId>
    <artifactId>pentaho-big-data-parent</artifactId>
    <version>11.1.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>pentaho-big-data-api</artifactId>
  <version>11.1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
    <module>runtimeTest</module>
  </modules>
</project>


================================================
FILE: api/runtimeTest/pom.xml
================================================
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>pentaho</groupId>
    <artifactId>pentaho-big-data-api</artifactId>
    <version>11.1.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>pentaho-big-data-api-runtimeTest</artifactId>
  <version>11.1.0.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>Pentaho Community Edition Project: ${project.artifactId}</name>
  <description>a Pentaho open source project</description>
  <url>http://www.pentaho.com</url>
  <properties>
    <publish-sonar-phase>site</publish-sonar-phase>
    <mockito-core.version>5.17.0</mockito-core.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>pentaho-kettle</groupId>
      <artifactId>kettle-core</artifactId>
      <version>${pdi.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${dependency.junit.revision}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>${mockito-core.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-impl-cluster</artifactId>
      <version>${pdi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho</groupId>
      <artifactId>shim-api-core</artifactId>
      <version>${pdi.version}</version>
    </dependency>
      <dependency>
          <groupId>org.apache.logging.log4j</groupId>
          <artifactId>log4j-1.2-api</artifactId>
          <version>${log4j.version}</version>
      </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;

import org.pentaho.runtime.test.result.RuntimeTestResultSummary;

import java.util.Set;

/**
 * Created by bryan on 8/11/15.
 */
public interface RuntimeTest {
  boolean accepts( Object objectUnderTest );

  String getModule();

  String getId();

  String getName();

  boolean isConfigInitTest();

  Set<String> getDependencies();

  RuntimeTestResultSummary runTest( Object objectUnderTest );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTestProgressCallback.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;

/**
 * Created by bryan on 8/11/15.
 */
public interface RuntimeTestProgressCallback {
  void onProgress( RuntimeTestStatus runtimeTestStatus );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTestStatus.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;

import org.pentaho.runtime.test.module.RuntimeTestModuleResults;

import java.util.List;

/**
 * Created by bryan on 8/18/15.
 */
public interface RuntimeTestStatus {
  List<RuntimeTestModuleResults> getModuleResults();

  int getTestsDone();

  int getTestsRunning();

  int getTestsOutstanding();

  boolean isDone();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTester.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;

/**
 * Created by bryan on 8/11/15.
 */
public interface RuntimeTester {
  void runtimeTest( Object objectUnderTest, RuntimeTestProgressCallback runtimeTestProgressCallback );
  void addRuntimeTest( RuntimeTest test );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestAction.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action;

import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

/**
 * Created by bryan on 9/8/15.
 */
public interface RuntimeTestAction {
  String getName();
  String getDescription();
  RuntimeTestEntrySeverity getSeverity();
  RuntimeTestActionPayload getPayload();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionHandler.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action;

/**
 * Created by bryan on 9/8/15.
 */
public interface RuntimeTestActionHandler {
  boolean canHandle( RuntimeTestAction runtimeTestAction );

  void handle( RuntimeTestAction runtimeTestAction );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionPayload.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action;

/**
 * Created by bryan on 9/9/15.
 */
public interface RuntimeTestActionPayload {
  /**
   * This will be called and logged when the Action isn't handled by any registered handlers
   *
   * @return the message associated with the payload
   */
  String getMessage();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionService.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action;

/**
 * Created by bryan on 9/8/15.
 */
public interface RuntimeTestActionService {
  void handle( RuntimeTestAction runtimeTestAction );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/HelpUrlPayload.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.pentaho.runtime.test.action.RuntimeTestActionPayload;
import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;

/**
 * Created by bryan on 9/9/15.
 */
public class HelpUrlPayload implements RuntimeTestActionPayload {
  public static final String HELP_URL_PAYLOAD_MESSAGE = "HelpUrlPayload.Message";
  private final MessageGetter messageGetter;
  private final String title;
  private final String header;
  private final String url;

  public HelpUrlPayload( MessageGetterFactory messageGetterFactory, String title, String header, String url ) {
    this.messageGetter = messageGetterFactory.create( getClass() );
    this.title = title;
    this.header = header;
    this.url = url;
  }

  @Override public String getMessage() {
    return messageGetter.getMessage( HELP_URL_PAYLOAD_MESSAGE, url );
  }

  public String getTitle() {
    return title;
  }

  public String getHeader() {
    return header;
  }

  public String getUrl() {
    return url;
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/LoggingRuntimeTestActionHandlerImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.pentaho.runtime.test.action.RuntimeTestAction;
import org.pentaho.runtime.test.action.RuntimeTestActionHandler;
import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.i18n.impl.BaseMessagesMessageGetterFactoryImpl;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * Created by bryan on 9/8/15.
 */
public class LoggingRuntimeTestActionHandlerImpl implements RuntimeTestActionHandler {
  public static final String LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL = "LoggingRuntimeTestActionHandlerImpl.Action";
  public static final String LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL_MISSING_SEVERITY = "LoggingRuntimeTestActionHandlerImpl.MissingSeverity";
  private final Logger logger;
  private final MessageGetter messageGetter;
  private static LoggingRuntimeTestActionHandlerImpl instance =
    new LoggingRuntimeTestActionHandlerImpl( BaseMessagesMessageGetterFactoryImpl.getInstance() );

  public static LoggingRuntimeTestActionHandlerImpl getInstance() {
    return instance;
  }

  public LoggingRuntimeTestActionHandlerImpl( MessageGetterFactory messageGetterFactory ) {
    this( messageGetterFactory, LogManager.getLogger( LoggingRuntimeTestActionHandlerImpl.class ) );
  }

  public LoggingRuntimeTestActionHandlerImpl( MessageGetterFactory messageGetterFactory, Logger logger ) {
    this.messageGetter = messageGetterFactory.create( LoggingRuntimeTestActionHandlerImpl.class );
    this.logger = logger;
  }

  @Override public boolean canHandle( RuntimeTestAction runtimeTestAction ) {
    return true;
  }

  private String getMessage( RuntimeTestAction runtimeTestAction ) {
    return messageGetter
      .getMessage( LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        runtimeTestAction.getName(), runtimeTestAction.getDescription(),
        String.valueOf( runtimeTestAction.getPayload() ) );
  }

  @Override public void handle( RuntimeTestAction runtimeTestAction ) {
    RuntimeTestEntrySeverity severity = runtimeTestAction.getSeverity();
    if ( severity == null ) {
      logger.warn( messageGetter
        .getMessage( LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL_MISSING_SEVERITY, runtimeTestAction.getName(),
          runtimeTestAction.getDescription(), String.valueOf( runtimeTestAction.getPayload() ) ) );
      return;
    }
    switch( severity ) {
      case DEBUG:
        logger.debug( getMessage( runtimeTestAction ) );
        break;
      case SKIPPED:
      case WARNING:
        logger.warn( getMessage( runtimeTestAction ) );
        break;
      case ERROR:
      case FATAL:
        logger.error( getMessage( runtimeTestAction ) );
        break;
      default:
        logger.info( getMessage( runtimeTestAction ) );
        break;
    }
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.pentaho.runtime.test.action.RuntimeTestAction;
import org.pentaho.runtime.test.action.RuntimeTestActionPayload;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

/**
 * Created by bryan on 9/9/15.
 */
public class RuntimeTestActionImpl implements RuntimeTestAction {
  private final String name;
  private final String description;
  private final RuntimeTestEntrySeverity severity;
  private final RuntimeTestActionPayload payload;

  public RuntimeTestActionImpl( String name, String description, RuntimeTestEntrySeverity severity,
                                RuntimeTestActionPayload payload ) {
    this.name = name;
    this.description = description;
    this.severity = severity;
    this.payload = payload;
  }

  @Override public String getName() {
    return name;
  }

  @Override public String getDescription() {
    return description;
  }

  @Override public RuntimeTestEntrySeverity getSeverity() {
    return severity;
  }

  @Override public RuntimeTestActionPayload getPayload() {
    return payload;
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionServiceImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.pentaho.runtime.test.action.RuntimeTestAction;
import org.pentaho.runtime.test.action.RuntimeTestActionHandler;
import org.pentaho.runtime.test.action.RuntimeTestActionService;
import org.pentaho.runtime.test.i18n.impl.BaseMessagesMessageGetterFactoryImpl;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by bryan on 9/8/15.
 */
public class RuntimeTestActionServiceImpl implements RuntimeTestActionService {
  private final List<RuntimeTestActionHandler> runtimeTestActionHandlers;
  private final RuntimeTestActionHandler defaultHandler;
  private static RuntimeTestActionServiceImpl instance;

  /**
   * Creates the RuntimeTestActionService
   *
   * @param runtimeTestActionHandlers list of handlers
   * @param defaultHandler fallback handler (MUST BE ABLE TO HANDLE ANY PAYLOAD)
   */
  public RuntimeTestActionServiceImpl( List<RuntimeTestActionHandler> runtimeTestActionHandlers,
                                       RuntimeTestActionHandler defaultHandler ) {
    this.runtimeTestActionHandlers = runtimeTestActionHandlers;
    this.defaultHandler = defaultHandler;
  }

  public static RuntimeTestActionServiceImpl getInstance() {
    if ( instance == null ){
      LoggingRuntimeTestActionHandlerImpl loggingRuntimeTestActionHandler =
        LoggingRuntimeTestActionHandlerImpl.getInstance();
      List<RuntimeTestActionHandler> runtimeTestActionHandlers = new ArrayList<>();
      runtimeTestActionHandlers.add( loggingRuntimeTestActionHandler );
      instance = new RuntimeTestActionServiceImpl( runtimeTestActionHandlers, loggingRuntimeTestActionHandler );
    }
    return instance;
  }

  @Override public void handle( RuntimeTestAction runtimeTestAction ) {
    for ( RuntimeTestActionHandler runtimeTestActionHandler : runtimeTestActionHandlers ) {
      if ( runtimeTestActionHandler.canHandle( runtimeTestAction ) ) {
        runtimeTestActionHandler.handle( runtimeTestAction );
        return;
      }
    }
    defaultHandler.handle( runtimeTestAction );
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/MessageGetter.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.i18n;

/**
 * Created by bryan on 8/21/15.
 */
public interface MessageGetter {
  String getMessage( String key, String... parameters );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/MessageGetterFactory.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.i18n;

/**
 * Created by bryan on 8/21/15.
 */
public interface MessageGetterFactory {
  MessageGetter create( Class<?> PKG );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterFactoryImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.i18n.impl;

import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;

/**
 * Created by bryan on 8/21/15.
 */
public class BaseMessagesMessageGetterFactoryImpl implements MessageGetterFactory {
  private static BaseMessagesMessageGetterFactoryImpl instance = new BaseMessagesMessageGetterFactoryImpl();

  @Override public MessageGetter create( Class<?> PKG ) {
    return new BaseMessagesMessageGetterImpl( PKG );
  }

  public static BaseMessagesMessageGetterFactoryImpl getInstance() {
    return instance;
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.i18n.impl;

import org.pentaho.di.i18n.BaseMessages;
import org.pentaho.runtime.test.i18n.MessageGetter;

/**
 * Created by bryan on 8/21/15.
 */
public class BaseMessagesMessageGetterImpl implements MessageGetter {
  private final Class<?> PKG;

  public BaseMessagesMessageGetterImpl( Class<?> PKG ) {
    this.PKG = PKG;
  }

  @Override public String getMessage( String key, String... parameters ) {
    if ( parameters != null && parameters.length > 0 ) {
      return BaseMessages.getString( PKG, key, parameters );
    } else {
      return BaseMessages.getString( PKG, key );
    }
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestComparator.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.pentaho.runtime.test.RuntimeTest;

import java.util.Comparator;
import java.util.Map;

/**
 * Created by bryan on 8/18/15.
 */
public class RuntimeTestComparator implements Comparator<RuntimeTest> {
  private final Map<String, Integer> orderedModules;

  public RuntimeTestComparator( Map<String, Integer> orderedModules ) {
    this.orderedModules = orderedModules;
  }

  private Integer nullSafeCompare( Object first, Object second ) {
    if ( first == null ) {
      if ( second == null ) {
        return null;
      } else {
        return 1;
      }
    }
    if ( second == null ) {
      return -1;
    }
    if ( first.equals( second ) ) {
      return 0;
    }
    return null;
  }

  private int compareModuleNames( String o1Module, String o2Module ) {
    Integer result = nullSafeCompare( o1Module, o2Module );
    if ( result != null ) {
      return result;
    }
    Integer o1OrderNum = orderedModules.get( o1Module );
    Integer o2OrderNum = orderedModules.get( o2Module );
    result = nullSafeCompare( o1OrderNum, o2OrderNum );
    if ( result != null ) {
      return result;
    }
    return o1Module.compareTo( o2Module );
  }

  @Override public int compare( RuntimeTest o1, RuntimeTest o2 ) {
    Integer result = compareModuleNames( o1.getModule(), o2.getModule() );
    if ( result != 0 ) {
      return result;
    }
    String o1Id = o1.getId();
    String o2Id = o2.getId();
    result = nullSafeCompare( o1Id, o2Id );
    if ( result == null ) {
      result = o1Id.compareTo( o2Id );
    }
    return result;
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestRunner.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.pentaho.di.i18n.BaseMessages;
import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.RuntimeTestProgressCallback;
import org.pentaho.runtime.test.module.RuntimeTestModuleResults;
import org.pentaho.runtime.test.module.impl.RuntimeTestModuleResultsImpl;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResult;
import org.pentaho.runtime.test.result.RuntimeTestResultSummary;
import org.pentaho.runtime.test.result.org.pentaho.runtime.test.result.impl.RuntimeTestResultSummaryImpl;
import org.pentaho.runtime.test.test.impl.RuntimeTestDelegateWithMoreDependencies;
import org.pentaho.runtime.test.test.impl.RuntimeTestResultEntryImpl;
import org.pentaho.runtime.test.test.impl.RuntimeTestResultImpl;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ExecutorService;

/**
 * Created by bryan on 8/11/15.
 */
public class RuntimeTestRunner {
  private static final Class<?> PKG = RuntimeTestRunner.class;
  private final Set<RuntimeTest> remainingTests;
  private final Object objectUnderTest;
  private final RuntimeTestProgressCallback runtimeTestProgressCallback;
  private final ExecutorService executorService;
  private final Set<String> satisfiedDependencies;
  private final Set<String> failedDependencies;
  private final List<String> runtimeModuleList;
  private final Map<String, List<String>> stringRuntimeTestModuleToTestIdMap;
  private final Map<String, RuntimeTestResult> runtimeTestResultMap;
  private final Set<String> outstandingTestIds;
  private final Set<String> runningTestIds;
  private final int numberOfTests;

  @SuppressWarnings( "unchecked" )
  public RuntimeTestRunner( Collection<? extends RuntimeTest> runtimeTests, Object objectUnderTest,
                            RuntimeTestProgressCallback runtimeTestProgressCallback, ExecutorService executorService ) {
    this.objectUnderTest = objectUnderTest;
    runtimeModuleList = new ArrayList<>();
    stringRuntimeTestModuleToTestIdMap = new HashMap<>();
    runtimeTestResultMap = new HashMap<>();
    outstandingTestIds = new HashSet<>();
    runningTestIds = new HashSet<>();

    Set<RuntimeTest> initTests = new HashSet<>();
    Set<String> initTestIds = new HashSet<>();
    Set<RuntimeTest> nonInitTests = new HashSet<>();
    int numberOfTests = 0;
    for ( RuntimeTest runtimeTest : runtimeTests ) {
      if ( runtimeTest.accepts( objectUnderTest ) ) {
        numberOfTests++;
        String runtimeTestModule = runtimeTest.getModule();
        List<String> runtimeIdsForModule = stringRuntimeTestModuleToTestIdMap.get( runtimeTestModule );
        if ( runtimeIdsForModule == null ) {
          runtimeModuleList.add( runtimeTestModule );
          runtimeIdsForModule = new ArrayList<>();
          stringRuntimeTestModuleToTestIdMap.put( runtimeTestModule, runtimeIdsForModule );
        }
        String runtimeTestId = runtimeTest.getId();
        runtimeIdsForModule.add( runtimeTestId );
        if ( runtimeTest.isConfigInitTest() ) {
          initTests.add( runtimeTest );
          initTestIds.add( runtimeTestId );
        } else {
          nonInitTests.add( runtimeTest );
        }
      }
    }
    this.numberOfTests = numberOfTests;
    this.remainingTests = new HashSet<>( initTests );
    for ( RuntimeTest nonInitTest : nonInitTests ) {
      remainingTests.add( new RuntimeTestDelegateWithMoreDependencies( nonInitTest, initTestIds ) );
    }
    for ( RuntimeTest remainingTest : remainingTests ) {
      String remainingTestId = remainingTest.getId();
      runtimeTestResultMap
        .put( remainingTestId, new RuntimeTestResultImpl( remainingTest, false, new RuntimeTestResultSummaryImpl(),
          0L ) );
      outstandingTestIds.add( remainingTestId );
    }
    this.satisfiedDependencies = new HashSet<>();
    this.failedDependencies = new HashSet<>();
    this.runtimeTestProgressCallback = runtimeTestProgressCallback;
    this.executorService = executorService;
  }

  private void markSkipped( RuntimeTest runtimeTest ) {
    Set<String> relevantFailed = new HashSet<>( failedDependencies );
    relevantFailed.retainAll( runtimeTest.getDependencies() );

    // Get one of the dependencies' names for display
    String failedDependencyName = "a prerequisite";
    if ( !relevantFailed.isEmpty() ) {
      String failedDependencyId = relevantFailed.iterator().next();
      RuntimeTestResult runtimeTestResult = runtimeTestResultMap.get( failedDependencyId );
      if ( runtimeTestResult != null ) {
        failedDependencyName = runtimeTestResult.getRuntimeTest().getName();
      }

    }

    // We had a dependency fail so we need to skip
    String runtimeTestId = runtimeTest.getId();
    failedDependencies.add( runtimeTestId );
    outstandingTestIds.remove( runtimeTestId );
    runningTestIds.remove( runtimeTestId );
    runtimeTestResultMap.put( runtimeTestId, new RuntimeTestResultImpl( runtimeTest, true,
      new RuntimeTestResultSummaryImpl( new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.SKIPPED,
        BaseMessages.getString( PKG, "RuntimeTestRunner.Skipped.Desc", failedDependencyName ),
        BaseMessages.getString( PKG, "RuntimeTestRunner.Skipped.Message", runtimeTest.getName(), relevantFailed ), (Throwable) null ) ), 0L ) );
  }

  private void callbackState() {
    callbackState( false );
  }

  private void callbackState( boolean done ) {
    if ( runtimeTestProgressCallback != null ) {
      List<RuntimeTestModuleResults> moduleResults = new ArrayList<>( runtimeModuleList.size() );
      for ( String runtimeModule : runtimeModuleList ) {
        List<RuntimeTestResult> runtimeTestResults = new ArrayList<>();
        Set<RuntimeTest> runningTests = new HashSet<>();
        HashSet<RuntimeTest> outstandingTests = new HashSet<>();
        for ( String testId : stringRuntimeTestModuleToTestIdMap.get( runtimeModule ) ) {
          RuntimeTestResult runtimeTestResult = runtimeTestResultMap.get( testId );
          runtimeTestResults.add( runtimeTestResult );
          if ( runningTestIds.contains( testId ) ) {
            runningTests.add( runtimeTestResult.getRuntimeTest() );
          } else if ( outstandingTestIds.contains( testId ) ) {
            outstandingTests.add( runtimeTestResult.getRuntimeTest() );
          }
        }
        moduleResults
          .add( new RuntimeTestModuleResultsImpl( runtimeModule, runtimeTestResults, runningTests, outstandingTests ) );
      }
      int testsRunning = runningTestIds.size();
      int testsOutstanding = outstandingTestIds.size();
      int testsDone = numberOfTests - testsOutstanding - testsRunning;
      runtimeTestProgressCallback.onProgress(
        new RuntimeTestStatusImpl( Collections.unmodifiableList( moduleResults ), testsDone, testsRunning,
          testsOutstanding, done ) );
    }
  }

  private void runTest( RuntimeTest runtimeTest ) {
    String eligibleTestId = runtimeTest.getId();
    RuntimeTestResultSummary runtimeTestResultSummary;
    long before = System.currentTimeMillis();
    RuntimeTestEntrySeverity overallSeverity;
    try {
      runtimeTestResultSummary = runtimeTest.runTest( objectUnderTest );
      overallSeverity = runtimeTestResultSummary.getOverallStatusEntry().getSeverity();
    } catch ( Throwable e ) {
      overallSeverity = RuntimeTestEntrySeverity.FATAL;
      runtimeTestResultSummary = new RuntimeTestResultSummaryImpl(
        new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.FATAL,
          BaseMessages.getString( PKG, "RuntimeTestRunner.Error.Desc", runtimeTest.getName() ), e.getMessage(), e ) );
    }
    long after = System.currentTimeMillis();
    RuntimeTestResult runtimeTestResult =
      new RuntimeTestResultImpl( runtimeTest, true, runtimeTestResultSummary, after - before );
    synchronized ( this ) {
      if ( overallSeverity == RuntimeTestEntrySeverity.ERROR || overallSeverity == RuntimeTestEntrySeverity.FATAL ) {
        failedDependencies.add( eligibleTestId );
      } else {
        satisfiedDependencies.add( eligibleTestId );
      }
      runtimeTestResultMap.put( eligibleTestId, runtimeTestResult );
      runningTestIds.remove( eligibleTestId );
      callbackState();
      notifyAll();
    }
  }

  public synchronized void runTests() {
    callbackState();
    while ( remainingTests.size() > 0 || runningTestIds.size() > 0 ) {
      Set<RuntimeTest> eligibleTests = new HashSet<>();
      Set<RuntimeTest> skippingTests = new HashSet<>();
      Set<String> possibleToSatisfyIds = new HashSet<>( satisfiedDependencies );
      for ( RuntimeTest remainingTest : remainingTests ) {
        possibleToSatisfyIds.add( remainingTest.getId() );
      }
      possibleToSatisfyIds.addAll( outstandingTestIds );
      possibleToSatisfyIds.addAll( runningTestIds );
      for ( RuntimeTest remainingTest : remainingTests ) {
        Set<String> remainingTestDependencies = remainingTest.getDependencies();
        if ( satisfiedDependencies.containsAll( remainingTestDependencies ) ) {
          eligibleTests.add( remainingTest );
        } else if ( !Collections.disjoint( remainingTestDependencies, failedDependencies ) || !possibleToSatisfyIds
          .containsAll( remainingTestDependencies ) ) {
          skippingTests.add( remainingTest );
          markSkipped( remainingTest );
        }
      }
      remainingTests.removeAll( eligibleTests );
      remainingTests.removeAll( skippingTests );
      for ( RuntimeTest eligibleTest : eligibleTests ) {
        String eligibleTestId = eligibleTest.getId();
        outstandingTestIds.remove( eligibleTestId );
        runningTestIds.add( eligibleTestId );
      }
      final int wasRunning = runningTestIds.size();
      for ( final RuntimeTest eligibleTest : eligibleTests ) {
        executorService.submit( new Runnable() {
          @Override
          public void run() {
            runTest( eligibleTest );
          }
        } );
      }
      // If we skipped test(s) state has changed and we should rerun immediately, otherwise we can wait until one
      // finishes
      if ( skippingTests.size() == 0 ) {
        if ( wasRunning > 0 ) {
          while ( wasRunning == runningTestIds.size() ) {
            try {
              // Wait until a test finishes
              wait();
            } catch ( InterruptedException e ) {
              // Ignore
            }
          }
        }
      } else {
        callbackState();
      }
    }
    callbackState( true );
  }

  public static class Factory {
    public RuntimeTestRunner create( Collection<? extends RuntimeTest> runtimeTests, Object objectUnderTest,
                                     RuntimeTestProgressCallback runtimeTestProgressCallback,
                                     ExecutorService executorService ) {
      return new RuntimeTestRunner( runtimeTests, objectUnderTest, runtimeTestProgressCallback, executorService );
    }
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestStatusImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.pentaho.runtime.test.RuntimeTestStatus;
import org.pentaho.runtime.test.module.RuntimeTestModuleResults;

import java.util.List;

/**
 * Created by bryan on 8/18/15.
 */
public class RuntimeTestStatusImpl implements RuntimeTestStatus {
  private final List<RuntimeTestModuleResults> runtimeTestModuleResults;
  private final int testsDone;
  private final int testsRunning;
  private final int testsOutstanding;
  private final boolean done;

  public RuntimeTestStatusImpl( List<RuntimeTestModuleResults> runtimeTestModuleResults, int testsDone,
                                int testsRunning, int testsOutstanding, boolean done ) {
    this.runtimeTestModuleResults = runtimeTestModuleResults;
    this.testsDone = testsDone;
    this.testsRunning = testsRunning;
    this.testsOutstanding = testsOutstanding;
    this.done = done;
  }

  @Override public List<RuntimeTestModuleResults> getModuleResults() {
    return runtimeTestModuleResults;
  }

  @Override public int getTestsDone() {
    return testsDone;
  }

  @Override public int getTestsRunning() {
    return testsRunning;
  }

  @Override public int getTestsOutstanding() {
    return testsOutstanding;
  }

  @Override public boolean isDone() {
    return done;
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF
  @Override public String toString() {
    return "RuntimeTestStatusImpl{" +
      "runtimeTestModuleResults=" + runtimeTestModuleResults +
      ", testsDone=" + testsDone +
      ", testsRunning=" + testsRunning +
      ", testsOutstanding=" + testsOutstanding +
      ", done=" + done +
      '}';
  }
  //CHECKSTYLE:OperatorWrap:ON
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTesterImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.RuntimeTestProgressCallback;
import org.pentaho.runtime.test.RuntimeTester;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * Created by bryan on 8/12/15.
 */
public class RuntimeTesterImpl implements RuntimeTester {
  private final List<RuntimeTest> runtimeTests;
  private final ExecutorService executorService;
  private final RuntimeTestRunner.Factory runtimeTestRunnerFactory;
  private RuntimeTestComparator runtimeTestComparator;
  private static RuntimeTesterImpl instance;

  public RuntimeTesterImpl( List<RuntimeTest> runtimeTests, ExecutorService executorService,
                            String orderedModulesString ) {
    this( runtimeTests, executorService, orderedModulesString, new RuntimeTestRunner.Factory() );
  }

  public static RuntimeTester getInstance(){
    if ( instance == null ) {
      List<RuntimeTest> runtimeTests = new ArrayList<>();
      instance = new RuntimeTesterImpl( runtimeTests, Executors.newCachedThreadPool(), "Hadoop Configuration,Hadoop File System,Map Reduce,Oozie,Zookeeper" );
    }
    return instance;
  }

  public RuntimeTesterImpl( List<RuntimeTest> runtimeTests, ExecutorService executorService,
                            String orderedModulesString, RuntimeTestRunner.Factory runtimeTestRunnerFactory ) {
    this.runtimeTests = runtimeTests;
    this.executorService = executorService;
    this.runtimeTestRunnerFactory = runtimeTestRunnerFactory;
    HashMap<String, Integer> orderedModules = new HashMap<>();
    String[] split = orderedModulesString.split( "," );
    for ( int module = 0; module < split.length; module++ ) {
      orderedModules.put( split[ module ].trim(), module );
    }
    runtimeTestComparator = new RuntimeTestComparator( orderedModules );
  }

  @Override
  public void runtimeTest( final Object objectUnderTest,
                           final RuntimeTestProgressCallback runtimeTestProgressCallback ) {
    final List<RuntimeTest> runtimeTests = new ArrayList<>( this.runtimeTests );
    Collections.sort( runtimeTests, runtimeTestComparator );
    executorService.submit( new Runnable() {
      @Override public void run() {
        runtimeTestRunnerFactory.create( runtimeTests, objectUnderTest, runtimeTestProgressCallback, executorService )
          .runTests();
      }
    } );
  }

  public void addRuntimeTest( RuntimeTest test ) {
    this.runtimeTests.add( test );
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/module/RuntimeTestModuleResults.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.module;

import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResult;

import java.util.List;
import java.util.Set;

/**
 * Created by bryan on 8/11/15.
 */
public interface RuntimeTestModuleResults {
  String getName();

  List<RuntimeTestResult> getRuntimeTestResults();

  Set<RuntimeTest> getRunningTests();

  Set<RuntimeTest> getOutstandingTests();

  RuntimeTestEntrySeverity getMaxSeverity();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/module/impl/RuntimeTestModuleResultsImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.module.impl;

import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.module.RuntimeTestModuleResults;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResult;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * Created by bryan on 8/11/15.
 */
public class RuntimeTestModuleResultsImpl implements RuntimeTestModuleResults {
  private final String name;
  private final List<RuntimeTestResult> runtimeTestResults;
  private final Set<RuntimeTest> runningTests;
  private final Set<RuntimeTest> outstandingTests;
  private final RuntimeTestEntrySeverity maxSeverity;

  public RuntimeTestModuleResultsImpl( String name, List<RuntimeTestResult> runtimeTestResults,
                                       Set<RuntimeTest> runningTests, Set<RuntimeTest> outstandingTests ) {
    this.name = name;
    this.runningTests = Collections.unmodifiableSet( new HashSet<>( runningTests ) );
    this.outstandingTests = Collections.unmodifiableSet( new HashSet<>( outstandingTests ) );
    this.runtimeTestResults = Collections.unmodifiableList( new ArrayList<>( runtimeTestResults ) );
    this.maxSeverity = RuntimeTestEntrySeverity.maxSeverityResult( runtimeTestResults );
  }

  @Override public String getName() {
    return name;
  }

  @Override public List<RuntimeTestResult> getRuntimeTestResults() {
    return runtimeTestResults;
  }

  @Override public RuntimeTestEntrySeverity getMaxSeverity() {
    return maxSeverity;
  }

  @Override public Set<RuntimeTest> getRunningTests() {
    return runningTests;
  }

  @Override public Set<RuntimeTest> getOutstandingTests() {
    return outstandingTests;
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF
  @Override public String toString() {
    return "RuntimeTestModuleResultsImpl{" +
      "getName='" + name + '\'' +
      ", runtimeTestResults=" + runtimeTestResults +
      ", runningTests=" + runningTests +
      ", outstandingTests=" + outstandingTests +
      ", maxSeverity=" + maxSeverity +
      '}';
  }
  //CHECKSTYLE:OperatorWrap:ON
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/ConnectivityTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network;


import org.pentaho.runtime.test.result.RuntimeTestResultEntry;

/**
 * Created by bryan on 8/24/15.
 */
public interface ConnectivityTest {
  RuntimeTestResultEntry runTest();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/ConnectivityTestFactory.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network;

import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

/**
 * Created by bryan on 8/24/15.
 */
public interface ConnectivityTestFactory {
  ConnectivityTest create( MessageGetterFactory messageGetterFactory, String hostname, String port,
                           boolean haPossible );

  ConnectivityTest create( MessageGetterFactory messageGetterFactory, String hostname, String port, boolean haPossible,
                           RuntimeTestEntrySeverity severityOfFailures );

  ConnectivityTest create( MessageGetterFactory messageGetterFactory, String url, String testPath,
                           String user, String password );

  ConnectivityTest create( MessageGetterFactory messageGetterFactory, String url, String testPath,
                           String user, String password, RuntimeTestEntrySeverity severityOfFailures );
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/ConnectivityTestFactoryImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network.impl;

import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.network.ConnectivityTest;
import org.pentaho.runtime.test.network.ConnectivityTestFactory;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

import java.net.URI;

/**
 * Created by bryan on 8/24/15.
 */
public class ConnectivityTestFactoryImpl implements ConnectivityTestFactory {
  @Override public ConnectivityTest create( MessageGetterFactory messageGetterFactory, String hostname, String port,
                                            boolean haPossible ) {
    return create( messageGetterFactory, hostname, port, haPossible, RuntimeTestEntrySeverity.FATAL );
  }

  @Override public ConnectivityTest create( MessageGetterFactory messageGetterFactory, String hostname, String port,
                                            boolean haPossible, RuntimeTestEntrySeverity severityOfFailures ) {
    return new ConnectivityTestImpl( messageGetterFactory, hostname, port, haPossible, severityOfFailures );
  }

  @Override
  public ConnectivityTest create( MessageGetterFactory messageGetterFactory, String url, String testPath,
                                  String user, String password ) {
    return new GatewayConnectivityTestImpl( messageGetterFactory, URI.create( url ), testPath, user, password,
      RuntimeTestEntrySeverity.FATAL );
  }

  @Override
  public ConnectivityTest create( MessageGetterFactory messageGetterFactory, String url, String testPath,
                                  String user, String password, RuntimeTestEntrySeverity severityOfFailures ) {
    return new GatewayConnectivityTestImpl( messageGetterFactory, URI.create( url ), testPath, user, password,
      severityOfFailures );
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/ConnectivityTestImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network.impl;

import org.pentaho.di.core.Const;
import org.pentaho.di.core.variables.Variables;
import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.network.ConnectivityTest;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;
import org.pentaho.runtime.test.test.impl.RuntimeTestResultEntryImpl;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.InetAddress;
import java.net.Proxy;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by bryan on 8/14/15.
 */
public class ConnectivityTestImpl implements ConnectivityTest {
  public static final String CONNECT_TEST_HOST_BLANK_DESC = "ConnectTest.HostBlank.Desc";
  public static final String CONNECT_TEST_HOST_BLANK_MESSAGE = "ConnectTest.HostBlank.Message";
  public static final String CONNECT_TEST_HA_DESC = "ConnectTest.HA.Desc";
  public static final String CONNECT_TEST_HA_MESSAGE = "ConnectTest.HA.Message";
  public static final String CONNECT_TEST_PORT_BLANK_DESC = "ConnectTest.PortBlank.Desc";
  public static final String CONNECT_TEST_PORT_BLANK_MESSAGE = "ConnectTest.PortBlank.Message";
  public static final String CONNECT_TEST_CONNECT_SUCCESS_DESC = "ConnectTest.ConnectSuccess.Desc";
  public static final String CONNECT_TEST_CONNECT_SUCCESS_MESSAGE = "ConnectTest.ConnectSuccess.Message";
  public static final String CONNECT_TEST_CONNECT_FAIL_DESC = "ConnectTest.ConnectFail.Desc";
  public static final String CONNECT_TEST_CONNECT_FAIL_MESSAGE = "ConnectTest.ConnectFail.Message";
  public static final String CONNECT_TEST_UNKNOWN_HOSTNAME_DESC = "ConnectTest.UnknownHostname.Desc";
  public static final String CONNECT_TEST_UNKNOWN_HOSTNAME_MESSAGE = "ConnectTest.UnknownHostname.Message";
  public static final String CONNECT_TEST_NETWORK_ERROR_DESC = "ConnectTest.NetworkError.Desc";
  public static final String CONNECT_TEST_NETWORK_ERROR_MESSAGE = "ConnectTest.NetworkError.Message";
  public static final String CONNECT_TEST_PORT_NUMBER_FORMAT_DESC = "ConnectTest.PortNumberFormat.Desc";
  public static final String CONNECT_TEST_PORT_NUMBER_FORMAT_MESSAGE = "ConnectTest.PortNumberFormat.Message";
  public static final String CONNECT_TEST_UNREACHABLE_DESC = "ConnectTest.Unreachable.Desc";
  public static final String CONNECT_TEST_UNREACHABLE_MESSAGE = "ConnectTest.Unreachable.Message";
  private static final Class<?> PKG = ConnectivityTestImpl.class;
  protected final MessageGetter messageGetter;
  protected final String hostname;
  protected final String port;
  private final boolean haPossible;
  protected final RuntimeTestEntrySeverity severityOfFalures;
  private final SocketFactory socketFactory;
  protected final InetAddressFactory inetAddressFactory;

  public ConnectivityTestImpl( MessageGetterFactory messageGetterFactory, String hostname, String port,
                               boolean haPossible ) {
    this( messageGetterFactory, hostname, port, haPossible, RuntimeTestEntrySeverity.FATAL );
  }

  public ConnectivityTestImpl( MessageGetterFactory messageGetterFactory, String hostname, String port,
                               boolean haPossible,
                               RuntimeTestEntrySeverity severityOfFailures ) {
    this( messageGetterFactory, hostname, port, haPossible, severityOfFailures, new SocketFactory(),
      new InetAddressFactory() );
  }

  public ConnectivityTestImpl( MessageGetterFactory messageGetterFactory, String hostname, String port,
                               boolean haPossible,
                               RuntimeTestEntrySeverity severityOfFailures, SocketFactory socketFactory,
                               InetAddressFactory inetAddressFactory ) {
    this.messageGetter = messageGetterFactory.create( PKG );

    // The connection information might be parameterized. Since we aren't tied to a transformation or job, in order to
    // use a parameter, the value would have to be set as a system property or in kettle.properties, etc.
    // Here we try to resolve the parameters if we can:
    Variables variables = new Variables();
    variables.initializeVariablesFrom( null );

    this.hostname = variables.environmentSubstitute( hostname );
    this.port = variables.environmentSubstitute( port );
    this.haPossible = haPossible;
    this.severityOfFalures = severityOfFailures;
    this.socketFactory = socketFactory;
    this.inetAddressFactory = inetAddressFactory;
  }

  @Override public RuntimeTestResultEntry runTest() {
    List<RuntimeTestResultEntry> runtimeTestResultEntries = new ArrayList<>();

    if ( Const.isEmpty( hostname ) ) {
      return new RuntimeTestResultEntryImpl( severityOfFalures,
        messageGetter.getMessage( CONNECT_TEST_HOST_BLANK_DESC ),
        messageGetter.getMessage( CONNECT_TEST_HOST_BLANK_MESSAGE ) );
    } else if ( Const.isEmpty( port ) ) {
      if ( haPossible ) {
        return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.INFO,
          messageGetter.getMessage( CONNECT_TEST_HA_DESC ),
          messageGetter.getMessage( CONNECT_TEST_HA_MESSAGE, hostname ) );
      } else {
        return new RuntimeTestResultEntryImpl( severityOfFalures,
          messageGetter.getMessage( CONNECT_TEST_PORT_BLANK_DESC ),
          messageGetter.getMessage( CONNECT_TEST_PORT_BLANK_MESSAGE ) );
      }
    } else {
      Socket socket = null;
      try {
        if( !isSocks5ProxyServer() ) {
          if ( inetAddressFactory.create( hostname ).isReachable( 10 * 1000 ) ) {
            try {
              socket = socketFactory.create( hostname, Integer.parseInt( port ) );
              return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.INFO,
                      messageGetter.getMessage( CONNECT_TEST_CONNECT_SUCCESS_DESC ),
                      messageGetter.getMessage( CONNECT_TEST_CONNECT_SUCCESS_MESSAGE, hostname, port ) );
            } catch ( IOException e ) {
              return new RuntimeTestResultEntryImpl( severityOfFalures,
                      messageGetter.getMessage( CONNECT_TEST_CONNECT_FAIL_DESC ),
                      messageGetter.getMessage( CONNECT_TEST_CONNECT_FAIL_MESSAGE, hostname, port ), e );
            } finally {
              if ( socket != null ) {
                try {
                  socket.close();
                } catch ( IOException e ) {
                  // Ignore
                }
              }
            }
          } else {
            return new RuntimeTestResultEntryImpl( severityOfFalures,
                    messageGetter.getMessage( CONNECT_TEST_UNREACHABLE_DESC, hostname ),
                    messageGetter.getMessage( CONNECT_TEST_UNREACHABLE_MESSAGE, hostname ) );
          }
        }
        else {
          String proxyHost = System.getProperty( "socksProxyHost" );
          int proxyPort = Integer.parseInt( System.getProperty( "socksProxyPort" ) );
          SocketFactory proxySocketFactory = new SocketFactory( proxyHost, proxyPort );
          try {
            socket = proxySocketFactory.create( hostname, Integer.parseInt( port ) );
            return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.INFO,
                    messageGetter.getMessage( CONNECT_TEST_CONNECT_SUCCESS_DESC ),
                    messageGetter.getMessage( CONNECT_TEST_CONNECT_SUCCESS_MESSAGE, hostname, port ) );
          } catch ( IOException e ) {
            return new RuntimeTestResultEntryImpl( severityOfFalures,
                    messageGetter.getMessage( CONNECT_TEST_CONNECT_FAIL_DESC ),
                    messageGetter.getMessage( CONNECT_TEST_CONNECT_FAIL_MESSAGE, hostname, port ), e);
          } finally {
            if ( socket != null ) {
              try {
                socket.close();
              } catch ( IOException e ) {
                // Ignore
              }
            }
          }
        }
      } catch ( UnknownHostException e ) {
        return new RuntimeTestResultEntryImpl( severityOfFalures,
          messageGetter.getMessage( CONNECT_TEST_UNKNOWN_HOSTNAME_DESC ),
          messageGetter.getMessage( CONNECT_TEST_UNKNOWN_HOSTNAME_MESSAGE, hostname ), e );
      } catch ( IOException e ) {
        return new RuntimeTestResultEntryImpl( severityOfFalures,
          messageGetter.getMessage( CONNECT_TEST_NETWORK_ERROR_DESC ),
          messageGetter.getMessage( CONNECT_TEST_NETWORK_ERROR_MESSAGE, hostname, port ), e );
      } catch ( NumberFormatException e ) {
        return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.FATAL,
          messageGetter.getMessage( CONNECT_TEST_PORT_NUMBER_FORMAT_DESC ),
          messageGetter.getMessage( CONNECT_TEST_PORT_NUMBER_FORMAT_MESSAGE, port ), e );
      }
    }
  }

  private boolean isSocks5ProxyServer() {
    String proxyHost = System.getProperty( "socksProxyHost" );
    String proxyPort = System.getProperty( "socksProxyPort" );

    return proxyHost != null && !proxyHost.isEmpty() && proxyPort != null && !proxyPort.isEmpty();
  }

  /**
   * Pulled out class to enable mock injection in tests
   */
  public static class SocketFactory {
    private final String proxyHost;
    private final int proxyPort;
    public SocketFactory() {
      this.proxyHost = null;
      this.proxyPort = -1;
    }
    public SocketFactory( String proxyHost, int proxyPort ) {
      this.proxyHost = proxyHost;
      this.proxyPort = proxyPort;
    }
    public Socket create( String hostname, int port ) throws IOException {
      if ( proxyHost != null && proxyPort > 0 ) {
        Proxy proxy = new Proxy( Proxy.Type.SOCKS, new InetSocketAddress( proxyHost, proxyPort ) );
        Socket socket = new Socket( proxy);
        socket.connect( new InetSocketAddress( hostname, port ), 10000 );
        return socket;
      } else {
        return new Socket( hostname, port );
      }
    }
  }

  /**
   * Pulled out class to enable mock injection in tests
   */
  public static class InetAddressFactory {
    public InetAddress create( String hostname ) throws UnknownHostException {
      return InetAddress.getByName( hostname );
    }
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/GatewayConnectivityTestImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network.impl;

import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.pentaho.di.core.util.HttpClientManager;
import org.pentaho.di.core.util.HttpClientUtil;
import org.pentaho.di.core.variables.Variables;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;
import org.pentaho.runtime.test.test.impl.RuntimeTestResultEntryImpl;

import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLException;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.io.IOException;
import java.net.URI;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;


/**
 * Created by dstepanov on 26/04/17.
 */
public class GatewayConnectivityTestImpl extends ConnectivityTestImpl {
  public static final String GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_DESC =
    "GatewayConnectTest.Success.Desc";
  public static final String GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_MESSAGE =
    "GatewayConnectTest.Success.Message";
  public static final String GATEWAY_CONNECT_TEST_CONNECT_UNKNOWN_RETURN_CODE_DESC =
    "GatewayConnectTest.UnknownReturnCode.Desc";
  public static final String GATEWAY_CONNECT_TEST_CONNECT_UNKNOWN_RETURN_CODE_MESSAGE =
    "GatewayConnectTest.UnknownReturnCode.Message";
  public static final String GATEWAY_CONNECT_TEST_SERVICE_NOT_FOUND_DESC =
    "GatewayConnectTest.ServiceNotFound.Desc";
  public static final String GATEWAY_CONNECT_TEST_SERVICE_NOT_FOUND_MESSAGE =
    "GatewayConnectTest.ServiceNotFound.Message";
  public static final String GATEWAY_CONNECT_TEST_FORBIDDEN_DESC =
    "GatewayConnectTest.Forbidden.Desc";
  public static final String GATEWAY_CONNECT_TEST_FORBIDDEN_MESSAGE =
    "GatewayConnectTest.Forbidden.Message";
  public static final String GATEWAY_CONNECT_TLSCONTEXT_DESC =
    "GatewayConnectTest.TLSContext.Desc";
  public static final String GATEWAY_CONNECT_SSLEXCEPTION_MESSAGE =
    "GatewayConnectTest.SSLException.Message";
  public static final String GATEWAY_CONNECT_SSLEXCEPTION_DESC =
    "GatewayConnectTest.SSLException.Desc";
  public static final String GATEWAY_CONNECT_TLSCONTEXT_MESSAGE =
    "GatewayConnectTest.TLSContext.Message";
  public static final String GATEWAY_CONNECT_TEST_UNAUTHORIZED_DESC =
    "GatewayConnectTest.Unauthorized.Desc";
  public static final String GATEWAY_CONNECT_TEST_UNAUTHORIZED_MESSAGE =
    "GatewayConnectTest.Unauthorized.Message";
  public static final String GATEWAY_CONNECT_TLSCONTEXTINIT_DESC =
    "GatewayConnectTest.TLSContextInit.Desc";
  public static final String GATEWAY_CONNECT_TLSCONTEXTINIT_MESSAGE =
    "GatewayConnectTest.TLSContextInit.Message";
  public static final String GATEWAY_CONNECT_EXECUTION_FAILED_DESC =
    "GatewayConnectTest.ExecutionFailed.Desc";
  public static final String GATEWAY_CONNECT_EXECUTION_FAILED_MESSAGE =
    "GatewayConnectTest.ExecutionFailed.Message";

  private static final Class<?> PKG = GatewayConnectivityTestImpl.class;
  private final URI uri;
  private final String path;
  private final String user;
  private final String password;
  private final Variables variables;
  private HttpClientManager httpClientManager = HttpClientManager.getInstance();

  public GatewayConnectivityTestImpl( MessageGetterFactory messageGetterFactory, URI uri, String testPath,
                                      String user, String password, RuntimeTestEntrySeverity severity ) {
    super( messageGetterFactory, uri.getHost(), Integer.toString( uri.getPort() ), true,
      severity );

    // The connection information might be parameterized. Since we aren't tied to a transformation or job, in order to
    // use a parameter, the value would have to be set as a system property or in kettle.properties, etc.
    // Here we try to resolve the parameters if we can:
    variables = new Variables();
    variables.initializeVariablesFrom( null );
    this.path = variables.environmentSubstitute( testPath );
    this.password = variables.environmentSubstitute( password );
    this.user = variables.environmentSubstitute( user );
    this.uri = uri.resolve( uri.getPath() + path );
  }

  @Override
  public RuntimeTestResultEntry runTest() {

    if ( StringUtils.isBlank( hostname ) ) {
      return new RuntimeTestResultEntryImpl( severityOfFalures,
        messageGetter.getMessage( CONNECT_TEST_HOST_BLANK_DESC ),
        messageGetter.getMessage( CONNECT_TEST_HOST_BLANK_MESSAGE ) );
    } else {

      try {
        Integer portInt = Integer.parseInt( port );
        // Ignore ssl certificate issues if KETTLE_KNOX_IGNORE_SSL = true
        if ( variables.getBooleanValueOfVariable( "${KETTLE_KNOX_IGNORE_SSL}", false ) ) {
          SSLContext ctx = getTlsContext();
          initContextWithTrustAll( ctx );
          SSLContext.setDefault( ctx );
        }
        String userString = "";
        HttpClientContext context = null;
        HttpGet method = new HttpGet( uri.toString() );
        HttpClient httpClient;

        if ( StringUtils.isNotBlank( user ) ) {
          userString = user;
          httpClient = getHttpClient( user, password );
          context = HttpClientUtil.createPreemptiveBasicAuthentication( uri.getHost(), portInt, user, password );
        } else {
          httpClient = getHttpClient();
        }

        HttpResponse httpResponse =
          context != null ? httpClient.execute( method, context ) : httpClient.execute( method );
        Integer returnCode = httpResponse.getStatusLine().getStatusCode();

        switch ( returnCode ) {
          case 200: {
            return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.INFO,
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_DESC ),
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_MESSAGE, uri.toString() ) );
          }
          case 404: {
            return new RuntimeTestResultEntryImpl( severityOfFalures,
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_SERVICE_NOT_FOUND_DESC ),
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_SERVICE_NOT_FOUND_MESSAGE, uri.toString() ) );
          }
          case 403: {
            return new RuntimeTestResultEntryImpl( severityOfFalures,
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_FORBIDDEN_DESC ),
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_FORBIDDEN_MESSAGE, uri.toString(), userString ) );
          }
          case 401: {
            return new RuntimeTestResultEntryImpl( severityOfFalures,
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_UNAUTHORIZED_DESC ),
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_UNAUTHORIZED_MESSAGE, uri.toString(), userString ) );
          } default: {
            return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.WARNING,
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_CONNECT_UNKNOWN_RETURN_CODE_DESC ),
              messageGetter.getMessage( GATEWAY_CONNECT_TEST_CONNECT_UNKNOWN_RETURN_CODE_MESSAGE, userString,
                returnCode.toString(), uri.toString() ) );
          }
        }
      } catch ( NoSuchAlgorithmException e ) {
        return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.FATAL,
          messageGetter.getMessage( GATEWAY_CONNECT_TLSCONTEXT_DESC ),
          messageGetter.getMessage( GATEWAY_CONNECT_TLSCONTEXT_MESSAGE ), e );
      } catch ( SSLException e ) {
        return new RuntimeTestResultEntryImpl( severityOfFalures,
          messageGetter.getMessage( GATEWAY_CONNECT_SSLEXCEPTION_DESC ),
          messageGetter.getMessage( GATEWAY_CONNECT_SSLEXCEPTION_MESSAGE, uri.toString(), e.getMessage() ), e );
      } catch ( UnknownHostException e ) {
        return new RuntimeTestResultEntryImpl( severityOfFalures,
          messageGetter.getMessage( CONNECT_TEST_UNKNOWN_HOSTNAME_DESC ),
          messageGetter.getMessage( CONNECT_TEST_UNKNOWN_HOSTNAME_MESSAGE, uri.getHost() ), e );
      } catch ( KeyManagementException e ) {
        return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.FATAL,
          messageGetter.getMessage( GATEWAY_CONNECT_TLSCONTEXTINIT_DESC ),
          messageGetter.getMessage( GATEWAY_CONNECT_TLSCONTEXTINIT_MESSAGE ), e );
      } catch ( IOException e ) {
        return new RuntimeTestResultEntryImpl( severityOfFalures,
          messageGetter.getMessage( GATEWAY_CONNECT_EXECUTION_FAILED_DESC ),
          messageGetter.getMessage( GATEWAY_CONNECT_EXECUTION_FAILED_MESSAGE, uri.toString() ), e );
      } catch ( NumberFormatException e ) {
        return new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.FATAL,
          messageGetter.getMessage( CONNECT_TEST_PORT_NUMBER_FORMAT_DESC ),
          messageGetter.getMessage( CONNECT_TEST_PORT_NUMBER_FORMAT_MESSAGE, port ), e );
      }
    }
  }

  void initContextWithTrustAll( SSLContext ctx ) throws KeyManagementException {
    ctx.init( new KeyManager[ 0 ], new TrustManager[] { new X509TrustManager() {

      @Override public void checkClientTrusted( X509Certificate[] x509Certificates, String s )
        throws CertificateException {

      }

      @Override public void checkServerTrusted( X509Certificate[] x509Certificates, String s )
        throws CertificateException {

      }

      @Override public X509Certificate[] getAcceptedIssuers() {
        return null;
      }
    } }, new SecureRandom() );
  }

  SSLContext getTlsContext() throws NoSuchAlgorithmException {
    return SSLContext.getInstance( "TLS" );
  }

  @VisibleForTesting
  HttpClient getHttpClient() {
    return httpClientManager.createDefaultClient();
  }

  @VisibleForTesting
  HttpClient getHttpClient( String user, String password ) {
    HttpClientManager.HttpClientBuilderFacade clientBuilder = httpClientManager.createBuilder();
    clientBuilder.setCredentials( user, password );
    return clientBuilder.build();
  }

}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestEntrySeverity.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.result;

import java.util.Collection;

/**
 * Created by bryan on 8/11/15.
 */
public enum RuntimeTestEntrySeverity {
  DEBUG, INFO, WARNING, SKIPPED, ERROR, FATAL;

  public static RuntimeTestEntrySeverity maxSeverityResult( Collection<RuntimeTestResult> runtimeTestResults ) {
    RuntimeTestEntrySeverity maxSeverity = null;
    for ( RuntimeTestResult runtimeTestResult : runtimeTestResults ) {
      if ( runtimeTestResult.isDone() ) {
        RuntimeTestEntrySeverity severity = runtimeTestResult.getOverallStatusEntry().getSeverity();
        if ( maxSeverity == null || ( severity != null && severity.ordinal() > maxSeverity.ordinal() ) ) {
          maxSeverity = severity;
        }
      }
    }
    return maxSeverity;
  }
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResult.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.result;

import org.pentaho.runtime.test.RuntimeTest;

/**
 * Created by bryan on 8/11/15.
 */
public interface RuntimeTestResult extends RuntimeTestResultSummary {
  RuntimeTest getRuntimeTest();

  boolean isDone();

  long getTimeTaken();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResultEntry.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.result;

import org.pentaho.runtime.test.action.RuntimeTestAction;

/**
 * Created by bryan on 8/11/15.
 */
public interface RuntimeTestResultEntry {
  RuntimeTestEntrySeverity getSeverity();

  String getDescription();

  String getMessage();

  Throwable getException();

  RuntimeTestAction getAction();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResultSummary.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.result;

import java.util.List;

/**
 * Created by bryan on 8/26/15.
 */
public interface RuntimeTestResultSummary {
  RuntimeTestResultEntry getOverallStatusEntry();

  List<RuntimeTestResultEntry> getRuntimeTestResultEntries();
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/org/pentaho/runtime/test/result/impl/RuntimeTestResultSummaryImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.result.org.pentaho.runtime.test.result.impl;

import org.pentaho.runtime.test.result.RuntimeTestResultEntry;
import org.pentaho.runtime.test.result.RuntimeTestResultSummary;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Created by bryan on 8/26/15.
 */
public class RuntimeTestResultSummaryImpl implements RuntimeTestResultSummary {
  private final RuntimeTestResultEntry rollupTestResultEntry;
  private final List<RuntimeTestResultEntry> runtimeTestResultEntries;

  public RuntimeTestResultSummaryImpl() {
    this( null );
  }

  @SuppressWarnings( "unchecked" )
  public RuntimeTestResultSummaryImpl( RuntimeTestResultEntry rollupTestResultEntry ) {
    this( rollupTestResultEntry, Collections.EMPTY_LIST );
  }

  public RuntimeTestResultSummaryImpl( RuntimeTestResultEntry rollupTestResultEntry,
                                       List<RuntimeTestResultEntry> runtimeTestResultEntries ) {
    this.rollupTestResultEntry = rollupTestResultEntry;
    this.runtimeTestResultEntries = Collections.unmodifiableList( new ArrayList<>( runtimeTestResultEntries ) );
  }

  @Override public RuntimeTestResultEntry getOverallStatusEntry() {
    return rollupTestResultEntry;
  }

  @Override public List<RuntimeTestResultEntry> getRuntimeTestResultEntries() {
    return runtimeTestResultEntries;
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF
  @Override public String toString() {
    return "RuntimeTestResultSummaryImpl{" +
      "rollupTestResultEntry=" + rollupTestResultEntry +
      ", runtimeTestResultEntries=" + runtimeTestResultEntries +
      '}';
  }
  //CHECKSTYLE:OperatorWrap:OFF
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/BaseRuntimeTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.pentaho.runtime.test.RuntimeTest;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

/**
 * Created by bryan on 8/11/15.
 */
public abstract class BaseRuntimeTest implements RuntimeTest {
  private final Class<?> classUnderTest;
  private final String module;
  private final String id;
  private final String name;
  private final boolean configInitTest;
  private final Set<String> dependencies;

  public BaseRuntimeTest( Class<?> classUnderTest, String module, String id, String name, Set<String> dependencies ) {
    this( classUnderTest, module, id, name, false, dependencies );
  }

  public BaseRuntimeTest( Class<?> classUnderTest, String module, String id, String name, boolean configInitTest,
                          Set<String> dependencies ) {
    this.classUnderTest = classUnderTest;
    this.module = module;
    this.id = id;
    this.name = name;
    this.configInitTest = configInitTest;
    this.dependencies = Collections.unmodifiableSet( new HashSet<>( dependencies ) );
  }

  @Override public boolean accepts( Object objectUnderTest ) {
    return classUnderTest.isInstance( objectUnderTest );
  }

  @Override public String getModule() {
    return module;
  }

  @Override public String getId() {
    return id;
  }

  @Override public String getName() {
    return name;
  }

  @Override public Set<String> getDependencies() {
    return dependencies;
  }

  @Override public boolean isConfigInitTest() {
    return configInitTest;
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF
  @Override public String toString() {
    return "BaseRuntimeTest{" +
      "module='" + module + '\'' +
      ", id='" + id + '\'' +
      ", getName='" + name + '\'' +
      ", configInitTest=" + configInitTest +
      ", dependencies=" + dependencies +
      '}';
  }
  //CHECKSTYLE:OperatorWrap:ON
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestDelegateWithMoreDependencies.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.result.RuntimeTestResultSummary;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

/**
 * Created by bryan on 8/17/15.
 */
public class RuntimeTestDelegateWithMoreDependencies implements RuntimeTest {
  private final RuntimeTest delegate;
  private final Set<String> extraDependencies;

  public RuntimeTestDelegateWithMoreDependencies( RuntimeTest delegate, Set<String> extraDependencies ) {
    this.delegate = delegate;
    this.extraDependencies = new HashSet<>( extraDependencies );
  }

  @Override public boolean accepts( Object objectUnderTest ) {
    return delegate.accepts( objectUnderTest );
  }

  @Override public String getModule() {
    return delegate.getModule();
  }

  @Override public String getId() {
    return delegate.getId();
  }

  @Override public String getName() {
    return delegate.getName();
  }

  @Override public boolean isConfigInitTest() {
    return delegate.isConfigInitTest();
  }

  @Override public Set<String> getDependencies() {
    HashSet<String> set = new HashSet<String>( extraDependencies );
    set.addAll( delegate.getDependencies() );
    return Collections.unmodifiableSet( set );
  }

  @Override public RuntimeTestResultSummary runTest( Object objectUnderTest ) {
    return delegate.runTest( objectUnderTest );
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF
  @Override public String toString() {
    return "RuntimeTestDelegateWithMoreDependencies{" +
      "delegate=" + delegate +
      ", extraDependencies=" + extraDependencies +
      '}';
  }
  //CHECKSTYLE:OperatorWrap:ON
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultEntryImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.pentaho.runtime.test.action.RuntimeTestAction;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;

/**
 * Created by bryan on 8/12/15.
 */
public class RuntimeTestResultEntryImpl implements RuntimeTestResultEntry {
  private final RuntimeTestEntrySeverity severity;
  private final String description;
  private final String message;
  private final Throwable exception;
  private final RuntimeTestAction runtimeTestAction;

  public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, String description, String message ) {
    this( severity, description, message, (Throwable) null );
  }

  public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, String description, String message,
                                     RuntimeTestAction runtimeTestAction ) {
    this( severity, description, message, null, runtimeTestAction );
  }

  public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, String description, String message,
                                     Throwable exception ) {
    this( severity, description, message, exception, null );
  }

  public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, String description, String message,
                                     Throwable exception, RuntimeTestAction runtimeTestAction ) {
    this.severity = severity;
    this.description = description;
    this.message = message;
    this.exception = exception;
    this.runtimeTestAction = runtimeTestAction;
  }

  @Override public RuntimeTestEntrySeverity getSeverity() {
    return severity;
  }

  @Override public String getDescription() {
    return description;
  }

  @Override public String getMessage() {
    return message;
  }

  @Override public Throwable getException() {
    return exception;
  }

  @Override public RuntimeTestAction getAction() {
    return runtimeTestAction;
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF
  @Override public String toString() {
    return "RuntimeTestResultEntryImpl{" +
      "severity=" + severity +
      ", description='" + description + '\'' +
      ", message='" + message + '\'' +
      ", exception=" + exception +
      '}';
  }
  //CHECKSTYLE:OperatorWrap:ON
}


================================================
FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultImpl.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.result.RuntimeTestResult;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;
import org.pentaho.runtime.test.result.RuntimeTestResultSummary;
import org.pentaho.runtime.test.result.org.pentaho.runtime.test.result.impl.RuntimeTestResultSummaryImpl;

import java.util.List;

/**
 * Created by bryan on 8/12/15.
 */
public class RuntimeTestResultImpl implements RuntimeTestResult {
  private final RuntimeTest runtimeTest;
  private final boolean isDone;
  private final RuntimeTestResultSummary runtimeTestResultSummary;
  private final long timeTaken;

  public RuntimeTestResultImpl( RuntimeTest runtimeTest, boolean isDone,
                                RuntimeTestResultSummary runtimeTestResultSummary,
                                long timeTaken ) {
    this.runtimeTest = runtimeTest;
    this.isDone = isDone;
    this.runtimeTestResultSummary =
      runtimeTestResultSummary == null ? new RuntimeTestResultSummaryImpl( null ) : runtimeTestResultSummary;
    this.timeTaken = timeTaken;
  }

  @Override public RuntimeTest getRuntimeTest() {
    return runtimeTest;
  }

  @Override public boolean isDone() {
    return isDone;
  }

  @Override public long getTimeTaken() {
    return timeTaken;
  }

  @Override public RuntimeTestResultEntry getOverallStatusEntry() {
    return runtimeTestResultSummary.getOverallStatusEntry();
  }

  @Override public List<RuntimeTestResultEntry> getRuntimeTestResultEntries() {
    return runtimeTestResultSummary.getRuntimeTestResultEntries();
  }

  //OperatorWrap isn't helpful for autogenerated methods
  //CHECKSTYLE:OperatorWrap:OFF

  @Override public String toString() {
    return "RuntimeTestResultImpl{" +
      "runtimeTest=" + runtimeTest +
      ", isDone=" + isDone +
      ", runtimeTestResultSummary=" + runtimeTestResultSummary +
      ", timeTaken=" + timeTaken +
      '}';
  }

  //CHECKSTYLE:OperatorWrap:ON
}


================================================
FILE: api/runtimeTest/src/main/resources/OSGI-INF/blueprint/blueprint.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
           xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
           http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0 http://aries.apache.org/schemas/blueprint-cm/blueprint-cm-1.1.0.xsd">
  <cm:property-placeholder persistent-id="org.pentaho.runtime.test"
                           update-strategy="reload">
    <cm:default-properties>
      <cm:property name="orderedModules" value="Hadoop Configuration,Hadoop File System,Map Reduce,Oozie,Zookeeper"/>
    </cm:default-properties>
  </cm:property-placeholder>

  <bean id="loggingRuntimeTestActionHandlerImpl"
        class="org.pentaho.runtime.test.action.impl.LoggingRuntimeTestActionHandlerImpl" scope="singleton">
    <argument ref="baseMessagesMessageGetterFactoryImpl"/>
  </bean>

  <bean id="runtimeTestActionServiceImpl" class="org.pentaho.runtime.test.action.impl.RuntimeTestActionServiceImpl"
        scope="singleton">
    <argument ref="loggingRuntimeTestActionHandlerImpl"/>
    <argument ref="runtimeTestActionHandlers"/>
  </bean>

  <bean id="runtimeTesterImpl" class="org.pentaho.runtime.test.impl.RuntimeTesterImpl" scope="singleton">
    <argument ref="runtimeTests"/>
    <argument ref="executorService"/>
    <argument value="${orderedModules}"/>
  </bean>

  <bean id="connectivityTestFactoryImpl"
        class="org.pentaho.runtime.test.network.impl.ConnectivityTestFactoryImpl" scope="singleton"/>

  <bean id="baseMessagesMessageGetterFactoryImpl"
        class="org.pentaho.runtime.test.i18n.impl.BaseMessagesMessageGetterFactoryImpl" scope="singleton"/>

  <reference-list id="runtimeTests" interface="org.pentaho.runtime.test.RuntimeTest"
                  availability="optional"/>
  <reference-list id="runtimeTestActionHandlers" interface="org.pentaho.runtime.test.action.RuntimeTestActionHandler"
                  availability="optional"/>
  <reference id="executorService" interface="java.util.concurrent.ExecutorService"/>

  <service ref="runtimeTesterImpl" interface="org.pentaho.runtime.test.RuntimeTester"/>
  <service ref="runtimeTestActionServiceImpl" interface="org.pentaho.runtime.test.action.RuntimeTestActionService"/>
  <service ref="connectivityTestFactoryImpl"
           interface="org.pentaho.runtime.test.network.ConnectivityTestFactory"/>
  <service ref="baseMessagesMessageGetterFactoryImpl"
           interface="org.pentaho.runtime.test.i18n.MessageGetterFactory"/>
</blueprint>

================================================
FILE: api/runtimeTest/src/main/resources/org/pentaho/runtime/test/action/impl/messages/messages_en_US.properties
================================================
HelpUrlPayload.Message=Please see help at {0}
LoggingRuntimeTestActionHandlerImpl.Action=Recommended action: {0}, {1}\nResource: {2}
LoggingRuntimeTestActionHandlerImpl.MissingSeverity=Recommended action: {0}, {1}\nResource: {2}

================================================
FILE: api/runtimeTest/src/main/resources/org/pentaho/runtime/test/impl/messages/messages_en_US.properties
================================================
RuntimeTestRunner.Skipped.Desc=This test was skipped because {0} was not successful.
RuntimeTestRunner.Skipped.Message=The {0} test was skipped because test {1} was not successful.
RuntimeTestRunner.Error.Desc=We couldn''t run test {0}.


================================================
FILE: api/runtimeTest/src/main/resources/org/pentaho/runtime/test/network/impl/messages/messages_en_US.properties
================================================
ConnectTest.HostBlank.Desc=Hostname is required.
ConnectTest.HostBlank.Message=A hostname was not found for this service.
ConnectTest.HA.Desc=This service supports High Availability.
ConnectTest.HA.Message=Since no port is set, we assume that High Availability has been enabled for {0}.
ConnectTest.PortBlank.Desc=Port number is required.
ConnectTest.PortBlank.Message=Port number is required.
ConnectTest.ConnectSuccess.Desc=Successfully connected to host.
ConnectTest.ConnectSuccess.Message=Successfully connected to {0} at port {1}.
ConnectTest.ConnectFail.Desc=Unable to connect to the host.
ConnectTest.ConnectFail.Message=Unable to connect to {0} at port: {1}.
ConnectTest.UnknownHostname.Desc=Hostname is unknown.
ConnectTest.UnknownHostname.Message=Hostname {0} is unknown.  Verify that the hostname is valid.
ConnectTest.Unreachable.Desc=Unable to connect to hostname {0}.
ConnectTest.Unreachable.Message=Unable to connect to hostname {0}. Contact the network or Hadoop administrator for help.
ConnectTest.NetworkError.Desc=Unable connect because of network problems.
ConnectTest.NetworkError.Message=There was network problem when we tried to connect to hostname {0} and port: {1}.
ConnectTest.PortNumberFormat.Desc=The port must be a number.
ConnectTest.PortNumberFormat.Message=Port {0} must be a number.

GatewayConnectTest.Success.Desc=Successfully connected to gateway.
GatewayConnectTest.Success.Message=Successfully connected to gateway {0}.
GatewayConnectTest.UnknownReturnCode.Desc=UnknownReturnCode returned from gateway.
GatewayConnectTest.UnknownReturnCode.Message=UnknownReturnCode {1} returned for user {0} from gateway for uri {2}.
GatewayConnectTest.ServiceNotFound.Desc=Desired service not found.
GatewayConnectTest.ServiceNotFound.Message=Service for uri {0} not found.
GatewayConnectTest.Forbidden.Desc=Forbidden answer from gateway.
GatewayConnectTest.Forbidden.Message=Desired resource {0} is not available for user {1}.
GatewayConnectTest.TLSContext.Desc=TLSContext failed to create.
GatewayConnectTest.TLSContext.Message=TLSContext failed to create.
GatewayConnectTest.SSLException.Desc=SSLException.
GatewayConnectTest.SSLException.Message=SSLException {1} occurs with accessing {0}
GatewayConnectTest.Unauthorized.Desc=Authorization is required.
GatewayConnectTest.Unauthorized.Message=Authorization is required for uri {0}. User {1}.
GatewayConnectTest.TLSContextInit.Desc=TLSContextInitialization failed.
GatewayConnectTest.TLSContextInit.Message=TLSContextInitialization failed.
GatewayConnectTest.ExecutionFailed.Desc=Unable to check service at gateway.
GatewayConnectTest.ExecutionFailed.Message=Unable to check service {0} at gateway.

================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/RuntimeTestEntryUtil.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;

import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;

import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

/**
 * Created by bryan on 8/21/15.
 */
public class RuntimeTestEntryUtil {
  public static RuntimeTestResultEntry expectOneEntry( List<RuntimeTestResultEntry> runtimeTestResultEntries ) {
    assertNotNull( runtimeTestResultEntries );
    assertEquals( 1, runtimeTestResultEntries.size() );
    return runtimeTestResultEntries.get( 0 );
  }

  public static void verifyRuntimeTestResultEntry( RuntimeTestResultEntry runtimeTestResultEntry,
                                                   RuntimeTestEntrySeverity severity, String desc, String message ) {
    verifyRuntimeTestResultEntry( runtimeTestResultEntry, severity, desc, message, null );
  }

  public static Throwable verifyRuntimeTestResultEntry( RuntimeTestResultEntry runtimeTestResultEntry,
                                                        RuntimeTestEntrySeverity severity, String desc, String message,
                                                        Class<?> exceptionClass ) {
    assertNotNull( runtimeTestResultEntry );
    assertEquals( severity, runtimeTestResultEntry.getSeverity() );
    assertEquals( desc, runtimeTestResultEntry.getDescription() );
    assertEquals( message, runtimeTestResultEntry.getMessage() );
    Throwable runtimeTestResultEntryException = runtimeTestResultEntry.getException();
    if ( exceptionClass == null ) {
      assertNull( runtimeTestResultEntryException );
    } else {
      assertTrue( "expected exception of type " + exceptionClass,
        exceptionClass.isInstance( runtimeTestResultEntryException ) );
    }
    return runtimeTestResultEntryException;
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/TestMessageGetter.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;

import org.pentaho.di.i18n.BaseMessages;
import org.pentaho.runtime.test.i18n.MessageGetter;

import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;

/**
 * Created by bryan on 8/21/15.
 */
public class TestMessageGetter implements MessageGetter {
  private final Class<?> PKG;

  public TestMessageGetter( Class<?> PKG ) {
    this.PKG = PKG;
  }

  @Override public String getMessage( String key, String... parameters ) {
    StringBuilder stringBuilder = new StringBuilder( "BaseMessages equivalent: BaseMessage.getMessage( " );
    stringBuilder.append( PKG );
    stringBuilder.append( ", \"" );
    stringBuilder.append( key );
    stringBuilder.append( "\"" );
    String realValue;
    boolean hasParameters = parameters != null && parameters.length > 0;
    if ( hasParameters ) {
      realValue = BaseMessages.getString( PKG, key, parameters );
      stringBuilder.append( ", \"" );
      for ( String parameter : parameters ) {
        stringBuilder.append( parameter );
        stringBuilder.append( "\", \"" );
      }
      stringBuilder.setLength( stringBuilder.length() - 3 );
    } else {
      realValue = BaseMessages.getString( PKG, key );
    }
    assertNotEquals( "!" + key + "!", realValue );
    stringBuilder.append( " )" );
    if ( hasParameters ) {
      for ( String parameter : parameters ) {
        assertTrue( "Expected " + realValue + " to contain \"" + parameter + "\"",
          realValue.contains( parameter ) );
      }
    }
    return stringBuilder.toString();
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/TestMessageGetterFactory.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test;


import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;

/**
 * Created by bryan on 8/21/15.
 */
public class TestMessageGetterFactory implements MessageGetterFactory {
  @Override public MessageGetter create( Class<?> PKG ) {
    return new TestMessageGetter( PKG );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/HelpUrlPayloadTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.TestMessageGetterFactory;
import org.pentaho.runtime.test.i18n.MessageGetter;

import static org.junit.Assert.assertEquals;

/**
 * Created by bryan on 9/10/15.
 */
public class HelpUrlPayloadTest {
  private MessageGetter messageGetter;
  private String title;
  private String header;
  private String url;
  private HelpUrlPayload helpUrlPayload;

  @Before
  public void setup() {
    TestMessageGetterFactory messageGetterFactory = new TestMessageGetterFactory();
    messageGetter = messageGetterFactory.create( HelpUrlPayload.class );
    title = "title";
    header = "header";
    url = "url";
    helpUrlPayload = new HelpUrlPayload( messageGetterFactory, title, header, url );
  }

  @Test
  public void testGetTitle() {
    assertEquals( title, helpUrlPayload.getTitle() );
  }

  @Test
  public void testGetHeader() {
    assertEquals( header, helpUrlPayload.getHeader() );
  }

  @Test
  public void testGetUrl() {
    assertEquals( url, helpUrlPayload.getUrl() );
  }

  @Test
  public void testGetMessage() {
    assertEquals( messageGetter.getMessage( HelpUrlPayload.HELP_URL_PAYLOAD_MESSAGE, url ),
      helpUrlPayload.getMessage() );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/LoggingRuntimeTestActionHandlerImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.apache.logging.log4j.Logger;
import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.TestMessageGetterFactory;
import org.pentaho.runtime.test.action.RuntimeTestAction;
import org.pentaho.runtime.test.action.RuntimeTestActionPayload;
import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 9/10/15.
 */
public class LoggingRuntimeTestActionHandlerImplTest {
  private MessageGetter messageGetter;
  private Logger logger;
  private LoggingRuntimeTestActionHandlerImpl loggingRuntimeTestActionHandler;
  private RuntimeTestAction runtimeTestAction;
  private String actionDescription;
  private String actionName;
  private RuntimeTestActionPayload runtimeTestActionPayload;

  @Before
  public void setup() {
    TestMessageGetterFactory messageGetterFactory = new TestMessageGetterFactory();
    messageGetter = messageGetterFactory.create( LoggingRuntimeTestActionHandlerImpl.class );
    logger = mock( Logger.class );
    loggingRuntimeTestActionHandler = new LoggingRuntimeTestActionHandlerImpl( messageGetterFactory, logger );
    runtimeTestAction = mock( RuntimeTestAction.class );
    actionName = "actionName";
    actionDescription = "actionDescription";
    runtimeTestActionPayload = mock( RuntimeTestActionPayload.class );
  }

  @Test
  public void testCanHandle() {
    // Should work with least specific payload as it always returns true
    when( runtimeTestAction.getPayload() ).thenReturn( mock( RuntimeTestActionPayload.class ) );
    assertTrue( loggingRuntimeTestActionHandler.canHandle( runtimeTestAction ) );
  }

  private void handleSetup( RuntimeTestEntrySeverity severity ) {
    when( runtimeTestAction.getSeverity() ).thenReturn( severity );
    when( runtimeTestAction.getName() ).thenReturn( actionName );
    when( runtimeTestAction.getDescription() ).thenReturn( actionDescription );
    when( runtimeTestAction.getPayload() ).thenReturn( runtimeTestActionPayload );
    loggingRuntimeTestActionHandler.handle( runtimeTestAction );
  }

  @Test
  public void testHandleNullSeverity() {
    handleSetup( null );
    verify( logger ).warn( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL_MISSING_SEVERITY,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }

  @Test
  public void testHandleDebugSeverity() {
    handleSetup( RuntimeTestEntrySeverity.DEBUG );
    verify( logger ).debug( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }

  @Test
  public void testHandleInfoSeverity() {
    handleSetup( RuntimeTestEntrySeverity.INFO );
    verify( logger ).info( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }

  @Test
  public void testHandleWarningSeverity() {
    handleSetup( RuntimeTestEntrySeverity.WARNING );
    verify( logger ).warn( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }

  @Test
  public void testHandleSkippedSeverity() {
    handleSetup( RuntimeTestEntrySeverity.SKIPPED );
    verify( logger ).warn( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }

  @Test
  public void testHandleErrorSeverity() {
    handleSetup( RuntimeTestEntrySeverity.ERROR );
    verify( logger ).error( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }

  @Test
  public void testHandleFatalSeverity() {
    handleSetup( RuntimeTestEntrySeverity.FATAL );
    verify( logger ).error( messageGetter
      .getMessage( LoggingRuntimeTestActionHandlerImpl.LOGGING_RUNTIME_TEST_ACTION_HANDLER_IMPL,
        actionName, actionDescription, runtimeTestActionPayload.toString() ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.action.RuntimeTestActionPayload;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;

/**
 * Created by bryan on 9/10/15.
 */
public class RuntimeTestActionImplTest {
  private String name;
  private String description;
  private RuntimeTestEntrySeverity severity;
  private RuntimeTestActionPayload payload;
  private RuntimeTestActionImpl runtimeTestAction;

  @Before
  public void setup() {
    name = "name";
    description = "description";
    severity = RuntimeTestEntrySeverity.DEBUG;
    payload = mock( RuntimeTestActionPayload.class );
    runtimeTestAction = new RuntimeTestActionImpl( name, description, severity, payload );
  }

  @Test
  public void testGetName() {
    assertEquals( name, runtimeTestAction.getName() );
  }

  @Test
  public void testGetDescription() {
    assertEquals( description, runtimeTestAction.getDescription() );
  }

  @Test
  public void testGetSeverity() {
    assertEquals( severity, runtimeTestAction.getSeverity() );
  }

  @Test
  public void testGetPayload() {
    assertEquals( payload, runtimeTestAction.getPayload() );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionServiceImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.action.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.action.RuntimeTestAction;
import org.pentaho.runtime.test.action.RuntimeTestActionHandler;

import java.util.Arrays;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 9/10/15.
 */
public class RuntimeTestActionServiceImplTest {
  private RuntimeTestActionHandler runtimeTestActionHandler;
  private RuntimeTestActionHandler defaultHandler;
  private RuntimeTestActionServiceImpl runtimeTestActionService;
  private RuntimeTestAction runtimeTestAction;

  @Before
  public void setup() {
    runtimeTestActionHandler = mock( RuntimeTestActionHandler.class );
    defaultHandler = mock( RuntimeTestActionHandler.class );
    runtimeTestActionService =
      new RuntimeTestActionServiceImpl( Arrays.asList( runtimeTestActionHandler ), defaultHandler );
    runtimeTestAction = mock( RuntimeTestAction.class );
  }

  @Test
  public void testHandleDefault() {
    when( runtimeTestActionHandler.canHandle( runtimeTestAction ) ).thenReturn( false );
    runtimeTestActionService.handle( runtimeTestAction );
    verify( runtimeTestActionHandler, never() ).handle( runtimeTestAction );
    verify( defaultHandler ).handle( runtimeTestAction );
    verifyNoMoreInteractions( defaultHandler );
  }

  @Test
  public void testHandleNormal() {
    when( runtimeTestActionHandler.canHandle( runtimeTestAction ) ).thenReturn( true );
    runtimeTestActionService.handle( runtimeTestAction );
    verify( runtimeTestActionHandler ).handle( runtimeTestAction );
    verifyNoMoreInteractions( defaultHandler );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterFactoryImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.i18n.impl;

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertTrue;

/**
 * Created by bryan on 8/27/15.
 */
public class BaseMessagesMessageGetterFactoryImplTest {
  private BaseMessagesMessageGetterFactoryImpl baseMessagesMessageGetterFactory;

  @Before
  public void setup() {
    baseMessagesMessageGetterFactory = new BaseMessagesMessageGetterFactoryImpl();
  }

  @Test
  public void testCreate() {
    assertTrue( baseMessagesMessageGetterFactory
      .create( BaseMessagesMessageGetterFactoryImplTest.class ) instanceof BaseMessagesMessageGetterImpl );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.i18n.impl;

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

/**
 * Created by bryan on 8/27/15.
 */
public class BaseMessagesMessageGetterImplTest {
  private BaseMessagesMessageGetterImpl baseMessagesMessageGetter;

  @Before
  public void setup() {
    baseMessagesMessageGetter = new BaseMessagesMessageGetterImpl( BaseMessagesMessageGetterFactoryImplTest.class );
  }

  @Test
  public void testGetMesssage() {
    String message = "message";
    String expected = "!" + message + "!";
    assertEquals( expected, baseMessagesMessageGetter.getMessage( message ) );
    assertEquals( expected, baseMessagesMessageGetter.getMessage( message, "testParam" ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestComparatorTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.RuntimeTest;

import java.util.HashMap;
import java.util.Map;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 8/20/15.
 */
public class RuntimeTestComparatorTest {
  private RuntimeTestComparator runtimeTestComparator;
  private Map<String, Integer> orderedModules;
  private RuntimeTest runtimeTest1;
  private RuntimeTest runtimeTest2;
  private String d = "d";
  private String c = "c";
  private String a = "a";
  private String b = "b";

  @Before
  public void setup() {
    orderedModules = new HashMap<>();
    orderedModules.put( d, 0 );
    orderedModules.put( c, 1 );
    orderedModules.put( a, 2 );
    orderedModules.put( b, 3 );
    runtimeTestComparator = new RuntimeTestComparator( orderedModules );
    runtimeTest1 = mock( RuntimeTest.class );
    runtimeTest2 = mock( RuntimeTest.class );
  }

  @Test
  public void testModuleSameOrderedIdsSame() {
    when( runtimeTest1.getModule() ).thenReturn( a );
    when( runtimeTest2.getModule() ).thenReturn( a );
    when( runtimeTest1.getId() ).thenReturn( b );
    when( runtimeTest2.getId() ).thenReturn( b );
    assertEquals( 0, runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) );
  }

  @Test
  public void testModuleSameOrderedIdsDifferent1() {
    when( runtimeTest1.getModule() ).thenReturn( a );
    when( runtimeTest2.getModule() ).thenReturn( a );
    when( runtimeTest1.getId() ).thenReturn( a );
    when( runtimeTest2.getId() ).thenReturn( b );
    assertTrue( runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) < 0 );
  }

  @Test
  public void testModuleSameOrderedIdsDifferent2() {
    when( runtimeTest1.getModule() ).thenReturn( a );
    when( runtimeTest2.getModule() ).thenReturn( a );
    when( runtimeTest1.getId() ).thenReturn( b );
    when( runtimeTest2.getId() ).thenReturn( a );
    assertTrue( runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) > 0 );
  }

  @Test
  public void testModuleSameUnrderedIdsSame() {
    when( runtimeTest1.getModule() ).thenReturn( "e" );
    when( runtimeTest2.getModule() ).thenReturn( "e" );
    when( runtimeTest1.getId() ).thenReturn( b );
    when( runtimeTest2.getId() ).thenReturn( b );
    assertEquals( 0, runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) );
  }

  @Test
  public void testModuleDifferentOrdered() {
    when( runtimeTest1.getModule() ).thenReturn( a );
    when( runtimeTest2.getModule() ).thenReturn( b );
    when( runtimeTest1.getId() ).thenReturn( d );
    when( runtimeTest2.getId() ).thenReturn( c );
    assertTrue( runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) < 0 );
  }

  @Test
  public void testModuleDifferentFirstOrdered() {
    orderedModules.remove( a );
    when( runtimeTest1.getModule() ).thenReturn( b );
    when( runtimeTest2.getModule() ).thenReturn( a );
    when( runtimeTest1.getId() ).thenReturn( d );
    when( runtimeTest2.getId() ).thenReturn( c );
    assertTrue( runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) < 0 );
  }

  @Test
  public void testModuleDifferentSecondOrdered() {
    orderedModules.remove( b );
    when( runtimeTest1.getModule() ).thenReturn( b );
    when( runtimeTest2.getModule() ).thenReturn( a );
    when( runtimeTest1.getId() ).thenReturn( d );
    when( runtimeTest2.getId() ).thenReturn( c );
    assertTrue( runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) > 0 );
  }

  @Test
  public void testModuleDifferentNotOrdered() {
    orderedModules.remove( a );
    orderedModules.remove( b );
    when( runtimeTest1.getModule() ).thenReturn( a );
    when( runtimeTest2.getModule() ).thenReturn( b );
    when( runtimeTest1.getId() ).thenReturn( d );
    when( runtimeTest2.getId() ).thenReturn( c );
    assertTrue( runtimeTestComparator.compare( runtimeTest1, runtimeTest2 ) < 0 );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestRunnerTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.RuntimeTestProgressCallback;
import org.pentaho.runtime.test.RuntimeTestStatus;
import org.pentaho.runtime.test.module.RuntimeTestModuleResults;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResult;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;
import org.pentaho.runtime.test.result.RuntimeTestResultSummary;
import org.pentaho.runtime.test.result.org.pentaho.runtime.test.result.impl.RuntimeTestResultSummaryImpl;
import org.pentaho.runtime.test.test.impl.BaseRuntimeTest;
import org.pentaho.runtime.test.test.impl.RuntimeTestResultEntryImpl;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

/**
 * Created by bryan on 8/12/15.
 */
public class RuntimeTestRunnerTest {
  private ExecutorService executorService;
  private TestRuntimeTest moduleATestA;
  private TestRuntimeTest moduleATestB;
  private TestRuntimeTest moduleATestC;
  private TestRuntimeTest moduleBTestA;
  private TestRuntimeTest moduleBTestB;
  private TestRuntimeTest moduleBTestC;
  private Object objectUnderTest;
  private TestRuntimeTest unsatisfiableDependencyA;
  private TestRuntimeTest moduleCTestA;
  private TestRuntimeTest moduleATestD;

  private static Set<String> dependenciesToIds( Set<TestRuntimeTest> testRuntimeTests ) {
    Set<String> result = new HashSet<>();
    for ( TestRuntimeTest testRuntimeTest : testRuntimeTests ) {
      result.add( testRuntimeTest.getId() );
    }
    return result;
  }

  @Before
  public void setup() {
    executorService = Executors.newCachedThreadPool();
    RuntimeTestResultEntryImpl overallEntry =
      new RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity.INFO, "testDesc", "testMessage" );
    unsatisfiableDependencyA = new TestRuntimeTest( "unsatisfiableDependency", "unsatisfiableDependencyTestA", "Test A",
      new HashSet<>( Arrays.asList(
        new TestRuntimeTest( "fake-module", "fake-test-id", "fake-getName", new HashSet<TestRuntimeTest>(), 5,
          overallEntry, new ArrayList<RuntimeTestResultEntry>(), false ) ) ), 5, overallEntry,
      new ArrayList<RuntimeTestResultEntry>(),
      false );
    moduleATestA =
      new TestRuntimeTest( "moduleA", "moduleATestA", "Test A", new HashSet<>( Arrays.<TestRuntimeTest>asList() ), 5,
        overallEntry,
        new ArrayList<RuntimeTestResultEntry>(), true );
    moduleATestB =
      new TestRuntimeTest( "moduleA", "moduleATestB", "Test B", new HashSet<>( Arrays.asList( moduleATestA ) ), 5,
        overallEntry,
        new ArrayList<RuntimeTestResultEntry>(), true );
    moduleATestC =
      new TestRuntimeTest( "moduleA", "moduleATestC", "Test C", new HashSet<>( Arrays.asList( moduleATestB ) ), 5,
        overallEntry,
        new ArrayList<RuntimeTestResultEntry>(), true );
    moduleATestD =
      new TestRuntimeTest( "moduleA", "moduleATestD", "Test D", new HashSet<>( Arrays.asList( moduleATestB ) ), 5,
        overallEntry,
        new ArrayList<RuntimeTestResultEntry>(), true );
    moduleBTestA =
      new TestRuntimeTest( "moduleB", "moduleBTestA", "Test A", new HashSet<>( Arrays.asList( moduleATestA ) ), 5,
        overallEntry,
        new ArrayList<RuntimeTestResultEntry>(), true );
    moduleBTestB =
      new TestRuntimeTest( "moduleB", "moduleBTestB", "Test B", new HashSet<>( Arrays.asList( moduleATestC ) ), 5,
        overallEntry,
        new ArrayList<RuntimeTestResultEntry>(), true );
    moduleBTestC =
      new TestRuntimeTest( "moduleB", "moduleBTestC", "Test C",
        new HashSet<>( Arrays.asList( moduleBTestB, moduleATestC ) ),
        5, overallEntry, new ArrayList<RuntimeTestResultEntry>(), true );
    moduleCTestA = new TestRuntimeTest( "moduleC", "moduleCTestA", "Test A",
      new HashSet<>( Arrays.asList( moduleBTestC, moduleATestC ) ),
      5, overallEntry, new ArrayList<RuntimeTestResultEntry>(), true );
    objectUnderTest = new Object();
  }

  @After
  public void tearDown() {
    executorService.shutdown();
  }

  @Test
  public void testSingleTestNoDependencies() {
    testScenario( Arrays.asList( moduleATestA ) );
  }

  @Test
  public void testSingleTestWithDependencies() {
    testScenario( Arrays.asList( unsatisfiableDependencyA ) );
  }

  @Test
  public void testModuleA() {
    testScenario( Arrays.asList( moduleATestA, moduleATestB, moduleATestC, moduleATestD ) );
  }

  @Test
  public void testModuleAAndB() {
    testScenario( Arrays
      .asList( moduleATestA, moduleATestB, moduleATestC, moduleATestD, moduleBTestA, moduleBTestB, moduleBTestC ) );
  }

  @Test
  public void testModuleAthruC() {
    testScenario( Arrays
      .asList( moduleATestA, moduleATestB, moduleATestC, moduleATestD, moduleBTestA, moduleBTestB, moduleBTestC,
        moduleCTestA ) );
  }

  @Test
  public void testModuleAthruCUnsat() {
    testScenario( Arrays
      .asList( moduleATestA, moduleATestB, moduleATestC, moduleATestD, moduleBTestA, moduleBTestB, moduleBTestC,
        moduleCTestA,
        unsatisfiableDependencyA ) );
  }

  private void testScenario( List<TestRuntimeTest> runtimeTests ) {
    final List<RuntimeTestStatus> runtimeTestStatuses = Collections.synchronizedList( new ArrayList
      <RuntimeTestStatus>() );
    final RuntimeTestProgressCallback runtimeTestProgressCallback = new RuntimeTestProgressCallback() {
      @Override public void onProgress( RuntimeTestStatus runtimeTestStatus ) {
        runtimeTestStatuses.add( runtimeTestStatus );
        if ( runtimeTestStatus.isDone() ) {
          synchronized ( this ) {
            notifyAll();
          }
        }
      }
    };
    long before = System.currentTimeMillis();
    new RuntimeTestRunner( runtimeTests, objectUnderTest, runtimeTestProgressCallback, executorService ).runTests();
    synchronized ( runtimeTestProgressCallback ) {
      while ( runtimeTestStatuses.size() == 0 || !runtimeTestStatuses.get( runtimeTestStatuses.size() - 1 ).isDone() ) {
        try {
          runtimeTestProgressCallback.wait();
        } catch ( InterruptedException e ) {
          // Ignore
        }
      }
    }
    long after = System.currentTimeMillis();
    Set<String> doneIds = new HashSet<>();
    for ( int i = 0; i < runtimeTestStatuses.size(); i++ ) {
      RuntimeTestStatus runtimeTestStatus = runtimeTestStatuses.get( i );
      if ( i < runtimeTestStatuses.size() - 1 ) {
        assertFalse( runtimeTestStatus.isDone() );
      } else {
        assertTrue( runtimeTestStatus.isDone() );
      }
      Set<String> justDoneIds = new HashSet<>();
      for ( RuntimeTestModuleResults runtimeTestModuleResults : runtimeTestStatus.getModuleResults() ) {
        Set<String> outstandingIds = new HashSet<>();
        Set<String> runningIds = new HashSet<>();
        for ( RuntimeTest runtimeTest : runtimeTestModuleResults.getOutstandingTests() ) {
          outstandingIds.add( runtimeTest.getId() );
        }
        for ( RuntimeTest runtimeTest : runtimeTestModuleResults.getRunningTests() ) {
          runningIds.add( runtimeTest.getId() );
        }

        Set<String> resultIds = new HashSet<>();
        for ( RuntimeTestResult runtimeTestResult : runtimeTestModuleResults.getRuntimeTestResults() ) {
          resultIds.add( runtimeTestResult.getRuntimeTest().getId() );
        }
        // We should have results for all ids in module
        assertTrue( resultIds.containsAll( outstandingIds ) );
        assertTrue( resultIds.containsAll( runningIds ) );

        // No done ides should be in outstanding or running
        assertTrue( Collections.disjoint( doneIds, outstandingIds ) );
        assertTrue( Collections.disjoint( doneIds, runningIds ) );

        resultIds.removeAll( outstandingIds );
        resultIds.removeAll( runningIds );
        justDoneIds.addAll( resultIds );
      }
      // All previously done ids should still be done
      assertTrue( justDoneIds.containsAll( doneIds ) );
      // We should get called back for each one that finishes
      assertTrue( justDoneIds.size() == doneIds.size() || justDoneIds.size() == doneIds.size() + 1 );

      doneIds.addAll( justDoneIds );
    }
    for ( TestRuntimeTest runtimeTest : runtimeTests ) {
      assertTrue( doneIds.contains( runtimeTest.getId() ) );
      runtimeTest.validateRunState();
    }
    System.out.println( "Ran in " + ( after - before ) + " ms" );
    System.out.flush();
  }

  public class TestRuntimeTest extends BaseRuntimeTest {
    private final long delay;
    private final Set<TestRuntimeTest> dependencies;
    private final AtomicBoolean hasRun;
    private final RuntimeTestResultEntry overallEntry;
    private final List<RuntimeTestResultEntry> runtimeTestResultEntries;
    private final boolean shouldRun;

    public TestRuntimeTest( String module, String id, String name, Set<TestRuntimeTest> dependencies,
                            long delay, RuntimeTestResultEntry overallEntry,
                            List<RuntimeTestResultEntry> runtimeTestResultEntries, boolean shouldRun ) {
      super( Object.class, module, id, name, dependenciesToIds( dependencies ) );
      this.delay = delay;
      this.dependencies = dependencies;
      this.overallEntry = overallEntry;
      this.runtimeTestResultEntries = runtimeTestResultEntries;
      this.shouldRun = shouldRun;
      hasRun = new AtomicBoolean( false );
    }

    public String getLogName() {
      return getModule() + ":" + getId();
    }

    @Override public RuntimeTestResultSummary runTest( Object objectUnderTest ) {
      assertTrue( shouldRun );
      assertEquals( RuntimeTestRunnerTest.this.objectUnderTest, objectUnderTest );
      String logName = getLogName();
      System.out.println( "Running: " + logName );
      for ( TestRuntimeTest dependency : dependencies ) {
        assertTrue( logName + " expected dependency " + dependency.getLogName() + " to have already run",
          dependency.hasRun.get() );
      }
      try {
        Thread.sleep( delay );
      } catch ( InterruptedException e ) {
        // Ignore
      }
      hasRun.set( true );
      System.out.println( "Done running: " + logName );
      return new RuntimeTestResultSummaryImpl( overallEntry, runtimeTestResultEntries );
    }

    public void validateRunState() {
      String moduleString = getLogName();
      assertEquals( "Expected " + moduleString + " hasRun value of " + shouldRun + " but was " + hasRun.get(),
        shouldRun, hasRun.get() );
      System.out.println( "Got correct shouldRun value of " + shouldRun + " from " + moduleString );
    }
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestStatusImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.module.RuntimeTestModuleResults;

import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;

/**
 * Created by bryan on 8/20/15.
 */
public class RuntimeTestStatusImplTest {
  private List<RuntimeTestModuleResults> runtimeTestModuleResults;
  private RuntimeTestStatusImpl runtimeTestStatus;
  private int testsDone;
  private int testsRunning;
  private int testsOutstanding;
  private boolean done;

  @Before
  public void setup() {
    runtimeTestModuleResults = mock( List.class );
    testsDone = 1011;
    testsRunning = 11213;
    testsOutstanding = 12213;
    done = true;
    initStatus();
  }

  private void initStatus() {
    runtimeTestStatus =
      new RuntimeTestStatusImpl( runtimeTestModuleResults, testsDone, testsRunning, testsOutstanding, done );
  }

  @Test
  public void testConstructor() {
    assertEquals( runtimeTestModuleResults, runtimeTestStatus.getModuleResults() );
    assertTrue( runtimeTestStatus.isDone() );
    assertEquals( testsDone, runtimeTestStatus.getTestsDone() );
    assertEquals( testsRunning, runtimeTestStatus.getTestsRunning() );
    assertEquals( testsOutstanding, runtimeTestStatus.getTestsOutstanding() );
    done = false;
    initStatus();
    assertEquals( runtimeTestModuleResults, runtimeTestStatus.getModuleResults() );
    assertFalse( runtimeTestStatus.isDone() );
    assertEquals( testsDone, runtimeTestStatus.getTestsDone() );
    assertEquals( testsRunning, runtimeTestStatus.getTestsRunning() );
    assertEquals( testsOutstanding, runtimeTestStatus.getTestsOutstanding() );
  }

  @Test
  public void testToString() {
    assertTrue( runtimeTestStatus.toString().contains( runtimeTestModuleResults.toString() ) );
    assertTrue( runtimeTestStatus.toString().contains( Integer.toString( testsDone ) ) );
    assertTrue( runtimeTestStatus.toString().contains( Integer.toString( testsRunning ) ) );
    assertTrue( runtimeTestStatus.toString().contains( Integer.toString( testsOutstanding ) ) );
    assertTrue( runtimeTestStatus.toString().contains( "done=" + done ) );
    done = false;
    initStatus();
    assertTrue( runtimeTestStatus.toString().contains( runtimeTestModuleResults.toString() ) );
    assertTrue( runtimeTestStatus.toString().contains( Integer.toString( testsDone ) ) );
    assertTrue( runtimeTestStatus.toString().contains( Integer.toString( testsRunning ) ) );
    assertTrue( runtimeTestStatus.toString().contains( Integer.toString( testsOutstanding ) ) );
    assertTrue( runtimeTestStatus.toString().contains( "done=" + done ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTesterImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.mockito.ArgumentCaptor;
import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.RuntimeTestProgressCallback;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutorService;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 8/20/15.
 */
public class RuntimeTesterImplTest {

  private RuntimeTesterImpl runtimeTester;
  private List<RuntimeTest> runtimeTests;
  private ExecutorService executorService;
  private String orderedModulesString;
  private RuntimeTestRunner.Factory runtimeTestRunnerFactory;

  @Before
  public void setup() {
    runtimeTests = new ArrayList<>( Arrays.asList( mock( RuntimeTest.class ) ) );
    executorService = mock( ExecutorService.class );
    orderedModulesString = "test-modules";
    runtimeTestRunnerFactory = mock( RuntimeTestRunner.Factory.class );
    runtimeTester =
      new RuntimeTesterImpl( runtimeTests, executorService, orderedModulesString, runtimeTestRunnerFactory );
  }

  @Test
  public void testRunTests() {
    Object objectUnderTest = new Object();
    RuntimeTestProgressCallback runtimeTestProgressCallback = mock( RuntimeTestProgressCallback.class );
    runtimeTester.runtimeTest( objectUnderTest, runtimeTestProgressCallback );
    ArgumentCaptor<Runnable> runnableArgumentCaptor = ArgumentCaptor.forClass( Runnable.class );
    verify( executorService ).submit( runnableArgumentCaptor.capture() );
    RuntimeTestRunner runtimeTestRunner = mock( RuntimeTestRunner.class );
    when(
      runtimeTestRunnerFactory.create( runtimeTests, objectUnderTest, runtimeTestProgressCallback, executorService ) )
      .thenReturn(
        runtimeTestRunner );
    runnableArgumentCaptor.getValue().run();
    verify( runtimeTestRunner ).runTests();
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/module/impl/RuntimeTestModuleResultsImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.module.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResult;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 8/20/15.
 */
public class RuntimeTestModuleResultsImplTest {
  private String name;
  private List<RuntimeTestResult> runtimeTestResults;
  private Set<RuntimeTest> runningTests;
  private Set<RuntimeTest> outstandingTests;
  private RuntimeTestModuleResultsImpl runtimeTestModuleResults;
  private RuntimeTestResult runtimeTestResult;
  private RuntimeTest runningTest;
  private RuntimeTest outstandingTest;
  private RuntimeTestEntrySeverity maxSeverity;

  @Before
  public void setup() {
    name = "testName";
    runtimeTestResult = mock( RuntimeTestResult.class );
    when( runtimeTestResult.isDone() ).thenReturn( true );
    maxSeverity = RuntimeTestEntrySeverity.INFO;
    RuntimeTestResultEntry runtimeTestResultEntry = mock( RuntimeTestResultEntry.class );
    when( runtimeTestResult.getOverallStatusEntry() ).thenReturn( runtimeTestResultEntry );
    when( runtimeTestResultEntry.getSeverity() ).thenReturn( maxSeverity );
    runtimeTestResults = new ArrayList<>( Arrays.asList( runtimeTestResult ) );
    runningTest = mock( RuntimeTest.class );
    runningTests = new HashSet<>( Arrays.asList( runningTest ) );
    outstandingTest = mock( RuntimeTest.class );
    outstandingTests = new HashSet<>( Arrays.asList( outstandingTest ) );
    runtimeTestModuleResults =
      new RuntimeTestModuleResultsImpl( name, runtimeTestResults, runningTests, outstandingTests );
  }

  @Test
  public void testName() {
    assertEquals( name, runtimeTestModuleResults.getName() );
  }

  @Test
  public void testGetRuntimeTestResults() {
    assertEquals( runtimeTestResults, runtimeTestModuleResults.getRuntimeTestResults() );
  }

  @Test
  public void testGetRunningTests() {
    assertEquals( runningTests, runtimeTestModuleResults.getRunningTests() );
  }

  @Test
  public void testGetOutstandingTests() {
    assertEquals( outstandingTests, runtimeTestModuleResults.getOutstandingTests() );
  }

  @Test
  public void testGetMaxSeverity() {
    assertEquals( maxSeverity, runtimeTestModuleResults.getMaxSeverity() );
  }

  @Test
  public void testToString() {
    String string = runtimeTestModuleResults.toString();
    assertTrue( string.contains( name ) );
    assertTrue( string.contains( runtimeTestResult.toString() ) );
    assertTrue( string.contains( runningTest.toString() ) );
    assertTrue( string.contains( outstandingTest.toString() ) );
    assertTrue( string.contains( maxSeverity.toString() ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/network/impl/ConnectivityTestImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.TestMessageGetterFactory;
import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import static org.pentaho.runtime.test.RuntimeTestEntryUtil.verifyRuntimeTestResultEntry;

/**
 * Created by bryan on 8/21/15.
 */
public class ConnectivityTestImplTest {
  private String hostname;
  private String port;
  private boolean haPossible;
  private RuntimeTestEntrySeverity severityOfFailures;
  private ConnectivityTestImpl.SocketFactory socketFactory;
  private ConnectivityTestImpl.InetAddressFactory inetAddressFactory;
  private ConnectivityTestImpl connectTest;
  private MessageGetterFactory messageGetterFactory;
  private MessageGetter messageGetter;
  private InetAddress inetAddress;
  private Socket socket;

  @Before
  public void setup() throws IOException {
    messageGetterFactory = new TestMessageGetterFactory();
    messageGetter = messageGetterFactory.create( ConnectivityTestImpl.class );
    hostname = "hostname";
    port = "89";
    haPossible = false;
    severityOfFailures = RuntimeTestEntrySeverity.WARNING;
    socketFactory = mock( ConnectivityTestImpl.SocketFactory.class );
    socket = mock( Socket.class );
    when( socketFactory.create( hostname, Integer.valueOf( port ) ) ).thenReturn( socket );
    inetAddressFactory = mock( ConnectivityTestImpl.InetAddressFactory.class );
    inetAddress = mock( InetAddress.class );
    when( inetAddressFactory.create( hostname ) ).thenReturn( inetAddress );
    when( inetAddress.isReachable( anyInt() ) ).thenReturn( true );
    init();
  }

  private void init() {
    connectTest =
      new ConnectivityTestImpl( messageGetterFactory, hostname, port, haPossible, severityOfFailures, socketFactory,
        inetAddressFactory );
  }

  @Test
  public void testBlankHostname() {
    hostname = "";
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_HOST_BLANK_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_HOST_BLANK_MESSAGE ) );
  }

  @Test
  public void testBlankPortNoHa() {
    port = "";
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_PORT_BLANK_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_PORT_BLANK_MESSAGE ) );
  }

  @Test
  public void testBlankPortHa() {
    port = "";
    haPossible = true;
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.INFO,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_HA_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_HA_MESSAGE, hostname ) );
  }

  @Test
  public void testNonNumericPort() {
    port = "abc";
    haPossible = true;
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.FATAL,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_PORT_NUMBER_FORMAT_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_PORT_NUMBER_FORMAT_MESSAGE, port ), NumberFormatException.class );
  }

  @Test
  public void testUnreachableHostname() throws IOException {
    inetAddressFactory = mock( ConnectivityTestImpl.InetAddressFactory.class );
    inetAddress = mock( InetAddress.class );
    when( inetAddressFactory.create( hostname ) ).thenReturn( inetAddress );
    when( inetAddress.isReachable( anyInt() ) ).thenReturn( false );
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_UNREACHABLE_DESC, hostname ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_UNREACHABLE_MESSAGE, hostname ) );
  }

  @Test
  public void testUnknownHostException() throws IOException {
    inetAddressFactory = mock( ConnectivityTestImpl.InetAddressFactory.class );
    inetAddress = mock( InetAddress.class );
    when( inetAddressFactory.create( hostname ) ).thenReturn( inetAddress );
    when( inetAddress.isReachable( anyInt() ) ).thenThrow( new UnknownHostException() );
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_UNKNOWN_HOSTNAME_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_UNKNOWN_HOSTNAME_MESSAGE, hostname ), UnknownHostException.class );
  }

  @Test
  public void testReachableIOException() throws IOException {
    inetAddressFactory = mock( ConnectivityTestImpl.InetAddressFactory.class );
    inetAddress = mock( InetAddress.class );
    when( inetAddressFactory.create( hostname ) ).thenReturn( inetAddress );
    when( inetAddress.isReachable( anyInt() ) ).thenThrow( new IOException() );
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_NETWORK_ERROR_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_NETWORK_ERROR_MESSAGE, hostname, port ), IOException.class );
  }

  @Test
  public void testSocketIOException() throws IOException {
    when( socketFactory.create( hostname, Integer.valueOf( port ) ) ).thenThrow( new IOException() );
    init();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_CONNECT_FAIL_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_CONNECT_FAIL_MESSAGE, hostname, port ), IOException.class );
  }

  @Test
  public void testSuccess() throws IOException {
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.INFO,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_CONNECT_SUCCESS_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_CONNECT_SUCCESS_MESSAGE, hostname, port ) );
    verify( socket ).close();
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/network/impl/GatewayConnectivityTestImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.network.impl;

import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.protocol.HttpContext;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.pentaho.runtime.test.TestMessageGetterFactory;
import org.pentaho.runtime.test.i18n.MessageGetter;
import org.pentaho.runtime.test.i18n.MessageGetterFactory;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLException;
import java.io.IOException;
import java.net.URI;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;

import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
import static org.pentaho.runtime.test.RuntimeTestEntryUtil.verifyRuntimeTestResultEntry;

/**
 * Created by dstepanov on 29/04/17.
 */
public class GatewayConnectivityTestImplTest {

  public static final String HTTPS = "https://";
  public static final String HTTP = "http://";
  public static final String KETTLE_KNOX_IGNORE_SSL = "KETTLE_KNOX_IGNORE_SSL";
  private String hostname;
  private String port;
  private RuntimeTestEntrySeverity severityOfFailures;
  private ConnectivityTestImpl connectTest;
  private MessageGetterFactory messageGetterFactory;
  private MessageGetter messageGetter;
  private URI uri;
  private String path;
  private String topology;
  private String user;
  private String password;
  private HttpClient httpClient;

  @Before
  public void setup() throws IOException {
    messageGetterFactory = new TestMessageGetterFactory();
    messageGetter = messageGetterFactory.create( ConnectivityTestImpl.class );
    hostname = "hostname";
    port = "8443";
    user = "user";
    password = "password";
    topology = "/gateway/default";
    path = "/testPath";
    uri = URI.create( HTTPS + hostname + ":" + port + topology );
    severityOfFailures = RuntimeTestEntrySeverity.WARNING;
    httpClient = mock( HttpClient.class, Mockito.CALLS_REAL_METHODS );
    HttpResponse httpResponseMock = mock(HttpResponse.class);
    StatusLine statusLineMock = mock(StatusLine.class);
    doReturn( httpResponseMock ).when( httpClient ).execute( any() );
    doReturn( httpResponseMock ).when( httpClient ).execute( any( HttpUriRequest.class ), any( HttpContext.class) );
    doReturn( statusLineMock ).when( httpResponseMock ).getStatusLine();
    doReturn( 200 ).when( statusLineMock ).getStatusCode();
    init();
    System.setProperty( KETTLE_KNOX_IGNORE_SSL, "false" );
  }

  private void init() {
    connectTest =
      new GatewayConnectivityTestImpl( messageGetterFactory, uri, path, user, password, severityOfFailures ) {
        @Override
        HttpClient getHttpClient() {
          return HttpClients.createDefault();
        }
      };
  }

  private void initMock() {
    connectTest =
      new GatewayConnectivityTestImpl( messageGetterFactory, uri, path, user, password, severityOfFailures ) {
        @Override
        HttpClient getHttpClient() {
          return httpClient;
        }
        @Override
        HttpClient getHttpClient( String user, String password ) {
          return httpClient;
        }
      };
  }

  @Test
  public void testHttp() throws IOException {
    uri = URI.create( HTTP + hostname + ":" + port + topology );
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.INFO,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_DESC ),
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_MESSAGE,
        uri.toString() + path ) );
  }

  @Test
  public void testBlankHostname() {
    uri = URI.create( HTTPS + "" + ":" + port + topology );
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_HOST_BLANK_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_HOST_BLANK_MESSAGE ) );
  }

  @Test
  public void testUnknownHostException() throws IOException {
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( ConnectivityTestImpl.CONNECT_TEST_UNKNOWN_HOSTNAME_DESC ), messageGetter.getMessage(
        ConnectivityTestImpl.CONNECT_TEST_UNKNOWN_HOSTNAME_MESSAGE, hostname ), UnknownHostException.class );
  }

  @Test
  public void testIOException() throws IOException {
    doThrow( new IOException() ).when( httpClient )
      .execute( any( HttpUriRequest.class ), any( HttpContext.class ) );
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_EXECUTION_FAILED_DESC ),
      messageGetter.getMessage(
        GatewayConnectivityTestImpl.GATEWAY_CONNECT_EXECUTION_FAILED_MESSAGE, uri.toString() + path ),
      IOException.class );
  }

  @Test
  public void testSSLException() throws IOException {
    doThrow( new SSLException( "errorMessage" ) ).when( httpClient )
      .execute( any( HttpUriRequest.class ), any( HttpContext.class ) );
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_SSLEXCEPTION_DESC ),
      messageGetter.getMessage(
        GatewayConnectivityTestImpl.GATEWAY_CONNECT_SSLEXCEPTION_MESSAGE, uri.toString() + path, "errorMessage" ),
      SSLException.class );
  }

  @Test
  public void testNoSuchAlgorithmException() {
    System.setProperty( KETTLE_KNOX_IGNORE_SSL, "true" );
    connectTest =
      new GatewayConnectivityTestImpl( messageGetterFactory, uri, path, user, password, severityOfFailures ) {

        @Override SSLContext getTlsContext() throws NoSuchAlgorithmException {
          throw new NoSuchAlgorithmException();
        }
      };
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.FATAL,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TLSCONTEXT_DESC ),
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TLSCONTEXT_MESSAGE ),
      NoSuchAlgorithmException.class );
  }

  @Test
  public void testKeyManagementException() {
    System.setProperty( KETTLE_KNOX_IGNORE_SSL, "true" );
    connectTest =
      new GatewayConnectivityTestImpl( messageGetterFactory, uri, path, user, password, severityOfFailures ) {

        @Override void initContextWithTrustAll( SSLContext ctx ) throws KeyManagementException {
          throw new KeyManagementException();
        }

      };
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.FATAL,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TLSCONTEXTINIT_DESC ),
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TLSCONTEXTINIT_MESSAGE ),
      KeyManagementException.class );
  }

  @Test
  public void testSuccess() throws IOException {
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.INFO,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_DESC ),
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_CONNECT_SUCCESS_MESSAGE,
        uri.toString() + path ) );
  }

  @Test
  public void test401() throws IOException {
    HttpResponse httpResponseMock = mock(HttpResponse.class);
    StatusLine statusLineMock = mock(StatusLine.class);
    doReturn( httpResponseMock ).when( httpClient ).execute( any( HttpUriRequest.class ), any( HttpContext.class) );
    doReturn( statusLineMock ).when( httpResponseMock ).getStatusLine();
    doReturn( 401 ).when( statusLineMock ).getStatusCode();
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_UNAUTHORIZED_DESC ),
      messageGetter
        .getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_UNAUTHORIZED_MESSAGE, uri.toString() + path,
          user ) );
  }

  @Test
  public void test403() throws IOException {
    HttpResponse httpResponseMock = mock(HttpResponse.class);
    StatusLine statusLineMock = mock(StatusLine.class);
    doReturn( httpResponseMock ).when( httpClient ).execute( any( HttpUriRequest.class ), any( HttpContext.class) );
    doReturn( statusLineMock ).when( httpResponseMock ).getStatusLine();
    doReturn( 403 ).when( statusLineMock ).getStatusCode();
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_FORBIDDEN_DESC ),
      messageGetter.getMessage(
        GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_FORBIDDEN_MESSAGE, uri.toString() + path, user ) );
  }

  @Test
  public void test404() throws IOException {
    HttpResponse httpResponseMock = mock(HttpResponse.class);
    StatusLine statusLineMock = mock(StatusLine.class);
    doReturn( httpResponseMock ).when( httpClient ).execute( any( HttpUriRequest.class ), any( HttpContext.class) );
    doReturn( statusLineMock ).when( httpResponseMock ).getStatusLine();
    doReturn( 404 ).when( statusLineMock ).getStatusCode();
    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), severityOfFailures,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_SERVICE_NOT_FOUND_DESC ),
      messageGetter.getMessage(
        GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_SERVICE_NOT_FOUND_MESSAGE, uri.toString() + path ) );
  }

  @Test
  public void testUnknownCode() throws IOException {
    Integer returnCode = 0;
    HttpResponse httpResponseMock = mock(HttpResponse.class);
    StatusLine statusLineMock = mock(StatusLine.class);
    doReturn( httpResponseMock ).when( httpClient ).execute( any( HttpUriRequest.class ), any( HttpContext.class ) );
    doReturn( statusLineMock ).when( httpResponseMock ).getStatusLine();
    doReturn( returnCode ).when( statusLineMock ).getStatusCode();

    initMock();
    verifyRuntimeTestResultEntry( connectTest.runTest(), RuntimeTestEntrySeverity.WARNING,
      messageGetter.getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_CONNECT_UNKNOWN_RETURN_CODE_DESC ),
      messageGetter
        .getMessage( GatewayConnectivityTestImpl.GATEWAY_CONNECT_TEST_CONNECT_UNKNOWN_RETURN_CODE_MESSAGE, user,
          returnCode.toString(), uri.toString() + path ) );
  }

}

================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/result/RuntimeTestEntrySeverityTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.result;

import org.junit.Test;

import java.util.Arrays;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 8/27/15.
 */
public class RuntimeTestEntrySeverityTest {
  @Test
  public void testMaxSeverityResult() {
    RuntimeTestResult runtimeTestResult1 = mock( RuntimeTestResult.class );
    RuntimeTestResult runtimeTestResult2 = mock( RuntimeTestResult.class );
    RuntimeTestResult runtimeTestResult3 = mock( RuntimeTestResult.class );
    RuntimeTestResultEntry runtimeTestResultEntry1 = mock( RuntimeTestResultEntry.class );
    RuntimeTestResultEntry runtimeTestResultEntry2 = mock( RuntimeTestResultEntry.class );
    RuntimeTestResultEntry runtimeTestResultEntry3 = mock( RuntimeTestResultEntry.class );

    when( runtimeTestResult1.getOverallStatusEntry() ).thenReturn( runtimeTestResultEntry1 );
    when( runtimeTestResult2.getOverallStatusEntry() ).thenReturn( runtimeTestResultEntry2 );
    when( runtimeTestResult3.getOverallStatusEntry() ).thenReturn( runtimeTestResultEntry3 );

    when( runtimeTestResultEntry1.getSeverity() ).thenReturn( RuntimeTestEntrySeverity.INFO );
    when( runtimeTestResultEntry2.getSeverity() ).thenReturn( RuntimeTestEntrySeverity.FATAL );
    when( runtimeTestResultEntry3.getSeverity() ).thenReturn( null );

    when( runtimeTestResult1.isDone() ).thenReturn( true );
    when( runtimeTestResult2.isDone() ).thenReturn( false ).thenReturn( true );
    when( runtimeTestResult3.isDone() ).thenReturn( true );

    assertEquals( RuntimeTestEntrySeverity.INFO, RuntimeTestEntrySeverity
      .maxSeverityResult( Arrays.asList( runtimeTestResult1, runtimeTestResult2, runtimeTestResult3 ) ) );
    assertEquals( RuntimeTestEntrySeverity.FATAL, RuntimeTestEntrySeverity
      .maxSeverityResult( Arrays.asList( runtimeTestResult1, runtimeTestResult2, runtimeTestResult3 ) ) );
  }

  @Test
  public void testValuesAndValueOf() {
    for ( RuntimeTestEntrySeverity runtimeTestEntrySeverity : RuntimeTestEntrySeverity.values() ) {
      assertEquals( runtimeTestEntrySeverity, RuntimeTestEntrySeverity.valueOf( runtimeTestEntrySeverity.name() ) );
    }
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/BaseRuntimeTestTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.result.RuntimeTestResultSummary;

import java.util.Arrays;
import java.util.HashSet;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

/**
 * Created by bryan on 8/20/15.
 */
public class BaseRuntimeTestTest {
  private String module;
  private String id;
  private String name;
  private boolean configInitTest;
  private HashSet<String> dependencies;
  private BaseRuntimeTest baseRuntimeTest;

  @Before
  public void setup() {
    module = "module";
    id = "id";
    name = "name";
    configInitTest = true;
    dependencies = new HashSet<>( Arrays.asList( "dependency" ) );
    baseRuntimeTest = new BaseRuntimeTest( Object.class, module, id, name, configInitTest, dependencies ) {
      @Override public RuntimeTestResultSummary runTest( Object objectUnderTest ) {
        throw new UnsupportedOperationException( "This is a test object, don't run it... ever..." );
      }
    };
  }

  @Test
  public void testGetModule() {
    assertEquals( module, baseRuntimeTest.getModule() );
  }

  @Test
  public void testGetId() {
    assertEquals( id, baseRuntimeTest.getId() );
  }

  @Test
  public void testGetName() {
    assertEquals( name, baseRuntimeTest.getName() );
  }

  @Test
  public void testIsConfigInitTest() {
    assertTrue( baseRuntimeTest.isConfigInitTest() );
    assertFalse( new BaseRuntimeTest( Object.class, module, id, name, dependencies ) {
      @Override public RuntimeTestResultSummary runTest( Object objectUnderTest ) {
        throw new UnsupportedOperationException( "This is a test object, don't run it... ever..." );
      }
    }.isConfigInitTest() );
  }

  @Test
  public void testToString() {
    String string = baseRuntimeTest.toString();
    assertTrue( string.contains( module ) );
    assertTrue( string.contains( id ) );
    assertTrue( string.contains( name ) );
    assertTrue( string.contains( "true" ) );
    assertTrue( string.contains( dependencies.toString() ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestDelegateWithMoreDependenciesTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.RuntimeTest;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

/**
 * Created by bryan on 8/20/15.
 */
public class RuntimeTestDelegateWithMoreDependenciesTest {
  private RuntimeTest delegate;
  private HashSet<String> extraDependencies;
  private RuntimeTestDelegateWithMoreDependencies
  runtimeTestDelegateWithMoreDependencies;
  private String module;
  private String id;
  private String name;
  private String inheritedDep;
  private String newDep;

  @Before
  public void setup() {
    delegate = mock( RuntimeTest.class );
    module = "module";
    id = "id";
    name = "name";
    inheritedDep = "inheritedDep";
    newDep = "newDep";
    when( delegate.getModule() ).thenReturn( module );
    when( delegate.getId() ).thenReturn( id );
    when( delegate.getName() ).thenReturn( name );
    when( delegate.getDependencies() ).thenReturn( new HashSet<>( Arrays.asList( inheritedDep ) ) );
    extraDependencies = new HashSet<>( Arrays.asList( newDep ) );
    runtimeTestDelegateWithMoreDependencies =
      new RuntimeTestDelegateWithMoreDependencies( delegate, extraDependencies );
  }

  @Test
  public void testGetModule() {
    assertEquals( module, runtimeTestDelegateWithMoreDependencies.getModule() );
  }

  @Test
  public void testGetId() {
    assertEquals( id, runtimeTestDelegateWithMoreDependencies.getId() );
  }

  @Test
  public void testGetName() {
    assertEquals( name, runtimeTestDelegateWithMoreDependencies.getName() );
  }

  @Test
  public void testIsConfigInitTest() {
    when( delegate.isConfigInitTest() ).thenReturn( false ).thenReturn( true );
    assertFalse( runtimeTestDelegateWithMoreDependencies.isConfigInitTest() );
    assertTrue( runtimeTestDelegateWithMoreDependencies.isConfigInitTest() );
  }

  @Test
  public void testGetDependencies() {
    Set<String> dependencies = runtimeTestDelegateWithMoreDependencies.getDependencies();
    assertTrue( dependencies.contains( inheritedDep ) );
    assertTrue( dependencies.contains( newDep ) );
  }

  @Test
  public void testToString() {
    String string = runtimeTestDelegateWithMoreDependencies.toString();
    assertTrue( string.contains( delegate.toString() ) );
    assertTrue( string.contains( newDep ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultEntryImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

/**
 * Created by bryan on 8/21/15.
 */
public class RuntimeTestResultEntryImplTest {

  private RuntimeTestEntrySeverity severity;
  private String description;
  private String message;
  private Exception exception;
  private RuntimeTestResultEntryImpl runtimeTestResultEntry;

  @Before
  public void setup() {
    severity = RuntimeTestEntrySeverity.ERROR;
    description = "desc";
    message = "msg";
    exception = new Exception();
    runtimeTestResultEntry = new RuntimeTestResultEntryImpl( severity, description, message, exception );
  }

  @Test
  public void test3ArgConstructor() {
    exception = null;
    runtimeTestResultEntry = new RuntimeTestResultEntryImpl( severity, description, message );
    testGetSeverity();
    testGetDescription();
    testGetMessage();
    testToString();
  }

  @Test
  public void testGetSeverity() {
    assertEquals( severity, runtimeTestResultEntry.getSeverity() );
  }

  @Test
  public void testGetDescription() {
    assertEquals( description, runtimeTestResultEntry.getDescription() );
  }

  @Test
  public void testGetMessage() {
    assertEquals( message, runtimeTestResultEntry.getMessage() );
  }

  @Test
  public void testGetException() {
    assertEquals( exception, runtimeTestResultEntry.getException() );
  }

  @Test
  public void testToString() {
    String string = runtimeTestResultEntry.toString();
    assertTrue( string.contains( severity.toString() ) );
    assertTrue( string.contains( description ) );
    assertTrue( string.contains( message ) );
    assertTrue( string.contains( String.valueOf( exception ) ) );
  }
}


================================================
FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultImplTest.java
================================================
/*! ******************************************************************************
 *
 * Pentaho
 *
 * Copyright (C) 2024 by Hitachi Vantara, LLC : http://www.pentaho.com
 *
 * Use of this software is governed by the Business Source License included
 * in the LICENSE.TXT file.
 *
 * Change Date: 2029-07-20
 ******************************************************************************/


package org.pentaho.runtime.test.test.impl;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.runtime.test.RuntimeTest;
import org.pentaho.runtime.test.result.RuntimeTestEntrySeverity;
import org.pentaho.runtime.test.result.RuntimeTestResultEntry;
import org.pentaho.runtime.test.result.org.pentaho.runtime.test.result.impl.RuntimeTestResultSummaryImpl;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;

/**
 * Created by bryan on 8/20/15.
 */
public class RuntimeTestResultImplTest {
  private RuntimeTest runtimeTest;
  private List<RuntimeTestResultEntry> runtimeTestResultEntries;
  private long timeTaken;
  private RuntimeTestResultImpl runtimeTestResult;
  private RuntimeTestResultEntry runtimeTestResultEntry;
  private RuntimeTestEntrySeverity info;

  @Before
  public void setup() {
    runtimeTest = mock( RuntimeTest.class );
    info = RuntimeTestEntrySeverity.INFO;
    runtimeTestResultEntry = new RuntimeTestResultEntryImpl( info, "testDesc", "testMessage" );
    runtimeTestResultEntries = new ArrayList<>( Arrays.asList( runtimeTestResultEntry ) );
    timeTaken = 10L;
    runtimeTestResult = new RuntimeTestResultImpl( runtimeTest, true,
      new RuntimeTestResultSummaryImpl( runtimeTestResultEntry, runtimeTestResultEntries ), timeTaken );
  }

  @Test
  public void testGetMaxSeverity() {
    assertEquals( info, runtimeTestResult.getOverallStatusEntry().getSeverity() );
  }

  @Test
  public void testGetRuntimeTestResultEntries() {
    assertEquals( runtimeTestResultEntries, runtimeTestResult.getRuntimeTestResultEntries() );
  }

  @Test
  public void testGetRuntimeTest() {
    assertEquals( runtimeTest, runtimeTestResult.getRuntimeTest() );
  }

  @Test
  public void testGetTimeTaken() {
    assertEquals( timeTaken, runtimeTestResult.getTimeTaken() );
  }

  @Test
  public void testToString() {
    String string = runtimeTestResult.toString();
    assertTrue( string.contains( info.toString() ) );
    assertTrue( string.contains( runtimeTestResultEntry.toString() ) );
    assertTrue( string.contains( runtimeTest.toString() ) );
    assertTrue( string.contains( String.valueOf( timeTaken ) ) );
  }
}


================================================
FILE: assemblies/pentaho-big-data-plugin/pom.xml
================================================
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>pentaho</groupId>
    <artifactId>pentaho-big-data-assemblies</artifactId>
    <version>11.1.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>pentaho-big-data-plugin</artifactId>
  <version>11.1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
      <comments>A business-friendly OSS license</comments>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:git@github.com:${github.user}/${project.artifactId}.git</connection>
    <developerConnection>scm:git:git@github.com:${github.user}/${project.artifactId}.git</developerConnection>
    <url>scm:git:git@github.com:${github.user}/${project.artifactId}.git</url>
  </scm>

  <!-- Default properties (used when no specific variant profile is active) -->
  <properties>
    <hadoop.shim.artifactId>pentaho-hadoop-shims-cdpdc71</hadoop.shim.artifactId>
    <hadoop.shim.destFileName>cdpdc71</hadoop.shim.destFileName>
    <plugin.classifier>-cdp</plugin.classifier>
    <active.hadoop.configuration>cdpdc71</active.hadoop.configuration>
    <assembly.id>cdp</assembly.id>
    <big-data-plugin.version>${project.version}</big-data-plugin.version>
  </properties>

  <profiles>
    <!-- Profile for HDI variant -->
    <profile>
      <id>hdi</id>
      <properties>
        <hadoop.shim.artifactId>pentaho-hadoop-shims-hdi40</hadoop.shim.artifactId>
        <hadoop.shim.destFileName>hdi40</hadoop.shim.destFileName>
        <plugin.classifier>-hdi</plugin.classifier>
        <active.hadoop.configuration>hdi40</active.hadoop.configuration>
        <assembly.id>hdi</assembly.id>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.pentaho.hadoop.shims</groupId>
          <artifactId>pentaho-hadoop-shims-hdi40</artifactId>
          <version>${pentaho-hadoop-shims.version}</version>
          <type>zip</type>
          <scope>provided</scope>
          <exclusions>
            <exclusion>
              <groupId>*</groupId>
              <artifactId>*</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>pkg-hdi</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Profile for EMR variant -->
    <profile>
      <id>emr</id>
      <properties>
        <hadoop.shim.artifactId>pentaho-hadoop-shims-emr770</hadoop.shim.artifactId>
        <hadoop.shim.destFileName>emr770</hadoop.shim.destFileName>
        <plugin.classifier>-emr</plugin.classifier>
        <active.hadoop.configuration>emr770</active.hadoop.configuration>
        <assembly.id>emr</assembly.id>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.pentaho.hadoop.shims</groupId>
          <artifactId>pentaho-hadoop-shims-emr770</artifactId>
          <version>${pentaho-hadoop-shims.version}</version>
          <type>zip</type>
          <scope>provided</scope>
          <exclusions>
            <exclusion>
              <groupId>*</groupId>
              <artifactId>*</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>pkg-emr</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Profile for Dataproc variant -->
    <profile>
      <id>dataproc</id>
      <properties>
        <hadoop.shim.artifactId>pentaho-hadoop-shims-dataproc23</hadoop.shim.artifactId>
        <hadoop.shim.destFileName>dataproc23</hadoop.shim.destFileName>
        <plugin.classifier>-dataproc</plugin.classifier>
        <active.hadoop.configuration>dataproc23</active.hadoop.configuration>
        <assembly.id>dataproc</assembly.id>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.pentaho.hadoop.shims</groupId>
          <artifactId>pentaho-hadoop-shims-dataproc23</artifactId>
          <version>${pentaho-hadoop-shims.version}</version>
          <type>zip</type>
          <scope>provided</scope>
          <exclusions>
            <exclusion>
              <groupId>*</groupId>
              <artifactId>*</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>pkg-dataproc</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Profile for CDP variant -->
    <profile>
      <id>cdp</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <hadoop.shim.artifactId>pentaho-hadoop-shims-cdpdc71</hadoop.shim.artifactId>
        <hadoop.shim.destFileName>cdpdc71</hadoop.shim.destFileName>
        <plugin.classifier>-cdp</plugin.classifier>
        <active.hadoop.configuration>cdpdc71</active.hadoop.configuration>
        <assembly.id>cdp</assembly.id>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.pentaho.hadoop.shims</groupId>
          <artifactId>pentaho-hadoop-shims-cdpdc71</artifactId>
          <version>${pentaho-hadoop-shims.version}</version>
          <type>zip</type>
          <scope>provided</scope>
          <exclusions>
            <exclusion>
              <groupId>*</groupId>
              <artifactId>*</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>pkg-cdp</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- Profile for ApacheVanilla variant -->
    <profile>
      <id>apachevanilla</id>
      <properties>
        <hadoop.shim.artifactId>pentaho-hadoop-shims-apachevanilla</hadoop.shim.artifactId>
        <hadoop.shim.destFileName>apachevanilla</hadoop.shim.destFileName>
        <plugin.classifier>-apachevanilla</plugin.classifier>
        <active.hadoop.configuration>apachevanilla</active.hadoop.configuration>
        <assembly.id>apachevanilla</assembly.id>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.pentaho.hadoop.shims</groupId>
          <artifactId>pentaho-hadoop-shims-apachevanilla</artifactId>
          <version>${project.version}</version>
          <type>zip</type>
          <scope>provided</scope>
          <exclusions>
            <exclusion>
              <groupId>*</groupId>
              <artifactId>*</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>pkg-apachevanilla</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>


  </profiles>

  <dependencyManagement>
    <dependencies>
      <!-- SLF4J logging for PDI non-OSGi plugins should rely on the jars being provided in data-integration/lib -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j2-impl</artifactId>
        <scope>provided</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-kettle-plugins-browse</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-api-runtimeTest</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-impl-cluster</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-kettle-plugins-common-ui</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-kettle-plugins-common-job</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho</groupId>
      <artifactId>shim-api-core</artifactId>
      <version>${pentaho-hadoop-shims.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho.hadoop.shims</groupId>
      <artifactId>pentaho-hadoop-shims-common-base</artifactId>
      <version>${pentaho-hadoop-shims.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-vfs2-hdfs</artifactId>
      <version>${commons-vfs2.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-authentication-mapper-impl</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho.hadoop.shims</groupId>
      <artifactId>pentaho-hadoop-shims-common-dependencies</artifactId>
      <version>${pentaho-hadoop-shims.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-impl-clusterTests</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-authentication-mapper-api</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho</groupId>
      <artifactId>pentaho-hadoop-shims-common-services-api</artifactId>
      <version>${pentaho-hadoop-shims.version}</version>
    </dependency>
    <dependency>
      <groupId>org.pentaho</groupId>
      <artifactId>pentaho-hadoop-shims-common-mapreduce</artifactId>
      <version>${pentaho-hadoop-shims.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>hadoop-cluster-ui</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-legacy-core</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-legacy</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pdi-legacy-amazon-core</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pentaho-big-data-impl-vfs-hdfs-core</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>services-bootstrap</artifactId>
      <version>${big-data-plugin.version}</version>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-iam</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.amazonaws</groupId>
          <artifactId>jmespath-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-core</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.dataformat</groupId>
          <artifactId>jackson-dataformat-cbor</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </exclusion>
        <exclusion>
          <groupId>software.amazon.ion</groupId>
          <artifactId>ion-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-emr</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.amazonaws</groupId>
          <artifactId>jmespath-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-pricing</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.amazonaws</groupId>
          <artifactId>jmespath-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-s3</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.amazonaws</groupId>
          <artifactId>aws-java-sdk-kms</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.amazonaws</groupId>
          <artifactId>jmespath-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
      <version>${dependency.joda-time.revision}</version>
      <exclusions>
        <exclusion>
          <artifactId>*</artifactId>
          <groupId>*</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.avro</groupId>
      <artifactId>avro</artifactId>
      <version>${org.apache.avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.core</groupId>
      <artifactId>commands</artifactId>
      <version>${dependency.commands.revision}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.equinox</groupId>
      <artifactId>common</artifactId>
      <version>${dependency.common.revision}</version>
    </dependency>
    <dependency>
      <groupId>com.github.stephenc.high-scale-lib</groupId>
      <artifactId>high-scale-lib</artifactId>
      <version>${dependency.high-scale-lib.revision}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
    </dependency>
    <dependency>
      <groupId>net.java.dev.jets3t</groupId>
      <artifactId>jets3t</artifactId>
      <version>${dependency.jets3t.revision}</version>
    </dependency>
    <dependency>
      <groupId>jline</groupId>
      <artifactId>jline</artifactId>
      <version>${dependency.jline.revision}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.thrift</groupId>
      <artifactId>libthrift</artifactId>
      <version>${org.apache.thrift.version}</version>
    </dependency>
    <dependency>
      <groupId>xmlpull</groupId>
      <artifactId>xmlpull</artifactId>
      <version>${dependency.xmlpull.revision}</version>
    </dependency>
    <dependency>
      <groupId>xpp3</groupId>
      <artifactId>xpp3_min</artifactId>
      <version>${dependency.xpp3.revision}</version>
    </dependency>
    <dependency>
      <groupId>com.thoughtworks.xstream</groupId>
      <artifactId>xstream</artifactId>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pdi-pig-plugin</artifactId>
      <version>${big-data-plugin.version}</version>
      <type>zip</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>pentaho</groupId>
      <artifactId>pdi-sqoop-plugin</artifactId>
      <version>${big-data-plugin.version}</version>
      <type>zip</type>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>pentaho</groupI
Download .txt
gitextract_fsrec6j5/

├── .gitattributes
├── .github/
│   └── CODEOWNERS
├── .gitignore
├── LICENSE.txt
├── README.markdown
├── api/
│   ├── pom.xml
│   └── runtimeTest/
│       ├── pom.xml
│       └── src/
│           ├── main/
│           │   ├── java/
│           │   │   └── org/
│           │   │       └── pentaho/
│           │   │           └── runtime/
│           │   │               └── test/
│           │   │                   ├── RuntimeTest.java
│           │   │                   ├── RuntimeTestProgressCallback.java
│           │   │                   ├── RuntimeTestStatus.java
│           │   │                   ├── RuntimeTester.java
│           │   │                   ├── action/
│           │   │                   │   ├── RuntimeTestAction.java
│           │   │                   │   ├── RuntimeTestActionHandler.java
│           │   │                   │   ├── RuntimeTestActionPayload.java
│           │   │                   │   ├── RuntimeTestActionService.java
│           │   │                   │   └── impl/
│           │   │                   │       ├── HelpUrlPayload.java
│           │   │                   │       ├── LoggingRuntimeTestActionHandlerImpl.java
│           │   │                   │       ├── RuntimeTestActionImpl.java
│           │   │                   │       └── RuntimeTestActionServiceImpl.java
│           │   │                   ├── i18n/
│           │   │                   │   ├── MessageGetter.java
│           │   │                   │   ├── MessageGetterFactory.java
│           │   │                   │   └── impl/
│           │   │                   │       ├── BaseMessagesMessageGetterFactoryImpl.java
│           │   │                   │       └── BaseMessagesMessageGetterImpl.java
│           │   │                   ├── impl/
│           │   │                   │   ├── RuntimeTestComparator.java
│           │   │                   │   ├── RuntimeTestRunner.java
│           │   │                   │   ├── RuntimeTestStatusImpl.java
│           │   │                   │   └── RuntimeTesterImpl.java
│           │   │                   ├── module/
│           │   │                   │   ├── RuntimeTestModuleResults.java
│           │   │                   │   └── impl/
│           │   │                   │       └── RuntimeTestModuleResultsImpl.java
│           │   │                   ├── network/
│           │   │                   │   ├── ConnectivityTest.java
│           │   │                   │   ├── ConnectivityTestFactory.java
│           │   │                   │   └── impl/
│           │   │                   │       ├── ConnectivityTestFactoryImpl.java
│           │   │                   │       ├── ConnectivityTestImpl.java
│           │   │                   │       └── GatewayConnectivityTestImpl.java
│           │   │                   ├── result/
│           │   │                   │   ├── RuntimeTestEntrySeverity.java
│           │   │                   │   ├── RuntimeTestResult.java
│           │   │                   │   ├── RuntimeTestResultEntry.java
│           │   │                   │   ├── RuntimeTestResultSummary.java
│           │   │                   │   └── org/
│           │   │                   │       └── pentaho/
│           │   │                   │           └── runtime/
│           │   │                   │               └── test/
│           │   │                   │                   └── result/
│           │   │                   │                       └── impl/
│           │   │                   │                           └── RuntimeTestResultSummaryImpl.java
│           │   │                   └── test/
│           │   │                       └── impl/
│           │   │                           ├── BaseRuntimeTest.java
│           │   │                           ├── RuntimeTestDelegateWithMoreDependencies.java
│           │   │                           ├── RuntimeTestResultEntryImpl.java
│           │   │                           └── RuntimeTestResultImpl.java
│           │   └── resources/
│           │       ├── OSGI-INF/
│           │       │   └── blueprint/
│           │       │       └── blueprint.xml
│           │       └── org/
│           │           └── pentaho/
│           │               └── runtime/
│           │                   └── test/
│           │                       ├── action/
│           │                       │   └── impl/
│           │                       │       └── messages/
│           │                       │           └── messages_en_US.properties
│           │                       ├── impl/
│           │                       │   └── messages/
│           │                       │       └── messages_en_US.properties
│           │                       └── network/
│           │                           └── impl/
│           │                               └── messages/
│           │                                   └── messages_en_US.properties
│           └── test/
│               └── java/
│                   └── org/
│                       └── pentaho/
│                           └── runtime/
│                               └── test/
│                                   ├── RuntimeTestEntryUtil.java
│                                   ├── TestMessageGetter.java
│                                   ├── TestMessageGetterFactory.java
│                                   ├── action/
│                                   │   └── impl/
│                                   │       ├── HelpUrlPayloadTest.java
│                                   │       ├── LoggingRuntimeTestActionHandlerImplTest.java
│                                   │       ├── RuntimeTestActionImplTest.java
│                                   │       └── RuntimeTestActionServiceImplTest.java
│                                   ├── i18n/
│                                   │   └── impl/
│                                   │       ├── BaseMessagesMessageGetterFactoryImplTest.java
│                                   │       └── BaseMessagesMessageGetterImplTest.java
│                                   ├── impl/
│                                   │   ├── RuntimeTestComparatorTest.java
│                                   │   ├── RuntimeTestRunnerTest.java
│                                   │   ├── RuntimeTestStatusImplTest.java
│                                   │   └── RuntimeTesterImplTest.java
│                                   ├── module/
│                                   │   └── impl/
│                                   │       └── RuntimeTestModuleResultsImplTest.java
│                                   ├── network/
│                                   │   └── impl/
│                                   │       ├── ConnectivityTestImplTest.java
│                                   │       └── GatewayConnectivityTestImplTest.java
│                                   ├── result/
│                                   │   └── RuntimeTestEntrySeverityTest.java
│                                   └── test/
│                                       └── impl/
│                                           ├── BaseRuntimeTestTest.java
│                                           ├── RuntimeTestDelegateWithMoreDependenciesTest.java
│                                           ├── RuntimeTestResultEntryImplTest.java
│                                           └── RuntimeTestResultImplTest.java
├── assemblies/
│   ├── pentaho-big-data-plugin/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── assembly/
│   │               ├── descriptors/
│   │               │   └── plugin.xml
│   │               └── resources/
│   │                   ├── bigdata-logging.properties
│   │                   ├── classpath.properties
│   │                   ├── hadoop-configurations/
│   │                   │   └── .kettle-ignore
│   │                   ├── plugin.properties
│   │                   └── plugins/
│   │                       └── .gitignore
│   ├── pmr-libraries/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── descriptors/
│   │           │   └── assembly.xml
│   │           └── resources/
│   │               ├── classes/
│   │               │   ├── kettle-lifecycle-listeners.xml
│   │               │   ├── kettle-password-encoder-plugins.xml
│   │               │   ├── kettle-registry-extensions.xml
│   │               │   ├── log4j2.xml
│   │               │   ├── org/
│   │               │   │   └── apache/
│   │               │   │       └── commons/
│   │               │   │           └── vfs2/
│   │               │   │               └── impl/
│   │               │   │                   └── providers.xml
│   │               │   └── pmr.properties
│   │               └── simple-jndi/
│   │                   └── jdbc.properties
│   ├── pom.xml
│   └── samples/
│       ├── pom.xml
│       └── src/
│           └── main/
│               ├── assembly/
│               │   └── descriptors/
│               │       └── samples.xml
│               └── resources/
│                   ├── .kettle-ignore
│                   └── jobs/
│                       └── hadoop/
│                           ├── Hadoop Job Executor 2 adv.kjb
│                           ├── Hadoop Job Executor adv.kjb
│                           ├── Hadoop Job Executor simple.kjb
│                           ├── Pentaho MapReduce - weblogs.kjb
│                           ├── Pentaho MapReduce - wordcount.kjb
│                           ├── Pig Script Executor tutorial local.kjb
│                           ├── Pig Script Executor tutorial.kjb
│                           ├── emr_job.kjb
│                           ├── excite-small.log
│                           ├── excite.log.bz2
│                           ├── files/
│                           │   ├── 2008.log
│                           │   ├── 2009.log
│                           │   ├── 2010.log
│                           │   └── readme.txt
│                           ├── pentaho-mapreduce-sample-src/
│                           │   ├── README.TXT
│                           │   └── src/
│                           │       └── org/
│                           │           └── pentaho/
│                           │               └── hadoop/
│                           │                   └── sample/
│                           │                       └── wordcount/
│                           │                           ├── WordCount.java
│                           │                           ├── WordCountMapper.java
│                           │                           └── WordCountReducer.java
│                           ├── pentaho-mapreduce-sample.jar
│                           ├── pentaho-mapreduce2-sample-src/
│                           │   ├── README.TXT
│                           │   └── src/
│                           │       └── org/
│                           │           └── pentaho/
│                           │               └── hadoop/
│                           │                   └── sample/
│                           │                       └── wordcount/
│                           │                           └── WordCount2.java
│                           ├── pentaho-mapreduce2-sample.jar
│                           ├── script1-hadoop-mod.pig
│                           ├── script1-local-mod.pig
│                           ├── tutorial.jar
│                           ├── weblogs-mapper.ktr
│                           ├── weblogs-reducer.ktr
│                           ├── wordcount-mapper.ktr
│                           ├── wordcount-reducer.ktr
│                           └── wordcount.jar
├── authentication-mapper/
│   ├── api/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── org/
│   │                   └── pentaho/
│   │                       └── authentication/
│   │                           └── mapper/
│   │                               └── api/
│   │                                   ├── AuthenticationMappingManager.java
│   │                                   ├── AuthenticationMappingService.java
│   │                                   └── MappingException.java
│   ├── impl/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   └── java/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── authentication/
│   │       │                   └── mapper/
│   │       │                       └── impl/
│   │       │                           └── AuthenticationMappingManagerImpl.java
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── authentication/
│   │           │               └── mapper/
│   │           │                   └── impl/
│   │           │                       └── AuthenticationMappingManagerImplTest.java
│   │           └── resources/
│   │               ├── invalid_mapping.json
│   │               └── mapping.json
│   └── pom.xml
├── dev-doc/
│   ├── multishim/
│   │   ├── MultiShimHBase.sd
│   │   ├── README.md
│   │   └── SingleShimHBase.sd
│   ├── shim-bridge-classloading.graphml
│   ├── shim-bridging-classloading.md
│   └── shimprovements.md
├── impl/
│   ├── cluster/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── it/
│   │       │   └── resources/
│   │       │       └── core-site.xml
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── big/
│   │       │   │               └── data/
│   │       │   │                   └── impl/
│   │       │   │                       └── cluster/
│   │       │   │                           ├── NamedClusterImpl.java
│   │       │   │                           └── NamedClusterManager.java
│   │       │   └── resources/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── impl/
│   │       │                           └── cluster/
│   │       │                               └── messages/
│   │       │                                   └── messages_en_US.properties
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── impl/
│   │           │                       └── cluster/
│   │           │                           ├── NamedClusterImplTest.java
│   │           │                           ├── NamedClusterManagerTest.java
│   │           │                           └── NamedClusterMetastoreIT.java
│   │           └── resources/
│   │               ├── core-site.xml
│   │               └── plugin.properties
│   ├── clusterTests/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── big/
│   │       │   │               └── data/
│   │       │   │                   └── impl/
│   │       │   │                       └── cluster/
│   │       │   │                           └── tests/
│   │       │   │                               ├── ClusterRuntimeTestEntry.java
│   │       │   │                               ├── Constants.java
│   │       │   │                               ├── hdfs/
│   │       │   │                               │   ├── GatewayListHomeDirectoryTest.java
│   │       │   │                               │   ├── GatewayListRootDirectoryTest.java
│   │       │   │                               │   ├── GatewayPingFileSystemEntryPoint.java
│   │       │   │                               │   ├── GatewayWriteToAndDeleteFromUsersHomeFolderTest.java
│   │       │   │                               │   ├── ListDirectoryTest.java
│   │       │   │                               │   ├── ListHomeDirectoryTest.java
│   │       │   │                               │   ├── ListRootDirectoryTest.java
│   │       │   │                               │   ├── PingFileSystemEntryPointTest.java
│   │       │   │                               │   └── WriteToAndDeleteFromUsersHomeFolderTest.java
│   │       │   │                               ├── kafka/
│   │       │   │                               │   └── KafkaConnectTest.java
│   │       │   │                               ├── mr/
│   │       │   │                               │   ├── GatewayPingJobTrackerTest.java
│   │       │   │                               │   └── PingJobTrackerTest.java
│   │       │   │                               ├── oozie/
│   │       │   │                               │   ├── GatewayPingOozieHostTest.java
│   │       │   │                               │   └── PingOozieHostTest.java
│   │       │   │                               └── zookeeper/
│   │       │   │                                   ├── GatewayPingZookeeperEnsembleTest.java
│   │       │   │                                   └── PingZookeeperEnsembleTest.java
│   │       │   └── resources/
│   │       │       ├── OSGI-INF/
│   │       │       │   └── blueprint/
│   │       │       │       └── blueprint.xml
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── impl/
│   │       │                           └── cluster/
│   │       │                               └── tests/
│   │       │                                   ├── hdfs/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   ├── kafka/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   ├── messages/
│   │       │                                   │   └── messages_en_US.properties
│   │       │                                   ├── mr/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   ├── oozie/
│   │       │                                   │   └── messages/
│   │       │                                   │       └── messages_en_US.properties
│   │       │                                   └── zookeeper/
│   │       │                                       └── messages/
│   │       │                                           └── messages_en_US.properties
│   │       └── test/
│   │           └── java/
│   │               └── org/
│   │                   └── pentaho/
│   │                       └── big/
│   │                           └── data/
│   │                               └── impl/
│   │                                   └── cluster/
│   │                                       └── tests/
│   │                                           ├── hdfs/
│   │                                           │   ├── ListDirectoryTestTest.java
│   │                                           │   ├── ListHomeDirectoryTestTest.java
│   │                                           │   ├── ListRootDirectoryTestTest.java
│   │                                           │   ├── PingFileSystemEntryPointTestTest.java
│   │                                           │   └── WriteToAndDeleteFromUsersHomeFolderTestTest.java
│   │                                           ├── kafka/
│   │                                           │   └── KafkaConnectTestTest.java
│   │                                           ├── mr/
│   │                                           │   └── PingJobTrackerTestTest.java
│   │                                           ├── oozie/
│   │                                           │   └── PingOozieHostTestTest.java
│   │                                           └── zookeeper/
│   │                                               └── PingZookeeperEnsembleTestTest.java
│   ├── pom.xml
│   ├── shim/
│   │   ├── jaas/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── impl/
│   │   │       │   │                       └── shim/
│   │   │       │   │                           └── jaas/
│   │   │       │   │                               ├── JaasConfigServiceFactory.java
│   │   │       │   │                               └── JaasConfigServiceImpl.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── impl/
│   │   │       │                           └── shim/
│   │   │       │                               └── jaas/
│   │   │       │                                   └── messages.properties
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── impl/
│   │   │                                   └── shim/
│   │   │                                       └── jaas/
│   │   │                                           ├── JaasConfigServiceFactoryTest.java
│   │   │                                           └── JaasConfigServiceImplTest.java
│   │   ├── pig/
│   │   │   └── pdi-testName
│   │   ├── pom.xml
│   │   └── shimTests/
│   │       ├── pom.xml
│   │       └── src/
│   │           ├── main/
│   │           │   ├── java/
│   │           │   │   └── org/
│   │           │   │       └── pentaho/
│   │           │   │           └── big/
│   │           │   │               └── data/
│   │           │   │                   └── impl/
│   │           │   │                       └── shim/
│   │           │   │                           └── tests/
│   │           │   │                               ├── TestShimConfig.java
│   │           │   │                               └── TestShimLoad.java
│   │           │   └── resources/
│   │           │       ├── OSGI-INF/
│   │           │       │   └── blueprint/
│   │           │       │       └── blueprint.xml
│   │           │       └── org/
│   │           │           └── pentaho/
│   │           │               └── big/
│   │           │                   └── data/
│   │           │                       └── impl/
│   │           │                           └── shim/
│   │           │                               └── tests/
│   │           │                                   └── messages/
│   │           │                                       └── messages_en_US.properties
│   │           └── test/
│   │               └── java/
│   │                   └── org/
│   │                       └── pentaho/
│   │                           └── big/
│   │                               └── data/
│   │                                   └── impl/
│   │                                       └── shim/
│   │                                           └── tests/
│   │                                               └── TestShimLoadTest.java
│   └── vfs-hdfs/
│       ├── pom.xml
│       └── src/
│           ├── main/
│           │   ├── java/
│           │   │   └── org/
│           │   │       └── pentaho/
│           │   │           └── big/
│           │   │               └── data/
│           │   │                   └── impl/
│           │   │                       └── vfs/
│           │   │                           └── hdfs/
│           │   │                               ├── AzureHdInsightsFileNameParser.java
│           │   │                               ├── HDFSFileNameParser.java
│           │   │                               ├── HDFSFileObject.java
│           │   │                               ├── HDFSFileProvider.java
│           │   │                               ├── HDFSFileSystem.java
│           │   │                               ├── MapRFileNameParser.java
│           │   │                               └── nc/
│           │   │                                   ├── NamedClusterConfigBuilder.java
│           │   │                                   ├── NamedClusterFileObject.java
│           │   │                                   ├── NamedClusterFileSystem.java
│           │   │                                   └── NamedClusterProvider.java
│           │   └── resources/
│           │       └── OSGI-INF/
│           │           └── blueprint/
│           │               └── blueprint.xml
│           └── test/
│               └── java/
│                   └── org/
│                       └── pentaho/
│                           └── big/
│                               └── data/
│                                   └── impl/
│                                       └── vfs/
│                                           └── hdfs/
│                                               ├── AzureFileNameParserTest.java
│                                               ├── HDFSFileNameParserTest.java
│                                               ├── HDFSFileObjectTest.java
│                                               ├── HDFSFileProviderTest.java
│                                               ├── HDFSFileSystemTest.java
│                                               ├── MapRFileNameParserTest.java
│                                               └── nc/
│                                                   ├── NamedClusterConfigBuilderTest.java
│                                                   └── NamedClusterProviderTest.java
├── kettle-plugins/
│   ├── browse/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── impl/
│   │           │                       └── browse/
│   │           │                           ├── NamedClusterProvider.java
│   │           │                           └── model/
│   │           │                               ├── NamedClusterDirectory.java
│   │           │                               ├── NamedClusterFile.java
│   │           │                               └── NamedClusterTree.java
│   │           └── resources/
│   │               └── OSGI-INF/
│   │                   └── blueprint/
│   │                       └── blueprint.xml
│   ├── common/
│   │   ├── job/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── job/
│   │   │       │   │                               ├── AbstractJobEntry.java
│   │   │       │   │                               ├── AbstractJobEntryController.java
│   │   │       │   │                               ├── BlockableJobConfig.java
│   │   │       │   │                               ├── JobEntryMode.java
│   │   │       │   │                               ├── JobEntrySerializationHelper.java
│   │   │       │   │                               ├── JobEntryUtils.java
│   │   │       │   │                               ├── Password.java
│   │   │       │   │                               └── PropertyEntry.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── job/
│   │   │       │                                   └── messages/
│   │   │       │                                       └── messages_en_US.properties
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── job/
│   │   │                                           ├── AbstractJobEntryTest.java
│   │   │                                           ├── BlockableJobConfigTest.java
│   │   │                                           └── JobEntryUtilsTest.java
│   │   ├── pom.xml
│   │   └── ui/
│   │       ├── pom.xml
│   │       └── src/
│   │           ├── main/
│   │           │   ├── java/
│   │           │   │   └── org/
│   │           │   │       └── pentaho/
│   │           │   │           └── big/
│   │           │   │               └── data/
│   │           │   │                   └── plugins/
│   │           │   │                       └── common/
│   │           │   │                           └── ui/
│   │           │   │                               ├── ClusterTestDialog.java
│   │           │   │                               ├── ClusterTestResultsDialog.java
│   │           │   │                               ├── CommonDialogFactory.java
│   │           │   │                               ├── HadoopClusterDelegateImpl.java
│   │           │   │                               ├── NamedClusterComposite.java
│   │           │   │                               ├── NamedClusterDialogImpl.java
│   │           │   │                               ├── NamedClusterWidgetImpl.java
│   │           │   │                               ├── StateChangeListener.java
│   │           │   │                               ├── TestResultComposite.java
│   │           │   │                               └── VfsFileChooserHelper.java
│   │           │   └── resources/
│   │           │       ├── apachesampleconfig.properties
│   │           │       ├── apachevanillasampleconfig.properties
│   │           │       ├── cdpdc71sampleconfig.properties
│   │           │       ├── dataproc1421sampleconfig.properties
│   │           │       ├── dataproc23sampleconfig.properties
│   │           │       ├── emr521sampleconfig.properties
│   │           │       ├── emr770sampleconfig.properties
│   │           │       ├── hdi40sampleconfig.properties
│   │           │       └── org/
│   │           │           └── pentaho/
│   │           │               └── big/
│   │           │                   └── data/
│   │           │                       └── plugins/
│   │           │                           └── common/
│   │           │                               └── ui/
│   │           │                                   └── messages/
│   │           │                                       └── messages_en_US.properties
│   │           └── test/
│   │               └── java/
│   │                   └── org/
│   │                       └── pentaho/
│   │                           └── big/
│   │                               └── data/
│   │                                   └── plugins/
│   │                                       └── common/
│   │                                           └── ui/
│   │                                               ├── HadoopClusterDelegateImplTest.java
│   │                                               └── TestClusterTestDialog.java
│   ├── formats/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── formats/
│   │   │       │   │                               └── impl/
│   │   │       │   │                                   ├── NamedClusterResolver.java
│   │   │       │   │                                   ├── NullableValuesEnum.java
│   │   │       │   │                                   ├── orc/
│   │   │       │   │                                   │   ├── BaseOrcStepDialog.java
│   │   │       │   │                                   │   ├── input/
│   │   │       │   │                                   │   │   ├── OrcInput.java
│   │   │       │   │                                   │   │   ├── OrcInputData.java
│   │   │       │   │                                   │   │   ├── OrcInputDialog.java
│   │   │       │   │                                   │   │   └── OrcInputMeta.java
│   │   │       │   │                                   │   └── output/
│   │   │       │   │                                   │       ├── OrcOutput.java
│   │   │       │   │                                   │       ├── OrcOutputData.java
│   │   │       │   │                                   │       ├── OrcOutputDialog.java
│   │   │       │   │                                   │       └── OrcOutputMeta.java
│   │   │       │   │                                   ├── output/
│   │   │       │   │                                   │   └── PvfsFileAliaser.java
│   │   │       │   │                                   └── parquet/
│   │   │       │   │                                       ├── BaseParquetStepDialog.java
│   │   │       │   │                                       ├── input/
│   │   │       │   │                                       │   ├── ParquetInput.java
│   │   │       │   │                                       │   ├── ParquetInputData.java
│   │   │       │   │                                       │   ├── ParquetInputDialog.java
│   │   │       │   │                                       │   ├── ParquetInputMeta.java
│   │   │       │   │                                       │   └── VFSScheme.java
│   │   │       │   │                                       └── output/
│   │   │       │   │                                           ├── ParquetOutput.java
│   │   │       │   │                                           ├── ParquetOutputData.java
│   │   │       │   │                                           ├── ParquetOutputDialog.java
│   │   │       │   │                                           └── ParquetOutputMeta.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── formats/
│   │   │       │                                   └── impl/
│   │   │       │                                       ├── orc/
│   │   │       │                                       │   ├── input/
│   │   │       │                                       │   │   └── messages/
│   │   │       │                                       │   │       └── messages_en_US.properties
│   │   │       │                                       │   ├── messages/
│   │   │       │                                       │   │   └── messages_en_US.properties
│   │   │       │                                       │   └── output/
│   │   │       │                                       │       └── messages/
│   │   │       │                                       │           └── messages_en_US.properties
│   │   │       │                                       └── parquet/
│   │   │       │                                           ├── input/
│   │   │       │                                           │   └── messages/
│   │   │       │                                           │       └── messages_en_US.properties
│   │   │       │                                           ├── messages/
│   │   │       │                                           │   └── messages_en_US.properties
│   │   │       │                                           └── output/
│   │   │       │                                               └── messages/
│   │   │       │                                                   └── messages_en_US.properties
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── formats/
│   │   │                                           └── impl/
│   │   │                                               ├── NamedClusterResolverTest.java
│   │   │                                               ├── orc/
│   │   │                                               │   ├── input/
│   │   │                                               │   │   ├── OrcInputMetaInjectionTest.java
│   │   │                                               │   │   └── OrcInputTest.java
│   │   │                                               │   └── output/
│   │   │                                               │       ├── OrcOutputMetaInjectionTest.java
│   │   │                                               │       └── OrcOutputTest.java
│   │   │                                               ├── output/
│   │   │                                               │   └── PvfsFileAliaserTest.java
│   │   │                                               └── parquet/
│   │   │                                                   ├── input/
│   │   │                                                   │   ├── ParquetInputMetaInjectionTest.java
│   │   │                                                   │   └── ParquetInputTest.java
│   │   │                                                   └── output/
│   │   │                                                       ├── ParquetOutputMetaInjectionTest.java
│   │   │                                                       └── ParquetOutputTest.java
│   │   └── pom.xml
│   ├── formats-meta/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── big/
│   │       │   │               └── data/
│   │       │   │                   └── kettle/
│   │       │   │                       └── plugins/
│   │       │   │                           └── formats/
│   │       │   │                               ├── BaseFormatInputField.java
│   │       │   │                               ├── BaseFormatOutputField.java
│   │       │   │                               ├── FormatInputFile.java
│   │       │   │                               ├── FormatInputOutputField.java
│   │       │   │                               ├── orc/
│   │       │   │                               │   ├── OrcFormatInputOutputField.java
│   │       │   │                               │   ├── OrcInputField.java
│   │       │   │                               │   ├── OrcTypeConverter.java
│   │       │   │                               │   ├── input/
│   │       │   │                               │   │   └── OrcInputMetaBase.java
│   │       │   │                               │   └── output/
│   │       │   │                               │       ├── OrcOutputField.java
│   │       │   │                               │       └── OrcOutputMetaBase.java
│   │       │   │                               └── parquet/
│   │       │   │                                   ├── ParquetTypeConverter.java
│   │       │   │                                   ├── input/
│   │       │   │                                   │   ├── ParquetInputField.java
│   │       │   │                                   │   └── ParquetInputMetaBase.java
│   │       │   │                                   └── output/
│   │       │   │                                       ├── ParquetOutputField.java
│   │       │   │                                       └── ParquetOutputMetaBase.java
│   │       │   └── resources/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── kettle/
│   │       │                           └── plugins/
│   │       │                               └── formats/
│   │       │                                   └── parquet/
│   │       │                                       └── output/
│   │       │                                           └── messages/
│   │       │                                               └── messages_en_US.properties
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── kettle/
│   │           │                       └── plugins/
│   │           │                           └── formats/
│   │           │                               ├── orc/
│   │           │                               │   ├── OrcInputFieldTest.java
│   │           │                               │   ├── input/
│   │           │                               │   │   └── OrcInputMetaBaseTest.java
│   │           │                               │   └── output/
│   │           │                               │       ├── OrcOutputFieldTest.java
│   │           │                               │       └── OrcOutputMetabaseTest.java
│   │           │                               └── parquet/
│   │           │                                   ├── input/
│   │           │                                   │   └── ParquetInputMetaBaseTest.java
│   │           │                                   └── output/
│   │           │                                       └── ParquetOutputMetaBaseTest.java
│   │           └── resources/
│   │               └── org/
│   │                   └── pentaho/
│   │                       └── big/
│   │                           └── data/
│   │                               └── kettle/
│   │                                   └── plugins/
│   │                                       └── formats/
│   │                                           └── orc/
│   │                                               └── input/
│   │                                                   └── OrcInput.xml
│   ├── guiTestActionHandlers/
│   │   ├── pom.xml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── plugins/
│   │           │                       └── gui/
│   │           │                           └── test/
│   │           │                               └── actionHandlers/
│   │           │                                   └── ShowHelpDialogActionHandler.java
│   │           └── resources/
│   │               └── OSGI-INF/
│   │                   └── blueprint/
│   │                       └── blueprint.xml
│   ├── hadoop-cluster/
│   │   ├── pom.xml
│   │   └── ui/
│   │       ├── pom.xml
│   │       └── src/
│   │           ├── main/
│   │           │   ├── java/
│   │           │   │   └── org/
│   │           │   │       └── pentaho/
│   │           │   │           └── big/
│   │           │   │               └── data/
│   │           │   │                   └── kettle/
│   │           │   │                       └── plugins/
│   │           │   │                           └── hadoopcluster/
│   │           │   │                               └── ui/
│   │           │   │                                   ├── dialog/
│   │           │   │                                   │   ├── HadoopClusterDelegate.java
│   │           │   │                                   │   ├── HadoopClusterDialog.java
│   │           │   │                                   │   └── wizard/
│   │           │   │                                   │       ├── NamedClusterDialog.java
│   │           │   │                                   │       ├── pages/
│   │           │   │                                   │       │   ├── ClusterSettingsPage.java
│   │           │   │                                   │       │   ├── KerberosSettingsPage.java
│   │           │   │                                   │       │   ├── KnoxSettingsPage.java
│   │           │   │                                   │       │   ├── ReportPage.java
│   │           │   │                                   │       │   ├── SecuritySettingsPage.java
│   │           │   │                                   │       │   └── TestResultsPage.java
│   │           │   │                                   │       └── util/
│   │           │   │                                   │           ├── BadSiteFilesException.java
│   │           │   │                                   │           ├── CustomWizardDialog.java
│   │           │   │                                   │           └── NamedClusterHelper.java
│   │           │   │                                   ├── endpoints/
│   │           │   │                                   │   ├── CachedFileItemStream.java
│   │           │   │                                   │   ├── Category.java
│   │           │   │                                   │   ├── HadoopClusterManager.java
│   │           │   │                                   │   ├── Test.java
│   │           │   │                                   │   └── TestCategory.java
│   │           │   │                                   ├── lifecycle/
│   │           │   │                                   │   └── HadoopClusterLifecycleListener.java
│   │           │   │                                   ├── model/
│   │           │   │                                   │   └── ThinNameClusterModel.java
│   │           │   │                                   └── tree/
│   │           │   │                                       ├── HadoopClusterPopupMenuExtension.java
│   │           │   │                                       ├── ThinHadoopClusterEditExtension.java
│   │           │   │                                       ├── ThinHadoopClusterFolderProvider.java
│   │           │   │                                       └── ThinHadoopClusterTreeDelegateExtension.java
│   │           │   └── resources/
│   │           │       ├── kettle-password-encoder-plugins.xml
│   │           │       └── org/
│   │           │           └── pentaho/
│   │           │               └── big/
│   │           │                   └── data/
│   │           │                       └── kettle/
│   │           │                           └── plugins/
│   │           │                               └── hadoopcluster/
│   │           │                                   └── ui/
│   │           │                                       ├── dialog/
│   │           │                                       │   ├── messages/
│   │           │                                       │   │   ├── messages.properties
│   │           │                                       │   │   └── messages_en_US.properties
│   │           │                                       │   └── wizard/
│   │           │                                       │       └── pages/
│   │           │                                       │           └── messages/
│   │           │                                       │               ├── messages.properties
│   │           │                                       │               └── messages_en_US.properties
│   │           │                                       ├── messages/
│   │           │                                       │   └── messages_en_US.properties
│   │           │                                       └── tree/
│   │           │                                           └── messages/
│   │           │                                               └── messages_en_US.properties
│   │           └── test/
│   │               ├── java/
│   │               │   └── org/
│   │               │       └── pentaho/
│   │               │           └── big/
│   │               │               └── data/
│   │               │                   └── kettle/
│   │               │                       └── plugins/
│   │               │                           └── hadoopcluster/
│   │               │                               └── ui/
│   │               │                                   └── endpoints/
│   │               │                                       └── HadoopClusterManagerTest.java
│   │               └── resources/
│   │                   ├── bad/
│   │                   │   └── core-site.xml
│   │                   ├── dataproc/
│   │                   │   ├── core-site.xml
│   │                   │   ├── hdfs-site.xml
│   │                   │   ├── hive-site.xml
│   │                   │   ├── mapred-site.xml
│   │                   │   └── yarn-site.xml
│   │                   ├── driver-source/
│   │                   │   └── driver.kar
│   │                   ├── keytab/
│   │                   │   └── test.keytab
│   │                   ├── missing-info/
│   │                   │   ├── core-site.xml
│   │                   │   ├── hive-site.xml
│   │                   │   ├── oozie-default.xml
│   │                   │   └── yarn-site.xml
│   │                   ├── secured/
│   │                   │   ├── core-site.xml
│   │                   │   ├── hive-site.xml
│   │                   │   └── yarn-site.xml
│   │                   └── unsecured/
│   │                       ├── core-site.xml
│   │                       ├── hive-site.xml
│   │                       ├── oozie-default.xml
│   │                       └── yarn-site.xml
│   ├── hbase/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── hbase/
│   │   │       │   │                               ├── FilterDefinition.java
│   │   │       │   │                               ├── HBaseConnectionException.java
│   │   │       │   │                               ├── HbaseUtil.java
│   │   │       │   │                               ├── MappingDefinition.java
│   │   │       │   │                               ├── NamedClusterLoadSaveUtil.java
│   │   │       │   │                               ├── ServiceStatus.java
│   │   │       │   │                               ├── input/
│   │   │       │   │                               │   ├── HBaseInput.java
│   │   │       │   │                               │   ├── HBaseInputData.java
│   │   │       │   │                               │   ├── HBaseInputDialog.java
│   │   │       │   │                               │   ├── HBaseInputMeta.java
│   │   │       │   │                               │   ├── Messages.java
│   │   │       │   │                               │   └── OutputFieldDefinition.java
│   │   │       │   │                               ├── mapping/
│   │   │       │   │                               │   ├── ConfigurationProducer.java
│   │   │       │   │                               │   ├── FieldProducer.java
│   │   │       │   │                               │   ├── HBaseRowToKettleTuple.java
│   │   │       │   │                               │   ├── MappingAdmin.java
│   │   │       │   │                               │   ├── MappingEditor.java
│   │   │       │   │                               │   └── MappingUtils.java
│   │   │       │   │                               ├── output/
│   │   │       │   │                               │   ├── HBaseOutput.java
│   │   │       │   │                               │   ├── HBaseOutputData.java
│   │   │       │   │                               │   ├── HBaseOutputDialog.java
│   │   │       │   │                               │   ├── HBaseOutputMeta.java
│   │   │       │   │                               │   ├── KettleRowToHBaseTuple.java
│   │   │       │   │                               │   └── Messages.java
│   │   │       │   │                               └── rowdecoder/
│   │   │       │   │                                   ├── HBaseRowDecoder.java
│   │   │       │   │                                   ├── HBaseRowDecoderData.java
│   │   │       │   │                                   ├── HBaseRowDecoderDialog.java
│   │   │       │   │                                   └── HBaseRowDecoderMeta.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── hbase/
│   │   │       │                                   ├── input/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       └── messages_en_US.properties
│   │   │       │                                   ├── mapping/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       └── messages_en_US.properties
│   │   │       │                                   ├── output/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       └── messages_en_US.properties
│   │   │       │                                   └── rowdecoder/
│   │   │       │                                       └── messages/
│   │   │       │                                           └── messages_en_US.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── hbase/
│   │   │           │                               ├── HbaseUtilTest.java
│   │   │           │                               ├── LogInjector.java
│   │   │           │                               ├── NamedClusterLoadSaveUtilTest.java
│   │   │           │                               ├── input/
│   │   │           │                               │   ├── HBaseInputMetaInjectionTest.java
│   │   │           │                               │   └── HBaseInputMetaTest.java
│   │   │           │                               ├── mapping/
│   │   │           │                               │   ├── MappingAdminTest.java
│   │   │           │                               │   ├── MappingUtilsTest.java
│   │   │           │                               │   └── MockHBaseByteConverterUsingJavaByteBuffer.java
│   │   │           │                               ├── output/
│   │   │           │                               │   ├── HBaseOutputMetaInjectionTest.java
│   │   │           │                               │   ├── HBaseOutputMetaTest.java
│   │   │           │                               │   └── KettleRowToHBaseTupleTest.java
│   │   │           │                               └── rowdecoder/
│   │   │           │                                   ├── HBaseRowDecoderMetaInjectionTest.java
│   │   │           │                                   └── HBaseRowDecoderMetaTest.java
│   │   │           └── resources/
│   │   │               └── StubMapping.xml
│   │   └── pom.xml
│   ├── hbase-meta/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   └── java/
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── big/
│   │       │                   └── data/
│   │       │                       └── kettle/
│   │       │                           └── plugins/
│   │       │                               └── hbase/
│   │       │                                   └── meta/
│   │       │                                       ├── AELHBaseMappingImpl.java
│   │       │                                       └── AELHBaseValueMetaImpl.java
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── big/
│   │           │               └── data/
│   │           │                   └── kettle/
│   │           │                       └── plugins/
│   │           │                           └── hbase/
│   │           │                               └── meta/
│   │           │                                   ├── AELHBaseMappingTest.java
│   │           │                                   └── AELHBaseValueMetaTest.java
│   │           └── resources/
│   │               └── StubMapping.xml
│   ├── hdfs/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── hdfs/
│   │   │       │   │                               ├── HdfsLifecycleListener.java
│   │   │       │   │                               ├── job/
│   │   │       │   │                               │   ├── JobEntryHadoopCopyFiles.java
│   │   │       │   │                               │   └── JobEntryHadoopCopyFilesDialog.java
│   │   │       │   │                               ├── trans/
│   │   │       │   │                               │   ├── HadoopFileInputDialog.java
│   │   │       │   │                               │   ├── HadoopFileInputMeta.java
│   │   │       │   │                               │   ├── HadoopFileMeta.java
│   │   │       │   │                               │   ├── HadoopFileOutputDialog.java
│   │   │       │   │                               │   ├── HadoopFileOutputMeta.java
│   │   │       │   │                               │   ├── HadoopInputFileSelectionAdapter.java
│   │   │       │   │                               │   └── analyzer/
│   │   │       │   │                               │       ├── HadoopBaseStepAnalyzer.java
│   │   │       │   │                               │       ├── HadoopFileInputExternalResourceConsumer.java
│   │   │       │   │                               │       ├── HadoopFileInputStepAnalyzer.java
│   │   │       │   │                               │       ├── HadoopFileOutputExternalResourceConsumer.java
│   │   │       │   │                               │       └── HadoopFileOutputStepAnalyzer.java
│   │   │       │   │                               └── vfs/
│   │   │       │   │                                   ├── HadoopVfsConnection.java
│   │   │       │   │                                   ├── HadoopVfsFileChooserDialog.java
│   │   │       │   │                                   ├── MapRFSFileChooserDialog.java
│   │   │       │   │                                   ├── NamedClusterVfsFileChooserDialog.java
│   │   │       │   │                                   └── Schemes.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       ├── graph.properties
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── hdfs/
│   │   │       │                                   ├── job/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       ├── messages_en_US.properties
│   │   │       │                                   │       └── messages_ko_KR.properties
│   │   │       │                                   ├── trans/
│   │   │       │                                   │   └── messages/
│   │   │       │                                   │       ├── messages_en_US.properties
│   │   │       │                                   │       └── messages_ko_KR.properties
│   │   │       │                                   └── vfs/
│   │   │       │                                       └── messages/
│   │   │       │                                           ├── messages_en_US.properties
│   │   │       │                                           └── messages_ko_KR.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── hdfs/
│   │   │           │                               ├── job/
│   │   │           │                               │   ├── JobEntryHadoopCopyFilesLoadSaveTest.java
│   │   │           │                               │   └── JobEntryHadoopCopyFilesTest.java
│   │   │           │                               ├── trans/
│   │   │           │                               │   ├── HadoopFileInputDialogTest.java
│   │   │           │                               │   ├── HadoopFileInputMetaTest.java
│   │   │           │                               │   ├── HadoopFileOutputDialogTest.java
│   │   │           │                               │   ├── HadoopFileOutputMetaTest.java
│   │   │           │                               │   └── analyzer/
│   │   │           │                               │       ├── HadoopBaseStepAnalyzerTest.java
│   │   │           │                               │       ├── HadoopFileInputStepAnalyzerTest.java
│   │   │           │                               │       └── HadoopFileOutputStepAnalyzerTest.java
│   │   │           │                               └── vfs/
│   │   │           │                                   ├── HadoopVfsConnectionTest.java
│   │   │           │                                   └── HadoopVfsFileChooserDialogTest.java
│   │   │           └── resources/
│   │   │               ├── graph.properties
│   │   │               ├── sample-hadoop-file-input-step.xml
│   │   │               └── sample-hadoop-file-output-step.xml
│   │   └── pom.xml
│   ├── hive/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   └── java/
│   │   │       │       └── org/
│   │   │       │           ├── apache/
│   │   │       │           │   ├── hadoop/
│   │   │       │           │   │   └── hive/
│   │   │       │           │   │       └── jdbc/
│   │   │       │           │   │           └── HiveDriver.java
│   │   │       │           │   └── hive/
│   │   │       │           │       └── jdbc/
│   │   │       │           │           ├── HiveDriver.java
│   │   │       │           │           ├── HiveSimbaDriver.java
│   │   │       │           │           ├── ImpalaDriver.java
│   │   │       │           │           ├── ImpalaSimbaDriver.java
│   │   │       │           │           └── SparkSqlSimbaDriver.java
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── hive/
│   │   │       │                                   ├── Activator.java
│   │   │       │                                   ├── BaseSimbaDatabaseMeta.java
│   │   │       │                                   ├── DatabaseMetaWithVersion.java
│   │   │       │                                   ├── DummyDriver.java
│   │   │       │                                   ├── Hive2DatabaseDialect.java
│   │   │       │                                   ├── Hive2DatabaseMeta.java
│   │   │       │                                   ├── Hive2SimbaDatabaseDialect.java
│   │   │       │                                   ├── Hive2SimbaDatabaseMeta.java
│   │   │       │                                   ├── HiveDatabaseDialect.java
│   │   │       │                                   ├── HiveDatabaseMeta.java
│   │   │       │                                   ├── HiveWarehouseDatabaseMeta.java
│   │   │       │                                   ├── ImpalaDatabaseDialect.java
│   │   │       │                                   ├── ImpalaDatabaseMeta.java
│   │   │       │                                   ├── ImpalaSimbaDatabaseDialect.java
│   │   │       │                                   ├── ImpalaSimbaDatabaseMeta.java
│   │   │       │                                   ├── SimbaUrl.java
│   │   │       │                                   ├── SparkSimbaDatabaseDialect.java
│   │   │       │                                   └── SparkSimbaDatabaseMeta.java
│   │   │       └── test/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   ├── apache/
│   │   │                   │   ├── hadoop/
│   │   │                   │   │   └── hive/
│   │   │                   │   │       └── jdbc/
│   │   │                   │   │           └── HiveDriverTest.java
│   │   │                   │   └── hive/
│   │   │                   │       └── jdbc/
│   │   │                   │           ├── HiveDriverTest.java
│   │   │                   │           ├── HiveSimbaDriverTest.java
│   │   │                   │           ├── ImpalaDriverTest.java
│   │   │                   │           └── ImpalaSimbaDriverTest.java
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── hive/
│   │   │                                           ├── BaseSimbaDatabaseMetaTest.java
│   │   │                                           ├── Hive2DatabaseDialectTest.java
│   │   │                                           ├── Hive2DatabaseMetaTest.java
│   │   │                                           ├── Hive2SimbaDatabaseDialectTest.java
│   │   │                                           ├── Hive2SimbaDatabaseMetaTest.java
│   │   │                                           ├── HiveDatabaseDialectTest.java
│   │   │                                           ├── HiveDatabaseMetaTest.java
│   │   │                                           ├── ImpalaDatabaseDialectTest.java
│   │   │                                           ├── ImpalaDatabaseMetaTest.java
│   │   │                                           ├── ImpalaSimbaDatabaseDialectTest.java
│   │   │                                           ├── ImpalaSimbaDatabaseMetaTest.java
│   │   │                                           ├── SimbaUrlTest.java
│   │   │                                           ├── SparkSimbaDatabaseDialectTest.java
│   │   │                                           └── SparkSimbaDatabaseMetaTest.java
│   │   └── pom.xml
│   ├── mapreduce/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── mapreduce/
│   │   │       │   │                               ├── DialogClassUtil.java
│   │   │       │   │                               ├── entry/
│   │   │       │   │                               │   ├── NamedClusterLoadSaveUtil.java
│   │   │       │   │                               │   ├── UserDefinedItem.java
│   │   │       │   │                               │   ├── hadoop/
│   │   │       │   │                               │   │   └── JobEntryHadoopJobExecutor.java
│   │   │       │   │                               │   └── pmr/
│   │   │       │   │                               │       └── JobEntryHadoopTransJobExecutor.java
│   │   │       │   │                               ├── step/
│   │   │       │   │                               │   ├── enter/
│   │   │       │   │                               │   │   └── HadoopEnterMeta.java
│   │   │       │   │                               │   └── exit/
│   │   │       │   │                               │       ├── HadoopExit.java
│   │   │       │   │                               │       ├── HadoopExitData.java
│   │   │       │   │                               │       └── HadoopExitMeta.java
│   │   │       │   │                               └── ui/
│   │   │       │   │                                   ├── entry/
│   │   │       │   │                                   │   ├── hadoop/
│   │   │       │   │                                   │   │   ├── JobEntryHadoopJobExecutorController.java
│   │   │       │   │                                   │   │   └── JobEntryHadoopJobExecutorDialog.java
│   │   │       │   │                                   │   └── pmr/
│   │   │       │   │                                   │       ├── JobEntryHadoopTransJobExecutorController.java
│   │   │       │   │                                   │       └── JobEntryHadoopTransJobExecutorDialog.java
│   │   │       │   │                                   └── step/
│   │   │       │   │                                       ├── enter/
│   │   │       │   │                                       │   ├── HadoopEnterDialog.java
│   │   │       │   │                                       │   └── HadoopEnterMetaMapper.java
│   │   │       │   │                                       └── exit/
│   │   │       │   │                                           ├── HadoopExitDialog.java
│   │   │       │   │                                           └── HadoopExitMetaMapper.java
│   │   │       │   └── resources/
│   │   │       │       ├── OSGI-INF/
│   │   │       │       │   └── blueprint/
│   │   │       │       │       └── blueprint.xml
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── mapreduce/
│   │   │       │                                   ├── entry/
│   │   │       │                                   │   ├── hadoop/
│   │   │       │                                   │   │   └── messages/
│   │   │       │                                   │   │       ├── messages_en_US.properties
│   │   │       │                                   │   │       └── messages_ko_KR.properties
│   │   │       │                                   │   └── pmr/
│   │   │       │                                   │       └── messages/
│   │   │       │                                   │           └── messages_en_US.properties
│   │   │       │                                   ├── step/
│   │   │       │                                   │   ├── enter/
│   │   │       │                                   │   │   └── messages/
│   │   │       │                                   │   │       └── messages_en_US.properties
│   │   │       │                                   │   └── exit/
│   │   │       │                                   │       └── messages/
│   │   │       │                                   │           └── messages_en_US.properties
│   │   │       │                                   └── ui/
│   │   │       │                                       ├── entry/
│   │   │       │                                       │   ├── JobEntryHadoopJobExecutorDialog.xul
│   │   │       │                                       │   └── JobEntryHadoopTransJobExecutorDialog.xul
│   │   │       │                                       └── step/
│   │   │       │                                           ├── enter/
│   │   │       │                                           │   └── dialog.xul
│   │   │       │                                           └── exit/
│   │   │       │                                               └── dialog.xul
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── mapreduce/
│   │   │           │                               ├── DialogClassUtilTest.java
│   │   │           │                               ├── JobEntryHadoopTransJobExecutorTest.java
│   │   │           │                               ├── entry/
│   │   │           │                               │   ├── NamedClusterLoadSaveUtilTest.java
│   │   │           │                               │   ├── UserDefinedItemTest.java
│   │   │           │                               │   ├── hadoop/
│   │   │           │                               │   │   └── JobEntryHadoopJobExecutorTest.java
│   │   │           │                               │   └── pmr/
│   │   │           │                               │       └── JobEntryHadoopTransJobExecutorTest.java
│   │   │           │                               ├── step/
│   │   │           │                               │   ├── HadoopExitMetaTest.java
│   │   │           │                               │   ├── enter/
│   │   │           │                               │   │   ├── HadoopEnterMetaInjectionTest.java
│   │   │           │                               │   │   └── HadoopEnterMetaTest.java
│   │   │           │                               │   └── exit/
│   │   │           │                               │       ├── HadoopExitDataTest.java
│   │   │           │                               │       ├── HadoopExitMetaInjectionTest.java
│   │   │           │                               │       ├── HadoopExitMetaTest.java
│   │   │           │                               │       └── HadoopExitTest.java
│   │   │           │                               └── ui/
│   │   │           │                                   └── entry/
│   │   │           │                                       └── pmr/
│   │   │           │                                           └── JobEntryHadoopTransJobExecutorControllerTest.java
│   │   │           └── resources/
│   │   │               └── testTrans.ktr
│   │   └── pom.xml
│   ├── oozie/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── oozie/
│   │   │       │   │                               ├── OozieJobExecutorConfig.java
│   │   │       │   │                               ├── OozieJobExecutorJobEntry.java
│   │   │       │   │                               ├── OozieJobExecutorJobEntryController.java
│   │   │       │   │                               └── OozieJobExecutorJobEntryDialog.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── oozie/
│   │   │       │                                   ├── messages/
│   │   │       │                                   │   └── messages_en_US.properties
│   │   │       │                                   └── xul/
│   │   │       │                                       ├── OozieJobExecutor.xul
│   │   │       │                                       └── button-bar.xul
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── oozie/
│   │   │           │                               ├── OozieJobExecutorConfigTest.java
│   │   │           │                               ├── OozieJobExecutorControllerTest.java
│   │   │           │                               └── OozieJobExecutorJobEntryTest.java
│   │   │           └── resources/
│   │   │               ├── badJob.properties
│   │   │               └── job.properties
│   │   └── pom.xml
│   ├── pig/
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── big/
│   │   │       │   │               └── data/
│   │   │       │   │                   └── kettle/
│   │   │       │   │                       └── plugins/
│   │   │       │   │                           └── pig/
│   │   │       │   │                               ├── JobEntryPigScriptExecutor.java
│   │   │       │   │                               └── JobEntryPigScriptExecutorDialog.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── big/
│   │   │       │                   └── data/
│   │   │       │                       └── kettle/
│   │   │       │                           └── plugins/
│   │   │       │                               └── pig/
│   │   │       │                                   └── messages/
│   │   │       │                                       └── messages_en_US.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── big/
│   │   │           │               └── data/
│   │   │           │                   └── kettle/
│   │   │           │                       └── plugins/
│   │   │           │                           └── pig/
│   │   │           │                               ├── JobEntryPigScriptExecutorTest.java
│   │   │           │                               └── PigNamedClusterValidator.java
│   │   │           └── resources/
│   │   │               └── org/
│   │   │                   └── pentaho/
│   │   │                       └── big/
│   │   │                           └── data/
│   │   │                               └── kettle/
│   │   │                                   └── plugins/
│   │   │                                       └── pig/
│   │   │                                           └── pig.script
│   │   └── pom.xml
│   ├── pom.xml
│   ├── spark/
│   │   ├── README.md
│   │   ├── assemblies/
│   │   │   ├── plugin/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       ├── assembly/
│   │   │   │       │   └── assembly.xml
│   │   │   │       └── main/
│   │   │   │           └── resources/
│   │   │   │               └── version.xml
│   │   │   └── pom.xml
│   │   ├── core/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── main/
│   │   │       │   ├── java/
│   │   │       │   │   └── org/
│   │   │       │   │       └── pentaho/
│   │   │       │   │           └── di/
│   │   │       │   │               ├── job/
│   │   │       │   │               │   └── entries/
│   │   │       │   │               │       └── spark/
│   │   │       │   │               │           ├── JobEntrySparkSubmit.java
│   │   │       │   │               │           ├── JobEntrySparkSubmitAnalyzer.java
│   │   │       │   │               │           ├── PatternMatchingStreamLogger.java
│   │   │       │   │               │           └── WinProcess.java
│   │   │       │   │               └── ui/
│   │   │       │   │                   └── job/
│   │   │       │   │                       └── entries/
│   │   │       │   │                           └── spark/
│   │   │       │   │                               └── JobEntrySparkSubmitDialog.java
│   │   │       │   └── resources/
│   │   │       │       └── org/
│   │   │       │           └── pentaho/
│   │   │       │               └── di/
│   │   │       │                   └── job/
│   │   │       │                       └── entries/
│   │   │       │                           └── spark/
│   │   │       │                               └── messages/
│   │   │       │                                   └── messages_en_US.properties
│   │   │       └── test/
│   │   │           ├── java/
│   │   │           │   └── org/
│   │   │           │       └── pentaho/
│   │   │           │           └── di/
│   │   │           │               └── job/
│   │   │           │                   └── entries/
│   │   │           │                       └── spark/
│   │   │           │                           ├── JobEntrySparkSubmitLoadSaveTest.java
│   │   │           │                           ├── JobEntrySparkSubmitTest.java
│   │   │           │                           ├── PatternMatchingStreamLoggerTest.java
│   │   │           │                           └── WinProcessTest.java
│   │   │           └── resources/
│   │   │               ├── ChildProcessTester.java
│   │   │               └── process.cmd
│   │   └── pom.xml
│   └── sqoop/
│       ├── assemblies/
│       │   ├── plugin/
│       │   │   ├── pom.xml
│       │   │   └── src/
│       │   │       ├── assembly/
│       │   │       │   └── assembly.xml
│       │   │       └── main/
│       │   │           └── resources/
│       │   │               └── version.xml
│       │   └── pom.xml
│       ├── core/
│       │   ├── pom.xml
│       │   └── src/
│       │       ├── main/
│       │       │   ├── java/
│       │       │   │   └── org/
│       │       │   │       └── pentaho/
│       │       │   │           └── big/
│       │       │   │               └── data/
│       │       │   │                   └── kettle/
│       │       │   │                       └── plugins/
│       │       │   │                           └── sqoop/
│       │       │   │                               ├── AbstractSqoopJobEntry.java
│       │       │   │                               ├── ArgumentWrapper.java
│       │       │   │                               ├── CommandLineArgument.java
│       │       │   │                               ├── DatabaseItem.java
│       │       │   │                               ├── LoggingProxy.java
│       │       │   │                               ├── SqoopConfig.java
│       │       │   │                               ├── SqoopExportConfig.java
│       │       │   │                               ├── SqoopExportJobEntry.java
│       │       │   │                               ├── SqoopExportJobEntryDialog.java
│       │       │   │                               ├── SqoopImportConfig.java
│       │       │   │                               ├── SqoopImportJobEntry.java
│       │       │   │                               ├── SqoopImportJobEntryDialog.java
│       │       │   │                               ├── SqoopLog4jFilter.java
│       │       │   │                               ├── SqoopUtils.java
│       │       │   │                               └── ui/
│       │       │   │                                   ├── AbstractSqoopJobEntryController.java
│       │       │   │                                   ├── AbstractSqoopJobEntryDialog.java
│       │       │   │                                   ├── SqoopExportJobEntryController.java
│       │       │   │                                   └── SqoopImportJobEntryController.java
│       │       │   └── resources/
│       │       │       └── org/
│       │       │           └── pentaho/
│       │       │               └── big/
│       │       │                   └── data/
│       │       │                       └── kettle/
│       │       │                           └── plugins/
│       │       │                               └── sqoop/
│       │       │                                   ├── messages/
│       │       │                                   │   └── messages_en_US.properties
│       │       │                                   └── xul/
│       │       │                                       ├── SqoopExportJobEntry.xul
│       │       │                                       ├── SqoopImportJobEntry.xul
│       │       │                                       ├── advanced-mode.xul
│       │       │                                       └── button-bar.xul
│       │       └── test/
│       │           └── java/
│       │               └── org/
│       │                   └── pentaho/
│       │                       └── big/
│       │                           └── data/
│       │                               └── kettle/
│       │                                   └── plugins/
│       │                                       └── sqoop/
│       │                                           ├── AbstractSqoopJobEntryTest.java
│       │                                           ├── PersistentPropertyChangeListener.java
│       │                                           ├── PropertyFiringObjectTest.java
│       │                                           ├── SqoopConfigTest.java
│       │                                           ├── SqoopLog4jFilterTest.java
│       │                                           └── util/
│       │                                               └── MockitoAutoBean.java
│       └── pom.xml
├── legacy/
│   ├── pom.xml
│   └── src/
│       ├── main/
│       │   ├── java/
│       │   │   └── org/
│       │   │       └── pentaho/
│       │   │           ├── di/
│       │   │           │   ├── core/
│       │   │           │   │   └── hadoop/
│       │   │           │   │       ├── HadoopConfigurationInfo.java
│       │   │           │   │       ├── HadoopConfigurationPrompter.java
│       │   │           │   │       ├── HadoopSpoonPlugin.java
│       │   │           │   │       ├── NoShimSpecifiedException.java
│       │   │           │   │       └── SpoonExtensionPoint.java
│       │   │           │   ├── trans/
│       │   │           │   │   └── steps/
│       │   │           │   │       ├── avroinput/
│       │   │           │   │       │   ├── AvroInput.java
│       │   │           │   │       │   ├── AvroInputData.java
│       │   │           │   │       │   ├── AvroInputDialog.java
│       │   │           │   │       │   └── AvroInputMeta.java
│       │   │           │   │       └── couchdbinput/
│       │   │           │   │           ├── CouchDbInput.java
│       │   │           │   │           ├── CouchDbInputData.java
│       │   │           │   │           └── CouchDbInputMeta.java
│       │   │           │   └── ui/
│       │   │           │       ├── core/
│       │   │           │       │   └── namedcluster/
│       │   │           │       │       ├── HadoopClusterDelegate.java
│       │   │           │       │       ├── NamedClusterDialog.java
│       │   │           │       │       ├── NamedClusterUIFactory.java
│       │   │           │       │       ├── NamedClusterUIHelper.java
│       │   │           │       │       └── NamedClusterWidget.java
│       │   │           │       ├── job/
│       │   │           │       │   └── entries/
│       │   │           │       │       └── hadoopjobexecutor/
│       │   │           │       │           └── UserDefinedItem.java
│       │   │           │       ├── repository/
│       │   │           │       │   └── repositoryexplorer/
│       │   │           │       │       ├── controllers/
│       │   │           │       │       │   └── NamedClustersController.java
│       │   │           │       │       └── model/
│       │   │           │       │           ├── UINamedCluster.java
│       │   │           │       │           ├── UINamedClusterObjectRegistry.java
│       │   │           │       │           └── UINamedClusters.java
│       │   │           │       ├── trans/
│       │   │           │       │   └── steps/
│       │   │           │       │       └── couchdbinput/
│       │   │           │       │           └── CouchDbInputDialog.java
│       │   │           │       └── vfs/
│       │   │           │           └── VfsFileChooserHelper.java
│       │   │           └── hadoop/
│       │   │               ├── PluginPropertiesUtil.java
│       │   │               └── PropertiesConfigurationProperties.java
│       │   └── resources/
│       │       ├── META-INF/
│       │       │   └── version.properties
│       │       └── org/
│       │           └── pentaho/
│       │               ├── di/
│       │               │   ├── core/
│       │               │   │   └── hadoop/
│       │               │   │       ├── explorer-layout-overlay.xul
│       │               │   │       └── messages/
│       │               │   │           └── messages_en_US.properties
│       │               │   ├── trans/
│       │               │   │   └── steps/
│       │               │   │       ├── avroinput/
│       │               │   │       │   └── messages/
│       │               │   │       │       └── messages_en_US.properties
│       │               │   │       └── couchdbinput/
│       │               │   │           └── messages/
│       │               │   │               └── messages_en_US.properties
│       │               │   └── ui/
│       │               │       ├── core/
│       │               │       │   └── namedcluster/
│       │               │       │       └── dialog/
│       │               │       │           └── messages/
│       │               │       │               └── messages_en_US.properties
│       │               │       └── hadoop/
│       │               │           └── configuration/
│       │               │               ├── messages/
│       │               │               │   └── messages_en_US.properties
│       │               │               ├── no-configs.xul
│       │               │               ├── restart-prompt.xul
│       │               │               ├── select-config.xul
│       │               │               └── toolbar-overlay.xul
│       │               └── hadoop/
│       │                   └── messages/
│       │                       └── messages_en_US.properties
│       └── test/
│           ├── java/
│           │   └── org/
│           │       └── pentaho/
│           │           ├── database/
│           │           │   └── TestSelectCount.java
│           │           ├── di/
│           │           │   ├── core/
│           │           │   │   └── hadoop/
│           │           │   │       └── HadoopConfigurationInfoTest.java
│           │           │   ├── trans/
│           │           │   │   └── steps/
│           │           │   │       ├── avroinput/
│           │           │   │       │   ├── AvroInputDataTest.java
│           │           │   │       │   ├── AvroInputMetaAvroFieldTest.java
│           │           │   │       │   ├── AvroInputMetaLookupFieldTest.java
│           │           │   │       │   ├── AvroInputMetaTest.java
│           │           │   │       │   └── AvroInputTest.java
│           │           │   │       └── couchdbinput/
│           │           │   │           ├── CouchDbInputMetaTest.java
│           │           │   │           └── CouchDbInputTest.java
│           │           │   └── ui/
│           │           │       ├── core/
│           │           │       │   └── namedcluster/
│           │           │       │       └── NamedClusterUIHelperTest.java
│           │           │       └── vfs/
│           │           │           └── VfsFileChooserHelperTest.java
│           │           ├── hadoop/
│           │           │   ├── PluginPropertiesUtilTest.java
│           │           │   └── PropertiesConfigurationPropertiesTest.java
│           │           ├── util/
│           │           │   └── FileUtil.java
│           │           └── weblogs/
│           │               └── WebLogs.java
│           └── resources/
│               ├── hadoop-configurations/
│               │   └── .gitignore
│               ├── master.log
│               ├── plugin.properties
│               ├── s3OutputMetaTest.ktr
│               ├── test-settings.properties
│               ├── test-version.properties
│               └── test.ktr
├── legacy-amazon/
│   ├── assemblies/
│   │   ├── plugin/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       ├── assembly/
│   │   │       │   └── assembly.xml
│   │   │       └── main/
│   │   │           └── resources/
│   │   │               └── version.xml
│   │   └── pom.xml
│   ├── core/
│   │   ├── pom.xml
│   │   └── src/
│   │       ├── main/
│   │       │   ├── java/
│   │       │   │   └── org/
│   │       │   │       └── pentaho/
│   │       │   │           └── amazon/
│   │       │   │               ├── AbstractAmazonJobEntry.java
│   │       │   │               ├── AbstractAmazonJobEntryDialog.java
│   │       │   │               ├── AbstractAmazonJobExecutor.java
│   │       │   │               ├── AbstractAmazonJobExecutorController.java
│   │       │   │               ├── AmazonEmrReleases.java
│   │       │   │               ├── AmazonRegion.java
│   │       │   │               ├── InstanceType.java
│   │       │   │               ├── client/
│   │       │   │               │   ├── AbstractClientFactory.java
│   │       │   │               │   ├── AmazonClientCredentials.java
│   │       │   │               │   ├── ClientFactoriesManager.java
│   │       │   │               │   ├── ClientType.java
│   │       │   │               │   ├── api/
│   │       │   │               │   │   ├── AimClient.java
│   │       │   │               │   │   ├── Ec2Client.java
│   │       │   │               │   │   ├── EmrClient.java
│   │       │   │               │   │   ├── PricingClient.java
│   │       │   │               │   │   └── S3Client.java
│   │       │   │               │   └── impl/
│   │       │   │               │       ├── AimClientFactory.java
│   │       │   │               │       ├── AimClientImpl.java
│   │       │   │               │       ├── Ec2ClientFactory.java
│   │       │   │               │       ├── Ec2ClientImpl.java
│   │       │   │               │       ├── EmrClientFactory.java
│   │       │   │               │       ├── EmrClientImpl.java
│   │       │   │               │       ├── PricingClientFactory.java
│   │       │   │               │       ├── PricingClientImpl.java
│   │       │   │               │       ├── S3ClientFactory.java
│   │       │   │               │       └── S3ClientImpl.java
│   │       │   │               ├── emr/
│   │       │   │               │   ├── job/
│   │       │   │               │   │   └── AmazonElasticMapReduceJobExecutor.java
│   │       │   │               │   └── ui/
│   │       │   │               │       ├── AmazonElasticMapReduceJobExecutorController.java
│   │       │   │               │       └── AmazonElasticMapReduceJobExecutorDialog.java
│   │       │   │               ├── hive/
│   │       │   │               │   ├── job/
│   │       │   │               │   │   └── AmazonHiveJobExecutor.java
│   │       │   │               │   └── ui/
│   │       │   │               │       ├── AmazonHiveJobExecutorController.java
│   │       │   │               │       └── AmazonHiveJobExecutorDialog.java
│   │       │   │               └── s3/
│   │       │   │                   ├── S3VfsFileChooserHelper.java
│   │       │   │                   └── VfsFileChooserHelper.java
│   │       │   └── resources/
│   │       │       ├── META-INF/
│   │       │       │   └── version.properties
│   │       │       └── org/
│   │       │           └── pentaho/
│   │       │               └── amazon/
│   │       │                   ├── emr/
│   │       │                   │   ├── job/
│   │       │                   │   │   └── messages/
│   │       │                   │   │       └── messages_en_US.properties
│   │       │                   │   └── ui/
│   │       │                   │       └── AmazonElasticMapReduceJobExecutorDialog.xul
│   │       │                   ├── hive/
│   │       │                   │   ├── job/
│   │       │                   │   │   └── messages/
│   │       │                   │   │       └── messages_en_US.properties
│   │       │                   │   └── ui/
│   │       │                   │       └── AmazonHiveJobExecutorDialog.xul
│   │       │                   └── messages/
│   │       │                       └── messages_en_US.properties
│   │       └── test/
│   │           ├── java/
│   │           │   └── org/
│   │           │       └── pentaho/
│   │           │           └── amazon/
│   │           │               ├── AbstractAmazonJobExecutorControllerTest.java
│   │           │               ├── AbstractAmazonJobExecutorTest.java
│   │           │               ├── AmazonRegionTest.java
│   │           │               ├── InstanceTypeTest.java
│   │           │               ├── PersistentPropertyChangeListener.java
│   │           │               ├── PropertyFiringObjectTest.java
│   │           │               ├── client/
│   │           │               │   ├── AmazonClientCredentialsTest.java
│   │           │               │   ├── ClientFactoriesManagerTest.java
│   │           │               │   └── impl/
│   │           │               │       ├── AimClientImplTest.java
│   │           │               │       ├── Ec2ClientFactoryTest.java
│   │           │               │       ├── Ec2ClientImplTest.java
│   │           │               │       ├── EmrClientImplTest.java
│   │           │               │       ├── PricingClientImplTest.java
│   │           │               │       └── S3ClientImplTest.java
│   │           │               ├── emr/
│   │           │               │   └── job/
│   │           │               │       └── AmazonElasticMapReduceJobExecutorLoadSaveTest.java
│   │           │               └── hive/
│   │           │                   └── job/
│   │           │                       └── AmazonHiveJobExecutorLoadSaveTest.java
│   │           └── resources/
│   │               └── master.log
│   └── pom.xml
├── legacy-core/
│   ├── pom.xml
│   └── src/
│       └── main/
│           └── java/
│               └── org/
│                   └── pentaho/
│                       └── big/
│                           └── data/
│                               └── api/
│                                   └── services/
│                                       └── BigDataServicesHelper.java
├── pom.xml
└── services-bootstrap/
    ├── pom.xml
    └── src/
        ├── main/
        │   └── java/
        │       └── org/
        │           └── pentaho/
        │               └── big/
        │                   └── data/
        │                       ├── api/
        │                       │   └── services/
        │                       │       └── impl/
        │                       │           └── BigDataServicesProxyImpl.java
        │                       ├── hadoop/
        │                       │   └── bootstrap/
        │                       │       ├── HadoopConfigurationBootstrap.java
        │                       │       └── HadoopConfigurationListener.java
        │                       └── services/
        │                           └── bootstrap/
        │                               ├── BigDataCEServiceInitializerImpl.java
        │                               ├── BigDataLogConfig.java
        │                               └── BigDataPluginLifecycleListener.java
        └── test/
            └── java/
                └── org/
                    └── pentaho/
                        └── big/
                            └── data/
                                └── services/
                                    └── bootstrap/
                                        ├── BigDataCEServiceInitializerImplTest.java
                                        └── BigDataLogConfigTest.java
Download .txt
Showing preview only (545K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6084 symbols across 520 files)

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTest.java
  type RuntimeTest (line 23) | public interface RuntimeTest {
    method accepts (line 24) | boolean accepts( Object objectUnderTest );
    method getModule (line 26) | String getModule();
    method getId (line 28) | String getId();
    method getName (line 30) | String getName();
    method isConfigInitTest (line 32) | boolean isConfigInitTest();
    method getDependencies (line 34) | Set<String> getDependencies();
    method runTest (line 36) | RuntimeTestResultSummary runTest( Object objectUnderTest );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTestProgressCallback.java
  type RuntimeTestProgressCallback (line 19) | public interface RuntimeTestProgressCallback {
    method onProgress (line 20) | void onProgress( RuntimeTestStatus runtimeTestStatus );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTestStatus.java
  type RuntimeTestStatus (line 23) | public interface RuntimeTestStatus {
    method getModuleResults (line 24) | List<RuntimeTestModuleResults> getModuleResults();
    method getTestsDone (line 26) | int getTestsDone();
    method getTestsRunning (line 28) | int getTestsRunning();
    method getTestsOutstanding (line 30) | int getTestsOutstanding();
    method isDone (line 32) | boolean isDone();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTester.java
  type RuntimeTester (line 19) | public interface RuntimeTester {
    method runtimeTest (line 20) | void runtimeTest( Object objectUnderTest, RuntimeTestProgressCallback ...
    method addRuntimeTest (line 21) | void addRuntimeTest( RuntimeTest test );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestAction.java
  type RuntimeTestAction (line 21) | public interface RuntimeTestAction {
    method getName (line 22) | String getName();
    method getDescription (line 23) | String getDescription();
    method getSeverity (line 24) | RuntimeTestEntrySeverity getSeverity();
    method getPayload (line 25) | RuntimeTestActionPayload getPayload();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionHandler.java
  type RuntimeTestActionHandler (line 19) | public interface RuntimeTestActionHandler {
    method canHandle (line 20) | boolean canHandle( RuntimeTestAction runtimeTestAction );
    method handle (line 22) | void handle( RuntimeTestAction runtimeTestAction );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionPayload.java
  type RuntimeTestActionPayload (line 19) | public interface RuntimeTestActionPayload {
    method getMessage (line 25) | String getMessage();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionService.java
  type RuntimeTestActionService (line 19) | public interface RuntimeTestActionService {
    method handle (line 20) | void handle( RuntimeTestAction runtimeTestAction );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/HelpUrlPayload.java
  class HelpUrlPayload (line 23) | public class HelpUrlPayload implements RuntimeTestActionPayload {
    method HelpUrlPayload (line 30) | public HelpUrlPayload( MessageGetterFactory messageGetterFactory, Stri...
    method getMessage (line 37) | @Override public String getMessage() {
    method getTitle (line 41) | public String getTitle() {
    method getHeader (line 45) | public String getHeader() {
    method getUrl (line 49) | public String getUrl() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/LoggingRuntimeTestActionHandlerImpl.java
  class LoggingRuntimeTestActionHandlerImpl (line 28) | public class LoggingRuntimeTestActionHandlerImpl implements RuntimeTestA...
    method getInstance (line 36) | public static LoggingRuntimeTestActionHandlerImpl getInstance() {
    method LoggingRuntimeTestActionHandlerImpl (line 40) | public LoggingRuntimeTestActionHandlerImpl( MessageGetterFactory messa...
    method LoggingRuntimeTestActionHandlerImpl (line 44) | public LoggingRuntimeTestActionHandlerImpl( MessageGetterFactory messa...
    method canHandle (line 49) | @Override public boolean canHandle( RuntimeTestAction runtimeTestActio...
    method getMessage (line 53) | private String getMessage( RuntimeTestAction runtimeTestAction ) {
    method handle (line 60) | @Override public void handle( RuntimeTestAction runtimeTestAction ) {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionImpl.java
  class RuntimeTestActionImpl (line 23) | public class RuntimeTestActionImpl implements RuntimeTestAction {
    method RuntimeTestActionImpl (line 29) | public RuntimeTestActionImpl( String name, String description, Runtime...
    method getName (line 37) | @Override public String getName() {
    method getDescription (line 41) | @Override public String getDescription() {
    method getSeverity (line 45) | @Override public RuntimeTestEntrySeverity getSeverity() {
    method getPayload (line 49) | @Override public RuntimeTestActionPayload getPayload() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionServiceImpl.java
  class RuntimeTestActionServiceImpl (line 27) | public class RuntimeTestActionServiceImpl implements RuntimeTestActionSe...
    method RuntimeTestActionServiceImpl (line 38) | public RuntimeTestActionServiceImpl( List<RuntimeTestActionHandler> ru...
    method getInstance (line 44) | public static RuntimeTestActionServiceImpl getInstance() {
    method handle (line 55) | @Override public void handle( RuntimeTestAction runtimeTestAction ) {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/MessageGetter.java
  type MessageGetter (line 19) | public interface MessageGetter {
    method getMessage (line 20) | String getMessage( String key, String... parameters );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/MessageGetterFactory.java
  type MessageGetterFactory (line 19) | public interface MessageGetterFactory {
    method create (line 20) | MessageGetter create( Class<?> PKG );

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterFactoryImpl.java
  class BaseMessagesMessageGetterFactoryImpl (line 22) | public class BaseMessagesMessageGetterFactoryImpl implements MessageGett...
    method create (line 25) | @Override public MessageGetter create( Class<?> PKG ) {
    method getInstance (line 29) | public static BaseMessagesMessageGetterFactoryImpl getInstance() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterImpl.java
  class BaseMessagesMessageGetterImpl (line 22) | public class BaseMessagesMessageGetterImpl implements MessageGetter {
    method BaseMessagesMessageGetterImpl (line 25) | public BaseMessagesMessageGetterImpl( Class<?> PKG ) {
    method getMessage (line 29) | @Override public String getMessage( String key, String... parameters ) {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestComparator.java
  class RuntimeTestComparator (line 24) | public class RuntimeTestComparator implements Comparator<RuntimeTest> {
    method RuntimeTestComparator (line 27) | public RuntimeTestComparator( Map<String, Integer> orderedModules ) {
    method nullSafeCompare (line 31) | private Integer nullSafeCompare( Object first, Object second ) {
    method compareModuleNames (line 48) | private int compareModuleNames( String o1Module, String o2Module ) {
    method compare (line 62) | @Override public int compare( RuntimeTest o1, RuntimeTest o2 ) {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestRunner.java
  class RuntimeTestRunner (line 42) | public class RuntimeTestRunner {
    method RuntimeTestRunner (line 57) | @SuppressWarnings( "unchecked" )
    method markSkipped (line 109) | private void markSkipped( RuntimeTest runtimeTest ) {
    method callbackState (line 135) | private void callbackState() {
    method callbackState (line 139) | private void callbackState( boolean done ) {
    method runTest (line 167) | private void runTest( RuntimeTest runtimeTest ) {
    method runTests (line 197) | public synchronized void runTests() {
    class Factory (line 254) | public static class Factory {
      method create (line 255) | public RuntimeTestRunner create( Collection<? extends RuntimeTest> r...

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestStatusImpl.java
  class RuntimeTestStatusImpl (line 24) | public class RuntimeTestStatusImpl implements RuntimeTestStatus {
    method RuntimeTestStatusImpl (line 31) | public RuntimeTestStatusImpl( List<RuntimeTestModuleResults> runtimeTe...
    method getModuleResults (line 40) | @Override public List<RuntimeTestModuleResults> getModuleResults() {
    method getTestsDone (line 44) | @Override public int getTestsDone() {
    method getTestsRunning (line 48) | @Override public int getTestsRunning() {
    method getTestsOutstanding (line 52) | @Override public int getTestsOutstanding() {
    method isDone (line 56) | @Override public boolean isDone() {
    method toString (line 62) | @Override public String toString() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTesterImpl.java
  class RuntimeTesterImpl (line 30) | public class RuntimeTesterImpl implements RuntimeTester {
    method RuntimeTesterImpl (line 37) | public RuntimeTesterImpl( List<RuntimeTest> runtimeTests, ExecutorServ...
    method getInstance (line 42) | public static RuntimeTester getInstance(){
    method RuntimeTesterImpl (line 50) | public RuntimeTesterImpl( List<RuntimeTest> runtimeTests, ExecutorServ...
    method runtimeTest (line 63) | @Override
    method addRuntimeTest (line 76) | public void addRuntimeTest( RuntimeTest test ) {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/module/RuntimeTestModuleResults.java
  type RuntimeTestModuleResults (line 26) | public interface RuntimeTestModuleResults {
    method getName (line 27) | String getName();
    method getRuntimeTestResults (line 29) | List<RuntimeTestResult> getRuntimeTestResults();
    method getRunningTests (line 31) | Set<RuntimeTest> getRunningTests();
    method getOutstandingTests (line 33) | Set<RuntimeTest> getOutstandingTests();
    method getMaxSeverity (line 35) | RuntimeTestEntrySeverity getMaxSeverity();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/module/impl/RuntimeTestModuleResultsImpl.java
  class RuntimeTestModuleResultsImpl (line 30) | public class RuntimeTestModuleResultsImpl implements RuntimeTestModuleRe...
    method RuntimeTestModuleResultsImpl (line 37) | public RuntimeTestModuleResultsImpl( String name, List<RuntimeTestResu...
    method getName (line 46) | @Override public String getName() {
    method getRuntimeTestResults (line 50) | @Override public List<RuntimeTestResult> getRuntimeTestResults() {
    method getMaxSeverity (line 54) | @Override public RuntimeTestEntrySeverity getMaxSeverity() {
    method getRunningTests (line 58) | @Override public Set<RuntimeTest> getRunningTests() {
    method getOutstandingTests (line 62) | @Override public Set<RuntimeTest> getOutstandingTests() {
    method toString (line 68) | @Override public String toString() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/ConnectivityTest.java
  type ConnectivityTest (line 22) | public interface ConnectivityTest {
    method runTest (line 23) | RuntimeTestResultEntry runTest();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/ConnectivityTestFactory.java
  type ConnectivityTestFactory (line 22) | public interface ConnectivityTestFactory {
    method create (line 23) | ConnectivityTest create( MessageGetterFactory messageGetterFactory, St...
    method create (line 26) | ConnectivityTest create( MessageGetterFactory messageGetterFactory, St...
    method create (line 29) | ConnectivityTest create( MessageGetterFactory messageGetterFactory, St...
    method create (line 32) | ConnectivityTest create( MessageGetterFactory messageGetterFactory, St...

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/ConnectivityTestFactoryImpl.java
  class ConnectivityTestFactoryImpl (line 26) | public class ConnectivityTestFactoryImpl implements ConnectivityTestFact...
    method create (line 27) | @Override public ConnectivityTest create( MessageGetterFactory message...
    method create (line 32) | @Override public ConnectivityTest create( MessageGetterFactory message...
    method create (line 37) | @Override
    method create (line 44) | @Override

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/ConnectivityTestImpl.java
  class ConnectivityTestImpl (line 37) | public class ConnectivityTestImpl implements ConnectivityTest {
    method ConnectivityTestImpl (line 65) | public ConnectivityTestImpl( MessageGetterFactory messageGetterFactory...
    method ConnectivityTestImpl (line 70) | public ConnectivityTestImpl( MessageGetterFactory messageGetterFactory...
    method ConnectivityTestImpl (line 77) | public ConnectivityTestImpl( MessageGetterFactory messageGetterFactory...
    method runTest (line 97) | @Override public RuntimeTestResultEntry runTest() {
    method isSocks5ProxyServer (line 182) | private boolean isSocks5ProxyServer() {
    class SocketFactory (line 192) | public static class SocketFactory {
      method SocketFactory (line 195) | public SocketFactory() {
      method SocketFactory (line 199) | public SocketFactory( String proxyHost, int proxyPort ) {
      method create (line 203) | public Socket create( String hostname, int port ) throws IOException {
    class InetAddressFactory (line 218) | public static class InetAddressFactory {
      method create (line 219) | public InetAddress create( String hostname ) throws UnknownHostExcep...

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/GatewayConnectivityTestImpl.java
  class GatewayConnectivityTestImpl (line 48) | public class GatewayConnectivityTestImpl extends ConnectivityTestImpl {
    method GatewayConnectivityTestImpl (line 94) | public GatewayConnectivityTestImpl( MessageGetterFactory messageGetter...
    method runTest (line 110) | @Override
    method initContextWithTrustAll (line 199) | void initContextWithTrustAll( SSLContext ctx ) throws KeyManagementExc...
    method getTlsContext (line 218) | SSLContext getTlsContext() throws NoSuchAlgorithmException {
    method getHttpClient (line 222) | @VisibleForTesting
    method getHttpClient (line 227) | @VisibleForTesting

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestEntrySeverity.java
  type RuntimeTestEntrySeverity (line 21) | public enum RuntimeTestEntrySeverity {
    method maxSeverityResult (line 24) | public static RuntimeTestEntrySeverity maxSeverityResult( Collection<R...

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResult.java
  type RuntimeTestResult (line 21) | public interface RuntimeTestResult extends RuntimeTestResultSummary {
    method getRuntimeTest (line 22) | RuntimeTest getRuntimeTest();
    method isDone (line 24) | boolean isDone();
    method getTimeTaken (line 26) | long getTimeTaken();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResultEntry.java
  type RuntimeTestResultEntry (line 21) | public interface RuntimeTestResultEntry {
    method getSeverity (line 22) | RuntimeTestEntrySeverity getSeverity();
    method getDescription (line 24) | String getDescription();
    method getMessage (line 26) | String getMessage();
    method getException (line 28) | Throwable getException();
    method getAction (line 30) | RuntimeTestAction getAction();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResultSummary.java
  type RuntimeTestResultSummary (line 21) | public interface RuntimeTestResultSummary {
    method getOverallStatusEntry (line 22) | RuntimeTestResultEntry getOverallStatusEntry();
    method getRuntimeTestResultEntries (line 24) | List<RuntimeTestResultEntry> getRuntimeTestResultEntries();

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/org/pentaho/runtime/test/result/impl/RuntimeTestResultSummaryImpl.java
  class RuntimeTestResultSummaryImpl (line 26) | public class RuntimeTestResultSummaryImpl implements RuntimeTestResultSu...
    method RuntimeTestResultSummaryImpl (line 30) | public RuntimeTestResultSummaryImpl() {
    method RuntimeTestResultSummaryImpl (line 34) | @SuppressWarnings( "unchecked" )
    method RuntimeTestResultSummaryImpl (line 39) | public RuntimeTestResultSummaryImpl( RuntimeTestResultEntry rollupTest...
    method getOverallStatusEntry (line 45) | @Override public RuntimeTestResultEntry getOverallStatusEntry() {
    method getRuntimeTestResultEntries (line 49) | @Override public List<RuntimeTestResultEntry> getRuntimeTestResultEntr...
    method toString (line 55) | @Override public String toString() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/BaseRuntimeTest.java
  class BaseRuntimeTest (line 25) | public abstract class BaseRuntimeTest implements RuntimeTest {
    method BaseRuntimeTest (line 33) | public BaseRuntimeTest( Class<?> classUnderTest, String module, String...
    method BaseRuntimeTest (line 37) | public BaseRuntimeTest( Class<?> classUnderTest, String module, String...
    method accepts (line 47) | @Override public boolean accepts( Object objectUnderTest ) {
    method getModule (line 51) | @Override public String getModule() {
    method getId (line 55) | @Override public String getId() {
    method getName (line 59) | @Override public String getName() {
    method getDependencies (line 63) | @Override public Set<String> getDependencies() {
    method isConfigInitTest (line 67) | @Override public boolean isConfigInitTest() {
    method toString (line 73) | @Override public String toString() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestDelegateWithMoreDependencies.java
  class RuntimeTestDelegateWithMoreDependencies (line 26) | public class RuntimeTestDelegateWithMoreDependencies implements RuntimeT...
    method RuntimeTestDelegateWithMoreDependencies (line 30) | public RuntimeTestDelegateWithMoreDependencies( RuntimeTest delegate, ...
    method accepts (line 35) | @Override public boolean accepts( Object objectUnderTest ) {
    method getModule (line 39) | @Override public String getModule() {
    method getId (line 43) | @Override public String getId() {
    method getName (line 47) | @Override public String getName() {
    method isConfigInitTest (line 51) | @Override public boolean isConfigInitTest() {
    method getDependencies (line 55) | @Override public Set<String> getDependencies() {
    method runTest (line 61) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...
    method toString (line 67) | @Override public String toString() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultEntryImpl.java
  class RuntimeTestResultEntryImpl (line 23) | public class RuntimeTestResultEntryImpl implements RuntimeTestResultEntry {
    method RuntimeTestResultEntryImpl (line 30) | public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, ...
    method RuntimeTestResultEntryImpl (line 34) | public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, ...
    method RuntimeTestResultEntryImpl (line 39) | public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, ...
    method RuntimeTestResultEntryImpl (line 44) | public RuntimeTestResultEntryImpl( RuntimeTestEntrySeverity severity, ...
    method getSeverity (line 53) | @Override public RuntimeTestEntrySeverity getSeverity() {
    method getDescription (line 57) | @Override public String getDescription() {
    method getMessage (line 61) | @Override public String getMessage() {
    method getException (line 65) | @Override public Throwable getException() {
    method getAction (line 69) | @Override public RuntimeTestAction getAction() {
    method toString (line 75) | @Override public String toString() {

FILE: api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultImpl.java
  class RuntimeTestResultImpl (line 27) | public class RuntimeTestResultImpl implements RuntimeTestResult {
    method RuntimeTestResultImpl (line 33) | public RuntimeTestResultImpl( RuntimeTest runtimeTest, boolean isDone,
    method getRuntimeTest (line 43) | @Override public RuntimeTest getRuntimeTest() {
    method isDone (line 47) | @Override public boolean isDone() {
    method getTimeTaken (line 51) | @Override public long getTimeTaken() {
    method getOverallStatusEntry (line 55) | @Override public RuntimeTestResultEntry getOverallStatusEntry() {
    method getRuntimeTestResultEntries (line 59) | @Override public List<RuntimeTestResultEntry> getRuntimeTestResultEntr...
    method toString (line 66) | @Override public String toString() {

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/RuntimeTestEntryUtil.java
  class RuntimeTestEntryUtil (line 29) | public class RuntimeTestEntryUtil {
    method expectOneEntry (line 30) | public static RuntimeTestResultEntry expectOneEntry( List<RuntimeTestR...
    method verifyRuntimeTestResultEntry (line 36) | public static void verifyRuntimeTestResultEntry( RuntimeTestResultEntr...
    method verifyRuntimeTestResultEntry (line 41) | public static Throwable verifyRuntimeTestResultEntry( RuntimeTestResul...

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/TestMessageGetter.java
  class TestMessageGetter (line 25) | public class TestMessageGetter implements MessageGetter {
    method TestMessageGetter (line 28) | public TestMessageGetter( Class<?> PKG ) {
    method getMessage (line 32) | @Override public String getMessage( String key, String... parameters ) {

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/TestMessageGetterFactory.java
  class TestMessageGetterFactory (line 23) | public class TestMessageGetterFactory implements MessageGetterFactory {
    method create (line 24) | @Override public MessageGetter create( Class<?> PKG ) {

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/HelpUrlPayloadTest.java
  class HelpUrlPayloadTest (line 26) | public class HelpUrlPayloadTest {
    method setup (line 33) | @Before
    method testGetTitle (line 43) | @Test
    method testGetHeader (line 48) | @Test
    method testGetUrl (line 53) | @Test
    method testGetMessage (line 58) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/LoggingRuntimeTestActionHandlerImplTest.java
  class LoggingRuntimeTestActionHandlerImplTest (line 33) | public class LoggingRuntimeTestActionHandlerImplTest {
    method setup (line 42) | @Before
    method testCanHandle (line 54) | @Test
    method handleSetup (line 61) | private void handleSetup( RuntimeTestEntrySeverity severity ) {
    method testHandleNullSeverity (line 69) | @Test
    method testHandleDebugSeverity (line 77) | @Test
    method testHandleInfoSeverity (line 85) | @Test
    method testHandleWarningSeverity (line 93) | @Test
    method testHandleSkippedSeverity (line 101) | @Test
    method testHandleErrorSeverity (line 109) | @Test
    method testHandleFatalSeverity (line 117) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionImplTest.java
  class RuntimeTestActionImplTest (line 27) | public class RuntimeTestActionImplTest {
    method setup (line 34) | @Before
    method testGetName (line 43) | @Test
    method testGetDescription (line 48) | @Test
    method testGetSeverity (line 53) | @Test
    method testGetPayload (line 58) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionServiceImplTest.java
  class RuntimeTestActionServiceImplTest (line 32) | public class RuntimeTestActionServiceImplTest {
    method setup (line 38) | @Before
    method testHandleDefault (line 47) | @Test
    method testHandleNormal (line 56) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterFactoryImplTest.java
  class BaseMessagesMessageGetterFactoryImplTest (line 24) | public class BaseMessagesMessageGetterFactoryImplTest {
    method setup (line 27) | @Before
    method testCreate (line 32) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterImplTest.java
  class BaseMessagesMessageGetterImplTest (line 24) | public class BaseMessagesMessageGetterImplTest {
    method setup (line 27) | @Before
    method testGetMesssage (line 32) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestComparatorTest.java
  class RuntimeTestComparatorTest (line 31) | public class RuntimeTestComparatorTest {
    method setup (line 41) | @Before
    method testModuleSameOrderedIdsSame (line 53) | @Test
    method testModuleSameOrderedIdsDifferent1 (line 62) | @Test
    method testModuleSameOrderedIdsDifferent2 (line 71) | @Test
    method testModuleSameUnrderedIdsSame (line 80) | @Test
    method testModuleDifferentOrdered (line 89) | @Test
    method testModuleDifferentFirstOrdered (line 98) | @Test
    method testModuleDifferentSecondOrdered (line 108) | @Test
    method testModuleDifferentNotOrdered (line 118) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestRunnerTest.java
  class RuntimeTestRunnerTest (line 48) | public class RuntimeTestRunnerTest {
    method dependenciesToIds (line 61) | private static Set<String> dependenciesToIds( Set<TestRuntimeTest> tes...
    method setup (line 69) | @Before
    method tearDown (line 114) | @After
    method testSingleTestNoDependencies (line 119) | @Test
    method testSingleTestWithDependencies (line 124) | @Test
    method testModuleA (line 129) | @Test
    method testModuleAAndB (line 134) | @Test
    method testModuleAthruC (line 140) | @Test
    method testModuleAthruCUnsat (line 147) | @Test
    method testScenario (line 155) | private void testScenario( List<TestRuntimeTest> runtimeTests ) {
    class TestRuntimeTest (line 230) | public class TestRuntimeTest extends BaseRuntimeTest {
      method TestRuntimeTest (line 238) | public TestRuntimeTest( String module, String id, String name, Set<T...
      method getLogName (line 250) | public String getLogName() {
      method runTest (line 254) | @Override public RuntimeTestResultSummary runTest( Object objectUnde...
      method validateRunState (line 273) | public void validateRunState() {

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestStatusImplTest.java
  class RuntimeTestStatusImplTest (line 30) | public class RuntimeTestStatusImplTest {
    method setup (line 38) | @Before
    method initStatus (line 48) | private void initStatus() {
    method testConstructor (line 53) | @Test
    method testToString (line 69) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTesterImplTest.java
  class RuntimeTesterImplTest (line 34) | public class RuntimeTesterImplTest {
    method setup (line 42) | @Before
    method testRunTests (line 52) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/module/impl/RuntimeTestModuleResultsImplTest.java
  class RuntimeTestModuleResultsImplTest (line 37) | public class RuntimeTestModuleResultsImplTest {
    method setup (line 48) | @Before
    method testName (line 66) | @Test
    method testGetRuntimeTestResults (line 71) | @Test
    method testGetRunningTests (line 76) | @Test
    method testGetOutstandingTests (line 81) | @Test
    method testGetMaxSeverity (line 86) | @Test
    method testToString (line 91) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/network/impl/ConnectivityTestImplTest.java
  class ConnectivityTestImplTest (line 37) | public class ConnectivityTestImplTest {
    method setup (line 50) | @Before
    method init (line 68) | private void init() {
    method testBlankHostname (line 74) | @Test
    method testBlankPortNoHa (line 83) | @Test
    method testBlankPortHa (line 92) | @Test
    method testNonNumericPort (line 102) | @Test
    method testUnreachableHostname (line 112) | @Test
    method testUnknownHostException (line 124) | @Test
    method testReachableIOException (line 136) | @Test
    method testSocketIOException (line 148) | @Test
    method testSuccess (line 157) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/network/impl/GatewayConnectivityTestImplTest.java
  class GatewayConnectivityTestImplTest (line 46) | public class GatewayConnectivityTestImplTest {
    method setup (line 64) | @Before
    method init (line 87) | private void init() {
    method initMock (line 97) | private void initMock() {
    method testHttp (line 111) | @Test
    method testBlankHostname (line 121) | @Test
    method testUnknownHostException (line 130) | @Test
    method testIOException (line 137) | @Test
    method testSSLException (line 149) | @Test
    method testNoSuchAlgorithmException (line 161) | @Test
    method testKeyManagementException (line 177) | @Test
    method testSuccess (line 194) | @Test
    method test401 (line 203) | @Test
    method test403 (line 218) | @Test
    method test404 (line 232) | @Test
    method testUnknownCode (line 246) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/result/RuntimeTestEntrySeverityTest.java
  class RuntimeTestEntrySeverityTest (line 27) | public class RuntimeTestEntrySeverityTest {
    method testMaxSeverityResult (line 28) | @Test
    method testValuesAndValueOf (line 55) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/BaseRuntimeTestTest.java
  class BaseRuntimeTestTest (line 30) | public class BaseRuntimeTestTest {
    method setup (line 38) | @Before
    method testGetModule (line 52) | @Test
    method testGetId (line 57) | @Test
    method testGetName (line 62) | @Test
    method testIsConfigInitTest (line 67) | @Test
    method testToString (line 77) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestDelegateWithMoreDependenciesTest.java
  class RuntimeTestDelegateWithMoreDependenciesTest (line 33) | public class RuntimeTestDelegateWithMoreDependenciesTest {
    method setup (line 44) | @Before
    method testGetModule (line 61) | @Test
    method testGetId (line 66) | @Test
    method testGetName (line 71) | @Test
    method testIsConfigInitTest (line 76) | @Test
    method testGetDependencies (line 83) | @Test
    method testToString (line 90) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultEntryImplTest.java
  class RuntimeTestResultEntryImplTest (line 26) | public class RuntimeTestResultEntryImplTest {
    method setup (line 34) | @Before
    method test3ArgConstructor (line 43) | @Test
    method testGetSeverity (line 53) | @Test
    method testGetDescription (line 58) | @Test
    method testGetMessage (line 63) | @Test
    method testGetException (line 68) | @Test
    method testToString (line 73) | @Test

FILE: api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultImplTest.java
  class RuntimeTestResultImplTest (line 34) | public class RuntimeTestResultImplTest {
    method setup (line 42) | @Before
    method testGetMaxSeverity (line 53) | @Test
    method testGetRuntimeTestResultEntries (line 58) | @Test
    method testGetRuntimeTest (line 63) | @Test
    method testGetTimeTaken (line 68) | @Test
    method testToString (line 73) | @Test

FILE: assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCount.java
  class WordCount (line 24) | public class WordCount {
    method main (line 25) | public static void main(String[] args) throws Exception {
    method getArgValue (line 104) | private static String getArgValue(String arg) {

FILE: assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCountMapper.java
  class WordCountMapper (line 26) | public class WordCountMapper extends MapReduceBase implements Mapper<Obj...
    method map (line 31) | public void map(Object key, Text value, OutputCollector<Text, IntWrita...

FILE: assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCountReducer.java
  class WordCountReducer (line 26) | public class WordCountReducer extends MapReduceBase implements Reducer<T...
    method reduce (line 29) | public void reduce(Text key, Iterator<IntWritable> values, OutputColle...

FILE: assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce2-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCount2.java
  class WordCount2 (line 36) | public class WordCount2 extends Configured implements Tool {
    method run (line 37) | public int run( String[] strings ) throws Exception {
    class Map (line 58) | public static class Map
      method map (line 63) | public void map( LongWritable key, Text value, Context context )
    class Reduce (line 74) | public static class Reduce extends Reducer<Text, IntWritable, Text, In...
      method reduce (line 75) | public void reduce( Text key, Iterable<IntWritable> values, Context ...
    method main (line 85) | public static void main( String[] args ) throws Exception {

FILE: authentication-mapper/api/src/main/java/org/pentaho/authentication/mapper/api/AuthenticationMappingManager.java
  type AuthenticationMappingManager (line 18) | public interface AuthenticationMappingManager {
    method getMapping (line 21) | <InputType, OutputType> OutputType getMapping( Class<InputType> inputT...

FILE: authentication-mapper/api/src/main/java/org/pentaho/authentication/mapper/api/AuthenticationMappingService.java
  type AuthenticationMappingService (line 20) | public interface AuthenticationMappingService<InputType, OutputType> {
    method getId (line 21) | String getId();
    method getInputType (line 23) | Class<? extends InputType> getInputType();
    method getOutputType (line 25) | Class<? extends OutputType> getOutputType();
    method accepts (line 27) | boolean accepts( Object input );
    method getMapping (line 29) | OutputType getMapping( InputType input, Map<String, ?> config ) throws...

FILE: authentication-mapper/api/src/main/java/org/pentaho/authentication/mapper/api/MappingException.java
  class MappingException (line 18) | public class MappingException extends Exception {
    method MappingException (line 19) | public MappingException() {
    method MappingException (line 22) | public MappingException( String message ) {
    method MappingException (line 26) | public MappingException( String message, Throwable cause ) {
    method MappingException (line 30) | public MappingException( Throwable cause ) {
    type Function (line 34) | @FunctionalInterface
      method apply (line 36) | R apply( T t ) throws MappingException;
    type Supplier (line 39) | @FunctionalInterface
      method get (line 41) | R get() throws MappingException;

FILE: authentication-mapper/impl/src/main/java/org/pentaho/authentication/mapper/impl/AuthenticationMappingManagerImpl.java
  class AuthenticationMappingManagerImpl (line 33) | public class AuthenticationMappingManagerImpl implements AuthenticationM...
    method AuthenticationMappingManagerImpl (line 39) | public AuthenticationMappingManagerImpl() throws IOException {
    method AuthenticationMappingManagerImpl (line 42) | public AuthenticationMappingManagerImpl( AuthenticationMappingService ...
    method getMapping (line 46) | @Override
    method onMappingServiceAdded (line 62) | public void onMappingServiceAdded( AuthenticationMappingService servic...
    method onMappingServiceRemoved (line 73) | public void onMappingServiceRemoved( AuthenticationMappingService serv...
    class TypePair (line 84) | private static class TypePair {
      method TypePair (line 87) | TypePair( AuthenticationMappingService service ) {
      method TypePair (line 91) | TypePair( Class input, Class output ) {
      method equals (line 96) | @Override public boolean equals( Object o ) {
      method hashCode (line 107) | @Override public int hashCode() {
      method toString (line 111) | @Override public String toString() {
    class RankedAuthService (line 116) | private static class RankedAuthService implements Comparable<RankedAut...
      method RankedAuthService (line 120) | RankedAuthService( int rank, AuthenticationMappingService service ) {
      method getId (line 125) | private String getId() {
      method getRank (line 129) | int getRank() {
      method getService (line 133) | AuthenticationMappingService getService() {
      method toString (line 137) | @Override public String toString() {
      method compareTo (line 141) | @Override public int compareTo( RankedAuthService o ) {

FILE: authentication-mapper/impl/src/test/java/org/pentaho/authentication/mapper/impl/AuthenticationMappingManagerImplTest.java
  class AuthenticationMappingManagerImplTest (line 41) | @RunWith( MockitoJUnitRunner.class )
    method setUp (line 48) | @Before
    method mappingService (line 53) | @Test
    method noMappingAvailable (line 84) | @Test
    class TestService (line 89) | class TestService implements AuthenticationMappingService<String, Map> {
      method TestService (line 93) | TestService( String id ) {
      method getId (line 97) | @Override public String getId() {
      method getInputType (line 101) | @Override public Class<String> getInputType() {
      method getOutputType (line 105) | @Override public Class<Map> getOutputType() {
      method accepts (line 109) | @Override public boolean accepts( Object input ) {
      method getMapping (line 113) | @Override public Map getMapping( String input, Map<String, ?> config...

FILE: impl/cluster/src/main/java/org/pentaho/big/data/impl/cluster/NamedClusterImpl.java
  class NamedClusterImpl (line 68) | @MetaStoreElementType( name = "NamedCluster", description = "A NamedClus...
    method NamedClusterImpl (line 145) | public NamedClusterImpl() {
    method NamedClusterImpl (line 150) | public NamedClusterImpl( NamedCluster namedCluster ) {
    method setName (line 155) | public void setName( String name ) {
    method getName (line 159) | public String getName() {
    method getShimIdentifier (line 163) | public String getShimIdentifier() {
    method setShimIdentifier (line 167) | public void setShimIdentifier( String shimIdentifier ) {
    method getStorageScheme (line 171) | public String getStorageScheme() {
    method setStorageScheme (line 182) | public void setStorageScheme( String storageScheme ) {
    method copyVariablesFrom (line 186) | public void copyVariablesFrom( VariableSpace space ) {
    method environmentSubstitute (line 190) | public String environmentSubstitute( String aString ) {
    method environmentSubstitute (line 194) | public String[] environmentSubstitute( String[] aString ) {
    method fieldSubstitute (line 198) | public String fieldSubstitute( String aString, RowMetaInterface rowMet...
    method getParentVariableSpace (line 203) | public VariableSpace getParentVariableSpace() {
    method setParentVariableSpace (line 207) | public void setParentVariableSpace( VariableSpace parent ) {
    method getVariable (line 211) | public String getVariable( String variableName, String defaultValue ) {
    method getVariable (line 215) | public String getVariable( String variableName ) {
    method getBooleanValueOfVariable (line 219) | public boolean getBooleanValueOfVariable( String variableName, boolean...
    method initializeVariablesFrom (line 229) | public void initializeVariablesFrom( VariableSpace parent ) {
    method listVariables (line 233) | public String[] listVariables() {
    method setVariable (line 237) | public void setVariable( String variableName, String variableValue ) {
    method shareVariablesWith (line 241) | public void shareVariablesWith( VariableSpace space ) {
    method injectVariables (line 245) | public void injectVariables( Map<String, String> prop ) {
    method replaceMeta (line 249) | public void replaceMeta( NamedCluster nc ) {
    method clone (line 274) | public NamedClusterImpl clone() {
    method processURLsubstitution (line 278) | @Override
    method processURLsubstitution (line 299) | private String processURLsubstitution( String incomingURL, String hdfs...
    method isHdfsHostEmpty (line 351) | @VisibleForTesting boolean isHdfsHostEmpty( VariableSpace variableSpac...
    method getHostNameParsed (line 356) | public String getHostNameParsed( VariableSpace variableSpace ) {
    method generateURL (line 372) | @VisibleForTesting String generateURL( String scheme, IMetaStore metas...
    method equals (line 439) | @Override
    method getHdfsHost (line 461) | public String getHdfsHost() {
    method setHdfsHost (line 465) | public void setHdfsHost( String hdfsHost ) {
    method getHdfsPort (line 469) | public String getHdfsPort() {
    method setHdfsPort (line 473) | public void setHdfsPort( String hdfsPort ) {
    method getHdfsUsername (line 477) | public String getHdfsUsername() {
    method setHdfsUsername (line 481) | public void setHdfsUsername( String hdfsUsername ) {
    method getHdfsPassword (line 485) | public String getHdfsPassword() {
    method setHdfsPassword (line 489) | public void setHdfsPassword( String hdfsPassword ) {
    method getJobTrackerHost (line 493) | public String getJobTrackerHost() {
    method setJobTrackerHost (line 497) | public void setJobTrackerHost( String jobTrackerHost ) {
    method getJobTrackerPort (line 501) | public String getJobTrackerPort() {
    method setJobTrackerPort (line 505) | public void setJobTrackerPort( String jobTrackerPort ) {
    method getZooKeeperHost (line 509) | public String getZooKeeperHost() {
    method setZooKeeperHost (line 513) | public void setZooKeeperHost( String zooKeeperHost ) {
    method getZooKeeperPort (line 517) | public String getZooKeeperPort() {
    method setZooKeeperPort (line 521) | public void setZooKeeperPort( String zooKeeperPort ) {
    method getOozieUrl (line 525) | public String getOozieUrl() {
    method setOozieUrl (line 529) | public void setOozieUrl( String oozieUrl ) {
    method getLastModifiedDate (line 533) | public long getLastModifiedDate() {
    method setLastModifiedDate (line 537) | public void setLastModifiedDate( long lastModifiedDate ) {
    method setMapr (line 541) | public void setMapr( boolean mapr ) {
    method isMapr (line 547) | @Deprecated
    method toString (line 556) | @Override
    method toXmlForEmbed (line 561) | public String toXmlForEmbed( String rootTag ) {
    method createSiteFileChildren (line 621) | private Element createSiteFileChildren( Document doc, ArrayList<NamedC...
    method fromXmlForEmbed (line 635) | public NamedCluster fromXmlForEmbed( Node node ) {
    method unmarshallSiteFileNode (line 660) | private Object unmarshallSiteFileNode( Node field ) {
    method unmarshallSiteFiles (line 669) | private void unmarshallSiteFiles( ArrayList<NamedClusterSiteFile> name...
    method unmarshallSiteFields (line 675) | private NamedClusterSiteFileImpl unmarshallSiteFields( List<Node> site...
    method createChildElement (line 690) | private Node createChildElement( Document doc, String elementName, Str...
    method createTextNode (line 701) | private Node createTextNode( Document doc, String tagName, String valu...
    method getGatewayUrl (line 707) | @Override
    method setGatewayUrl (line 712) | @Override
    method getGatewayUsername (line 717) | @Override
    method setGatewayUsername (line 722) | @Override
    method getGatewayPassword (line 727) | @Override
    method setGatewayPassword (line 732) | @Override
    method isUseGateway (line 737) | @Override
    method setUseGateway (line 742) | @Override
    method getKafkaBootstrapServers (line 747) | @Override public String getKafkaBootstrapServers() {
    method setKafkaBootstrapServers (line 751) | @Override public void setKafkaBootstrapServers( String kafkaBootstrapS...
    method nonOsgiFromXmlForEmbed (line 755) | @Override public NamedClusterOsgi nonOsgiFromXmlForEmbed( Node node ) {
    method decodePassword (line 759) | public String decodePassword( String password ) {
    method encodePassword (line 771) | public String encodePassword( String password ) {
    method getSiteFiles (line 775) | @Override
    method setSiteFiles (line 780) | @Override
    method addSiteFile (line 785) | @Override
    method addSiteFile (line 790) | @Override
    method getSiteFileInputStream (line 795) | @Override

FILE: impl/cluster/src/main/java/org/pentaho/big/data/impl/cluster/NamedClusterManager.java
  class NamedClusterManager (line 58) | public class NamedClusterManager implements NamedClusterService {
    method getInstance (line 74) | public static NamedClusterManager getInstance() {
    method getMetaStoreFactory (line 86) | @VisibleForTesting
    method putMetaStoreFactory (line 103) | @VisibleForTesting
    method close (line 108) | @Override public void close( IMetaStore metastore ) {
    method getClusterTemplate (line 112) | @Override
    method setClusterTemplate (line 130) | @Override
    method create (line 135) | @Override
    method read (line 140) | @Override
    method update (line 164) | @Override
    method delete (line 176) | @Override
    method list (line 181) | @Override
    method list (line 208) | @Override
    method listNames (line 215) | @Override
    method contains (line 220) | @Override
    method getNamedClusterByName (line 235) | @Override
    method searchMetastoreByName (line 254) | private NamedCluster searchMetastoreByName( String namedCluster, IMeta...
    method getProperties (line 268) | public Map<String, Object> getProperties() {
    method getNamedClusterByHost (line 272) | @Override
    method searchMetastoreByHost (line 290) | private NamedCluster searchMetastoreByHost( String hostName, IMetaStor...
    method updateNamedClusterTemplate (line 305) | @Override
    method getSlaveServerMetastoreDir (line 319) | private String getSlaveServerMetastoreDir() throws IOException {
    method useSlaveMetastorePathFromProperties (line 362) | private boolean useSlaveMetastorePathFromProperties( String slaveMetaS...
    method getSlaveServerMetastore (line 375) | @VisibleForTesting
    method loadProperties (line 399) | private Properties loadProperties( PluginInterface plugin, String rela...
    method loadSiteFilesIfNecessary (line 421) | private void loadSiteFilesIfNecessary( NamedCluster namedCluster, IMet...
    method unconditionalAddOfSiteFiles (line 437) | private void unconditionalAddOfSiteFiles( NamedCluster namedCluster, I...
    method semiIntelligentSiteFileUpdate (line 456) | private void semiIntelligentSiteFileUpdate( NamedCluster namedCluster,...
    method autoUpdateMetastoreWithSiteFiles (line 492) | private void autoUpdateMetastoreWithSiteFiles( NamedCluster namedClust...
    method getNamedClusterConfigsRootDir (line 522) | private String getNamedClusterConfigsRootDir( IMetaStore metaStore ) {

FILE: impl/cluster/src/test/java/org/pentaho/big/data/impl/cluster/NamedClusterImplTest.java
  class NamedClusterImplTest (line 75) | @RunWith( MockitoJUnitRunner.class )
    method setup (line 102) | @Before
    method cleanupMocks (line 154) | @After
    method testBean (line 161) | @Test
    method testClone (line 168) | @Test
    method testCopyVariablesFrom (line 188) | @Test
    method testEnvironmentSubstitute (line 195) | @Test
    method testArrayEnvironmentSubstitute (line 203) | @Test
    method testFieldSubstitute (line 211) | @Test
    method testGetVariableDefault (line 221) | @Test
    method testGetVariable (line 230) | @Test
    method testGetBooleanValueOfVariable (line 238) | @Test
    method testListVariables (line 254) | @Test
    method testSetVariable (line 261) | @Test
    method testInjectVariables (line 269) | @Test
    method testComparator (line 277) | @Test
    method testToString (line 288) | @Test
    method testGenerateURLNullParameters (line 296) | @Ignore @Test
    method testGenerateURLHDFS (line 312) | @Ignore @Test
    method testGenerateURLHDFSPort (line 328) | @Test
    method testCheckHdfsNameEmpty (line 341) | @Test
    method testGetHdfsNameParsed (line 348) | @Test
    method testGetHdfsNameParsedFromVariable (line 355) | @Test
    method testGetHdfsNameParsedFromVariableNoVariableInSpace (line 363) | @Test
    method testCheckHdfsNameNotEmpty (line 370) | @Test
    method testCheckHdfsNameNull (line 377) | @Test
    method testCheckHdfsNameVariableNull (line 383) | @Test
    method testCheckHdfsNameVariableNotNull (line 389) | @Test
    method testProcessURLHostEmpty (line 396) | @Test
    method testProcessURLhdfsFullSubstitution (line 404) | @Ignore @Test
    method testProcessURLSubstitution_Gateway (line 416) | @Test
    method testProcessURLWASBFullSubstitution (line 425) | @Ignore @Test
    method testProcessURLHostVariableNull (line 439) | @Test
    method testProcessURLHostVariableNotNull (line 447) | @Test
    method testProcessCompleteClusterVariableReplacement (line 467) | @Test
    method testProcessURLsubstitutionMaprFS_startsWithMaprfs (line 486) | @Test
    method testProcessURLsubstitutionMaprFS_startsWithNoMaprfs (line 493) | @Test
    method testProcessURLsubstitutionNC (line 500) | @Ignore @Test
    method testProcessURLSubstitutionNC_variable (line 511) | @Ignore @Test
    method testGenerateURLHDFSNoPort (line 523) | @Test
    method testGenerateURLHDFSVariableSpace (line 534) | @Ignore @Test
    method testGenerateURLHDFSVariableSpace_noVariable (line 566) | @Test
    method testXMLEmbedding (line 581) | @Test
    method testLegacyXMLEmbedding (line 591) | @Test
    method createNodeFromNamedCluster (line 610) | private Element createNodeFromNamedCluster() throws Exception {
    method assertNamedClusterEquality (line 619) | private void assertNamedClusterEquality( NamedCluster nc ) {
    method buildSchemeAnswer (line 645) | private Answer buildSchemeAnswer( String prefix, String buildPath ) {
    method buildUrlEncodeAnswer (line 653) | private Answer buildUrlEncodeAnswer( String value ) {
    method buildExtractSchemeMocks (line 661) | private void buildExtractSchemeMocks( String prefix, String fullPath, ...
    method buildAppendEncodedUserPassMocks (line 668) | private void buildAppendEncodedUserPassMocks( String username, String ...
    method getSiteFileContents (line 675) | private String getSiteFileContents( NamedCluster nc, String siteFileNa...

FILE: impl/cluster/src/test/java/org/pentaho/big/data/impl/cluster/NamedClusterManagerTest.java
  class NamedClusterManagerTest (line 59) | public class NamedClusterManagerTest {
    method setup (line 66) | @Before
    method deleteDirectory (line 91) | private boolean deleteDirectory( File directoryToBeDeleted ) {
    method testGetClusterTemplate (line 101) | @Test
    method testCreate (line 113) | @Test
    method testRead (line 122) | @Test
    method testUpdate (line 130) | @Test
    method testDeleteElement (line 143) | @Test
    method testList (line 150) | @Test
    method testListNames (line 159) | @Test
    method testListNames_emptymetaStoreFactory (line 166) | @Test
    method testContains (line 174) | @Test
    method testContainsSlaveServer (line 184) | @Test
    method testGetNamedClusterByName (line 194) | @Test
    method testGetNamedClusterByHost (line 209) | @Test
    method testGetMetaStoreFactoryEmbeddedMetaStoreSuccess (line 226) | @Test
    method testGetMetaStoreFactoryNonEmbeddedMetaStore (line 247) | @Test
    method testUpdateNamedClusterTemplate (line 269) | @Test

FILE: impl/cluster/src/test/java/org/pentaho/big/data/impl/cluster/NamedClusterMetastoreIT.java
  class NamedClusterMetastoreIT (line 43) | public class NamedClusterMetastoreIT {
    method setup (line 70) | @Before
    method testWriteAndRead (line 124) | @Test
    method testAutoEmbedSiteFiles (line 132) | @Test
    method testAutoEmbedWhenUpdateMetastoreAndRecoveryFails (line 143) | @Test
    method testAutoEmbedWhenUpdateMetastoreFails (line 158) | @Test
    method commonAutoEmbedSetupLogic (line 186) | private void commonAutoEmbedSetupLogic() throws IOException {
    method getSiteFileContents (line 197) | private String getSiteFileContents( NamedCluster nc, String siteFileNa...
    method testCorruptedFileWithList (line 203) | @Test

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/ClusterRuntimeTestEntry.java
  class ClusterRuntimeTestEntry (line 30) | public class ClusterRuntimeTestEntry extends RuntimeTestResultEntryImpl {
    method ClusterRuntimeTestEntry (line 41) | public ClusterRuntimeTestEntry( MessageGetterFactory messageGetterFact...
    method ClusterRuntimeTestEntry (line 46) | public ClusterRuntimeTestEntry( RuntimeTestEntrySeverity severity, Str...
    method ClusterRuntimeTestEntry (line 51) | public ClusterRuntimeTestEntry( MessageGetterFactory messageGetterFact...
    method ClusterRuntimeTestEntry (line 58) | public ClusterRuntimeTestEntry( MessageGetterFactory messageGetterFact...
    method ClusterRuntimeTestEntry (line 63) | public ClusterRuntimeTestEntry( RuntimeTestEntrySeverity severity, Str...
    method getDefaultAction (line 68) | private static RuntimeTestAction getDefaultAction( MessageGetterFactor...
    method createDefaultAction (line 78) | private static RuntimeTestAction createDefaultAction( MessageGetterFac...
    type DocAnchor (line 99) | public enum DocAnchor {
      method DocAnchor (line 110) | DocAnchor( String anchorTextKey ) {
      method getAnchorTextKey (line 114) | public String getAnchorTextKey() {

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/Constants.java
  class Constants (line 19) | public class Constants {

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayListHomeDirectoryTest.java
  class GatewayListHomeDirectoryTest (line 28) | public class GatewayListHomeDirectoryTest extends ListHomeDirectoryTest {
    method GatewayListHomeDirectoryTest (line 34) | public GatewayListHomeDirectoryTest( MessageGetterFactory messageGette...
    method runTest (line 41) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayListRootDirectoryTest.java
  class GatewayListRootDirectoryTest (line 28) | public class GatewayListRootDirectoryTest extends ListRootDirectoryTest {
    method GatewayListRootDirectoryTest (line 34) | public GatewayListRootDirectoryTest( MessageGetterFactory messageGette...
    method runTest (line 41) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayPingFileSystemEntryPoint.java
  class GatewayPingFileSystemEntryPoint (line 27) | public class GatewayPingFileSystemEntryPoint extends PingFileSystemEntry...
    method GatewayPingFileSystemEntryPoint (line 31) | public GatewayPingFileSystemEntryPoint( MessageGetterFactory messageGe...
    method runTest (line 36) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayWriteToAndDeleteFromUsersHomeFolderTest.java
  class GatewayWriteToAndDeleteFromUsersHomeFolderTest (line 55) | public class GatewayWriteToAndDeleteFromUsersHomeFolderTest extends Writ...
    method GatewayWriteToAndDeleteFromUsersHomeFolderTest (line 68) | public GatewayWriteToAndDeleteFromUsersHomeFolderTest( MessageGetterFa...
    method runTest (line 73) | @Override
    method doesFileExists (line 207) | private boolean doesFileExists( String url, String user, String passwo...
    method createFile (line 217) | private String createFile( String url, String user, String password, i...
    method appendContentToFile (line 230) | private boolean appendContentToFile( String location, String user, Str...
    method deleteFile (line 239) | private boolean deleteFile( String url, String user, String password, ...
    method runServiceTest (line 249) | private ServerResponse runServiceTest( RequestType requestType, URI ur...
    method getHttpRequestMethod (line 285) | private HttpUriRequest getHttpRequestMethod( RequestType requestType, ...
    method initContextWithTrustAll (line 301) | void initContextWithTrustAll( SSLContext ctx ) throws KeyManagementExc...
    method getTlsContext (line 318) | SSLContext getTlsContext() throws NoSuchAlgorithmException {
    method getHttpClient (line 322) | CloseableHttpClient getHttpClient( String user, String password ) {
    type RequestType (line 328) | enum RequestType {
    class ServerResponse (line 332) | static class ServerResponse {
      method ServerResponse (line 336) | ServerResponse( String locationHeader, int statusCode ) {
      method getLocationHeader (line 341) | public String getLocationHeader() {
      method getStatusCode (line 345) | public int getStatusCode() {

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListDirectoryTest.java
  class ListDirectoryTest (line 40) | public class ListDirectoryTest extends BaseRuntimeTest {
    method ListDirectoryTest (line 65) | public ListDirectoryTest( MessageGetterFactory messageGetterFactory, H...
    method runTest (line 75) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListHomeDirectoryTest.java
  class ListHomeDirectoryTest (line 22) | public class ListHomeDirectoryTest extends ListDirectoryTest {
    method ListHomeDirectoryTest (line 28) | public ListHomeDirectoryTest( MessageGetterFactory messageGetterFactory,

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListRootDirectoryTest.java
  class ListRootDirectoryTest (line 22) | public class ListRootDirectoryTest extends ListDirectoryTest {
    method ListRootDirectoryTest (line 28) | public ListRootDirectoryTest( MessageGetterFactory messageGetterFactory,

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/PingFileSystemEntryPointTest.java
  class PingFileSystemEntryPointTest (line 33) | public class PingFileSystemEntryPointTest extends BaseRuntimeTest {
    method PingFileSystemEntryPointTest (line 46) | public PingFileSystemEntryPointTest( MessageGetterFactory messageGette...
    method runTest (line 55) | @Override

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/WriteToAndDeleteFromUsersHomeFolderTest.java
  class WriteToAndDeleteFromUsersHomeFolderTest (line 41) | public class WriteToAndDeleteFromUsersHomeFolderTest extends BaseRuntime...
    method WriteToAndDeleteFromUsersHomeFolderTest (line 94) | public WriteToAndDeleteFromUsersHomeFolderTest( MessageGetterFactory m...
    method runTest (line 105) | @Override

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/kafka/KafkaConnectTest.java
  class KafkaConnectTest (line 42) | public class KafkaConnectTest extends BaseRuntimeTest {
    method KafkaConnectTest (line 57) | public KafkaConnectTest( MessageGetterFactory messageGetterFactory, Na...
    method KafkaConnectTest (line 61) | KafkaConnectTest( MessageGetterFactory messageGetterFactory, Function<...
    method runTest (line 71) | @Override public RuntimeTestResultSummary runTest( final Object object...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/mr/GatewayPingJobTrackerTest.java
  class GatewayPingJobTrackerTest (line 27) | public class GatewayPingJobTrackerTest extends PingJobTrackerTest {
    method GatewayPingJobTrackerTest (line 30) | public GatewayPingJobTrackerTest( MessageGetterFactory messageGetterFa...
    method runTest (line 35) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/mr/PingJobTrackerTest.java
  class PingJobTrackerTest (line 33) | public class PingJobTrackerTest extends BaseRuntimeTest {
    method PingJobTrackerTest (line 43) | public PingJobTrackerTest( MessageGetterFactory messageGetterFactory,
    method runTest (line 52) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/oozie/GatewayPingOozieHostTest.java
  class GatewayPingOozieHostTest (line 27) | public class GatewayPingOozieHostTest extends PingOozieHostTest {
    method GatewayPingOozieHostTest (line 30) | public GatewayPingOozieHostTest( MessageGetterFactory messageGetterFac...
    method runTest (line 35) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/oozie/PingOozieHostTest.java
  class PingOozieHostTest (line 35) | public class PingOozieHostTest extends BaseRuntimeTest {
    method PingOozieHostTest (line 46) | public PingOozieHostTest( MessageGetterFactory messageGetterFactory,
    method runTest (line 55) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/zookeeper/GatewayPingZookeeperEnsembleTest.java
  class GatewayPingZookeeperEnsembleTest (line 28) | public class GatewayPingZookeeperEnsembleTest extends PingZookeeperEnsem...
    method GatewayPingZookeeperEnsembleTest (line 35) | public GatewayPingZookeeperEnsembleTest( MessageGetterFactory messageG...
    method runTest (line 40) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/zookeeper/PingZookeeperEnsembleTest.java
  class PingZookeeperEnsembleTest (line 38) | public class PingZookeeperEnsembleTest extends BaseRuntimeTest {
    method PingZookeeperEnsembleTest (line 65) | public PingZookeeperEnsembleTest( MessageGetterFactory messageGetterFa...
    method runTest (line 74) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListDirectoryTestTest.java
  class ListDirectoryTestTest (line 41) | public class ListDirectoryTestTest {
    method setup (line 55) | @Before
    method init (line 75) | private void init() {
    method testNullHadoopFileSystem (line 79) | @Test
    method testClusterInitializationException (line 91) | @Test
    method testAccessControlException (line 106) | @Test
    method testIOException (line 118) | @Test
    method testHomeDirectorySuccess (line 130) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListHomeDirectoryTestTest.java
  class ListHomeDirectoryTestTest (line 29) | public class ListHomeDirectoryTestTest {
    method setup (line 35) | @Before
    method testGetName (line 43) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListRootDirectoryTestTest.java
  class ListRootDirectoryTestTest (line 29) | public class ListRootDirectoryTestTest {
    method setup (line 35) | @Before
    method testGetName (line 43) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/PingFileSystemEntryPointTestTest.java
  class PingFileSystemEntryPointTestTest (line 35) | public class PingFileSystemEntryPointTestTest {
    method setup (line 44) | @Before
    method testGetName (line 58) | @Test
    method testSuccess (line 64) | @Test
    method testIsMapR (line 78) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/WriteToAndDeleteFromUsersHomeFolderTestTest.java
  class WriteToAndDeleteFromUsersHomeFolderTestTest (line 42) | public class WriteToAndDeleteFromUsersHomeFolderTestTest {
    method setup (line 53) | @Before
    method init (line 73) | private void init() {
    method testNullFileSystem (line 78) | @Test
    method testClusterInitializationException (line 94) | @Test
    method testIOExceptionExists (line 112) | @Test
    method testIOExceptionCreate (line 127) | @Test
    method testIOExceptionWrite (line 142) | @Test
    method testIOExceptionDelete (line 160) | @Test
    method testPathExists (line 177) | @Test
    method testUnableToDelete (line 192) | @Test
    method testSuccess (line 211) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/kafka/KafkaConnectTestTest.java
  class KafkaConnectTestTest (line 42) | @RunWith( MockitoJUnitRunner.class )
    method setUp (line 51) | @Before
    method testSuccess (line 57) | @Test
    method testSuccessKerberos (line 69) | @Test
    method testError (line 85) | @Test
    method testSkip (line 97) | @Test
    method assertConsumer (line 109) | private Consumer assertConsumer( Map<String, Object> actualMap ) {

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/mr/PingJobTrackerTestTest.java
  class PingJobTrackerTestTest (line 35) | public class PingJobTrackerTestTest {
    method setup (line 44) | @Before
    method testGetName (line 57) | @Test
    method testSuccess (line 63) | @Test
    method testIsMapR (line 77) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/oozie/PingOozieHostTestTest.java
  class PingOozieHostTestTest (line 38) | public class PingOozieHostTestTest {
    method setup (line 48) | @Before
    method testGetName (line 61) | @Test
    method testMalformedURLException (line 67) | @Test
    method testSuccess (line 81) | @Test

FILE: impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/zookeeper/PingZookeeperEnsembleTestTest.java
  class PingZookeeperEnsembleTestTest (line 38) | public class PingZookeeperEnsembleTestTest {
    method setup (line 49) | @Before
    method testBlankHost (line 64) | @Test
    method testBlankPort (line 75) | @Test
    method testNoFailures (line 86) | @Test
    method testOneFailure (line 108) | @Test
    method testAllFailures (line 140) | @Test

FILE: impl/shim/jaas/src/main/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceFactory.java
  class JaasConfigServiceFactory (line 21) | public class JaasConfigServiceFactory implements NamedClusterServiceFact...
    method JaasConfigServiceFactory (line 23) | public JaasConfigServiceFactory(
    method getServiceClass (line 26) | @Override public Class<JaasConfigService> getServiceClass() {
    method canHandle (line 30) | @Override public boolean canHandle( NamedCluster namedCluster ) {
    method create (line 34) | @Override public JaasConfigService create( NamedCluster namedCluster ) {

FILE: impl/shim/jaas/src/main/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceImpl.java
  class JaasConfigServiceImpl (line 19) | public class JaasConfigServiceImpl implements JaasConfigService {
    method JaasConfigServiceImpl (line 24) | public JaasConfigServiceImpl( Properties configProperties ) {
    method getJaasConfig (line 29) | @Override public String getJaasConfig() {
    method isKerberos (line 38) | @Override public boolean isKerberos() {

FILE: impl/shim/jaas/src/test/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceFactoryTest.java
  class JaasConfigServiceFactoryTest (line 24) | public class JaasConfigServiceFactoryTest {
    method testCreatesAJaasConfig (line 26) | @Test

FILE: impl/shim/jaas/src/test/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceImplTest.java
  class JaasConfigServiceImplTest (line 21) | public class JaasConfigServiceImplTest {
    method testEmptyPrincipalIsNotKerberos (line 23) | @Test
    method testEmptyKeytabIsNotKerberos (line 31) | @Test
    method testJaasWithKerberosKeytab (line 39) | @Test

FILE: impl/shim/shimTests/src/main/java/org/pentaho/big/data/impl/shim/tests/TestShimConfig.java
  class TestShimConfig (line 35) | public class TestShimConfig extends BaseRuntimeTest {
    method TestShimConfig (line 49) | public TestShimConfig( HadoopFileSystemLocator hadoopFileSystemLocator...
    method runTest (line 58) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/shim/shimTests/src/main/java/org/pentaho/big/data/impl/shim/tests/TestShimLoad.java
  class TestShimLoad (line 30) | public class TestShimLoad extends BaseRuntimeTest {
    method TestShimLoad (line 42) | public TestShimLoad( MessageGetterFactory messageGetterFactory ) {
    method runTest (line 49) | @Override public RuntimeTestResultSummary runTest( Object objectUnderT...

FILE: impl/shim/shimTests/src/test/java/org/pentaho/big/data/impl/shim/tests/TestShimLoadTest.java
  class TestShimLoadTest (line 34) | public class TestShimLoadTest {
    method setup (line 40) | @Before
    method testGetName (line 48) | @Test
    method testConfigurationException (line 53) | @Test
    method testSuccess (line 64) | @Test

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/AzureHdInsightsFileNameParser.java
  class AzureHdInsightsFileNameParser (line 18) | @SuppressWarnings( "deprecation" )
    method AzureHdInsightsFileNameParser (line 25) | private AzureHdInsightsFileNameParser() {
    method getInstance (line 29) | public static AzureHdInsightsFileNameParser getInstance() {
    method extractHostName (line 39) | @Override protected String extractHostName( StringBuilder name ) {

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileNameParser.java
  class HDFSFileNameParser (line 23) | public class HDFSFileNameParser extends URLFileNameParser {
    method HDFSFileNameParser (line 27) | private HDFSFileNameParser() {
    method getInstance (line 31) | public static HDFSFileNameParser getInstance() {
    method parseUri (line 35) | @Override public FileName parseUri( VfsComponentContext context, FileN...
    method getHostNameCaseSensitive (line 60) | private String getHostNameCaseSensitive( String fileUri ) throws FileS...

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileObject.java
  class HDFSFileObject (line 28) | public class HDFSFileObject extends AbstractFileObject  {
    method HDFSFileObject (line 32) | public HDFSFileObject( final AbstractFileName name, final HDFSFileSyst...
    method doGetContentSize (line 37) | @Override
    method doGetOutputStream (line 42) | @Override
    method doGetInputStream (line 53) | @Override
    method doGetInputStream (line 58) | @Override
    method doGetType (line 63) | @Override
    method doCreateFolder (line 84) | @Override
    method doDelete (line 89) | @Override
    method doRename (line 94) | @Override
    method doGetLastModifiedTime (line 99) | @Override
    method doSetLastModifiedTime (line 104) | @Override
    method doListChildren (line 110) | @Override

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileProvider.java
  class HDFSFileProvider (line 44) | public class HDFSFileProvider extends AbstractOriginatingFileProvider {
    method HDFSFileProvider (line 74) | @Deprecated
    method HDFSFileProvider (line 82) | @Deprecated
    method HDFSFileProvider (line 90) | public HDFSFileProvider( HadoopFileSystemLocator hadoopFileSystemLocat...
    method HDFSFileProvider (line 95) | public HDFSFileProvider( HadoopFileSystemLocator hadoopFileSystemLocat...
    method HDFSFileProvider (line 103) | public HDFSFileProvider( HadoopFileSystemLocator hadoopFileSystemLocat...
    method getMetastoreLocator (line 115) | protected synchronized MetastoreLocator getMetastoreLocator() {
    method doCreateFileSystem (line 127) | @Override protected FileSystem doCreateFileSystem( final FileName name...
    method getCapabilities (line 141) | @Override public Collection<Capability> getCapabilities() {
    method getConfigBuilder (line 145) | @Override
    method resolveNamedCluster (line 150) | private NamedCluster resolveNamedCluster( String hostName, int port, f...

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileSystem.java
  class HDFSFileSystem (line 28) | public class HDFSFileSystem extends AbstractFileSystem implements FileSy...
    method HDFSFileSystem (line 31) | public HDFSFileSystem( final FileName rootName, final FileSystemOption...
    method addCapabilities (line 37) | @Override
    method createFile (line 51) | @Override protected FileObject createFile( AbstractFileName name ) thr...
    method getHDFSFileSystem (line 55) | public HadoopFileSystem getHDFSFileSystem() throws FileSystemException {

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/MapRFileNameParser.java
  class MapRFileNameParser (line 18) | public class MapRFileNameParser extends URLFileNameParser {
    method MapRFileNameParser (line 24) | private MapRFileNameParser() {
    method getInstance (line 28) | public static MapRFileNameParser getInstance() {
    method extractHostName (line 38) | @Override protected String extractHostName( StringBuilder name ) {

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterConfigBuilder.java
  class NamedClusterConfigBuilder (line 29) | public class NamedClusterConfigBuilder extends KettleGenericFileSystemCo...
    method NamedClusterConfigBuilder (line 36) | public NamedClusterConfigBuilder() {
    method NamedClusterConfigBuilder (line 40) | public NamedClusterConfigBuilder( MetastoreLocator metastoreLocator, N...
    method getInstance (line 48) | public static NamedClusterConfigBuilder getInstance() {
    method getInstance (line 52) | public static FileSystemConfigBuilder getInstance( MetastoreLocator me...
    method getConfigClass (line 59) | @Override
    method snapshotNamedClusterToMetaStore (line 64) | public void snapshotNamedClusterToMetaStore( IMetaStore snapshotMetaSt...
    method setEmbeddedMetastoreKey (line 74) | public void setEmbeddedMetastoreKey( final FileSystemOptions opts, fin...
    method getEmbeddedMetastoreKey (line 78) | public String getEmbeddedMetastoreKey( final FileSystemOptions opts ) {

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterFileObject.java
  class NamedClusterFileObject (line 23) | public class NamedClusterFileObject extends HDFSFileObject implements Al...
    method NamedClusterFileObject (line 27) | public NamedClusterFileObject( final AbstractFileName name, final Name...
    method getOriginalURIString (line 32) | @Override
    method getAELSafeURIString (line 37) | @Override
    method delete (line 42) | @Override

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterFileSystem.java
  class NamedClusterFileSystem (line 26) | public class NamedClusterFileSystem extends HDFSFileSystem {
    method NamedClusterFileSystem (line 30) | public NamedClusterFileSystem( final FileName rootName, final URI real...
    method createFile (line 36) | @Override protected FileObject createFile( AbstractFileName name ) thr...
    method getRealFileSystemURI (line 40) | public URI getRealFileSystemURI() {

FILE: impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterProvider.java
  class NamedClusterProvider (line 46) | public class NamedClusterProvider extends HDFSFileProvider implements Vf...
    method NamedClusterProvider (line 51) | public NamedClusterProvider( HadoopFileSystemLocator hadoopFileSystemL...
    method NamedClusterProvider (line 65) | public NamedClusterProvider( HadoopFileSystemLocator hadoopFileSystemL...
    method NamedClusterProvider (line 74) | public NamedClusterProvider( HadoopFileSystemLocator hadoopFileSystemL...
    method NamedClusterProvider (line 88) | public NamedClusterProvider( HadoopFileSystemLocator hadoopFileSystemL...
    method doCreateFileSystem (line 98) | @Override
    method getConfigBuilder (line 121) | @Override
    method getNamedClusterByName (line 133) | NamedCluster getNamedClusterByName( String clusterNameToResolve, FileS...
    method getFileSystem (line 145) | protected synchronized FileSystem getFileSystem( final FileName rootNa...
    method getFileSystemKey (line 156) | private String getFileSystemKey( String rootName, FileSystemOptions fi...
    method getEmbeddedMetastoreKey (line 161) | private String getEmbeddedMetastoreKey( FileSystemOptions fileSystemOp...
    method getMetastore (line 165) | private IMetaStore getMetastore( String clusterNameToResolve, FileSyst...
    method addCacheEntry (line 184) | private void addCacheEntry( FileName rootName, FileSystem fs ) throws ...
    method closeFileSystem (line 195) | public void closeFileSystem( String embeddedMetastoreKey ) {
    method findFileSystem (line 210) | protected synchronized FileSystem findFileSystem( final Comparable<?> ...

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/AzureFileNameParserTest.java
  class AzureFileNameParserTest (line 37) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 51) | @Before
    method cleanup (line 64) | @After
    method testDefaultPort (line 71) | @Test
    method rootPathNoClusterNameWasb (line 76) | @Test
    method withPathWasb (line 90) | @Test
    method withPathAndClusterNameWasb (line 105) | @Test
    method rootPathNoClusterNameAbfs (line 122) | @Test
    method withPathAbfs (line 136) | @Test
    method withPathAndClusterNameAbfs (line 151) | @Test
    method buildSchemeAnswer (line 168) | private Answer buildSchemeAnswer( String prefix, String buildPath ) {
    method buildExtractSchemeMocks (line 176) | private void buildExtractSchemeMocks( String prefix, String fullPath, ...

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileNameParserTest.java
  class HDFSFileNameParserTest (line 45) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 58) | @Before
    method cleanup (line 74) | @After
    method testDefaultPort (line 81) | @Test
    method testParseUriNullInput (line 86) | @Test
    method testParseUriMixedCase (line 96) | @Test
    method testParseUriMixedCaseLongName (line 108) | @Test
    method testParseUriThrowExceptionNoProtocol (line 120) | @Test
    method testParseUriUserNameFilePath (line 128) | @Test
    method buildSchemeAnswer (line 147) | private Answer buildSchemeAnswer( String prefix, String buildPath ) {
    method buildExtractSchemeMocks (line 155) | private void buildExtractSchemeMocks( String prefix, String fullPath, ...

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileObjectTest.java
  class HDFSFileObjectTest (line 42) | public class HDFSFileObjectTest {
    method setup (line 49) | @Before
    method testGetContentSize (line 62) | @Test
    method testDoGetOutputStreamAppend (line 71) | @Test
    method testDoGetOutputStreamCreate (line 78) | @Test
    method testDoGetInputStream (line 85) | @Test
    method testDoGetTypeFile (line 92) | @Test
    method testDoGetTypeFolder (line 100) | @Test
    method testDoGetTypeImaginary (line 108) | @Test
    method testDoCreateFolder (line 113) | @Test
    method testDoRename (line 119) | @Test
    method testDoGetLastModifiedTime (line 132) | @Test
    method testDoSetLastModifiedTime (line 141) | @Test
    method testDoListChildren (line 153) | @Test
    method testDoListChildrenWithSpaces (line 159) | @Test
    method testDoListChildrenInternal (line 165) | private void testDoListChildrenInternal( String childPathName ) throws...

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileProviderTest.java
  class HDFSFileProviderTest (line 42) | public class HDFSFileProviderTest {
    method setup (line 51) | @Before
    method testDoCreateFileSystemNoPort (line 72) | @Test
    method testGetCapabilities (line 87) | @Test

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileSystemTest.java
  class HDFSFileSystemTest (line 40) | public class HDFSFileSystemTest {
    method setup (line 45) | @Before
    method testAddCapabilities (line 52) | @Test
    method testAddAppendCapabilities (line 59) | @Test
    method testCreateFile (line 73) | @Test
    method testGetHDFSFileSystem (line 78) | @Test

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/MapRFileNameParserTest.java
  class MapRFileNameParserTest (line 36) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 47) | @Before
    method cleanup (line 59) | @After
    method testDefaultPort (line 66) | @Test
    method rootPathNoClusterName (line 71) | @Test
    method withPath (line 85) | @Test
    method withPathAndClusterName (line 100) | @Test
    method buildSchemeAnswer (line 117) | private Answer buildSchemeAnswer( String prefix, String buildPath ) {
    method buildExtractSchemeMocks (line 125) | private void buildExtractSchemeMocks( String prefix, String fullPath, ...

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterConfigBuilderTest.java
  class NamedClusterConfigBuilderTest (line 34) | public class NamedClusterConfigBuilderTest {
    method setUp (line 44) | @Before
    method testSnapshotNamedClusterToMetaStore (line 49) | @Test
    method testSnapshotNamedClusterToMetaStore_staticInit (line 59) | @Test
    method testSnapshotNamedClusterToMetaStore_MetastoreDoesNotHaveNC (line 71) | @Test
    method testSnapshotNamedClusterToMetaStore_staticInit_MetastoreDoesNotHaveNC (line 81) | @Test

FILE: impl/vfs-hdfs/src/test/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterProviderTest.java
  class NamedClusterProviderTest (line 51) | public class NamedClusterProviderTest {
    method setUp (line 76) | @Before
    method testGetNamedClusterByName_metastoreExist (line 85) | @Test
    method testGetNamedClusterByName_metastoreNotExist (line 94) | @Test
    method testGetConfigBuilder (line 103) | @Test
    method testDoCreateFileSystem (line 111) | @Test
    method testDoCreateFileSystem_NCTemplate (line 127) | @Test

FILE: kettle-plugins/browse/src/main/java/org/pentaho/big/data/impl/browse/NamedClusterProvider.java
  class NamedClusterProvider (line 51) | public class NamedClusterProvider extends BaseFileProvider<NamedClusterF...
    method NamedClusterProvider (line 62) | public NamedClusterProvider() {
    method NamedClusterProvider (line 69) | public NamedClusterProvider( NamedClusterService namedClusterManager ) {
    method lazilyInitialize (line 73) | private void lazilyInitialize() {
    method ensureInitialized (line 89) | private void ensureInitialized() {
    method getName (line 95) | @Override
    method getType (line 100) | @Override
    method getFileClass (line 105) | @Override
    method isAvailable (line 110) | @Override
    method getTree (line 115) | @Override
    method getFiles (line 138) | @Override
    method hasChildren (line 160) | private boolean hasChildren( FileObject fileObject ) {
    method getChildren (line 174) | private FileObject[] getChildren( FileObject fileObject ) {
    method populateChildren (line 190) | private List<NamedClusterFile> populateChildren( NamedClusterFile pare...
    method delete (line 207) | @Override
    method add (line 225) | @Override
    method getFile (line 239) | @Override
    method fileExists (line 255) | @Override
    method getNewName (line 267) | @Override
    method isSame (line 291) | @Override
    method rename (line 296) | @Override
    method copy (line 302) | @Override
    method move (line 320) | @Override
    method doMove (line 326) | private NamedClusterFile doMove( Bowl bowl, NamedClusterFile file, Str...
    method readFile (line 356) | @Override
    method writeFile (line 367) | @Override
    method getParent (line 389) | @Override
    method clearProviderCache (line 396) | @Override
    method getFile (line 401) | @Override
    method throwIllegalArgumentException (line 424) | private void throwIllegalArgumentException( String path, String messag...
    method createDirectory (line 428) | @Override

FILE: kettle-plugins/browse/src/main/java/org/pentaho/big/data/impl/browse/model/NamedClusterDirectory.java
  class NamedClusterDirectory (line 26) | public class NamedClusterDirectory extends NamedClusterFile implements D...
    method getType (line 33) | @Override public String getType() {
    method hasChildren (line 37) | public boolean hasChildren() {
    method setHasChildren (line 41) | public void setHasChildren( boolean hasChildren ) {
    method getChildren (line 45) | public List<NamedClusterFile> getChildren() {
    method setChildren (line 49) | public void setChildren( List<NamedClusterFile> children ) {
    method addChild (line 53) | public void addChild( NamedClusterFile file ) {
    method isHasChildren (line 57) | public boolean isHasChildren() {
    method setCanAddChildren (line 61) | public void setCanAddChildren( boolean canAddChildren ) {
    method isCanAddChildren (line 65) | @Override public boolean isCanAddChildren() {
    method create (line 69) | public static NamedClusterDirectory create( String parent, FileObject ...
    method getEntityType (line 86) | @Override

FILE: kettle-plugins/browse/src/main/java/org/pentaho/big/data/impl/browse/model/NamedClusterFile.java
  class NamedClusterFile (line 26) | public class NamedClusterFile extends BaseEntity implements File {
    method NamedClusterFile (line 29) | public NamedClusterFile() {
    method getType (line 33) | @Override public String getType() {
    method getProvider (line 37) | @Override public String getProvider() {
    method create (line 41) | public static NamedClusterFile create( String parent, FileObject fileO...
    method equals (line 56) | @Override public boolean equals( Object obj ) {
    method getEntityType (line 72) | @Override

FILE: kettle-plugins/browse/src/main/java/org/pentaho/big/data/impl/browse/model/NamedClusterTree.java
  class NamedClusterTree (line 22) | public class NamedClusterTree implements Tree<NamedClusterFile> {
    method NamedClusterTree (line 29) | public NamedClusterTree( String name ) {
    method getName (line 33) | @Override public String getName() {
    method getChildren (line 37) | @Override public List<NamedClusterFile> getChildren() {
    method addChild (line 41) | @Override public void addChild( NamedClusterFile namedClusterFile ) {
    method isCanAddChildren (line 45) | @Override public boolean isCanAddChildren() {
    method getOrder (line 49) | @Override public int getOrder() {
    method getProvider (line 53) | @Override public String getProvider() {

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/AbstractJobEntry.java
  class AbstractJobEntry (line 34) | public abstract class AbstractJobEntry<T extends BlockableJobConfig> ext...
    method AbstractJobEntry (line 39) | public AbstractJobEntry() {
    method AbstractJobEntry (line 43) | protected AbstractJobEntry( LogChannelInterface logChannelInterface ) {
    method getJobConfig (line 50) | public T getJobConfig() {
    method setJobConfig (line 55) | public void setJobConfig( T jobConfig ) {
    method evaluates (line 63) | @Override
    method isUnconditional (line 71) | @Override
    method getXML (line 79) | @Override
    method loadXML (line 96) | @Override
    method loadRep (line 114) | @Override
    method saveRep (line 130) | @Override
    method execute (line 135) | @Override
    method setJobResultFailed (line 185) | public void setJobResultFailed( Result jobResult ) {
    method isValid (line 197) | public boolean isValid( T config ) {
    method getVariableSpace (line 205) | public VariableSpace getVariableSpace() {
    method createJobConfig (line 217) | protected abstract T createJobConfig();
    method getValidationWarnings (line 233) | public abstract List<String> getValidationWarnings( T config );
    method getExecutionRunnable (line 244) | protected abstract Runnable getExecutionRunnable( final Result jobResu...
    method handleUncaughtThreadException (line 256) | protected abstract void handleUncaughtThreadException( Thread t, Throw...

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/AbstractJobEntryController.java
  class AbstractJobEntryController (line 58) | public abstract class AbstractJobEntryController<C extends BlockableJobC...
    method AbstractJobEntryController (line 75) | @SuppressWarnings( "unchecked" )
    method getName (line 89) | @Override
    method open (line 99) | public JobEntryInterface open() {
    method init (line 116) | public void init() throws XulException, InvocationTargetException {
    method accept (line 140) | @Bindable
    method cancel (line 150) | @Bindable
    method help (line 167) | public void help() {
    method getPlugin (line 176) | protected PluginInterface getPlugin() {
    method removeBindings (line 183) | protected void removeBindings() {
    method getDialog (line 198) | protected SwtDialog getDialog() {
    method getJobEntry (line 205) | @VisibleForTesting
    method beforeInit (line 213) | protected void beforeInit() {
    method afterInit (line 220) | protected void afterInit() {
    method showConfirmationDialog (line 224) | protected boolean showConfirmationDialog( String title, String message...
    method showInfoDialog (line 236) | protected void showInfoDialog( String title, String message ) {
    method showErrorDialog (line 251) | protected void showErrorDialog( String title, String message ) {
    method showErrorDialog (line 268) | protected void showErrorDialog( String title, String message, Throwabl...
    method getShell (line 275) | protected Shell getShell() {
    method browseVfs (line 297) | protected FileObject browseVfs( FileObject root, FileObject initial, i...
    method browseVfs (line 304) | protected FileObject browseVfs( FileObject root, FileObject initial, i...
    method browseVfs (line 309) | protected FileObject browseVfs( FileObject root, FileObject initial, i...
    method browseVfs (line 314) | protected FileObject browseVfs( FileObject root, FileObject initial, i...
    method browseVfs (line 319) | protected FileObject browseVfs( FileObject root, FileObject initial, i...
    method getFileFilters (line 352) | protected String[] getFileFilters() {
    method getFileFilterNames (line 362) | protected String[] getFileFilterNames() {
    method getConfig (line 369) | public C getConfig() {
    method setConfig (line 373) | public void setConfig( C config ) {
    method getJobMeta (line 380) | public JobMeta getJobMeta() {
    method setJobMeta (line 384) | public void setJobMeta( JobMeta jobMeta ) {
    method getJobEntryMode (line 388) | public JobEntryMode getJobEntryMode() {
    method toggleMode (line 395) | public void toggleMode() {
    method setMode (line 401) | protected void setMode( JobEntryMode mode ) {
    method getModeDeckElementId (line 432) | protected String getModeDeckElementId() {
    method syncModel (line 439) | protected abstract void syncModel();
    method createBindings (line 441) | protected abstract void createBindings( C config, XulDomContainer cont...
    method getDialogElementId (line 444) | protected abstract String getDialogElementId();
    method setModeToggleLabel (line 446) | protected abstract void setModeToggleLabel( JobEntryMode mode );

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/BlockableJobConfig.java
  class BlockableJobConfig (line 24) | public class BlockableJobConfig implements XulEventSource, Cloneable {
    method getJobEntryName (line 34) | public String getJobEntryName() {
    method setJobEntryName (line 38) | public void setJobEntryName( String jobEntryName ) {
    method getBlockingPollingInterval (line 44) | public String getBlockingPollingInterval() {
    method setBlockingPollingInterval (line 48) | public void setBlockingPollingInterval( String blockingPollingInterval...
    method getBlockingExecution (line 54) | public String getBlockingExecution() {
    method setBlockingExecution (line 58) | public void setBlockingExecution( String blockingExecution ) {
    method addPropertyChangeListener (line 67) | public void addPropertyChangeListener( PropertyChangeListener l ) {
    method addPropertyChangeListener (line 74) | public void addPropertyChangeListener( String propertyName, PropertyCh...
    method removePropertyChangeListener (line 81) | public void removePropertyChangeListener( PropertyChangeListener l ) {
    method removePropertyChangeListener (line 88) | public void removePropertyChangeListener( String propertyName, Propert...
    method clone (line 92) | @Override
    method equals (line 101) | @Override
    method hashCode (line 125) | @Override

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/JobEntryMode.java
  type JobEntryMode (line 21) | public enum JobEntryMode {

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/JobEntrySerializationHelper.java
  class JobEntrySerializationHelper (line 44) | public class JobEntrySerializationHelper implements Serializable {
    method read (line 59) | public static void read( Object object, Node node ) {
    method upgradeName (line 272) | private static String upgradeName( String fieldClassName ) {
    method write (line 287) | public static void write( Object object, int indentLevel, StringBuffer...
    method getAllDeclaredFields (line 427) | private static Field[] getAllDeclaredFields( Class<?> aClass ) {
    method saveRep (line 446) | public static void saveRep( Object object, Repository rep, ObjectId id...
    method loadRep (line 466) | public static void loadRep( Object object, Repository rep, ObjectId id...
    method indent (line 483) | private static void indent( StringBuffer sb, int indentLevel ) {

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/JobEntryUtils.java
  class JobEntryUtils (line 21) | public class JobEntryUtils {
    method asBoolean (line 36) | public static boolean asBoolean( String s, VariableSpace variableSpace...
    method asLong (line 50) | public static Long asLong( String s, VariableSpace variableSpace ) {

FILE: kettle-plugins/common/job/src/main/java/org/pentaho/big/data/kettle/plugins/job/PropertyEntry.java
  class PropertyEntry (line 24) | public class PropertyEntry implements Map.Entry<String, String>, XulEven...
    method PropertyEntry (line 28) | public PropertyEntry() {
    method PropertyEntry (line 32) | public PropertyEntry( String key, String value ) {
    method getKey (line 37) | @Override
    method setKey (line 42) | public void setKey( String key ) {
    method getValue (line 46) | @Override
    method setValue (line 51) | @Override
    method equals (line 57) | @Override
    method hashCode (line 77) | @Override
    method addPropertyChangeListener (line 84) | @Override
    method removePropertyChangeListener (line 88) | @Override

FILE: kettle-plugins/common/job/src/test/java/org/pentaho/big/data/kettle/plugins/job/AbstractJobEntryTest.java
  class AbstractJobEntryTest (line 44) | public class AbstractJobEntryTest {
    class TestJobEntry (line 46) | class TestJobEntry extends AbstractJobEntry<BlockableJobConfig> {
      method TestJobEntry (line 49) | TestJobEntry() {
      method TestJobEntry (line 52) | TestJobEntry( long waitTime ) {
      method createJobConfig (line 56) | @Override
      method getValidationWarnings (line 61) | @Override
      method getExecutionRunnable (line 66) | @Override
      method handleUncaughtThreadException (line 80) | @Override
    method testLoadXml (line 88) | @Test
    method testLoadRep (line 111) | @Test
    method testEvaluates (line 160) | @Test
    method testIsUnconditional (line 166) | @Test
    method execute_blocking (line 172) | @Test
    method execute_nonblocking (line 188) | @Test
    method execute_interrupted (line 205) | @Test

FILE: kettle-plugins/common/job/src/test/java/org/pentaho/big/data/kettle/plugins/job/BlockableJobConfigTest.java
  class BlockableJobConfigTest (line 34) | public class BlockableJobConfigTest {
    method init (line 39) | @Before
    method testAddPropertyChangeListener (line 45) | @Test
    method testAddPropertyChangeListener_propertyName (line 62) | @Test
    method testGetterAndSetter (line 85) | @Test
    method testClone (line 94) | @Test

FILE: kettle-plugins/common/job/src/test/java/org/pentaho/big/data/kettle/plugins/job/JobEntryUtilsTest.java
  class JobEntryUtilsTest (line 23) | public class JobEntryUtilsTest {
    method asBoolean (line 25) | @Test
    method asLong (line 43) | @Test

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/ClusterTestDialog.java
  class ClusterTestDialog (line 57) | public class ClusterTestDialog extends Dialog {
    method create (line 74) | public static ClusterTestDialog create( Shell parent, NamedCluster nam...
    method ClusterTestDialog (line 79) | public ClusterTestDialog( Shell parent, NamedCluster namedCluster, Run...
    method getPropsUIInstance (line 91) | protected PropsUI getPropsUIInstance() {
    method open (line 95) | public RuntimeTestStatus open() {
    method cancel (line 181) | private void cancel() {
    method dispose (line 186) | public void dispose() {
    method getRunnable (line 195) | Runnable getRunnable( final ProgressBar progressBar, final RuntimeTest...

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/ClusterTestResultsDialog.java
  class ClusterTestResultsDialog (line 54) | public class ClusterTestResultsDialog extends Dialog {
    method ClusterTestResultsDialog (line 69) | public ClusterTestResultsDialog( Shell parent, RuntimeTestActionServic...
    method open (line 79) | public String open() {
    method ok (line 251) | private void ok() {
    method dispose (line 255) | public void dispose() {

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/CommonDialogFactory.java
  class CommonDialogFactory (line 26) | public class CommonDialogFactory {
    method createErrorDialog (line 27) | public void createErrorDialog( Shell parent, String title, String mess...
    method createNamedClusterDialog (line 31) | public NamedClusterDialogImpl createNamedClusterDialog( Shell parent, ...

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/HadoopClusterDelegateImpl.java
  class HadoopClusterDelegateImpl (line 40) | public class HadoopClusterDelegateImpl extends SpoonDelegate {
    method HadoopClusterDelegateImpl (line 63) | public HadoopClusterDelegateImpl( Spoon spoon, NamedClusterService nam...
    method HadoopClusterDelegateImpl (line 68) | public HadoopClusterDelegateImpl( Spoon spoon, NamedClusterService nam...
    method dupeNamedCluster (line 78) | public void dupeNamedCluster( IMetaStore metaStore, NamedCluster nc, S...
    method delNamedCluster (line 129) | public void delNamedCluster( IMetaStore metaStore, NamedCluster namedC...
    method backupAndAddShimConfiguration (line 138) | private void backupAndAddShimConfiguration( IMetaStore metaStore, Name...
    method editNamedCluster (line 189) | public String editNamedCluster( IMetaStore metaStore, NamedCluster nam...
    method getXmlMetastore (line 263) | private XmlMetaStore getXmlMetastore( IMetaStore metaStore ) throws Me...
    method getNamedClusterConfigsRootDir (line 283) | private String getNamedClusterConfigsRootDir( XmlMetaStore metaStore ) {
    method newNamedCluster (line 289) | public String newNamedCluster( VariableSpace variableSpace, IMetaStore...
    method addConfigProperties (line 325) | private void addConfigProperties( NamedCluster namedCluster ) throws E...
    method deleteNamedCluster (line 337) | private void deleteNamedCluster( IMetaStore metaStore, NamedCluster na...
    method saveNamedCluster (line 358) | private void saveNamedCluster( IMetaStore metaStore, NamedCluster name...

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/NamedClusterComposite.java
  class NamedClusterComposite (line 52) | public class NamedClusterComposite extends Composite {
    type Callback (line 101) | private interface Callback {
      method invoke (line 102) | public void invoke( NamedCluster nc, TextVar textVar, String value );
    method NamedClusterComposite (line 105) | public NamedClusterComposite( Composite parent, NamedCluster namedClus...
    method setStateChangeListener (line 179) | public void setStateChangeListener( StateChangeListener stateChangeLis...
    method createFormDataAndAttachTopControl (line 183) | private FormData createFormDataAndAttachTopControl( Control topControl...
    method createHeadOfNamedClusterDialog (line 191) | private Composite createHeadOfNamedClusterDialog( final Composite pare...
    method createLabel (line 247) | private Label createLabel( Composite parent, String text, GridData gd ) {
    method createTextVar (line 255) | private TextVar createTextVar( final NamedCluster c, Composite parent,...
    method createGroup (line 272) | private Composite createGroup( Composite parent, String groupLabel ) {
    method createTwoColumnsContainer (line 298) | private Composite createTwoColumnsContainer( Composite parentComposite...
    method createShimVendorGroup (line 307) | private void createShimVendorGroup( Composite parentComposite, final N...
    method createStorageGroup (line 362) | private void createStorageGroup( Composite parentComposite, final Name...
    method createHdfsGroup (line 435) | private void createHdfsGroup( Composite parentComposite, final NamedCl...
    method createJobTrackerGroup (line 500) | private void createJobTrackerGroup( Composite parentComposite, final N...
    method createZooKeeperGroup (line 532) | private void createZooKeeperGroup( Composite parentComposite, final Na...
    method createOozieGroup (line 566) | private void createOozieGroup( Composite parentComposite, final NamedC...
    method createGatewayGroup (line 586) | private void createGatewayGroup( Composite parentComposite, final Name...
    method createKafkaGroup (line 644) | private void createKafkaGroup( Composite parentComposite, final NamedC...
    method setHdfsAndJobTrackerState (line 666) | private void setHdfsAndJobTrackerState( NamedCluster cluster ) {
    method shouldRenderGatewayCheckbox (line 688) | private boolean shouldRenderGatewayCheckbox( final NamedCluster namedC...
    method stateChanged (line 692) | private void stateChanged() {

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/NamedClusterDialogImpl.java
  class NamedClusterDialogImpl (line 58) | public class NamedClusterDialogImpl extends Dialog {
    method NamedClusterDialogImpl (line 72) | public NamedClusterDialogImpl( Shell parent, NamedClusterService named...
    method NamedClusterDialogImpl (line 77) | public NamedClusterDialogImpl( Shell parent, NamedClusterService named...
    method getNamedCluster (line 90) | public NamedCluster getNamedCluster() {
    method setNamedCluster (line 94) | public void setNamedCluster( NamedCluster namedCluster ) {
    method isNewClusterCheck (line 99) | public boolean isNewClusterCheck() {
    method setNewClusterCheck (line 103) | public void setNewClusterCheck( boolean newClusterCheck ) {
    method dispose (line 107) | public void dispose() {
    method open (line 112) | public String open() {
    method cancel (line 226) | private void cancel() {
    method ok (line 231) | public void ok() {

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/NamedClusterWidgetImpl.java
  class NamedClusterWidgetImpl (line 38) | public class NamedClusterWidgetImpl extends Composite {
    method NamedClusterWidgetImpl (line 44) | public NamedClusterWidgetImpl( Composite parent, boolean showLabel, Na...
    method newNamedCluster (line 92) | private void newNamedCluster() {
    method editNamedCluster (line 99) | private void editNamedCluster() {
    method getNamedClusterNames (line 119) | protected String[] getNamedClusterNames() {
    method initiate (line 128) | public void initiate() {
    method getSelectedNamedCluster (line 135) | public NamedCluster getSelectedNamedCluster() {
    method setSelectedNamedCluster (line 149) | public void setSelectedNamedCluster( String name ) {
    method addSelectionListener (line 159) | public void addSelectionListener( SelectionListener selectionListener ) {
    method getNameClusterCombo (line 163) | public Combo getNameClusterCombo() {
    method setNameClusterCombo (line 167) | protected void setNameClusterCombo( Combo nameClusterCombo ) {

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/StateChangeListener.java
  type StateChangeListener (line 16) | interface StateChangeListener {
    method stateModified (line 17) | void stateModified();

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/TestResultComposite.java
  class TestResultComposite (line 19) | public class TestResultComposite extends Composite {
    method TestResultComposite (line 21) | public TestResultComposite( Composite parent, int style ) {

FILE: kettle-plugins/common/ui/src/main/java/org/pentaho/big/data/plugins/common/ui/VfsFileChooserHelper.java
  class VfsFileChooserHelper (line 36) | public class VfsFileChooserHelper {
    method VfsFileChooserHelper (line 46) | public VfsFileChooserHelper( Shell shell, VfsFileChooserDialog fileCho...
    method VfsFileChooserHelper (line 50) | public VfsFileChooserHelper( Shell shell, VfsFileChooserDialog fileCho...
    method browse (line 59) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method browse (line 64) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method browse (line 69) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method browse (line 74) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method browse (line 79) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method browse (line 84) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method browse (line 89) | public FileObject browse( String[] fileFilters, String[] fileFilterNam...
    method getVariableSpace (line 115) | public VariableSpace getVariableSpace() {
    method setVariableSpace (line 119) | public void setVariableSpace( VariableSpace variableSpace ) {
    method getFileSystemOptions (line 123) | public FileSystemOptions getFileSystemOptions() {
    method setFileSystemOptions (line 127) | public void setFileSystemOptions( FileSystemOptions fileSystemOptions ) {
    method getDefaultScheme (line 131) | public String getDefaultScheme() {
    method setDefaultScheme (line 135) | public void setDefaultScheme( String defaultScheme ) {
    method getSchemeRestriction (line 139) | public String getSchemeRestriction() {
    method setSchemeRestriction (line 147) | public void setSchemeRestriction( String schemeRestriction ) {
    method setSchemeRestrictions (line 152) | public void setSchemeRestrictions( String[] schemeRestrictions ) {
    method showFileScheme (line 156) | public boolean showFileScheme() {
    method setShowFileScheme (line 160) | public void setShowFileScheme( boolean showFileScheme ) {
    method returnsUserAuthenticatedFileObjects (line 164) | protected boolean returnsUserAuthenticatedFileObjects() {
    method setNamedCluster (line 168) | public void setNamedCluster( NamedCluster namedCluster ) {
    method getFileChooserDialog (line 192) | @VisibleForTesting
    method getShell (line 197) | @VisibleForTesting
    method getSchemeRestrictions (line 202) | @VisibleForTesting

FILE: kettle-plugins/common/ui/src/test/java/org/pentaho/big/data/plugins/common/ui/HadoopClusterDelegateImplTest.java
  class HadoopClusterDelegateImplTest (line 59) | public class HadoopClusterDelegateImplTest {
    method setup (line 73) | @Before
    method tearDown (line 99) | @After
    method deleteDirectory (line 104) | private boolean deleteDirectory( File directoryToBeDeleted) {
    method testSimpleConstructor (line 114) | @Test
    method testDupeNamedClusterNullNc (line 120) | @Test
    method testDupeNamedClusterNullNewName (line 126) | @Test
    method testDupeNamedClusterNullMetastore (line 144) | @Test
    method testDelNamedCluster (line 170) | @Test
    method testDelNamedClusterNull (line 179) | @Test
    method testDelNamedClusterNullMetastore (line 188) | @Test
    method testDelNamedClusterException (line 199) | @Test
    method testEditNamedClusterNullMetastore (line 214) | @Test
    method testEditNamedClusterNull (line 241) | @Test
    method testNewNamedClusterNullMetastore (line 258) | @Test
    method testNewNamedClusterNullVariables (line 278) | @Test
    method testNewNamedClusterNullResult (line 295) | @Test
    method testNewNamedClusterErrorSaving (line 311) | @Test

FILE: kettle-plugins/common/ui/src/test/java/org/pentaho/big/data/plugins/common/ui/TestClusterTestDialog.java
  class TestClusterTestDialog (line 41) | public class TestClusterTestDialog {
    method beforeClass (line 52) | @BeforeClass
    method setKettleLogFactoryWithMock (line 59) | public static void setKettleLogFactoryWithMock() {
    method setup (line 66) | @Before
    method testExceptionIsPrintedToLog (line 86) | @Test
    method testExceptionsArePrintedToLog (line 115) | @Test
    method tearDown (line 146) | @AfterClass

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/BaseFormatInputField.java
  class BaseFormatInputField (line 25) | public class BaseFormatInputField extends BaseFileField implements IForm...
    method getFormatFieldName (line 34) | @Override
    method setFormatFieldName (line 39) | @Override
    method getPentahoFieldName (line 44) | @Override
    method setPentahoFieldName (line 49) | @Override
    method getPentahoType (line 54) | @Override
    method setPentahoType (line 59) | @Override
    method getFormatType (line 64) | @Override public int getFormatType() {
    method setFormatType (line 68) | @Override public void setFormatType( int formatType ) {
    method getPrecision (line 72) | @Override public int getPrecision() {
    method setPrecision (line 76) | @Override public void setPrecision( int precision ) {
    method getScale (line 80) | @Override public int getScale() {
    method setScale (line 84) | @Override public void setScale( int scale ) {
    method getStringFormat (line 88) | @Override
    method setStringFormat (line 93) | @Override
    method setPentahoType (line 98) | public void setPentahoType( String value ) {

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/BaseFormatOutputField.java
  class BaseFormatOutputField (line 19) | public class BaseFormatOutputField implements IFormatOutputField {
    method getFormatFieldName (line 45) | @Override
    method setFormatFieldName (line 50) | @Override
    method getPentahoFieldName (line 55) | @Override
    method setPentahoFieldName (line 60) | @Override
    method getAllowNull (line 65) | @Override
    method setAllowNull (line 70) | @Override
    method getDefaultValue (line 75) | @Override
    method setDefaultValue (line 80) | @Override
    method setAllowNull (line 85) | @Injection( name = "FIELD_NULL_STRING", group = "FIELDS" )
    method getFormatType (line 98) | @Override
    method setFormatType (line 103) | @Override
    method getPrecision (line 108) | @Override
    method setPrecision (line 113) | @Override
    method getScale (line 125) | @Override
    method setScale (line 130) | @Override
    method getPentahoType (line 142) | @Override
    method setPentahoType (line 147) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/FormatInputFile.java
  class FormatInputFile (line 23) | public class FormatInputFile extends BaseFileInputFiles {
    method normalizeAllocation (line 30) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/FormatInputOutputField.java
  class FormatInputOutputField (line 25) | public class FormatInputOutputField extends BaseFileField {
    method getPath (line 34) | public String getPath() {
    method setPath (line 38) | public void setPath( String path ) {
    method isNullable (line 42) | public boolean isNullable() {
    method setNullable (line 46) | public void setNullable( boolean nullable ) {
    method getSourceType (line 54) | public int getSourceType() {
    method setSourceType (line 58) | public void setSourceType( int sourceType ) {
    method setSourceType (line 62) | @Injection( name = "FIELD_SOURCE_TYPE", group = "FIELDS" )
    method getSourceTypeDesc (line 67) | public String getSourceTypeDesc() {

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/orc/OrcFormatInputOutputField.java
  class OrcFormatInputOutputField (line 24) | public class OrcFormatInputOutputField {
    method getPath (line 39) | public String getPath() {
    method setPath (line 43) | public void setPath( String path ) {
    method getName (line 47) | public String getName() {
    method setName (line 51) | public void setName( String name ) {
    method getNullString (line 55) | public String getNullString() {
    method setNullString (line 59) | public void setNullString( String nullString ) {
    method getIfNullValue (line 63) | public String getIfNullValue() {
    method setIfNullValue (line 67) | public void setIfNullValue( String ifNullValue ) {
    method getType (line 71) | public int getType() {
    method setType (line 75) | public void setType( int type ) {
    method getTypeDesc (line 79) | public String getTypeDesc() {
    method setType (line 83) | @Injection( name = "FIELD_TYPE", group = "FIELDS" )

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/orc/OrcInputField.java
  class OrcInputField (line 25) | public class OrcInputField extends BaseFormatInputField implements IOrcI...
    method getOrcType (line 26) | public OrcSpec.DataType getOrcType() {
    method setOrcType (line 30) | @Override
    method setOrcType (line 35) | @Injection( name = "ORC_TYPE", group = "FIELDS" )
    method getTypeDesc (line 48) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/orc/OrcTypeConverter.java
  class OrcTypeConverter (line 22) | public class OrcTypeConverter {
    method convertToOrcType (line 24) | public static String convertToOrcType( int pdiType ) {
    method convertToOrcType (line 48) | public static String convertToOrcType( String type ) {

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/orc/input/OrcInputMetaBase.java
  class OrcInputMetaBase (line 53) | @SuppressWarnings( "deprecation" )
    method OrcInputMetaBase (line 57) | public OrcInputMetaBase() {
    method getFilename (line 63) | public String getFilename() {
    method setFilename (line 72) | public void setFilename( String filename ) {
    method getInputFields (line 76) | public OrcInputField[] getInputFields() {
    method setInputFields (line 80) | public void setInputFields( OrcInputField[] inputFields ) {
    method setInputFields (line 84) | public void setInputFields( List<OrcInputField> inputFields ) {
    method getXML (line 89) | @Override
    method saveRep (line 138) | @Override
    method loadXML (line 176) | @Override
    method readRep (line 222) | @Override
    method allocateFiles (line 265) | public void allocateFiles( int nrFiles ) {
    method getEncoding (line 277) | @Override
    method setDefault (line 282) | @Override
    method resolve (line 288) | @Override
    method getFields (line 305) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/orc/output/OrcOutputField.java
  class OrcOutputField (line 21) | public class OrcOutputField extends BaseFormatOutputField implements IOr...
    method getOrcType (line 22) | public OrcSpec.DataType getOrcType() {
    method setFormatType (line 26) | @Override
    method setFormatType (line 31) | @Override
    method setFormatType (line 40) | @Injection( name = "FIELD_TYPE", group = "FIELDS" )
    method isDecimalType (line 56) | public boolean isDecimalType() {
    method setPrecision (line 60) | @Override
    method setScale (line 72) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/orc/output/OrcOutputMetaBase.java
  class OrcOutputMetaBase (line 52) | public abstract class OrcOutputMetaBase extends BaseStepMeta implements ...
    method setDefault (line 89) | @Override
    method getFilename (line 94) | public String getFilename() {
    method isOverrideOutput (line 99) | public boolean isOverrideOutput() {
    method setOverrideOutput (line 103) | public void setOverrideOutput( boolean overrideOutput ) {
    method setFilename (line 107) | public void setFilename( String filename ) {
    method getOutputFields (line 112) | public List<OrcOutputField> getOutputFields() {
    method setOutputFields (line 117) | public void setOutputFields( List<OrcOutputField> outputFields ) {
    method getStripeSize (line 122) | public int getStripeSize() {
    method setStripeSize (line 126) | public void setStripeSize( int stripeSize ) {
    method getCompressSize (line 130) | public int getCompressSize() {
    method setCompressSize (line 134) | public void setCompressSize( int compressSize ) {
    method getRowsBetweenEntries (line 138) | public int getRowsBetweenEntries() {
    method setRowsBetweenEntries (line 142) | public void setRowsBetweenEntries( int rowsBetweenEntries ) {
    method isDateInFileName (line 146) | public boolean isDateInFileName() {
    method setDateInFileName (line 150) | public void setDateInFileName( boolean dateInFileName ) {
    method isTimeInFileName (line 154) | public boolean isTimeInFileName() {
    method setTimeInFileName (line 158) | public void setTimeInFileName( boolean timeInFileName ) {
    method getDateTimeFormat (line 162) | public String getDateTimeFormat() {
    method setDateTimeFormat (line 166) | public void setDateTimeFormat( String dateTimeFormat ) {
    method loadXML (line 170) | @Override
    method readData (line 175) | private void readData( Node stepnode, IMetaStore metastore ) throws Ke...
    method getXML (line 210) | @Override
    method readRep (line 246) | @Override
    method saveRep (line 283) | @Override
    method resolve (line 315) | @Override
    method getCompressionType (line 330) | public String getCompressionType() {
    method setCompressionType (line 334) | public void setCompressionType( String value ) {
    method getCompressionType (line 338) | public CompressionKind getCompressionType(VariableSpace vspace ) {
    method getCompressionTypes (line 342) | public String[] getCompressionTypes() {
    method findCompressionType (line 346) | private CompressionKind findCompressionType( String str ) {
    method getStrings (line 354) | protected static <T> String[] getStrings( T[] objects ) {
    method parseFromToString (line 363) | protected static <T> T parseFromToString( String str, T[] values, T de...
    method parseReplace (line 374) | private <T> T parseReplace( String value, VariableSpace vspace, Functi...
    method constructOutputFilename (line 386) | public String constructOutputFilename() {
    class FieldNames (line 402) | protected static class FieldNames {

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/parquet/ParquetTypeConverter.java
  class ParquetTypeConverter (line 21) | public class ParquetTypeConverter {
    method convertToParquetType (line 24) | public static String convertToParquetType( String pdiType ) {
    method convertToParquetType (line 36) | public static String convertToParquetType( int pdiType ) {

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/parquet/input/ParquetInputField.java
  class ParquetInputField (line 21) | public class ParquetInputField extends BaseFormatInputField implements I...
    method setParquetType (line 22) | @Override
    method setParquetType (line 27) | @Injection( name = "PARQUET_TYPE", group = "FIELDS" )
    method getParquetType (line 38) | @Override
    method getTypeDesc (line 43) | public String getTypeDesc() {

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/parquet/input/ParquetInputMetaBase.java
  class ParquetInputMetaBase (line 53) | @SuppressWarnings( "deprecation" )
    method ParquetInputMetaBase (line 61) | public ParquetInputMetaBase() {
    method isIgnoreEmptyFolder (line 67) | public boolean isIgnoreEmptyFolder() {
    method setIgnoreEmptyFolder (line 71) | public void setIgnoreEmptyFolder( boolean ignoreEmptyFolder ) {
    method getFilename (line 75) | public String getFilename() {
    method getFileNames (line 83) | public String[] getFileNames() {
    method setFilename (line 91) | public void setFilename( String filename ) {
    method setFilenames (line 95) | public void setFilenames( String[] filenames ) {
    method getInputFields (line 99) | public ParquetInputField[] getInputFields() {
    method setInputFields (line 103) | public void setInputFields( ParquetInputField[] inputFields ) {
    method setInputFields (line 107) | public void setInputFields( List<ParquetInputField> inputFields ) {
    method getXML (line 112) | @Override
    method saveRep (line 163) | @Override
    method loadXML (line 201) | @Override
    method readRep (line 251) | @Override
    method allocateFiles (line 299) | public void allocateFiles( int nrFiles ) {
    method getEncoding (line 310) | @Override
    method setDefault (line 315) | @Override
    method resolve (line 321) | @Override
    method getFields (line 339) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/parquet/output/ParquetOutputField.java
  class ParquetOutputField (line 22) | public class ParquetOutputField extends BaseFormatOutputField implements...
    method getParquetType (line 24) | @Override
    method setFormatType (line 34) | public void setFormatType( ParquetSpec.DataType formatType ) {
    method setFormatType (line 38) | @Injection( name = "FIELD_PARQUET_TYPE", group = "FIELDS" )
    method setPentahoType (line 52) | @Injection( name = "FIELD_TYPE", group = "FIELDS" )
    method isDecimalType (line 63) | public boolean isDecimalType() {
    method setPrecision (line 68) | @Override
    method setScale (line 80) | @Override

FILE: kettle-plugins/formats-meta/src/main/java/org/pentaho/big/data/kettle/plugins/formats/parquet/output/ParquetOutputMetaBase.java
  class ParquetOutputMetaBase (line 54) | public abstract class ParquetOutputMetaBase extends BaseStepMeta impleme...
    method setDefault (line 94) | @Override
    method getFilename (line 101) | public String getFilename() {
    method setFilename (line 105) | public void setFilename( String filename ) {
    method isEnableDictionary (line 109) | public boolean isEnableDictionary() {
    method setEnableDictionary (line 113) | public void setEnableDictionary( boolean enableDictionary ) {
    method isOverrideOutput (line 117) | public boolean isOverrideOutput() {
    method setOverrideOutput (line 121) | public void setOverrideOutput( boolean overrideOutput ) {
    method isDateInFilename (line 125) | public boolean isDateInFilename() {
    method setDateInFilename (line 129) | public void setDateInFilename( boolean dateInFilename ) {
    method isTimeInFilename (line 133) | public boolean isTimeInFilename() {
    method setTimeInFilename (line 137) | public void setTimeInFilename( boolean timeInFilename ) {
    method getDateTimeFormat (line 141) | public String getDateTimeFormat() {
    method setDateTimeFormat (line 145) | public void setDateTimeFormat( String dateTimeFormat ) {
    method getExtension (line 149) | public String getExtension() {
    method setExtension (line 153) | public void setExtension( String extension ) {
    method getOutputFields (line 157) | public List<ParquetOutputField> getOutputFields() {
    method setOutputFields (line 161) | public void setOutputFields( List<ParquetOutputField> outputFields ) {
    method loadXML (line 165) | @Override
    method readData (line 170) | private void readData( Node stepnode, IMetaStore metastore ) throws Ke...
    method getXML (line 207) | @Override
    method getParquetTypeId (line 249) | private int getParquetTypeId( String savedType ) {
    method readRep (line 265) | @Override
    method saveRep (line 304) | @Override
    method resolve (line 335) | @Override
    method constructOutputFilename (line 350) | public String constructOutputFilename() {
    method getRowGroupSize (line 369) | public int getRowGroupSize( VariableSpace vspace ) {
    method parseReplace (line 373) | protected <T> T parseReplace( String value, VariableSpace vspace, Func...
    method getRowGroupSize (line 385) | public String getRowGroupSize() {
    method setRowGroupSize (line 389) | public void setRowGroupSize( String value ) {
    method getCompressionType (line 393) | public String getCompressionType() {
    method setCompressionType (line 397) | public void setCompressionType( String value ) {
    method getCompressionType (line 402) | public CompressionCodecName getCompressionType(VariableSpace vspace ) {
    method getParquetVersion (line 406) | public String getParquetVersion() {
    method setParquetVersion (line 410) | public void setParquetVersion( String value ) {
    method getParquetVersion (line 415) | public ParquetVersion getParquetVersion( VariableSpace vspace ) {
    method getDataPageSize (line 419) | public int getDataPageSize( VariableSpace vspace ) {
    method getDataPageSize (line 423) | public String getDataPageSize() {
    method setDataPageSize (line 427) | public void setDataPageSize( String dataPageSize ) {
    method getDictPageSize (line 431) | public int getDictPageSize( VariableSpace vspace ) {
    method getDictPageSize (line 435) | public String getDictPageSize() {
    method setDictPageSize (line 439) | public void setDictPageSize( String dictPageSize ) {
    method getCompressionTypes (line 443) | public String[] getCompressionTypes() {
    method getVersionTypes (line 447) | public String[] getVersionTypes() {
    method findCompressionType (line 451) | private  CompressionCodecName findCompressionType( String str ) {
    method findParquetVersion (line 459) | private  ParquetVersion findParquetVersion( String str ) {
    type ParquetVersion (line 467) | public static enum ParquetVersion {
      method ParquetVersion (line 472) | private ParquetVersion( String name ) {
      method toString (line 476) | @Override
    method getStrings (line 482) | protected static <T> String[] getStrings( T[] objects ) {
    method parseFromToString (line 491) | protected static <T> T parseFromToString( String str, T[] values, T de...
    method getMsg (line 502) | private static String getMsg( String key ) {

FILE: kettle-plugins/formats-meta/src/test/java/org/pentaho/big/data/kettle/plugins/formats/orc/OrcInputFieldTest.java
  class OrcInputFieldTest (line 21) | public class OrcInputFieldTest {
    method testSetOrcTypeByEnumToString (line 23) | @Test
    method testSetOrcTypeByName (line 32) | @Test
    method testSetOrcTypeCaseInsensitive (line 41) | @Test
    method testSetOrcTypeAllDataTypes (line 57) | @Test
    method testSetOrcTypeInvalidValue (line 73) | @Test
    method testSetOrcTypeEmptyString (line 83) | @Test
    method testSetOrcTypeNull (line 93) | @Test
    method testSetOrcTypeWithWhitespace (line 107) | @Test
    method testSetOrcTypeTimestamp (line 117) | @Test
    method testSetOrcTypeDate (line 125) | @Test
    method testSetOrcTypeDecimal (line 133) | @Test
    method testSetOrcTypeBoolean (line 141) | @Test
    method testSetOrcTypeOverwrite (line 149) | @Test
    method testSetOrcTypeIntegerBothFormats (line 164) | @Test

FILE: kettle-plugins/formats-meta/src/test/java/org/pentaho/big/data/kettle/plugins/formats/orc/input/OrcInputMetaBaseTest.java
  class OrcInputMetaBaseTest (line 32) | public class OrcInputMetaBaseTest {
    method setUp (line 39) | @Before
    method testGetXmlWorksIfWeUpdateOnlyPartOfInputFilesInformation (line 68) | @Test

FILE: kettle-plugins/formats-meta/src/test/java/org/pentaho/big/data/kettle/plugins/formats/orc/output/OrcOutputFieldTest.java
  class OrcOutputFieldTest (line 20) | public class OrcOutputFieldTest {
    method setFormatTypeTest (line 22) | @Test

FILE: kettle-plugins/formats-meta/src/test/java/org/pentaho/big/data/kettle/plugins/formats/orc/output/OrcOutputMetabaseTest.java
  class OrcOutputMetabaseTest (line 32) | @RunWith( MockitoJUnitRunner.class )
    method setUp (line 36) | @Before
    method setCompressionType (line 52) | @Test

FILE: kettle-plugins/formats-meta/src/test/java/org/pentaho/big/data/kettle/plugins/formats/parquet/input/ParquetInputMetaBaseTest.java
  class ParquetInputMetaBaseTest (line 32) | public class ParquetInputMetaBaseTest {
    method setUp (line 39) | @Before
    method testGetXmlWorksIfWeUpdateOnlyPartOfInputFilesInformation (line 68) | @Test

FILE: kettle-plugins/formats-meta/src/test/java/org/pentaho/big/data/kettle/plugins/formats/parquet/output/ParquetOutputMetaBaseTest.java
  class ParquetOutputMetaBaseTest (line 34) | @RunWith( MockitoJUnitRunner.class )
    method setUp (line 42) | @Before
    method getXMLShouldCallRegisterUrl (line 58) | @Test
    method setCompressionType (line 69) | @Test
    method setParquetVersion (line 121) | public void setParquetVersion() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/NamedClusterResolver.java
  class NamedClusterResolver (line 29) | public class NamedClusterResolver {
    method NamedClusterResolver (line 36) | private NamedClusterResolver() {
    method NamedClusterResolver (line 41) | private NamedClusterResolver( NamedClusterServiceLocator namedClusterS...
    method getInstance (line 47) | public static synchronized NamedClusterResolver getInstance() {
    method getMetastoreLocator (line 54) | protected synchronized MetastoreLocator getMetastoreLocator() {
    method resolveNamedCluster (line 68) | public NamedCluster resolveNamedCluster( String fileName ) {
    method resolveNamedCluster (line 72) | public NamedCluster resolveNamedCluster( String fileName, String embed...
    method fileUri (line 101) | private Optional<URI> fileUri( String fileName ) {
    method getNamedClusterServiceLocator (line 110) | public NamedClusterServiceLocator getNamedClusterServiceLocator() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/NullableValuesEnum.java
  type NullableValuesEnum (line 22) | public enum NullableValuesEnum {
    method NullableValuesEnum (line 28) | NullableValuesEnum( String value ) {
    method getValue (line 32) | public String getValue() {
    method getDefaultValue (line 36) | public static NullableValuesEnum getDefaultValue() {
    method getValuesArr (line 40) | public static String[] getValuesArr() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/BaseOrcStepDialog.java
  class BaseOrcStepDialog (line 54) | public abstract class BaseOrcStepDialog<T extends BaseStepMeta & StepMet...
    method BaseOrcStepDialog (line 80) | public BaseOrcStepDialog( Shell parent, T in, TransMeta transMeta, Str...
    method open (line 85) | @Override
    method createUI (line 121) | protected abstract void createUI();
    method createFooter (line 123) | protected Control createFooter( Composite shell ) {
    method cancel (line 147) | protected void cancel() {
    method ok (line 153) | protected void ok() {
    method getStepTitle (line 163) | protected abstract String getStepTitle();
    method getData (line 171) | protected abstract void getData( T meta );
    method getInfo (line 180) | protected abstract void getInfo( T meta, boolean preview );
    method getWidth (line 182) | protected abstract int getWidth();
    method getHeight (line 184) | protected abstract int getHeight();
    method getPreview (line 186) | protected abstract Listener getPreview();
    method createHeader (line 188) | protected Label createHeader() {
    method addIcon (line 225) | protected void addIcon() {
    method addFileWidgets (line 237) | protected Control addFileWidgets( Control prev ) {
    method selectionOperation (line 264) | protected abstract SelectionOperation selectionOperation();
    method getBaseMsg (line 266) | protected String getBaseMsg( String key ) {
    method getMsg (line 270) | protected String getMsg( String key ) {
    class FD (line 277) | protected class FD {
      method FD (line 281) | public FD( Control control ) {
      method width (line 287) | public FD width( int width ) {
      method height (line 292) | public FD height( int height ) {
      method top (line 297) | public FD top( int numerator, int offset ) {
      method top (line 302) | public FD top( Control control, int offset ) {
      method bottom (line 307) | public FD bottom( int numerator, int offset ) {
      method bottom (line 312) | public FD bottom( Control control, int offset ) {
      method left (line 317) | public FD left( int numerator, int offset ) {
      method left (line 322) | public FD left( int numerator ) {
      method left (line 326) | public FD left( Control control, int offset ) {
      method right (line 331) | public FD right( int numerator, int offset ) {
      method rright (line 336) | public FD rright() {
      method right (line 341) | public FD right( Control control, int offset ) {
      method apply (line 346) | public void apply() {
    method getMinHeight (line 351) | protected int getMinHeight( Composite comp, int minWidth ) {
    method setTruncatedColumn (line 356) | protected void setTruncatedColumn( Table table, int targetColumn ) {
    method addColumnTooltip (line 382) | protected void addColumnTooltip( Table table, int columnIndex ) {
    method shortenText (line 413) | protected String shortenText( GC gc, String text, final int targetWidt...
    method getControlOffset (line 430) | private int getControlOffset( Control control, int controlWidth ) {
    method getMarginWidths (line 435) | private int getMarginWidths( Control control ) {
    method setIntegerOnly (line 447) | protected void setIntegerOnly( TextVar textVar ) {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/input/OrcInput.java
  class OrcInput (line 41) | public class OrcInput extends BaseFileInputStep<OrcInputMeta, OrcInputDa...
    method OrcInput (line 44) | public OrcInput( StepMeta stepMeta, StepDataInterface stepDataInterfac...
    method processRow (line 49) | @Override
    method getNamedCluster (line 87) | private NamedCluster getNamedCluster() {
    method getFormatService (line 91) | private FormatService getFormatService() throws KettleException {
    method init (line 103) | @Override
    method createReader (line 108) | @Override
    method retrieveSchema (line 114) | public static List<IOrcInputField> retrieveSchema( Bowl bowl, NamedClu...
    method createSchemaFromMeta (line 123) | public static List<IOrcInputField> createSchemaFromMeta( OrcInputMetaB...
    method getKettleVFSFileName (line 127) | public static String getKettleVFSFileName( Bowl bowl, String path ) th...

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/input/OrcInputData.java
  class OrcInputData (line 24) | public class OrcInputData extends BaseFileInputStepData {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/input/OrcInputDialog.java
  class OrcInputDialog (line 51) | @PluginDialog( id = "OrcInput", image = "OI.svg", pluginType = PluginDia...
    method OrcInputDialog (line 74) | public OrcInputDialog( Shell parent, Object in, TransMeta transMeta, S...
    method createUI (line 78) | @Override
    method populateFieldsTable (line 150) | protected void populateFieldsTable() {
    method getProcessedFileName (line 174) | private String getProcessedFileName() {
    method getInputFieldsFromOrcFile (line 178) | private List<? extends IOrcInputField> getInputFieldsFromOrcFile( bool...
    method setField (line 195) | private void setField( TableItem item, String fieldValue, int fieldInd...
    method getData (line 204) | @Override
    method getTypeDesc (line 241) | public String getTypeDesc( int type ) {
    method getSourceTypeDesc (line 245) | public String getSourceTypeDesc( int type ) {
    method getInfo (line 252) | @Override
    method extractOrcType (line 293) | private OrcSpec.DataType extractOrcType( String orcNameTypeFromUI ) {
    method extractFieldName (line 313) | private String extractFieldName( String orcNameTypeFromUI ) {
    method concatenateOrcNameAndType (line 324) | private String concatenateOrcNameAndType( IOrcInputField field ) {
    method doPreview (line 335) | private void doPreview() {
    method getWidth (line 373) | @Override
    method getHeight (line 378) | @Override
    method getStepTitle (line 383) | @Override
    method getPreview (line 388) | @Override
    method selectionOperation (line 393) | @Override protected SelectionOperation selectionOperation() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/input/OrcInputMeta.java
  class OrcInputMeta (line 26) | @Step( id = "OrcInput", image = "OI.svg", name = "OrcInput.Name", descri...
    method OrcInputMeta (line 46) | public OrcInputMeta() {
    method OrcInputMeta (line 50) | public OrcInputMeta( NamedClusterResolver namedClusterResolver ) {
    method getStep (line 54) | @Override
    method getStepData (line 60) | @Override
    method getNamedClusterResolver (line 65) | public NamedClusterResolver getNamedClusterResolver() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/output/OrcOutput.java
  class OrcOutput (line 39) | public class OrcOutput extends BaseStep implements StepInterface {
    method OrcOutput (line 47) | public OrcOutput( StepMeta stepMeta, StepDataInterface stepDataInterfa...
    method processRow (line 52) | @Override
    method init (line 107) | public void init() throws Exception {
    method getNamedCluster (line 144) | private NamedCluster getNamedCluster() {
    method closeWriter (line 148) | public void closeWriter() throws KettleException {
    method init (line 157) | public boolean init( StepMetaInterface smi, StepDataInterface sdi ) {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/output/OrcOutputData.java
  class OrcOutputData (line 20) | public class OrcOutputData extends BaseStepData implements StepDataInter...

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/output/OrcOutputDialog.java
  class OrcOutputDialog (line 65) | @PluginDialog( id = "OrcOutput", image = "OO.svg", pluginType = PluginDi...
    method OrcOutputDialog (line 88) | public OrcOutputDialog( Shell parent, Object orcOutputMeta, TransMeta ...
    method OrcOutputDialog (line 92) | public OrcOutputDialog( Shell parent, OrcOutputMeta orcOutputMeta, Tra...
    method createUI (line 97) | @Override
    method getStepTitle (line 141) | @Override
    method addFieldsTab (line 146) | private void addFieldsTab( CTabFolder wTabFolder ) {
    method addOptionsTab (line 209) | private void addOptionsTab( CTabFolder wTabFolder ) {
    method createComboVar (line 381) | protected ComboVar createComboVar( Composite container, String[] optio...
    method getComboVarValue (line 388) | protected String getComboVarValue( ComboVar combo ) {
    method createLabel (line 394) | private Label createLabel( Composite container, String labelRef ) {
    method ok (line 401) | @Override
    method getData (line 425) | protected void getData( OrcOutputMeta meta ) {
    method getInfo (line 471) | @Override
    method saveOutputFields (line 494) | private void saveOutputFields( TableView wFields, OrcOutputMeta meta ) {
    method validateOutputFields (line 526) | private List<String> validateOutputFields( TableView wFields ) {
    method getNullableValue (line 558) | private String getNullableValue( String nullString ) {
    method populateFieldsUI (line 562) | private void populateFieldsUI( OrcOutputMeta meta, TableView wOutputFi...
    method coalesce (line 582) | private String coalesce( String value ) {
    method populateFieldsUI (line 586) | private void populateFieldsUI( List<OrcOutputField> fields, TableView ...
    method getFields (line 600) | protected void getFields() {
    method getFieldsChoiceDialog (line 614) | private MessageDialog getFieldsChoiceDialog( Shell shell, int existing...
    method getFieldsFromPreviousStep (line 629) | private void getFieldsFromPreviousStep( RowMetaInterface row, TableVie...
    method getWidth (line 725) | @Override
    method getHeight (line 730) | @Override
    method getPreview (line 735) | @Override
    method selectionOperation (line 740) | @Override protected SelectionOperation selectionOperation() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/output/OrcOutputMeta.java
  class OrcOutputMeta (line 26) | @Step( id = "OrcOutput", image = "OO.svg", name = "OrcOutput.Name", desc...
    method OrcOutputMeta (line 34) | public OrcOutputMeta() {
    method OrcOutputMeta (line 37) | public OrcOutputMeta( NamedClusterResolver namedClusterResolver ) {
    method getStep (line 41) | @Override
    method getStepData (line 47) | @Override
    method getNamedClusterResolver (line 52) | public NamedClusterResolver getNamedClusterResolver() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/output/PvfsFileAliaser.java
  class PvfsFileAliaser (line 36) | public class PvfsFileAliaser {
    method PvfsFileAliaser (line 51) | public PvfsFileAliaser( Bowl bowl, String finalFilePath, VariableSpace...
    method generateAlias (line 61) | public String generateAlias() throws KettleFileException, FileSystemEx...
    method copyFileToFinalDestination (line 83) | public void copyFileToFinalDestination() throws KettleFileException, I...
    method deleteTempFileAndFolder (line 94) | public void deleteTempFileAndFolder() {
    method aliasingIsActive (line 105) | private boolean aliasingIsActive() {
    method s3nSwitchedTos3a (line 109) | private boolean s3nSwitchedTos3a() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/BaseParquetStepDialog.java
  class BaseParquetStepDialog (line 54) | public abstract class BaseParquetStepDialog<T extends BaseStepMeta & Ste...
    method BaseParquetStepDialog (line 76) | public BaseParquetStepDialog( Shell parent, T in, TransMeta transMeta,...
    method shortenText (line 81) | public static String shortenText( GC gc, String text, final int target...
    method setIntegerOnly (line 98) | public static void setIntegerOnly( TextVar textVar ) {
    method open (line 106) | @Override
    method createUI (line 142) | protected abstract void createUI();
    method createFooter (line 144) | protected Control createFooter( Composite shell ) {
    method cancel (line 168) | protected void cancel() {
    method ok (line 174) | protected void ok() {
    method getStepTitle (line 184) | protected abstract String getStepTitle();
    method getData (line 191) | protected abstract void getData( T meta );
    method getInfo (line 200) | protected abstract void getInfo( T meta, boolean preview );
    method getWidth (line 202) | protected abstract int getWidth();
    method getHeight (line 204) | protected abstract int getHeight();
    method getPreview (line 206) | protected abstract Listener getPreview();
    method createHeader (line 208) | protected Label createHeader() {
    method addIcon (line 245) | protected void addIcon() {
    method addFileWidgets (line 257) | protected Control addFileWidgets( Control prev ) {
    method selectionOperation (line 285) | protected abstract SelectionOperation selectionOperation();
    method getBaseMsg (line 287) | protected String getBaseMsg( String key ) {
    method getMsg (line 291) | protected String getMsg( String key ) {
    method getMinHeight (line 295) | protected int getMinHeight( Composite comp, int minWidth ) {
    method setTruncatedColumn (line 300) | protected void setTruncatedColumn( Table table, int targetColumn ) {
    method addColumnTooltip (line 325) | protected void addColumnTooltip( Table table, int columnIndex ) {
    class FD (line 359) | protected class FD {
      method FD (line 363) | public FD( Control control ) {
      method getControlOffset (line 369) | private int getControlOffset( Control control, int controlWidth ) {
      method getMarginWidths (line 374) | private int getMarginWidths( Control control ) {
      method width (line 386) | public FD width( int width ) {
      method height (line 391) | public FD height( int height ) {
      method top (line 396) | public FD top( int numerator, int offset ) {
      method top (line 401) | public FD top( Control control, int offset ) {
      method bottom (line 406) | public FD bottom( int numerator, int offset ) {
      method bottom (line 411) | public FD bottom( Control control, int offset ) {
      method left (line 416) | public FD left( int numerator, int offset ) {
      method left (line 421) | public FD left( int numerator ) {
      method left (line 425) | public FD left( Control control, int offset ) {
      method right (line 430) | public FD right( int numerator, int offset ) {
      method rright (line 435) | public FD rright() {
      method right (line 440) | public FD right( Control control, int offset ) {
      method apply (line 445) | public void apply() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/ParquetInput.java
  class ParquetInput (line 46) | public class ParquetInput extends BaseFileInputStep<ParquetInputMeta, Pa...
    method ParquetInput (line 49) | public ParquetInput( StepMeta stepMeta, StepDataInterface stepDataInte...
    method retrieveSchema (line 54) | public static List<? extends IParquetInputField> retrieveSchema(
    method createSchemaFromMeta (line 66) | public static List<IParquetInputField> createSchemaFromMeta( ParquetIn...
    method processRow (line 74) | @Override public boolean processRow( StepMetaInterface smi, StepDataIn...
    method initSplits (line 112) | void initSplits() throws Exception {
    method getNamedCluster (line 172) | private NamedCluster getNamedCluster() {
    method openReader (line 176) | void openReader( ParquetInputData data ) throws Exception {
    method init (line 183) | @Override protected boolean init() {
    method createReader (line 187) | @Override protected IBaseFileInputReader createReader( ParquetInputMet...

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/ParquetInputData.java
  class ParquetInputData (line 26) | public class ParquetInputData extends BaseFileInputStepData {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/ParquetInputDialog.java
  class ParquetInputDialog (line 51) | @PluginDialog( id = "ParquetInput", image = "PI.svg", pluginType = Plugi...
    method ParquetInputDialog (line 74) | public ParquetInputDialog( Shell parent, Object in, TransMeta transMet...
    method createUI (line 78) | @Override
    method populateFieldsTable (line 160) | protected void populateFieldsTable() {
    method getProcessedFileName (line 185) | private String getProcessedFileName() {
    method getInputFieldsFromParquetFile (line 189) | private List<? extends IParquetInputField> getInputFieldsFromParquetFi...
    method setField (line 206) | private void setField( TableItem item, String fieldValue, int fieldInd...
    method getData (line 215) | @Override
    method getTypeDesc (line 253) | public String getTypeDesc( int type ) {
    method getSourceTypeDesc (line 257) | public String getSourceTypeDesc( int type ) {
    method getInfo (line 264) | @Override
    method extractParquetType (line 315) | private ParquetSpec.DataType extractParquetType( String parquetNameTyp...
    method extractFieldName (line 335) | private String extractFieldName( String parquetNameTypeFromUI ) {
    method concatenateParquetNameAndType (line 346) | private String concatenateParquetNameAndType( IParquetInputField field...
    method doPreview (line 357) | private void doPreview() {
    method getWidth (line 397) | @Override
    method getHeight (line 402) | @Override
    method getStepTitle (line 407) | @Override
    method getPreview (line 412) | @Override
    method selectionOperation (line 417) | @Override protected SelectionOperation selectionOperation() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/ParquetInputMeta.java
  class ParquetInputMeta (line 25) | @Step( id = "ParquetInput", image = "PI.svg", name = "ParquetInput.Name"...
    method ParquetInputMeta (line 45) | public ParquetInputMeta() {
    method ParquetInputMeta (line 48) | public ParquetInputMeta( NamedClusterResolver namedClusterResolver ) {
    method getStep (line 52) | @Override
    method getStepData (line 58) | @Override
    method getNamedClusterResolver (line 63) | public NamedClusterResolver getNamedClusterResolver() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/VFSScheme.java
  class VFSScheme (line 16) | public class VFSScheme {
    method VFSScheme (line 22) | public VFSScheme( String scheme, String schemeName ) {
    method getScheme (line 27) | public String getScheme() {
    method getSchemeName (line 31) | public String getSchemeName() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/output/ParquetOutput.java
  class ParquetOutput (line 36) | public class ParquetOutput extends BaseStep implements StepInterface {
    method ParquetOutput (line 44) | public ParquetOutput( StepMeta stepMeta, StepDataInterface stepDataInt...
    method processRow (line 49) | @Override
    method init (line 96) | public void init( RowMetaInterface rowMeta ) throws Exception {
    method getNamedCluster (line 142) | private NamedCluster getNamedCluster() {
    method closeWriter (line 146) | public void closeWriter() throws KettleException {
    method init (line 155) | @Override

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/output/ParquetOutputData.java
  class ParquetOutputData (line 20) | public class ParquetOutputData extends BaseStepData implements StepDataI...

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/output/ParquetOutputDialog.java
  class ParquetOutputDialog (line 66) | @PluginDialog( id = "ParquetOutput", image = "PO.svg", pluginType = Plug...
    method ParquetOutputDialog (line 106) | public ParquetOutputDialog( Shell parent, Object parquetOutputMeta, Tr...
    method ParquetOutputDialog (line 110) | public ParquetOutputDialog( Shell parent, ParquetOutputMeta parquetOut...
    method createComboVar (line 115) | public static ComboVar createComboVar( TransMeta transMeta, ModifyList...
    method createLabel (line 123) | public static Label createLabel( Composite container, String labelRef,...
    method getFieldsChoiceDialog (line 130) | public static MessageDialog getFieldsChoiceDialog( Shell shell, int ne...
    method createUI (line 174) | protected void createUI() {
    method createAfterFile (line 197) | protected Control createAfterFile( Composite afterFile ) {
    method getStepTitle (line 221) | @Override
    method addFieldsTab (line 226) | private void addFieldsTab( CTabFolder wTabFolder ) {
    method addOptionsTab (line 294) | private void addOptionsTab( CTabFolder wTabFolder ) {
    method actualizeDictionaryPageSizeControl (line 416) | void actualizeDictionaryPageSizeControl() {
    method actualizeDateTimeControls (line 422) | void actualizeDateTimeControls() {
    method getComboVarValue (line 432) | protected String getComboVarValue( ComboVar combo ) {
    method getData (line 441) | protected void getData( ParquetOutputMeta meta ) {
    method coalesce (line 471) | public static String coalesce( String value ) {
    method getInfo (line 476) | @Override
    method saveOutputFields (line 499) | private void saveOutputFields( TableView wFields, ParquetOutputMeta me...
    method populateFieldsUI (line 535) | private void populateFieldsUI( ParquetOutputMeta meta, TableView wOutp...
    method populateFieldsUI (line 559) | private void populateFieldsUI( List<ParquetOutputField> fields, TableV...
    method getFieldsFromPreviousStep (line 572) | private void getFieldsFromPreviousStep( RowMetaInterface row, TableVie...
    method getFields (line 668) | protected void getFields() {
    method getWidth (line 691) | @Override
    method getHeight (line 696) | @Override
    method getPreview (line 701) | @Override
    method selectionOperation (line 707) | @Override protected SelectionOperation selectionOperation() {

FILE: kettle-plugins/formats/core/src/main/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/output/ParquetOutputMeta.java
  class ParquetOutputMeta (line 26) | @Step( id = "ParquetOutput", image = "PO.svg", name = "ParquetOutput.Nam...
    method ParquetOutputMeta (line 37) | public ParquetOutputMeta() {
    method ParquetOutputMeta (line 41) | public ParquetOutputMeta( NamedClusterResolver namedClusterResolver ) {
    method getStep (line 45) | @Override
    method getStepData (line 51) | @Override
    method getNamedClusterResolver (line 56) | public NamedClusterResolver getNamedClusterResolver() {

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/NamedClusterResolverTest.java
  class NamedClusterResolverTest (line 50) | @RunWith(MockitoJUnitRunner.class)
    method setupClass (line 69) | @BeforeClass
    method tearDownClass (line 75) | @AfterClass
    method before (line 83) | @Before
    method createResolverWithMocks (line 129) | private NamedClusterResolver createResolverWithMocks() throws Exception {
    method after (line 137) | @After
    method resetSingleton (line 143) | private void resetSingleton() throws Exception {
    method windowsFilePathsAreHandled (line 150) | @Test
    method testNamedClusterByName (line 157) | @Test
    method testNamedClusterByHost (line 171) | @Test

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/input/OrcInputMetaInjectionTest.java
  class OrcInputMetaInjectionTest (line 27) | public class OrcInputMetaInjectionTest extends BaseMetadataInjectionTest...
    method setup (line 30) | @Before
    method test (line 38) | @Test

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/input/OrcInputTest.java
  class OrcInputTest (line 64) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 105) | @Before
    method returnNextInputRow (line 152) | private Object[] returnNextInputRow() {
    method testProcessRow (line 161) | @Test
    method testInit (line 186) | @Test
    method testProcessRowKettleFailure (line 191) | @Test
    method testProcessRowGeneralFailure (line 206) | @Test
    method setOrcRowMeta (line 221) | private RowMeta setOrcRowMeta() {
    method setInputRowMeta (line 232) | private RowMeta setInputRowMeta() {
    method setInputRows (line 241) | private void setInputRows() {
    method setOrcRows (line 249) | private void setOrcRows() {
    class OrcRecordIterator (line 257) | private class OrcRecordIterator implements Iterator<RowMetaAndData> {
      method OrcRecordIterator (line 261) | OrcRecordIterator() {
      method init (line 265) | private void init() {
      method hasNext (line 270) | @Override
      method next (line 281) | @Override

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/output/OrcOutputMetaInjectionTest.java
  class OrcOutputMetaInjectionTest (line 32) | public class OrcOutputMetaInjectionTest  extends BaseMetadataInjectionTe...
    method setup (line 35) | @Before
    method test (line 43) | @Test
    method checkOrcTypes (line 66) | protected void checkOrcTypes( String propertyName, IntGetter getter, C...

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/orc/output/OrcOutputTest.java
  class OrcOutputTest (line 69) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 110) | @Before
    method testProcessRow (line 160) | @Test
    method testProcessRowIllegalState (line 185) | @Test
    method testProcessRowKettleFailure (line 195) | @Test
    method testProcessRowGeneralFailure (line 209) | @Test
    method returnNextParquetRow (line 223) | private Object[] returnNextParquetRow() {
    method setOrcOutputRows (line 232) | private void setOrcOutputRows() {
    method setDataInputRowMeta (line 239) | private void setDataInputRowMeta() {
    method setDataInputRows (line 245) | private void setDataInputRows() {
    method testAliasFile (line 254) | @Test

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/output/PvfsFileAliaserTest.java
  class PvfsFileAliaserTest (line 35) | @RunWith( MockitoJUnitRunner.class )
    method setup (line 50) | @BeforeClass
    method setUp (line 56) | @Before
    method testGenerateWithActiveAlias (line 67) | @Test
    method testGenerateWithInactiveAlias (line 78) | @Test
    method testCopyFileToFinalDestinationWithoutGenerate (line 88) | @Test
    method testDeleteTempFileAndFolderWithoutGenerate (line 95) | @Test
    method assertTempFileExistsAndDelete (line 102) | private void assertTempFileExistsAndDelete() {
    method deleteTempFile (line 108) | private void deleteTempFile() {

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/ParquetInputMetaInjectionTest.java
  class ParquetInputMetaInjectionTest (line 27) | public class ParquetInputMetaInjectionTest extends BaseMetadataInjection...
    method setup (line 29) | @Before
    method test (line 35) | @Test
    method getParquetTypeCodes (line 77) | public static int[] getParquetTypeCodes( String[] parquetTypeNames ) {

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/input/ParquetInputTest.java
  class ParquetInputTest (line 65) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 108) | @Before
    method returnNextInputRow (line 155) | private Object[] returnNextInputRow() {
    method testProcessRow (line 164) | @Test
    method testInit (line 189) | @Test
    method testProcessNoSuchFile (line 194) | @Test
    method testProcessRowKettleFailure (line 207) | @Test
    method testProcessRowGeneralFailure (line 221) | @Test
    method setParquetRowMeta (line 235) | private RowMeta setParquetRowMeta() {
    method setInputRowMeta (line 246) | private RowMeta setInputRowMeta() {
    method setInputRows (line 255) | private void setInputRows() {
    method setParquetRows (line 263) | private void setParquetRows() {
    class ParquetRecordIterator (line 271) | private class ParquetRecordIterator implements Iterator<RowMetaAndData> {
      method ParquetRecordIterator (line 276) | ParquetRecordIterator() {
      method init (line 280) | private void init() {
      method hasNext (line 285) | @Override
      method next (line 296) | @Override

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/output/ParquetOutputMetaInjectionTest.java
  class ParquetOutputMetaInjectionTest (line 27) | public class ParquetOutputMetaInjectionTest extends BaseMetadataInjectio...
    method setup (line 29) | @Before
    method test (line 35) | @Test

FILE: kettle-plugins/formats/core/src/test/java/org/pentaho/big/data/kettle/plugins/formats/impl/parquet/output/ParquetOutputTest.java
  class ParquetOutputTest (line 73) | @RunWith(MockitoJUnitRunner.class)
    method setUp (line 117) | @Before
    method testProcessRow (line 169) | @Test
    method initShouldPassEmbeddedMetastoreKey (line 195) | @Test
    method testProcessRowIllegalState (line 207) | @Test
    method testProcessRowKettleFailure (line 219) | @Test
    method testProcessRowGeneralFailure (line 234) | @Test
    method returnNextParquetRow (line 249) | private Object[] returnNextParquetRow() {
    method setParquetOutputRows (line 258) | private void setParquetOutputRows() {
    method setDataInputRowMeta (line 264) | private void setDataInputRowMeta() {
    method setDataInputRows (line 270) | private void setDataInputRows() {
    method testAliasFile (line 279) | @Test

FILE: kettle-plugins/guiTestActionHandlers/src/main/java/org/pentaho/big/data/plugins/gui/test/actionHandlers/ShowHelpDialogActionHandler.java
  class ShowHelpDialogActionHandler (line 26) | public class ShowHelpDialogActionHandler implements RuntimeTestActionHan...
    method canHandle (line 28) | @Override public boolean canHandle( RuntimeTestAction runtimeTestActio...
    method handle (line 32) | @Override public void handle( RuntimeTestAction runtimeTestAction ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/HadoopClusterDelegate.java
  class HadoopClusterDelegate (line 32) | public class HadoopClusterDelegate {
    method HadoopClusterDelegate (line 43) | public HadoopClusterDelegate( NamedClusterService clusterService, Runt...
    method openDialog (line 48) | public void openDialog( String dialogState, Map<String, String> urlPar...

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/HadoopClusterDialog.java
  class HadoopClusterDialog (line 39) | public class HadoopClusterDialog extends ThinDialog {
    method HadoopClusterDialog (line 52) | HadoopClusterDialog( Shell shell, int width, int height ) {
    method open (line 56) | void open( String title, String thinAppState, Map<String, String> urlP...
    method getClientPath (line 120) | private String getClientPath() {
    method getOsgiServicePort (line 131) | private int getOsgiServicePort() {
    method getEndpointURL (line 140) | private String getEndpointURL( String path ) {
    method connectedToRepo (line 161) | private boolean connectedToRepo() {
    method getRepo (line 166) | private Repository getRepo() {
    method getKettleProperty (line 170) | private String getKettleProperty( String propertyName ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/NamedClusterDialog.java
  class NamedClusterDialog (line 73) | public class NamedClusterDialog extends Wizard {
    method NamedClusterDialog (line 94) | public NamedClusterDialog( NamedClusterService namedClusterService, IM...
    method isConnectedToRepo (line 113) | public boolean isConnectedToRepo() {
    method getShimIdentifier (line 122) | public String getShimIdentifier() {
    method createModel (line 126) | private ThinNameClusterModel createModel( ThinNameClusterModel model ) {
    method initialize (line 166) | public void initialize( ThinNameClusterModel model ) {
    method addPages (line 185) | public void addPages() {
    method editCluster (line 206) | public void editCluster() {
    method createNewCluster (line 220) | public void createNewCluster() {
    method performFinish (line 227) | public boolean performFinish() {
    method saveNewNamedCluster (line 252) | private void saveNewNamedCluster() {
    method saveEditedNamedCluster (line 264) | private void saveEditedNamedCluster() {
    method getTestResults (line 276) | private Object[] getTestResults() throws KettleException {
    method canFinish (line 291) | public boolean canFinish() {
    method getDialogState (line 318) | public String getDialogState() {
    method clusterNameExists (line 322) | public boolean clusterNameExists( String clusterName ) {
    method setDevMode (line 326) | public void setDevMode( boolean devMode ) {
    method isDevMode (line 330) | public boolean isDevMode() {
    method isEditMode (line 334) | public boolean isEditMode() {
    method main (line 338) | public static void main( String[] args ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/pages/ClusterSettingsPage.java
  class ClusterSettingsPage (line 58) | public class ClusterSettingsPage extends WizardPage {
    method ClusterSettingsPage (line 91) | public ClusterSettingsPage( VariableSpace variables, ThinNameClusterMo...
    method createControl (line 98) | public void createControl( Composite composite ) {
    method createDriverGroup (line 168) | private void createDriverGroup() {
    method getLoadedDriverVersion (line 216) | private String getLoadedDriverVersion() {
    method getLoadedDriverVendor (line 228) | private String getLoadedDriverVendor() {
    method createSiteXMLFilesGroup (line 240) | private void createSiteXMLFilesGroup() {
    method processTableSelection (line 289) | private void processTableSelection() {
    method removeSelectedSiteFiles (line 294) | private void removeSelectedSiteFiles() {
    method getSelectedSiteFiles (line 309) | private List<TableItem> getSelectedSiteFiles() {
    method createHdfsGroup (line 319) | private void createHdfsGroup() {
    method createJobTrackerGroup (line 380) | private void createJobTrackerGroup() {
    method createZooKeeperGroup (line 411) | private void createZooKeeperGroup() {
    method createOozieGroup (line 441) | private void createOozieGroup() {
    method createKafkaGroup (line 461) | private void createKafkaGroup() {
    method createFiller (line 481) | private void createFiller() {
    method browse (line 487) | private void browse() {
    method validate (line 500) | private void validate() {
    method getNextPage (line 525) | public IWizardPage getNextPage() {
    method isConnectedToRepo (line 549) | private boolean isConnectedToRepo() {
    method initialize (line 558) | public void initialize( ThinNameClusterModel model ) {
    method disposeComponents (line 598) | private void disposeComponents() {
    method getTableItems (line 626) | private List<SimpleImmutableEntry<String, String>> getTableItems( Tabl...
    method getPreviousPage (line 636) | public IWizardPage getPreviousPage() {
    method performHelp (line 640) | public void performHelp() {
    method setTableItems (line 644) | private void setTableItems( List<SimpleImmutableEntry<String, String>>...
    method addSiteFileToTable (line 651) | private void addSiteFileToTable( String fileName ) {
    method isDevMode (line 656) | private boolean isDevMode() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/pages/KerberosSettingsPage.java
  class KerberosSettingsPage (line 46) | public class KerberosSettingsPage extends WizardPage {
    method KerberosSettingsPage (line 70) | public KerberosSettingsPage( VariableSpace variables, ThinNameClusterM...
    method createControl (line 77) | public void createControl( Composite composite ) {
    method displaySecurityMethodFields (line 126) | private void displaySecurityMethodFields() {
    method disposeComponents (line 138) | private void disposeComponents() {
    method createPasswordAuthenticationFields (line 150) | private void createPasswordAuthenticationFields() {
    method createKeytabAuthenticationFields (line 209) | private void createKeytabAuthenticationFields() {
    method validate (line 301) | private void validate() {
    method isDevMode (line 358) | private boolean isDevMode() {
    method isConnectedToRepo (line 364) | private boolean isConnectedToRepo() {
    method initialize (line 373) | public void initialize( ThinNameClusterModel model ) {
    method updatePasswordFields (line 397) | private void updatePasswordFields( ThinNameClusterModel model ) {
    method updateKeytabFields (line 406) | private void updateKeytabFields( ThinNameClusterModel model ) {
    method authenticationBrowse (line 423) | private void authenticationBrowse() {
    method impersonationBrowse (line 436) | private void impersonationBrowse() {
    method clearImpersonation (line 449) | private void clearImpersonation() {
    method getNextPage (line 455) | public IWizardPage getNextPage() {
    method performHelp (line 459) | public void performHelp() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/pages/KnoxSettingsPage.java
  class KnoxSettingsPage (line 38) | public class KnoxSettingsPage extends WizardPage {
    method KnoxSettingsPage (line 53) | public KnoxSettingsPage( VariableSpace variables, ThinNameClusterModel...
    method createControl (line 59) | public void createControl( Composite composite ) {
    method isDevMode (line 137) | private boolean isDevMode() {
    method isConnectedToRepo (line 143) | private boolean isConnectedToRepo() {
    method initialize (line 152) | public void initialize( ThinNameClusterModel model ) {
    method validate (line 170) | private void validate() {
    method getNextPage (line 179) | public IWizardPage getNextPage() {
    method performHelp (line 183) | public void performHelp() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/pages/ReportPage.java
  class ReportPage (line 38) | public class ReportPage extends WizardPage {
    method ReportPage (line 54) | public ReportPage( ThinNameClusterModel model ) {
    method createControl (line 59) | public void createControl( Composite composite ) {
    method setTestResult (line 148) | public void setTestResult( String status ) {
    method setTestResults (line 172) | public void setTestResults( Object[] categories ) {
    method isDevMode (line 186) | private boolean isDevMode() {
    method isConnectedToRepo (line 192) | private boolean isConnectedToRepo() {
    method initialize (line 201) | public void initialize( ThinNameClusterModel model ) {
    method viewTestResults (line 215) | private void viewTestResults() {
    method editCluster (line 221) | private void editCluster() {
    method createNewCluster (line 226) | private void createNewCluster() {
    method getPreviousPage (line 231) | public IWizardPage getPreviousPage() {
    method getNextPage (line 235) | public IWizardPage getNextPage() {
    method performHelp (line 239) | public void performHelp() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/pages/SecuritySettingsPage.java
  class SecuritySettingsPage (line 32) | public class SecuritySettingsPage extends WizardPage {
    type NamedClusterSecurityType (line 45) | public enum NamedClusterSecurityType {NONE, KERBEROS, KNOX}
    method SecuritySettingsPage (line 49) | public SecuritySettingsPage( ThinNameClusterModel model ) {
    method createControl (line 55) | public void createControl( Composite composite ) {
    method setSecurityType (line 106) | private void setSecurityType() {
    method isDevMode (line 125) | private boolean isDevMode() {
    method isConnectedToRepo (line 131) | private boolean isConnectedToRepo() {
    method initialize (line 140) | public void initialize( ThinNameClusterModel model ) {
    method getSecurityType (line 174) | public NamedClusterSecurityType getSecurityType() {
    method getNextPage (line 178) | public IWizardPage getNextPage() {
    method performHelp (line 189) | public void performHelp() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/pages/TestResultsPage.java
  class TestResultsPage (line 42) | public class TestResultsPage extends WizardPage {
    method TestResultsPage (line 58) | public TestResultsPage( VariableSpace variables, ThinNameClusterModel ...
    method createControl (line 63) | public void createControl( Composite composite ) {
    method setTestResultsOrder (line 102) | private List<TestCategory> setTestResultsOrder( Object[] categories ) {
    method getTestCategory (line 127) | private TestCategory getTestCategory( String categoryName, Object[] ca...
    method setTestResults (line 137) | public void setTestResults( Object[] categories ) {
    method initialize (line 201) | public void initialize( ThinNameClusterModel model ) {
    method performHelp (line 205) | public void performHelp() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/util/BadSiteFilesException.java
  class BadSiteFilesException (line 16) | public class BadSiteFilesException extends Exception {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/util/CustomWizardDialog.java
  class CustomWizardDialog (line 26) | public class CustomWizardDialog extends WizardDialog {
    method CustomWizardDialog (line 28) | public CustomWizardDialog( Shell parentShell, IWizard newWizard ) {
    method style (line 41) | public void style() {
    method enableCancelButton (line 47) | public void enableCancelButton( boolean isEnabled ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/dialog/wizard/util/NamedClusterHelper.java
  class NamedClusterHelper (line 48) | public abstract class NamedClusterHelper {
    class DriverInfo (line 60) | public static class DriverInfo {
      method DriverInfo (line 65) | public DriverInfo( String id, String vendor, String version ) {
      method getId (line 71) | public String getId() {
      method getVendor (line 75) | public String getVendor() {
      method getVersion (line 79) | public String getVersion() {
    type FileType (line 96) | public enum FileType {
      method FileType (line 102) | FileType( String val ) {
      method getValue (line 106) | String getValue() {
    method createLabel (line 111) | public static Label createLabel( Composite parent, String text, GridDa...
    method createLabelWithStyle (line 119) | public static Label createLabelWithStyle( Composite parent, String tex...
    method createText (line 127) | public static TextVar createText( Composite parent, String text, GridD...
    method createText (line 132) | public static TextVar createText( Composite parent, String text, GridD...
    method processSiteFiles (line 146) | public static Map<String, CachedFileItemStream> processSiteFiles( Thin...
    method copyAndUnzip (line 188) | public static List<CachedFileItemStream> copyAndUnzip( InputStream fil...
    method isValidUpload (line 219) | public static boolean isValidUpload( String fileName, FileType fileTyp...
    method isConnectedToRepo (line 226) | public static boolean isConnectedToRepo() {
    method getEndpointURL (line 236) | public static String getEndpointURL( String endpoint ) {
    method getSecurityCredentials (line 243) | public static Map<String, String> getSecurityCredentials() {
    method encodePassword (line 253) | public static String encodePassword( String password ) {
    method decodePassword (line 260) | public static String decodePassword( String password ) {
    method getVendorForDriver (line 277) | public static String getVendorForDriver( String driverId ) {
    method getVersionForDriver (line 287) | public static String getVersionForDriver( String driverId ) {
    method getDriverInfo (line 297) | public static DriverInfo getDriverInfo( String driverId ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/endpoints/CachedFileItemStream.java
  class CachedFileItemStream (line 24) | public class CachedFileItemStream {
    method CachedFileItemStream (line 31) | public CachedFileItemStream( FileItemInput fileItemStream ) throws IOE...
    method CachedFileItemStream (line 35) | public CachedFileItemStream( InputStream inputStream, String name, Str...
    method getCachedOutputStream (line 41) | public ByteArrayOutputStream getCachedOutputStream() {
    method getCachedInputStream (line 45) | public ByteArrayInputStream getCachedInputStream() {
    method getName (line 49) | public String getName() {
    method getFieldName (line 53) | public String getFieldName() {
    method getLastModified (line 57) | public long getLastModified() {
    method setLastModified (line 61) | public void setLastModified( long lastModified ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/endpoints/Category.java
  type Category (line 18) | public interface Category {
    method getTests (line 20) | public List<Test> getTests();
    method getCategoryName (line 22) | public String getCategoryName();
    method setCategoryName (line 24) | public void setCategoryName( String categoryName );
    method setTests (line 26) | public void setTests( List<Test> tests );
    method getCategoryStatus (line 28) | public String getCategoryStatus();
    method setCategoryStatus (line 30) | public void setCategoryStatus( String categoryStatus );
    method isCategoryActive (line 32) | public boolean isCategoryActive();
    method setCategoryActive (line 34) | public void setCategoryActive( boolean categoryActive );
    method addTest (line 36) | public void addTest( Test test );

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/endpoints/HadoopClusterManager.java
  class HadoopClusterManager (line 116) | public class HadoopClusterManager implements RuntimeTestProgressCallback {
    type KERBEROS_SUBTYPE (line 138) | private enum KERBEROS_SUBTYPE {
      method KERBEROS_SUBTYPE (line 144) | KERBEROS_SUBTYPE( String val ) {
      method getValue (line 148) | public String getValue() {
    type SECURITY_TYPE (line 153) | private enum SECURITY_TYPE {
      method SECURITY_TYPE (line 160) | SECURITY_TYPE( String val ) {
      method getValue (line 164) | public String getValue() {
    type IMPERSONATION_TYPE (line 169) | private enum IMPERSONATION_TYPE {
      method IMPERSONATION_TYPE (line 175) | IMPERSONATION_TYPE( String val ) {
      method getValue (line 179) | public String getValue() {
    method HadoopClusterManager (line 201) | public HadoopClusterManager( Spoon spoon, NamedClusterService namedClu...
    method HadoopClusterManager (line 210) | public HadoopClusterManager( NamedClusterService namedClusterService, ...
    method importNamedCluster (line 215) | public JSONObject importNamedCluster( ThinNameClusterModel model,
    method deleteNamedClusterSchemaOnly (line 256) | private void deleteNamedClusterSchemaOnly( ThinNameClusterModel model ...
    method convertToNamedCluster (line 265) | private NamedCluster convertToNamedCluster( ThinNameClusterModel model...
    method deleteConfigFolder (line 289) | public boolean deleteConfigFolder( String configFolderName ) throws IO...
    method createNamedCluster (line 303) | public JSONObject createNamedCluster( ThinNameClusterModel model,
    method createNamedCluster (line 308) | @VisibleForTesting
    method editNamedCluster (line 328) | public JSONObject editNamedCluster( ThinNameClusterModel model, boolea...
    method getSiteFileInputStream (line 396) | public InputStream getSiteFileInputStream( String namedCluster, String...
    method getNamedCluster (line 401) | public ThinNameClusterModel getNamedCluster( String namedCluster ) {
    method configureNamedCluster (line 441) | private boolean configureNamedCluster( Map<String, CachedFileItemStrea...
    method resolveShimIdentifier (line 535) | private void resolveShimIdentifier( NamedCluster nc ) {
    method extractProperties (line 542) | private void extractProperties( Map<String, CachedFileItemStream> site...
    method installDriver (line 568) | public JSONObject installDriver( FileItemInput driver ) {
    method getIntersectionSiteFiles (line 593) | private List<NamedClusterSiteFile> getIntersectionSiteFiles( ThinNameC...
    method installSiteFiles (line 607) | private void installSiteFiles( Map<String, CachedFileItemStream> siteF...
    method addFileToConfigFolder (line 622) | private void addFileToConfigFolder( ByteArrayOutputStream outputStream...
    method addFileToNamedClusterSiteFiles (line 632) | private void addFileToNamedClusterSiteFiles( Map.Entry<String, CachedF...
    method isValidConfigurationFile (line 663) | public boolean isValidConfigurationFile( String fileName ) {
    method parseSiteFileDocument (line 669) | private Document parseSiteFileDocument( CachedFileItemStream file ) {
    method createConfigProperties (line 679) | private void createConfigProperties( NamedCluster namedCluster ) throw...
    method setupKerberosSecurity (line 695) | private void setupKerberosSecurity( ThinNameClusterModel model, Map<St...
    method resetKerberosSecurity (line 718) | private void resetKerberosSecurity( Path configPropertiesPath ) {
    method retrieveKerberosSecurity (line 734) | private void retrieveKerberosSecurity( ThinNameClusterModel model, Nam...
    method resolveKerberosSecurity (line 762) | private void resolveKerberosSecurity( ThinNameClusterModel model, Name...
    method setupKerberosPasswordSecurity (line 810) | private void setupKerberosPasswordSecurity( Path configPropertiesPath,...
    method extractFileNameFromFullPath (line 841) | private String extractFileNameFromFullPath( String fileName ) {
    method setupKeytabSecurity (line 853) | private void setupKeytabSecurity( ThinNameClusterModel model, Path con...
    method setupKnoxSecurity (line 943) | private void setupKnoxSecurity( NamedCluster nc, ThinNameClusterModel ...
    method extractHostAndPort (line 959) | private Map<String, String> extractHostAndPort( String urlPattern ) {
    method deleteNamedCluster (line 971) | public void deleteNamedCluster( IMetaStore metaStore, String namedClus...
    method getShimIdentifier (line 991) | public String getShimIdentifier() {
    method getNamedClusterByName (line 1002) | public NamedCluster getNamedClusterByName( String namedCluster) {
    method runTests (line 1006) | public Object runTests( RuntimeTester runtimeTester, String namedClust...
    method produceTestCategories (line 1028) | public Object[] produceTestCategories( RuntimeTestStatus runtimeTestSt...
    method configureHadoopFileSystemTestCategory (line 1079) | private void configureHadoopFileSystemTestCategory( Category category,...
    method configureTestCategories (line 1090) | private void configureTestCategories( Category category, boolean isAct...
    method getTestStatus (line 1097) | private String getTestStatus( RuntimeTestResultEntry summary ) {
    method onProgress (line 1121) | public void onProgress( final RuntimeTestStatus clusterTestStatus ) {
    method refreshTree (line 1130) | @VisibleForTesting
    method getNamedClusterConfigsRootDir (line 1137) | @VisibleForTesting
    method doGet (line 1143) | public static String doGet( String endpointURL ) {
    method doMultipartHttpPost (line 1172) | private boolean doMultipartHttpPost( String endpoint, ThinNameClusterM...
    method createHttpClientAcceptingTlsIfNeeded (line 1240) | private static CloseableHttpClient createHttpClientAcceptingTlsIfNeede...
    method processDriverFile (line 1272) | public boolean processDriverFile( String driverFile, HadoopClusterMana...
    method saveNewNamedCluster (line 1292) | public void saveNewNamedCluster( ThinNameClusterModel thinNameClusterM...
    method saveEditedNamedCluster (line 1311) | public void saveEditedNamedCluster( ThinNameClusterModel thinNameClust...

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/endpoints/Test.java
  class Test (line 16) | public class Test {
    method Test (line 22) | public Test() {
    method Test (line 25) | public Test( String name ) {
    method getTestName (line 29) | public String getTestName() {
    method setTestName (line 33) | public void setTestName( String testName ) {
    method getTestStatus (line 37) | public String getTestStatus() {
    method setTestStatus (line 41) | public void setTestStatus( String testStatus ) {
    method isTestActive (line 45) | public boolean isTestActive() {
    method setTestActive (line 49) | public void setTestActive( boolean testActive ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/endpoints/TestCategory.java
  class TestCategory (line 19) | public class TestCategory implements Category {
    method TestCategory (line 26) | public TestCategory() {
    method TestCategory (line 29) | public TestCategory( String name ) {
    method getTests (line 33) | public List<Test> getTests() {
    method getCategoryName (line 37) | public String getCategoryName() {
    method setCategoryName (line 41) | public void setCategoryName( String categoryName ) {
    method setTests (line 45) | public void setTests( List<Test> tests ) {
    method getCategoryStatus (line 49) | public String getCategoryStatus() {
    method setCategoryStatus (line 53) | public void setCategoryStatus( String categoryStatus ) {
    method isCategoryActive (line 57) | public boolean isCategoryActive() {
    method setCategoryActive (line 61) | public void setCategoryActive( boolean categoryActive ) {
    method addTest (line 65) | public void addTest( Test test ) {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/lifecycle/HadoopClusterLifecycleListener.java
  class HadoopClusterLifecycleListener (line 25) | @LifecyclePlugin( id = "HadoopClusterLifecycleListener" )
    method onStart (line 29) | @Override
    method onExit (line 37) | @Override

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/model/ThinNameClusterModel.java
  class ThinNameClusterModel (line 28) | public class ThinNameClusterModel {
    method setShimIdentifier (line 60) | public void setShimIdentifier(String shimIdentifier ) {
    method getShimIdentifier (line 64) | public String getShimIdentifier() {
    method getHdfsHost (line 68) | public String getHdfsHost() {
    method setHdfsHost (line 72) | public void setHdfsHost( String hdfsHost ) {
    method getHdfsPort (line 76) | public String getHdfsPort() {
    method setHdfsPort (line 80) | public void setHdfsPort( String hdfsPort ) {
    method getHdfsUsername (line 84) | public String getHdfsUsername() {
    method setHdfsUsername (line 88) | public void setHdfsUsername( String hdfsUsername ) {
    method getHdfsPassword (line 92) | public String getHdfsPassword() {
    method setHdfsPassword (line 96) | public void setHdfsPassword( String hdfsPassword ) {
    method getJobTrackerHost (line 100) | public String getJobTrackerHost() {
    method setJobTrackerHost (line 104) | public void setJobTrackerHost( String jobTrackerHost ) {
    method getJobTrackerPort (line 108) | public String getJobTrackerPort() {
    method setJobTrackerPort (line 112) | public void setJobTrackerPort( String jobTrackerPort ) {
    method getZooKeeperHost (line 116) | public String getZooKeeperHost() {
    method setZooKeeperHost (line 120) | public void setZooKeeperHost( String zooKeeperHost ) {
    method getZooKeeperPort (line 124) | public String getZooKeeperPort() {
    method setZooKeeperPort (line 128) | public void setZooKeeperPort( String zooKeeperPort ) {
    method getKafkaBootstrapServers (line 132) | public String getKafkaBootstrapServers() {
    method setKafkaBootstrapServers (line 136) | public void setKafkaBootstrapServers( String kafkaBootstrapServers ) {
    method getName (line 140) | public String getName() {
    method setName (line 144) | public void setName( String name ) {
    method getOozieUrl (line 148) | public String getOozieUrl() {
    method setOozieUrl (line 152) | public void setOozieUrl( String oozieUrl ) {
    method getOldName (line 156) | public String getOldName() {
    method setOldName (line 160) | public void setOldName( String oldName ) {
    method getSecurityType (line 164) | public String getSecurityType() {
    method setSecurityType (line 168) | public void setSecurityType( String securityType ) {
    method getKerberosSubType (line 172) | public String getKerberosSubType() {
    method setKerberosSubType (line 176) | public void setKerberosSubType( String kerberosSubType ) {
    method getKerberosAuthenticationUsername (line 180) | public String getKerberosAuthenticationUsername() {
    method setKerberosAuthenticationUsername (line 184) | public void setKerberosAuthenticationUsername( String kerberosAuthenti...
    method getKerberosAuthenticationPassword (line 188) | public String getKerberosAuthenticationPassword() {
    method setKerberosAuthenticationPassword (line 192) | public void setKerberosAuthenticationPassword( String kerberosAuthenti...
    method getKerberosImpersonationUsername (line 196) | public String getKerberosImpersonationUsername() {
    method setKerberosImpersonationUsername (line 200) | public void setKerberosImpersonationUsername( String kerberosImpersona...
    method getKerberosImpersonationPassword (line 204) | public String getKerberosImpersonationPassword() {
    method setKerberosImpersonationPassword (line 208) | public void setKerberosImpersonationPassword( String kerberosImpersona...
    method getGatewayUrl (line 212) | public String getGatewayUrl() {
    method setGatewayUrl (line 216) | public void setGatewayUrl( String gatewayUrl ) {
    method getGatewayUsername (line 220) | public String getGatewayUsername() {
    method setGatewayUsername (line 224) | public void setGatewayUsername( String gatewayUsername ) {
    method getGatewayPassword (line 228) | public String getGatewayPassword() {
    method setGatewayPassword (line 232) | public void setGatewayPassword( String gatewayPassword ) {
    method getKeytabAuthFile (line 236) | public String getKeytabAuthFile() {
    method setKeytabAuthFile (line 240) | public void setKeytabAuthFile( String keytabAuthFile ) {
    method getKeytabImpFile (line 244) | public String getKeytabImpFile() {
    method setKeytabImpFile (line 248) | public void setKeytabImpFile( String keytabImpFile ) {
    method getSiteFiles (line 252) | public List<SimpleImmutableEntry<String, String>> getSiteFiles() {
    method setSiteFiles (line 256) | public void setSiteFiles( List<SimpleImmutableEntry<String, String>> s...
    method unmarshall (line 260) | public static ThinNameClusterModel unmarshall( Map<String, CachedFileI...

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/tree/HadoopClusterPopupMenuExtension.java
  class HadoopClusterPopupMenuExtension (line 51) | @ExtensionPoint( id = "HadoopClusterPopupMenuExtension", description = "...
    method HadoopClusterPopupMenuExtension (line 75) | public HadoopClusterPopupMenuExtension() {
    method HadoopClusterPopupMenuExtension (line 84) | public HadoopClusterPopupMenuExtension( HadoopClusterDelegate hadoopCl...
    method callExtensionPoint (line 91) | public void callExtensionPoint( LogChannelInterface log, Object extens...
    method createNewPopupMenu (line 96) | private void createNewPopupMenu( final Tree selectionTree ) {
    method createRootPopupMenu (line 121) | private Menu createRootPopupMenu( final Tree tree ) {
    method createMaintPopupMenu (line 135) | public Menu createMaintPopupMenu( final Tree selectionTree, NamedClust...
    method showAdminFunctions (line 165) | private boolean showAdminFunctions() {
    method createPopupMenuItem (line 173) | private void createPopupMenuItem( Menu menu, String menuItemLabel, Str...
    method createPopupMenuItem (line 177) | private void createPopupMenuItem( Menu menu, String menuItemLabel, Str...
    method createDeleteMenuItem (line 188) | private void createDeleteMenuItem( Menu menu, String menuItemLabel, St...

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/tree/ThinHadoopClusterEditExtension.java
  class ThinHadoopClusterEditExtension (line 33) | @ExtensionPoint( id = "ThinHadoopClusterEditExtension", description = "E...
    method ThinHadoopClusterEditExtension (line 40) | public ThinHadoopClusterEditExtension() {
    method ThinHadoopClusterEditExtension (line 44) | public ThinHadoopClusterEditExtension( HadoopClusterDelegate hadoopClu...
    method callExtensionPoint (line 48) | public void callExtensionPoint( LogChannelInterface log, Object extens...

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/tree/ThinHadoopClusterFolderProvider.java
  class ThinHadoopClusterFolderProvider (line 35) | public class ThinHadoopClusterFolderProvider extends TreeFolderProvider {
    method refresh (line 43) | @Override
    method getTitle (line 70) | @Override
    method getType (line 75) | @Override
    method getHadoopClusterImage (line 80) | private Image getHadoopClusterImage() {
    method getNamedClusterService (line 86) | private NamedClusterService getNamedClusterService() {

FILE: kettle-plugins/hadoop-cluster/ui/src/main/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/tree/ThinHadoopClusterTreeDelegateExtension.java
  class ThinHadoopClusterTreeDelegateExtension (line 31) | @ExtensionPoint( id = "ThinHadoopClusterTreeDelegateExtension", descript...
    method callExtensionPoint (line 38) | public void callExtensionPoint( LogChannelInterface log, Object extens...
    method getNamedClusterService (line 75) | private NamedClusterService getNamedClusterService() {

FILE: kettle-plugins/hadoop-cluster/ui/src/test/java/org/pentaho/big/data/kettle/plugins/hadoopcluster/ui/endpoints/HadoopClusterManagerTest.java
  class HadoopClusterManagerTest (line 75) | @RunWith( MockitoJUnitRunner.class )
    method setup (line 99) | @Before public void setup() throws Exception {
    method testSecuredImportNamedCluster (line 129) | @Test public void testSecuredImportNamedCluster() throws Exception {
    method testUnsecuredImportNamedCluster (line 145) | @Test public void testUnsecuredImportNamedCluster() {
    method assertSiteFields (line 155) | private void assertSiteFields( Map<String, CachedFileItemStream> strea...
    method testMissingInfoImportNamedCluster (line 169) | @Test public void testMissingInfoImportNamedCluster() {
    method testSiteXMLParsingImportNamedCluster (line 184) | @Test public void testSiteXMLParsingImportNamedCluster() {
    method testSiteXMLParsingImportDataprocNamedCluster (line 196) | @Test public void testSiteXMLParsingImportDataprocNamedCluster() {
    method testCreateNamedCluster (line 207) | @Test public void testCreateNamedCluster() {
    method testOverwriteNamedClusterCaseInsensitive (line 215) | @Test public void testOverwriteNamedClusterCaseInsensitive() {
    method testEditNamedCluster (line 232) | @Test public void testEditNamedCluster() throws Exception {
    method testEditNamedClusterNameChange (line 242) | @Test public void testEditNamedClusterNameChange() throws Exception{
    method testEditRemoveSiteFileNotInModel (line 253) | @Test public void testEditRemoveSiteFileNotInModel() {
    method testKeepFilesNotChangedInThinClient (line 303) | @Test public void testKeepFilesNotChangedInThinClient() throws IOExcep...
    method testFailNamedCluster (line 403) | @Test public void testFailNamedCluster() {
    method testInstallDriver (line 410) | @Test public void testInstallDriver() throws IOException {
    method testRunTests (line 428) | @Test public void testRunTests() {
    method testNamedClusterKnoxSecurity (line 454) | @Test public void testNamedClusterKnoxSecurity() {
    method testNamedClusterKerberosPasswordSecurity (line 470) | @Test public void testNamedClusterKerberosPasswordSecurity() throws Co...
    method testNamedClusterKerberosKeytabSecurity (line 505) | @Test public void testNamedClusterKerberosKeytabSecurity() throws Conf...
    method testGetNamedCluster (line 534) | @Test public void testGetNamedCluster() throws ConfigurationException {
    method testValidSiteFile (line 543) | @Test
    method allowsNullSpoon (line 550) | @Test
    method testResetSecurity (line 557) | @Test public void testResetSecurity() throws ConfigurationException {
    method testNamedClusterKerberosPasswordSecurityWithBlankPassword (line 587) | @Test public void testNamedClusterKerberosPasswordSecurityWithBlankPas...
    method tearDown (line 622) | @After public void tearDown() throws IOException {
    method getShimTestDir (line 629) | private File getShimTestDir() {
    method getFiles (line 637) | private Map<String, CachedFileItemStream> getFiles( String filesLocati...
    method getFiles (line 641) | private Map<String, CachedFileItemStream> getFiles( String filesLocati...

FILE: kettle-plugins/hbase-meta/src/main/java/org/pentaho/big/data/kettle/plugins/hbase/meta/AELHBaseMappingImpl.java
  class AELHBaseMappingImpl (line 30) | public class AELHBaseMappingImpl implements Mapping, Serializable {
    method AELHBaseMappingImpl (line 41) | public AELHBaseMappingImpl() {
    method addMappedColumn (line 44) | @Override
    method getTableName (line 56) | @Override
    method setTableName (line 61) | @Override
    method getMappingName (line 66) | @Override
    method setMappingName (line 71) | @Override
    method getKeyName (line 76) | @Override
    method setKeyName (line 81) | @Override
    method getKeyType (line 86) | @Override
    method setKeyType (line 91) | @Override
    method getMappedColumns (line 96) | @Override
    method setMappedColumns (line 101) | @Override
    method setKeyTypeAsString (line 106) | @Override
    method isTupleMapping (line 111) | @Override
    method setTupleMapping (line 116) | @Override
    method getTupleFamilies (line 121) | @Override
    method getTupleFamiliesSplit (line 126) | @Override
    method setTupleFamilies (line 131) | @Override
    method numMappedColumns (line 136) | @Override
    method saveRep (line 141) | @Override
    method getXML (line 146) | @Override
    method loadXML (line 181) | @Override
    method readRep (line 248) | @Override
    method getFriendlyName (line 253) | @Override
    method decodeKeyValue (line 258) | @Override

FILE: kettle-plugins/hbase-meta/src
Condensed preview — 805 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,385K chars).
[
  {
    "path": ".gitattributes",
    "chars": 67,
    "preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 26,
    "preview": "* @pentaho/sp-branch-write"
  },
  {
    "path": ".gitignore",
    "chars": 210,
    "preview": "bin/\ndist/\nlib/\nlib-provided/\nstage-pmr/\ntest-lib/\neclipse-bin/\noverride.properties\n.settings/\n.classpath\n.project\n/dev-"
  },
  {
    "path": "LICENSE.txt",
    "chars": 3005,
    "preview": "Pentaho Developer Edition 10.3 Copyright 2024 Hitachi Vantara, LLC; licensed under the \nBusiness Source License 1.1 (BSL"
  },
  {
    "path": "README.markdown",
    "chars": 2240,
    "preview": "Pentaho Big Data Plugin\n=======================\n\nThe Pentaho Big Data Plugin Project provides support for an ever-expand"
  },
  {
    "path": "api/pom.xml",
    "chars": 618,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "api/runtimeTest/pom.xml",
    "chars": 2690,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTest.java",
    "chars": 824,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTestProgressCallback.java",
    "chars": 573,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTestStatus.java",
    "chars": 748,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/RuntimeTester.java",
    "chars": 647,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestAction.java",
    "chars": 707,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionHandler.java",
    "chars": 633,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionPayload.java",
    "chars": 704,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/RuntimeTestActionService.java",
    "chars": 572,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/HelpUrlPayload.java",
    "chars": 1463,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/LoggingRuntimeTestActionHandlerImpl.java",
    "chars": 3321,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionImpl.java",
    "chars": 1494,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionServiceImpl.java",
    "chars": 2459,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/MessageGetter.java",
    "chars": 563,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/MessageGetterFactory.java",
    "chars": 553,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterFactoryImpl.java",
    "chars": 994,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterImpl.java",
    "chars": 1020,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestComparator.java",
    "chars": 1992,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestRunner.java",
    "chars": 11542,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTestStatusImpl.java",
    "chars": 2104,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/impl/RuntimeTesterImpl.java",
    "chars": 3036,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/module/RuntimeTestModuleResults.java",
    "chars": 934,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/module/impl/RuntimeTestModuleResultsImpl.java",
    "chars": 2639,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/ConnectivityTest.java",
    "chars": 613,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/ConnectivityTestFactory.java",
    "chars": 1351,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/ConnectivityTestFactoryImpl.java",
    "chars": 2178,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/ConnectivityTestImpl.java",
    "chars": 10680,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/network/impl/GatewayConnectivityTestImpl.java",
    "chars": 10847,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestEntrySeverity.java",
    "chars": 1161,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResult.java",
    "chars": 668,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResultEntry.java",
    "chars": 733,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/RuntimeTestResultSummary.java",
    "chars": 656,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/result/org/pentaho/runtime/test/result/impl/RuntimeTestResultSummaryImpl.java",
    "chars": 2116,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/BaseRuntimeTest.java",
    "chars": 2336,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestDelegateWithMoreDependencies.java",
    "chars": 2131,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultEntryImpl.java",
    "chars": 2762,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultImpl.java",
    "chars": 2406,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/main/resources/OSGI-INF/blueprint/blueprint.xml",
    "chars": 2708,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<blueprint xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://ww"
  },
  {
    "path": "api/runtimeTest/src/main/resources/org/pentaho/runtime/test/action/impl/messages/messages_en_US.properties",
    "chars": 228,
    "preview": "HelpUrlPayload.Message=Please see help at {0}\nLoggingRuntimeTestActionHandlerImpl.Action=Recommended action: {0}, {1}\\nR"
  },
  {
    "path": "api/runtimeTest/src/main/resources/org/pentaho/runtime/test/impl/messages/messages_en_US.properties",
    "chars": 237,
    "preview": "RuntimeTestRunner.Skipped.Desc=This test was skipped because {0} was not successful.\nRuntimeTestRunner.Skipped.Message=T"
  },
  {
    "path": "api/runtimeTest/src/main/resources/org/pentaho/runtime/test/network/impl/messages/messages_en_US.properties",
    "chars": 2675,
    "preview": "ConnectTest.HostBlank.Desc=Hostname is required.\nConnectTest.HostBlank.Message=A hostname was not found for this service"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/RuntimeTestEntryUtil.java",
    "chars": 2348,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/TestMessageGetter.java",
    "chars": 1972,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/TestMessageGetterFactory.java",
    "chars": 756,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/HelpUrlPayloadTest.java",
    "chars": 1678,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/LoggingRuntimeTestActionHandlerImplTest.java",
    "chars": 4968,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionImplTest.java",
    "chars": 1696,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/action/impl/RuntimeTestActionServiceImplTest.java",
    "chars": 2223,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterFactoryImplTest.java",
    "chars": 1029,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/i18n/impl/BaseMessagesMessageGetterImplTest.java",
    "chars": 1138,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestComparatorTest.java",
    "chars": 4435,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestRunnerTest.java",
    "chars": 11467,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTestStatusImplTest.java",
    "chars": 3180,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/impl/RuntimeTesterImplTest.java",
    "chars": 2377,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/module/impl/RuntimeTestModuleResultsImplTest.java",
    "chars": 3472,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/network/impl/ConnectivityTestImplTest.java",
    "chars": 6926,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/network/impl/GatewayConnectivityTestImplTest.java",
    "chars": 11279,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/result/RuntimeTestEntrySeverityTest.java",
    "chars": 2633,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/BaseRuntimeTestTest.java",
    "chars": 2526,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestDelegateWithMoreDependenciesTest.java",
    "chars": 2974,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultEntryImplTest.java",
    "chars": 2240,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "api/runtimeTest/src/test/java/org/pentaho/runtime/test/test/impl/RuntimeTestResultImplTest.java",
    "chars": 2707,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/pom.xml",
    "chars": 28281,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/src/main/assembly/descriptors/plugin.xml",
    "chars": 6126,
    "preview": "<assembly>\n    <id>${assembly.id}</id>\n    <baseDirectory>pentaho-big-data-plugin</baseDirectory>\n    <formats>\n        "
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/src/main/assembly/resources/bigdata-logging.properties",
    "chars": 748,
    "preview": "# Big Data Plugin Logging Configuration\n# \n# This file defines the loggers that should be configured for Big Data plugin"
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/src/main/assembly/resources/classpath.properties",
    "chars": 72,
    "preview": "classpath=./${hadoop.configurations.path}/${active.hadoop.configuration}"
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/src/main/assembly/resources/hadoop-configurations/.kettle-ignore",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/src/main/assembly/resources/plugin.properties",
    "chars": 5482,
    "preview": "# The Hadoop Configuration to use when communicating with a Hadoop cluster. This is used for all Hadoop client tools\n# i"
  },
  {
    "path": "assemblies/pentaho-big-data-plugin/src/main/assembly/resources/plugins/.gitignore",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "assemblies/pmr-libraries/pom.xml",
    "chars": 35509,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/descriptors/assembly.xml",
    "chars": 12898,
    "preview": "<assembly>\n  <id>plugin</id>\n  <baseDirectory></baseDirectory>\n  <formats>\n    <format>zip</format>\n  </formats>\n  <file"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/classes/kettle-lifecycle-listeners.xml",
    "chars": 25,
    "preview": "<listeners>\n\n</listeners>"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/classes/kettle-password-encoder-plugins.xml",
    "chars": 264,
    "preview": "<password-encoder-plugins>\n\n  <password-encoder-plugin id=\"Kettle\">\n    <description>Kettle Password Encoder</descriptio"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/classes/kettle-registry-extensions.xml",
    "chars": 44,
    "preview": "<registry-extensions>\n</registry-extensions>"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/classes/log4j2.xml",
    "chars": 1163,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<Configuration status=\"Warn\" monitorInterval=\"30\">\n\n    <Appenders>\n\n        <Ro"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/classes/org/apache/commons/vfs2/impl/providers.xml",
    "chars": 5739,
    "preview": "<!--\n    Licensed to the Apache Software Foundation (ASF) under one or more\n    contributor license agreements.  See the"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/classes/pmr.properties",
    "chars": 44,
    "preview": "isPmr=true\nnotificationsBeforeLoadingShim=1\n"
  },
  {
    "path": "assemblies/pmr-libraries/src/main/resources/simple-jndi/jdbc.properties",
    "chars": 1193,
    "preview": "SampleData/type=javax.sql.DataSource\nSampleData/driver=org.h2.Driver\nSampleData/url=jdbc:h2:file:samples/db/sampledb;IFE"
  },
  {
    "path": "assemblies/pom.xml",
    "chars": 2444,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "assemblies/samples/pom.xml",
    "chars": 1807,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "assemblies/samples/src/main/assembly/descriptors/samples.xml",
    "chars": 335,
    "preview": "<assembly>\n    <id>package</id>\n    <baseDirectory>samples</baseDirectory>\n    <formats>\n        <format>zip</format>\n  "
  },
  {
    "path": "assemblies/samples/src/main/resources/.kettle-ignore",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Hadoop Job Executor 2 adv.kjb",
    "chars": 15660,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Hadoop Job Executor 2 adv</name>\n  <description/>\n  <extended_descr"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Hadoop Job Executor adv.kjb",
    "chars": 17391,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Hadoop Job Executor adv</name>\n  <description/>\n  <extended_descrip"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Hadoop Job Executor simple.kjb",
    "chars": 11565,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Hadoop Job Executor simple</name>\n    <description/>\n    <extended_"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Pentaho MapReduce - weblogs.kjb",
    "chars": 11637,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Pentaho MapReduce - weblogs</name>\n    <description/>\n    <extended"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Pentaho MapReduce - wordcount.kjb",
    "chars": 10885,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Pentaho MapReduce - wordcount</name>\n    <description/>\n    <extend"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Pig Script Executor tutorial local.kjb",
    "chars": 13767,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Pig Script Executor tutorial local</name>\n  <description/>\n  <exten"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/Pig Script Executor tutorial.kjb",
    "chars": 16015,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>Pig Script Executor tutorial</name>\n  <description/>\n  <extended_de"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/emr_job.kjb",
    "chars": 6505,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<job>\n  <name>emr_job</name>\n    <description/>\n    <extended_description/>\n    <"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/excite-small.log",
    "chars": 45031,
    "preview": "2A9EABFB35F5B954\t970916105432\t+md foods +proteins\nBED75271605EBD0C\t970916001949\tyahoo chat\nBED75271605EBD0C\t970916001954"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/files/2008.log",
    "chars": 316905,
    "preview": "192.168.1.211 - - [01/Jan/2008:00:00:00 -0800] \"GET / HTTP/1.1\" 200 50 \"-\" \"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/files/2009.log",
    "chars": 316905,
    "preview": "192.168.1.211 - - [01/Jan/2009:00:00:00 -0800] \"GET / HTTP/1.1\" 200 50 \"-\" \"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/files/2010.log",
    "chars": 316905,
    "preview": "192.168.1.211 - - [01/Jan/2010:00:00:00 -0800] \"GET / HTTP/1.1\" 200 50 \"-\" \"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/files/readme.txt",
    "chars": 86,
    "preview": "Files in this folder can be copied to your HDFS \nto be used with the provided samples."
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/README.TXT",
    "chars": 726,
    "preview": "The pentaho-mapreduce-sample-src contains code that can be built and jar'd for\nuse by the Hadoop Job Executor. The sampl"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCount.java",
    "chars": 4502,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCountMapper.java",
    "chars": 1289,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCountReducer.java",
    "chars": 1277,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce2-sample-src/README.TXT",
    "chars": 443,
    "preview": "The pentaho-mapreduce-sample2-src contains code that can be built and jar'd for\nuse by the Hadoop Job Executor. The samp"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/pentaho-mapreduce2-sample-src/src/org/pentaho/hadoop/sample/wordcount/WordCount2.java",
    "chars": 3033,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/script1-hadoop-mod.pig",
    "chars": 3757,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/script1-local-mod.pig",
    "chars": 3739,
    "preview": "/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOT"
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/weblogs-mapper.ktr",
    "chars": 26660,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<transformation>\n  <info>\n    <name>weblogs-mapper</name>\n    <description/>\n    "
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/weblogs-reducer.ktr",
    "chars": 17406,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<transformation>\n  <info>\n    <name>weblogs-reducer</name>\n    <description/>\n   "
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/wordcount-mapper.ktr",
    "chars": 18883,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<transformation>\n  <info>\n    <name>wordcount-mapper</name>\n    <description/>\n  "
  },
  {
    "path": "assemblies/samples/src/main/resources/jobs/hadoop/wordcount-reducer.ktr",
    "chars": 16911,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<transformation>\n  <info>\n    <name>wordcount-reducer</name>\n    <description/>\n "
  },
  {
    "path": "authentication-mapper/api/pom.xml",
    "chars": 947,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "authentication-mapper/api/src/main/java/org/pentaho/authentication/mapper/api/AuthenticationMappingManager.java",
    "chars": 758,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "authentication-mapper/api/src/main/java/org/pentaho/authentication/mapper/api/AuthenticationMappingService.java",
    "chars": 799,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "authentication-mapper/api/src/main/java/org/pentaho/authentication/mapper/api/MappingException.java",
    "chars": 1012,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "authentication-mapper/impl/pom.xml",
    "chars": 1320,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "authentication-mapper/impl/src/main/java/org/pentaho/authentication/mapper/impl/AuthenticationMappingManagerImpl.java",
    "chars": 4553,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "authentication-mapper/impl/src/test/java/org/pentaho/authentication/mapper/impl/AuthenticationMappingManagerImplTest.java",
    "chars": 3801,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "authentication-mapper/impl/src/test/resources/invalid_mapping.json",
    "chars": 17,
    "preview": "{\n  invalid : #\n}"
  },
  {
    "path": "authentication-mapper/impl/src/test/resources/mapping.json",
    "chars": 406,
    "preview": "{\n  \"cluster_security_mapping_configuration\": {\n    \"default\": {\n      \"pentaho_server_credentials\": {\n        \"kerberos"
  },
  {
    "path": "authentication-mapper/pom.xml",
    "chars": 1921,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "dev-doc/multishim/MultiShimHBase.sd",
    "chars": 601,
    "preview": "kettlePlugin:KP \"Kettle Plugin\"\nnamedClusterServiceLocator:NCSL \"Named Cluster Service\"\nclusterInitializer:CI \"Cluster I"
  },
  {
    "path": "dev-doc/multishim/README.md",
    "chars": 2385,
    "preview": "This outlines the anticipated changes needed to support multiple shims.\n\nStandard services (accessed via steps/job entri"
  },
  {
    "path": "dev-doc/multishim/SingleShimHBase.sd",
    "chars": 595,
    "preview": "kettlePlugin:KP \"Kettle Plugin\"\nnamedClusterServiceLocator:NCSL \"Named Cluster Service\"\nclusterInitializer:CI \"Cluster I"
  },
  {
    "path": "dev-doc/shim-bridge-classloading.graphml",
    "chars": 34413,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<graphml xmlns=\"http://graphml.graphdrawing.org/xmlns\" xmlns:java"
  },
  {
    "path": "dev-doc/shim-bridging-classloading.md",
    "chars": 3319,
    "preview": "As a step towards a more flexible architecture less constrained by the shims, we have been refactoring the steps and job"
  },
  {
    "path": "dev-doc/shimprovements.md",
    "chars": 2377,
    "preview": "Big Data Plugin in 6.1\n======================\nOSGi\n----\nAs of 6.1, all the main Hadoop functionality (HDFS, MapReduce, P"
  },
  {
    "path": "impl/cluster/pom.xml",
    "chars": 3417,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "impl/cluster/src/it/resources/core-site.xml",
    "chars": 3967,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--Autogenerated by Cloudera Manager-->\n<configuration>\n  <property>\n    <name>"
  },
  {
    "path": "impl/cluster/src/main/java/org/pentaho/big/data/impl/cluster/NamedClusterImpl.java",
    "chars": 26720,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/cluster/src/main/java/org/pentaho/big/data/impl/cluster/NamedClusterManager.java",
    "chars": 21540,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/cluster/src/main/resources/org/pentaho/big/data/impl/cluster/messages/messages_en_US.properties",
    "chars": 218,
    "preview": "NamedClusterManager.ErrorFindingUserMetastore=No metastore found and exception encountered looking for user-specified or"
  },
  {
    "path": "impl/cluster/src/test/java/org/pentaho/big/data/impl/cluster/NamedClusterImplTest.java",
    "chars": 29612,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/cluster/src/test/java/org/pentaho/big/data/impl/cluster/NamedClusterManagerTest.java",
    "chars": 12779,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/cluster/src/test/java/org/pentaho/big/data/impl/cluster/NamedClusterMetastoreIT.java",
    "chars": 10339,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/cluster/src/test/resources/core-site.xml",
    "chars": 3967,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!--Autogenerated by Cloudera Manager-->\n<configuration>\n  <property>\n    <name>"
  },
  {
    "path": "impl/cluster/src/test/resources/plugin.properties",
    "chars": 29,
    "preview": "big.data.slave.metastore.dir="
  },
  {
    "path": "impl/clusterTests/pom.xml",
    "chars": 2522,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/ClusterRuntimeTestEntry.java",
    "chars": 6146,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/Constants.java",
    "chars": 782,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayListHomeDirectoryTest.java",
    "chars": 2891,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayListRootDirectoryTest.java",
    "chars": 2621,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayPingFileSystemEntryPoint.java",
    "chars": 2633,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/GatewayWriteToAndDeleteFromUsersHomeFolderTest.java",
    "chars": 16253,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListDirectoryTest.java",
    "chars": 7174,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListHomeDirectoryTest.java",
    "chars": 1313,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListRootDirectoryTest.java",
    "chars": 1314,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/PingFileSystemEntryPointTest.java",
    "chars": 4147,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/hdfs/WriteToAndDeleteFromUsersHomeFolderTest.java",
    "chars": 14090,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/kafka/KafkaConnectTest.java",
    "chars": 6801,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/mr/GatewayPingJobTrackerTest.java",
    "chars": 2609,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/mr/PingJobTrackerTest.java",
    "chars": 3733,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/oozie/GatewayPingOozieHostTest.java",
    "chars": 2580,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/oozie/PingOozieHostTest.java",
    "chars": 3931,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/zookeeper/GatewayPingZookeeperEnsembleTest.java",
    "chars": 2660,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/java/org/pentaho/big/data/impl/cluster/tests/zookeeper/PingZookeeperEnsembleTest.java",
    "chars": 7808,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/main/resources/OSGI-INF/blueprint/blueprint.xml",
    "chars": 3559,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<blueprint xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://ww"
  },
  {
    "path": "impl/clusterTests/src/main/resources/org/pentaho/big/data/impl/cluster/tests/hdfs/messages/messages_en_US.properties",
    "chars": 3746,
    "preview": "ListDirectoryTest.CouldntGetFileSystem.Desc=Unable to access the directory.\nListDirectoryTest.CouldntGetFileSystem.Messa"
  },
  {
    "path": "impl/clusterTests/src/main/resources/org/pentaho/big/data/impl/cluster/tests/kafka/messages/messages_en_US.properties",
    "chars": 555,
    "preview": "KafkaConnectTest.Name=Kafka Connection\nKafkaConnectTest.MalformedUrl.Desc=Unable to connect to Kafka.\nKafkaConnectTest.M"
  },
  {
    "path": "impl/clusterTests/src/main/resources/org/pentaho/big/data/impl/cluster/tests/messages/messages_en_US.properties",
    "chars": 1073,
    "preview": "RuntimeTestResultEntryWithDefaultShimHelp.TroubleshootingGuide=Learn more\nRuntimeTestResultEntryWithDefaultShimHelp.Shel"
  },
  {
    "path": "impl/clusterTests/src/main/resources/org/pentaho/big/data/impl/cluster/tests/mr/messages/messages_en_US.properties",
    "chars": 289,
    "preview": "PingJobTrackerTest.Name=Ping Job Tracker / Resource Manager\nPingJobTrackerTest.isMapr.Desc=Test not applicable for MapR "
  },
  {
    "path": "impl/clusterTests/src/main/resources/org/pentaho/big/data/impl/cluster/tests/oozie/messages/messages_en_US.properties",
    "chars": 239,
    "preview": "PingOozieHostTest.Name=Oozie Host Connection\nPingOozieHostTest.MalformedUrl.Desc=Unable to connect to Oozie.\nPingOozieHo"
  },
  {
    "path": "impl/clusterTests/src/main/resources/org/pentaho/big/data/impl/cluster/tests/zookeeper/messages/messages_en_US.properties",
    "chars": 1354,
    "preview": "PingZookeeperEnsembleTest.Name=Zookeeper Ensemble Connection\nPingZookeeperEnsembleTest.BlankHost.Desc=One or more Zookee"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListDirectoryTestTest.java",
    "chars": 7507,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListHomeDirectoryTestTest.java",
    "chars": 1638,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/ListRootDirectoryTestTest.java",
    "chars": 1638,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/PingFileSystemEntryPointTestTest.java",
    "chars": 3654,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/hdfs/WriteToAndDeleteFromUsersHomeFolderTestTest.java",
    "chars": 12626,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/kafka/KafkaConnectTestTest.java",
    "chars": 5415,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/mr/PingJobTrackerTestTest.java",
    "chars": 3570,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/oozie/PingOozieHostTestTest.java",
    "chars": 3970,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/clusterTests/src/test/java/org/pentaho/big/data/impl/cluster/tests/zookeeper/PingZookeeperEnsembleTestTest.java",
    "chars": 9330,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/pom.xml",
    "chars": 688,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "impl/shim/jaas/pom.xml",
    "chars": 1686,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apach"
  },
  {
    "path": "impl/shim/jaas/src/main/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceFactory.java",
    "chars": 1221,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/shim/jaas/src/main/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceImpl.java",
    "chars": 1584,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/shim/jaas/src/main/resources/OSGI-INF/blueprint/blueprint.xml",
    "chars": 301,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<blueprint xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://ww"
  },
  {
    "path": "impl/shim/jaas/src/main/resources/org/pentaho/big/data/impl/shim/jaas/messages.properties",
    "chars": 79,
    "preview": "jaas.config.service.load.error=Unable to register JaasConfigService for ? shim\n"
  },
  {
    "path": "impl/shim/jaas/src/test/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceFactoryTest.java",
    "chars": 1501,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/shim/jaas/src/test/java/org/pentaho/big/data/impl/shim/jaas/JaasConfigServiceImplTest.java",
    "chars": 1987,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/shim/pig/pdi-testName",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "impl/shim/pom.xml",
    "chars": 603,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "impl/shim/shimTests/pom.xml",
    "chars": 2610,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "impl/shim/shimTests/src/main/java/org/pentaho/big/data/impl/shim/tests/TestShimConfig.java",
    "chars": 5067,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/shim/shimTests/src/main/java/org/pentaho/big/data/impl/shim/tests/TestShimLoad.java",
    "chars": 3241,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/shim/shimTests/src/main/resources/OSGI-INF/blueprint/blueprint.xml",
    "chars": 1011,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<blueprint xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://ww"
  },
  {
    "path": "impl/shim/shimTests/src/main/resources/org/pentaho/big/data/impl/shim/tests/messages/messages_en_US.properties",
    "chars": 890,
    "preview": "TestShimLoad.Name=Active Shim Load\nTestShimLoad.ShimLoaded.Desc=Successfully loaded the {0} shim.\nTestShimLoad.ShimLoade"
  },
  {
    "path": "impl/shim/shimTests/src/test/java/org/pentaho/big/data/impl/shim/tests/TestShimLoadTest.java",
    "chars": 3090,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/pom.xml",
    "chars": 2580,
    "preview": "<?xml version=\"1.0\"?>\n<project xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/AzureHdInsightsFileNameParser.java",
    "chars": 1407,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileNameParser.java",
    "chars": 2545,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileObject.java",
    "chars": 3574,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileProvider.java",
    "chars": 6989,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/HDFSFileSystem.java",
    "chars": 2011,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/MapRFileNameParser.java",
    "chars": 1317,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterConfigBuilder.java",
    "chars": 2943,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterFileObject.java",
    "chars": 1410,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  },
  {
    "path": "impl/vfs-hdfs/src/main/java/org/pentaho/big/data/impl/vfs/hdfs/nc/NamedClusterFileSystem.java",
    "chars": 1384,
    "preview": "/*! ******************************************************************************\n *\n * Pentaho\n *\n * Copyright (C) 202"
  }
]

// ... and 605 more files (download for full content)

About this extraction

This page contains the full source code of the pentaho/big-data-plugin GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 805 files (5.8 MB), approximately 1.6M tokens, and a symbol index with 6084 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!