See: Description
| Interface | Description |
|---|---|
| CleansingController |
Provides the entry point for the execution of all cleansing procedures and operations.
|
| CleansingExecutionResult |
Provides results from a cleansing procedure or cleansing operation execution.
|
| CleansingOperationDefinition |
Defines a cleansing operation.
|
| CleansingOperationDefinitionContext |
Represents a cleansing operation's configuration.
|
| CleansingProcedureDefinitionContext |
Represents a cleansing procedure configuration.
|
| CleansingState |
Represents a Cleansing state.
|
| CustomSelectionType |
Provides the list of custom selection types.
|
| HTMLComponentType |
Provides the list of supported HTML component types.
|
| Class | Description |
|---|---|
| BigDataValues |
Defines a set of values to be stored in the Big data report tables.
|
| CleansingControllerFactory |
Defines the factory of
CleansingController. |
| CleansingExecutionContext |
Provides an execution context for the cleansing procedure or cleansing operation.
|
| CleansingExecutionEnvironment |
Defines an execution environment for a cleansing procedure or cleansing operation.
|
| CleansingOperationView |
Provides a user interface is required when fixing quality defects found during a cleansing operation.
|
| CleansingProcedureDefinition |
Defines a cleansing procedure.
|
| CleansingProcedureDefinitionCatalog |
Registers cleansing procedures.
|
| CleansingRecord |
Supports cleansing metadata storage.
|
| CleansingReport |
Java Bean container for the outcome of a
CleansingProcedure or CleansingOperation. |
| CleansingStatisticsProcedure |
Calculates statistics related to a cleansing procedure.
|
| DECType |
Represents the Data Element Concept type.
|
| DeprecatedRecordChecker |
Extends this class to define a Java class to check deprecated records.
|
| InputParameter |
Represents the input parameters for a cleansing procedure or cleansing operation.
|
| ListConstraint |
Defines constraints for multi-occurs parameters.
|
| ParameterDefinition |
Represents the definition of parameter for a cleansing procedure or cleansing operation.
|
| Enum | Description |
|---|---|
| CleansingExecutionContext.ExecutionMode |
Defines cleansing procedure execution mode.
|
Provides classes and interfaces required for cleansing operation.
To create a cleansing operation, its definition and view class must be defined.
Definition class:
public final class TestCleansingOperationDefinition implements CleansingOperationDefinition
{
public UserMessage getName()
{
return UserMessage.createInfo("Test Cleansing operation");
}
public UserMessage getDescription()
{
return null;
}
public List <ParameterDefinition> getInputParameters()
{
return null;
}
public boolean isMatchingActive()
{
return false;
}
public UserMessage validateCleansingOperationInputParameters(
List <InputParameter> inputParameters)
{
return null;
}
public CleansingOperationView getOperationView()
{
return new TestCleansingOperationView();
}
}
View class:
public final class TestCleansingOperationView extends CleansingOperationView
{
public void displayView() throws DaqaException
{
ServiceContext serviceContext = this.getServiceContext();
UIServiceComponentWriter writer = serviceContext.getUIComponentWriter();
writer.add("Draw all UI items of the Cleansing operation view here.");
}
public CleansingReport executeOperation(CleansingExecutionEnvironment environment)
throws DaqaException
{
//Provide the execution of the Cleansing operation.
BigDataValues bigDataValues = new BigDataValues();
bigDataValues.add(
CleansingReportPaths._BigDataCleansingReport._CleansingProcedureFields_NumberOfRecordsToFix,
Integer.valueOf(1000));
bigDataValues.add(
CleansingReportPaths._BigDataCleansingReport._CleansingProcedureFields_NumberOfFixedRecords,
Integer.valueOf(100));
CleansingReport cleansingReport = new CleansingReport();
cleansingReport.setExecutionDate(new GregorianCalendar().getTime());
cleansingReport.setBigDataValues(bigDataValues);
return cleansingReport;
}
}
To create a cleansing procedure, its definition and implementation class must be defined.
Definition class:
public final class TestCleansingProcedureDefinition extends CleansingProcedureDefinition
{
public String getCode()
{
return "Test-CP";
}
public UserMessage getName()
{
return UserMessage.createInfo("Test Cleansing procedure");
}
public UserMessage getDescription()
{
return null;
}
public DECType getDECType()
{
return DECType.FIELD;
}
public boolean canBeUsedInProfilingProcedure()
{
return false;
}
public List<ParameterDefinition> getInputParameters()
{
List<ParameterDefinition> inputs = new ArrayList<ParameterDefinition>();
List<String> defaultEmptyValues = new ArrayList<String>();
defaultEmptyValues.add("");
defaultEmptyValues.add("null");
inputs.add(new ParameterDefinition(
"valueAsEmpty",
SchemaTypeName.XS_STRING,
UserMessage.createInfo("Values considered as empty"),
UserMessage.createInfo("Values considered as empty"),
new ListConstraint(1, Integer.MAX_VALUE, defaultEmptyValues)));
return Collections.unmodifiableList(inputs);
}
public boolean canBeUsedForManyTables()
{
return false;
}
public boolean canBeUsedForManyFields()
{
return false;
}
public List<CleansingOperationDefinition> getCleansingOperations()
{
//Register all operations for the Cleansing procedure here.
//One Cleansing procedures can have 0 or many Cleansing operations.
List<CleansingOperationDefinition> operations = new ArrayList<CleansingOperationDefinition>();
operations.add(new TestCleansingOperationDefinition());
return operations;
}
public CleansingStatisticsProcedure getCleansingProcedureImplementation()
{
return new TestCleansingProcedureImplementation();
}
}
Implementation class:
public final class TestCleansingProcedureImplementation extends CleansingStatisticsProcedure
{
public List<CleansingReport> calculate(CleansingExecutionContext context)
{
if (context.getExecutionMode().isProcedureExecutionMode())
{
List<CleansingReport> cleansingReports = new ArrayList<CleansingReport>();
CleansingReport cleansingReport = new CleansingReport();
BigDataValues bigDataValues = new BigDataValues();
bigDataValues.add(
CleansingReportPaths._BigDataCleansingReport._CleansingReportGenericFields_Dataspace,
context.getExecutionEnvironment().getHome().getKey().format());
bigDataValues.add(
CleansingReportPaths._BigDataCleansingReport._CleansingReportGenericFields_Dataset,
context.getExecutionEnvironment().getDataset().getAdaptationName().getStringName());
bigDataValues.add(
CleansingReportPaths._BigDataCleansingReport._CleansingReportGenericFields_TablePath,
context.getExecutionEnvironment().getTable().getTablePath().format());
bigDataValues.add(
CleansingReportPaths._BigDataCleansingReport._CleansingProcedureFields_NumberOfRecordsToFix,
Integer.valueOf(1000));
cleansingReport.setBigDataValues(bigDataValues);
cleansingReports.add(cleansingReport);
return cleansingReports;
}
else
//case: Profiling mode
{
List<CleansingReport> cleansingReports = new ArrayList<CleansingReport>();
CleansingReport cleansingReport = new CleansingReport();
BigDataValues bigDataValues = new BigDataValues();
bigDataValues.add(
CleansingReportPaths._BigDataProfilingReport._CleansingReportGenericFields_Dataspace,
context.getExecutionEnvironment().getHome().getKey().format());
bigDataValues.add(
CleansingReportPaths._BigDataProfilingReport._CleansingReportGenericFields_Dataset,
context.getExecutionEnvironment().getDataset().getAdaptationName().getStringName());
bigDataValues.add(
CleansingReportPaths._BigDataProfilingReport._CleansingReportGenericFields_TablePath,
context.getExecutionEnvironment().getTable().getTablePath().format());
bigDataValues.add(
CleansingReportPaths._BigDataProfilingReport._ProfilingFields_NumberOfRecordsToFix,
Integer.valueOf(1000));
cleansingReport.setBigDataValues(bigDataValues);
cleansingReports.add(cleansingReport);
return cleansingReports;
}
}
}
Finally, the cleansing procedure must be registered with the add-on in order to be available in the configuration:
CleansingProcedureDefinitionCatalog.add(new TestCleansingProcedureDefinition());