Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Wiki Markup
{scrollbar}

There

...

are

...

four

...

ways

...

of

...

creating

...

a

...

BI

...

Component:

...

create

...

a

...

BI

...

Component

...

from

...

scratch,

...

convert

...

an

...

existing

...

class

...

into

...

a

...

BI

...

Component,

...

create

...

a

...

subclass

...

of

...

ComponentBase

...

(org.pentaho.plugin.ComponentBase),

...

or

...

create

...

a

...

subclass

...

of

...

SimpleComponent

...

(org.pentaho.plugin.core.SimpleComponent).

...

To

...

become

...

a

...

BI

...

Component,

...

a

...

Java

...

object

...

must

...

implement

...

the

...

org.pentaho.core.component.IComponent

...

interface.

...

The

...

IComponent

...

interface

...

extends

...

two

...

other

...

interfaces:

...

org.pentaho.core.audit.IAuditable

...

and

...

org.pentaho.util.logging.ILogger.

...

Pentaho

...

provides

...

classes

...

that

...

implement

...

these

...

interfaces.

...

The

...

hierarchy

...

of

...

the

...

Pentaho

...

classes

...

looks

...

like

...

this:

...


org.pentaho.core.system.PentahoBase

...

(implements

...

ILogger

...

and

...

Serializable)

...


    -->

...

org.pentaho.core.system.PentahoMessenger

...


        -->

...

org.pentaho.plugin.ComponentBase

...

(implements

...

IComponent

...

and

...

IAuditable)
            -->

...

org.pentaho.plugin.core.SimpleComponent

...


                -->

...

other

...

Pentaho-provided

...

BI

...

Components

...

You

...

can

...

create

...

your

...

BI

...

Components

...

in

...

whatever

...

package

...

you

...

like

...

whether

...

they

...

are

...

subclasses

...

of

...

Pentaho

...

classes

...

or

...

not.

...

There

...

are

...

no

...

required

...

methods

...

that

...

will

...

be

...

inaccessible

...

if

...

you

...

use

...

a

...

non-Pentaho

...

package.

...

Extend

...

SimpleComponent

...

This

...

is

...

the

...

easiest

...

way

...

to

...

create

...

a

...

new

...

component

...

and

...

the

...

recommended

...

place

...

to

...

start.

...

  1. Create

...

  1. a

...

  1. new

...

  1. Java

...

  1. class

...

  1. that

...

  1. is

...

  1. a

...

  1. subclass

...

  1. of

...

  1. (extends)

...

  1. org.pentaho.plugin.core.SimpleComponent.

...

  1. Implement

...

  1. an

...

  1. executeAction

...

  1. method

...

  1. and

...

  1. a

...

  1. getLogger

...

  1. method.

...

  1. See

...

  1. #Component Methods below for a description of these methods.

Extend ComponentBase

If your component needs to validate its inputs and/or system settings or needs to perform any initialization and/or cleanup, you should extend org.pentaho.plugin.ComponentBase.

...

  1. Create

...

  1. a

...

  1. new

...

  1. Java

...

  1. class

...

  1. that

...

  1. is

...

  1. a

...

  1. subclass

...

  1. of

...

  1. (extends)

...

  1. org.pentaho.plugin.ComponentBase.

...

  1. Add

...

  1. code

...

  1. to

...

  1. the

...

  1. init

...

  1. ,

...

  1. validateSystemSettings

...

  1. ,

...

  1. validateAction

...

  1. ,

...

  1. executeAction

...

  1. ,

...

  1. done

...

  1. ,

...

  1. and

...

  1. getLogger

...

  1. methods

...

  1. as

...

  1. appropriate.

...

Convert

...

a

...

Java

...

Object

...

into

...

a

...

BI

...

Component

...

If

...

you

...

have

...

an

...

existing

...

object

...

that

...

you

...

wish

...

to

...

convert

...

into

...

a

...

BI

...

Component

...

there

...

are

...

two

...

options.

...


Create

...

a

...

new

...

object

...

that

...

subclasses

...

your

...

existing

...

object

...

and

...

implements

...

the

...

required

...

interfaces

...


Change

...

your

...

object

...

to

...

implement

...

the

...

required

...

interfaces

...

Which

...

of

...

these

...

options

...

is

...

the

...

best

...

for

...

your

...

particular

...

object

...

will

...

depend

...

on

...

your

...

specific

...

circumstances;

...

but,

...

we

...

recommend

...

creating

...

a

...

subclass

...

if

...

only

...

to

...

keep

...

your

...

source

...

file

...

size

...

manageable.

...

If

...

you

...

do

...

need

...

to

...

use

...

this

...

approach

...

most

...

of

...

the

...

code

...

you

...

need

...

to

...

create

...

your

...

new

...

class

...

can

...

be

...

found

...

in

...

these

...

classes:

...

org.pentaho.core.system.PentahoBase,

...

org.pentaho.core.system.PentahoMessenger,

...

and

...

org.pentaho.plugin.ComponentBase.

...

To

...

make

...

this

...

process

...

easier

...

we

...

have

...

created

...

a

...

class,

...

org.pentaho.plugin.ComponentSubclassExample,

...

that

...

contains

...

the

...

code

...

you

...

need.

...

To

...

convert

...

a

...

Java

...

class

...

to

...

a

...

BI

...

Component:

...

  1. Copy

...

  1. the

...

  1. imports,

...

  1. member

...

  1. variables,

...

  1. and

...

  1. methods

...

  1. from

...

  1. org.pentaho.plugin.ComponentSubclassExample

...

  1. into

...

  1. your

...

  1. Java

...

  1. class.

...

  1. Add

...

  1. code

...

  1. to

...

  1. the

...

  1. init

...

  1. ,

...

  1. validateSystemSettings

...

  1. ,

...

  1. validateAction

...

  1. ,

...

  1. executeAction

...

  1. ,

...

  1. done

...

  1. ,

...

  1. and

...

  1. getLogger

...

  1. methods

...

  1. as

...

  1. appropriate.

...

Components

...

from

...

Scratch

...

In

...

order

...

to

...

create

...

a

...

component

...

from

...

scratch

...

a

...

new

...

class

...

that

...

implements

...

the

...

interface

...

org.pentaho.core.component.IComponent

...

must

...

be

...

created.

...

To

...

implement

...

all

...

three

...

interfaces

...

requires

...

about

...

30

...

methods

...

to

...

be

...

implemented.

...

It

...

is

...

not

...

recommended

...

to

...

use

...

this

...

option

...

and

...

there

...

should

...

be

...

no

...

need

...

to

...

do

...

this

...

given

...

the

...

options

...

above.

...

Anchor
Component Methods
Component Methods

Component Methods

If using one of the three recommended methods for creating new components, the methods below are the BI Component methods that need to be customized to provide your needed functionality. The methods are listed in the order that they are typically called during normal processing. Depending on the option used to create your component, not all of these methods are required. See above sections for more details.

Child pages (Children Display)