Package org.pentaho.di.repository
Class RepositoryImporter
- java.lang.Object
-
- org.pentaho.di.repository.RepositoryImporter
-
- All Implemented Interfaces:
org.pentaho.di.core.ProgressMonitorListener,CanLimitDirs,IRepositoryImporter,RepositoryElementReadListener,RepositoryImportFeedbackInterface
public class RepositoryImporter extends Object implements IRepositoryImporter, CanLimitDirs
-
-
Field Summary
Fields Modifier and Type Field Description static StringIMPORT_ASK_ABOUT_REPLACE_CSstatic StringIMPORT_ASK_ABOUT_REPLACE_DBstatic StringIMPORT_ASK_ABOUT_REPLACE_PSstatic StringIMPORT_ASK_ABOUT_REPLACE_SS
-
Constructor Summary
Constructors Constructor Description RepositoryImporter(Repository repository)RepositoryImporter(Repository repository, org.pentaho.di.core.logging.LogChannelInterface log)RepositoryImporter(Repository repository, ImportRules importRules, List<String> limitDirs)RepositoryImporter(Repository repository, ImportRules importRules, List<String> limitDirs, org.pentaho.di.core.logging.LogChannelInterface log)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddLog(String line)booleanaskContinueOnErrorQuestion(String title, String message)voidbeginTask(String message, int nrWorks)voiddone()protected booleanequals(ClusterSchema clusterSchema, ClusterSchema clusterSchema2)protected booleanequals(SlaveServer slaveServer, SlaveServer slaveServer2)protected booleanequals(org.pentaho.di.core.database.DatabaseMeta databaseMeta, org.pentaho.di.core.database.DatabaseMeta databaseMeta2)Adapted from KettleDatabaseRepositoryDatabaseDelegate.saveDatabaseMetaprotected booleanequals(PartitionSchema partitionSchema, PartitionSchema partitionSchema2)voidfatalXmlErrorEncountered(SAXParseException e)List<Exception>getExceptions()Returns a list of exceptions that the implementation may maintain.ImportRulesgetImportRules()StringgetJobDirOverride()protected <T extends org.pentaho.di.shared.SharedObjectInterface>
List<T>getSharedObjects(Class<T> clazz)StringgetTransDirOverride()StringgetVersionComment()voidimportAll(RepositoryImportFeedbackInterface feedback, String fileDirectory, String[] filenames, org.pentaho.di.repository.RepositoryDirectoryInterface baseDirectory, boolean overwrite, boolean continueOnError, String versionComment)Import objects from an XML document to a repository.protected booleanimportJob(Node jobnode, RepositoryImportFeedbackInterface feedback)protected booleanimportTransformation(Node transnode, RepositoryImportFeedbackInterface feedback)booleanisAskingOverwriteConfirmation()booleanisCanceled()booleanjobElementRead(String xml, RepositoryImportFeedbackInterface feedback)booleanjobOverwritePrompt(JobMeta jobMeta)protected voidloadSharedObjects()Load the shared objects up front, replace them in the xforms/jobs loaded from XML.protected voidreplaceSharedObjects(JobMeta transMeta)protected voidreplaceSharedObjects(TransMeta transMeta)protected voidsaveJobMeta(JobMeta jobMeta)protected voidsaveTransMeta(TransMeta transMeta)protected voidsetBaseDirectory(org.pentaho.di.repository.RepositoryDirectoryInterface baseDirectory)voidsetImportRules(ImportRules importRules)Set the list of rules that need to be applied to every imported object.voidsetJobDirOverride(String jobDirOverride)Overrides repository directory for all imported jobs.voidsetLabel(String labelText)voidsetLimitDirs(List<String> limitDirs)voidsetOverwrite(boolean overwrite)voidsetTaskName(String taskName)voidsetTransDirOverride(String transDirOverride)Overrides repository directory for all imported transformations.voidshowError(String title, String message, Exception e)voidsubTask(String message)booleantransformationElementRead(String xml, RepositoryImportFeedbackInterface feedback)booleantransOverwritePrompt(TransMeta transMeta)voidupdateDisplay()static voidvalidateImportedElement(ImportRules importRules, Object subject)Validates the repository element that is about to get imported against the list of import rules.voidworked(int nrWorks)
-
-
-
Field Detail
-
IMPORT_ASK_ABOUT_REPLACE_DB
public static final String IMPORT_ASK_ABOUT_REPLACE_DB
- See Also:
- Constant Field Values
-
IMPORT_ASK_ABOUT_REPLACE_SS
public static final String IMPORT_ASK_ABOUT_REPLACE_SS
- See Also:
- Constant Field Values
-
IMPORT_ASK_ABOUT_REPLACE_CS
public static final String IMPORT_ASK_ABOUT_REPLACE_CS
- See Also:
- Constant Field Values
-
IMPORT_ASK_ABOUT_REPLACE_PS
public static final String IMPORT_ASK_ABOUT_REPLACE_PS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RepositoryImporter
public RepositoryImporter(Repository repository)
-
RepositoryImporter
public RepositoryImporter(Repository repository, org.pentaho.di.core.logging.LogChannelInterface log)
-
RepositoryImporter
public RepositoryImporter(Repository repository, ImportRules importRules, List<String> limitDirs)
-
RepositoryImporter
public RepositoryImporter(Repository repository, ImportRules importRules, List<String> limitDirs, org.pentaho.di.core.logging.LogChannelInterface log)
-
-
Method Detail
-
importAll
public void importAll(RepositoryImportFeedbackInterface feedback, String fileDirectory, String[] filenames, org.pentaho.di.repository.RepositoryDirectoryInterface baseDirectory, boolean overwrite, boolean continueOnError, String versionComment)
Description copied from interface:IRepositoryImporterImport objects from an XML document to a repository.- Specified by:
importAllin interfaceIRepositoryImporter- Parameters:
feedback- Required to provide feedback to the user.fileDirectory- Base directory to load files (namedfilenames) fromfilenames- Names of files found infileDirectoryto be imported.baseDirectory- Base directory to load objects into.overwrite- Should objects in the repository be overwritten with ones we're importing?continueOnError- Should the import continue if there is an error importing an object?versionComment- Comment to use when saving imported objects.
-
loadSharedObjects
protected void loadSharedObjects() throws org.pentaho.di.core.exception.KettleExceptionLoad the shared objects up front, replace them in the xforms/jobs loaded from XML. We do this for performance reasons.- Throws:
org.pentaho.di.core.exception.KettleException
-
validateImportedElement
public static void validateImportedElement(ImportRules importRules, Object subject) throws org.pentaho.di.core.exception.KettleException
Validates the repository element that is about to get imported against the list of import rules.- Parameters:
importRules- import rules to validate against.subject-- Throws:
org.pentaho.di.core.exception.KettleException
-
addLog
public void addLog(String line)
- Specified by:
addLogin interfaceRepositoryImportFeedbackInterface
-
setLabel
public void setLabel(String labelText)
- Specified by:
setLabelin interfaceRepositoryImportFeedbackInterface
-
transOverwritePrompt
public boolean transOverwritePrompt(TransMeta transMeta)
- Specified by:
transOverwritePromptin interfaceRepositoryImportFeedbackInterface
-
jobOverwritePrompt
public boolean jobOverwritePrompt(JobMeta jobMeta)
- Specified by:
jobOverwritePromptin interfaceRepositoryImportFeedbackInterface
-
updateDisplay
public void updateDisplay()
- Specified by:
updateDisplayin interfaceRepositoryImportFeedbackInterface
-
showError
public void showError(String title, String message, Exception e)
- Specified by:
showErrorin interfaceRepositoryImportFeedbackInterface
-
getSharedObjects
protected <T extends org.pentaho.di.shared.SharedObjectInterface> List<T> getSharedObjects(Class<T> clazz)
-
equals
protected boolean equals(org.pentaho.di.core.database.DatabaseMeta databaseMeta, org.pentaho.di.core.database.DatabaseMeta databaseMeta2)Adapted from KettleDatabaseRepositoryDatabaseDelegate.saveDatabaseMeta
-
equals
protected boolean equals(SlaveServer slaveServer, SlaveServer slaveServer2)
-
equals
protected boolean equals(PartitionSchema partitionSchema, PartitionSchema partitionSchema2)
-
equals
protected boolean equals(ClusterSchema clusterSchema, ClusterSchema clusterSchema2)
-
replaceSharedObjects
protected void replaceSharedObjects(TransMeta transMeta) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
replaceSharedObjects
protected void replaceSharedObjects(JobMeta transMeta) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
saveTransMeta
protected void saveTransMeta(TransMeta transMeta) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
importTransformation
protected boolean importTransformation(Node transnode, RepositoryImportFeedbackInterface feedback) throws org.pentaho.di.core.exception.KettleException
- Parameters:
transnode- The XML DOM node to read the transformation from- Returns:
- false if the import should be canceled.
- Throws:
org.pentaho.di.core.exception.KettleException- in case there is an unexpected error
-
saveJobMeta
protected void saveJobMeta(JobMeta jobMeta) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
importJob
protected boolean importJob(Node jobnode, RepositoryImportFeedbackInterface feedback) throws org.pentaho.di.core.exception.KettleException
- Throws:
org.pentaho.di.core.exception.KettleException
-
transformationElementRead
public boolean transformationElementRead(String xml, RepositoryImportFeedbackInterface feedback)
- Specified by:
transformationElementReadin interfaceRepositoryElementReadListener
-
jobElementRead
public boolean jobElementRead(String xml, RepositoryImportFeedbackInterface feedback)
- Specified by:
jobElementReadin interfaceRepositoryElementReadListener
-
fatalXmlErrorEncountered
public void fatalXmlErrorEncountered(SAXParseException e)
- Specified by:
fatalXmlErrorEncounteredin interfaceRepositoryElementReadListener
-
askContinueOnErrorQuestion
public boolean askContinueOnErrorQuestion(String title, String message)
- Specified by:
askContinueOnErrorQuestionin interfaceRepositoryImportFeedbackInterface
-
beginTask
public void beginTask(String message, int nrWorks)
- Specified by:
beginTaskin interfaceorg.pentaho.di.core.ProgressMonitorListener
-
done
public void done()
- Specified by:
donein interfaceorg.pentaho.di.core.ProgressMonitorListener
-
isCanceled
public boolean isCanceled()
- Specified by:
isCanceledin interfaceorg.pentaho.di.core.ProgressMonitorListener
-
setTaskName
public void setTaskName(String taskName)
- Specified by:
setTaskNamein interfaceorg.pentaho.di.core.ProgressMonitorListener
-
subTask
public void subTask(String message)
- Specified by:
subTaskin interfaceorg.pentaho.di.core.ProgressMonitorListener
-
worked
public void worked(int nrWorks)
- Specified by:
workedin interfaceorg.pentaho.di.core.ProgressMonitorListener
-
getTransDirOverride
public String getTransDirOverride()
-
setTransDirOverride
public void setTransDirOverride(String transDirOverride)
Description copied from interface:IRepositoryImporterOverrides repository directory for all imported transformations.- Specified by:
setTransDirOverridein interfaceIRepositoryImporter
-
getJobDirOverride
public String getJobDirOverride()
-
setJobDirOverride
public void setJobDirOverride(String jobDirOverride)
Description copied from interface:IRepositoryImporterOverrides repository directory for all imported jobs.- Specified by:
setJobDirOverridein interfaceIRepositoryImporter
-
setImportRules
public void setImportRules(ImportRules importRules)
Description copied from interface:IRepositoryImporterSet the list of rules that need to be applied to every imported object.- Specified by:
setImportRulesin interfaceIRepositoryImporter- Parameters:
importRules- The rules to use during import into the repository
-
getImportRules
public ImportRules getImportRules()
-
isAskingOverwriteConfirmation
public boolean isAskingOverwriteConfirmation()
- Specified by:
isAskingOverwriteConfirmationin interfaceRepositoryImportFeedbackInterface
-
getExceptions
public List<Exception> getExceptions()
Description copied from interface:IRepositoryImporterReturns a list of exceptions that the implementation may maintain.- Specified by:
getExceptionsin interfaceIRepositoryImporter- Returns:
-
setLimitDirs
public void setLimitDirs(List<String> limitDirs)
- Specified by:
setLimitDirsin interfaceCanLimitDirs
-
setBaseDirectory
protected void setBaseDirectory(org.pentaho.di.repository.RepositoryDirectoryInterface baseDirectory)
-
setOverwrite
public void setOverwrite(boolean overwrite)
-
getVersionComment
public String getVersionComment()
-
-