Skip to content

Commit

Permalink
Add more logs to trace file being loaded
Browse files Browse the repository at this point in the history
  • Loading branch information
zhicwu committed Sep 20, 2017
1 parent 949a3ee commit d7320e6
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 73 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1217,62 +1217,65 @@ public JobMeta getJobMeta(Repository rep, VariableSpace space) throws KettleExce

public JobMeta getJobMeta(Repository rep, IMetaStore metaStore, VariableSpace space) throws KettleException {
JobMeta jobMeta = null;
String realFileName = null;
try {
CurrentDirectoryResolver r = new CurrentDirectoryResolver();
VariableSpace tmpSpace = r.resolveCurrentDirectory(
specificationMethod, space, rep, parentJob, getFilename());
switch (specificationMethod) {
case FILENAME:
String realFilename = ResourceDefinitionHelper.normalizeFileName(
realFileName = ResourceDefinitionHelper.normalizeFileName(
tmpSpace.environmentSubstitute(getFilename()), r);

if (rep != null) {
String dirStr = ResourceDefinitionHelper.extractDirectory(realFilename);
String tmpFilename = ResourceDefinitionHelper.extractFileName(realFilename, false);
String dirStr = ResourceDefinitionHelper.extractDirectory(realFileName);
String tmpFilename = ResourceDefinitionHelper.extractFileName(realFileName, false);

try {
RepositoryDirectoryInterface dir = rep.findDirectory(dirStr);
// jobMeta = rep.loadJob(tmpFilename, dir, null, null);
jobMeta = ResourceDefinitionHelper.loadJob(rep, dir, tmpFilename);
if (dir != null) {
logBasic("Loading job [" + realFileName + "] from repository...");
jobMeta = ResourceDefinitionHelper.loadJob(rep, dir, tmpFilename);
}
} catch (KettleException ke) {
logBasic("Unable to load job [" + realFileName + "] from repository", ke);
// fall back to try loading from file system (mappingJobMeta is going to be null)
}
}

if (jobMeta == null && ResourceDefinitionHelper.fileExists(realFilename)) {
logBasic("Loading job from [" + realFilename + "]");
jobMeta = new JobMeta(tmpSpace, realFilename, rep, metaStore, null);
if (jobMeta == null && ResourceDefinitionHelper.fileExists(realFileName)) {
logBasic("Loading job from [" + realFileName + "]...");
jobMeta = new JobMeta(tmpSpace, realFileName, rep, metaStore, null);
}
break;
case REPOSITORY_BY_NAME:
String realDirectory = ResourceDefinitionHelper.normalizeFileName(
tmpSpace.environmentSubstitute(getDirectory()), r);
String realJobName = tmpSpace.environmentSubstitute(getJobName());
String filename = realDirectory + '/' + realJobName;
realFileName = realDirectory + '/' + realJobName;

if (rep != null) {
RepositoryDirectoryInterface repositoryDirectory =
rep.loadRepositoryDirectoryTree().findDirectory(realDirectory);
if (repositoryDirectory != null) {
logBasic("Loading job from [" + filename + "]");
logBasic("Loading job [" + realFileName + "] from repository...");
jobMeta = rep.loadJob(realJobName, repositoryDirectory, null, null); // reads
}
}

if (jobMeta == null) {
if (jobMeta == null && !ResourceDefinitionHelper.containsVariable(realFileName)) {
// rep is null, let's try loading by filename
try {
logBasic("Loading job from [" + filename + "]");
jobMeta = new JobMeta(tmpSpace, filename, rep, metaStore, null);
logBasic("Loading job [" + realFileName + "]...");
jobMeta = new JobMeta(tmpSpace, realFileName, rep, metaStore, null);
} catch (KettleException ke) {
String ext = "." + Const.STRING_JOB_DEFAULT_EXT;
try {
// add .kjb extension and try again
logBasic("Try again by loading job [" + filename + "] with .kjb extension");
jobMeta = new JobMeta(tmpSpace,
filename + "." + Const.STRING_JOB_DEFAULT_EXT, rep, metaStore, null);
logBasic("Try again by loading job [" + realFileName + "] with " + ext + " extension");
jobMeta = new JobMeta(tmpSpace, realFileName + ext, rep, metaStore, null);
} catch (KettleException ke2) {
ke2.printStackTrace();
throw new KettleException(
"Could not execute job specified in a repository since we're not connected to one");
throw new KettleException("Failed to load job [" + realFileName + "]", ke2);
}
}
}
Expand All @@ -1281,6 +1284,8 @@ public JobMeta getJobMeta(Repository rep, IMetaStore metaStore, VariableSpace sp
if (rep != null) {
// Load the last version...
//
realFileName = String.valueOf(jobObjectId);

jobMeta = rep.loadJob(jobObjectId, null);
break;
} else {
Expand All @@ -1295,6 +1300,8 @@ public JobMeta getJobMeta(Repository rep, IMetaStore metaStore, VariableSpace sp
if (jobMeta != null) {
jobMeta.setRepository(rep);
jobMeta.setMetaStore(metaStore);
} else {
logBasic("Defer job loading for [" + realFileName + "]");
}

return jobMeta;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1243,37 +1243,40 @@ public TransMeta getTransMeta(Repository rep, VariableSpace space) throws Kettle
public TransMeta getTransMeta(Repository rep, IMetaStore metaStore, VariableSpace space) throws KettleException {
try {
TransMeta transMeta = null;
String realFileName = null;
CurrentDirectoryResolver r = new CurrentDirectoryResolver();
VariableSpace tmpSpace = r.resolveCurrentDirectory(
specificationMethod, space, rep, parentJob, getFilename());
switch (specificationMethod) {
case FILENAME:
String realFilename = tmpSpace.environmentSubstitute(getFilename());
realFileName = ResourceDefinitionHelper.normalizeFileName(
tmpSpace.environmentSubstitute(getFilename()), r);
if (rep != null) {
realFilename = ResourceDefinitionHelper.normalizeFileName(realFilename, r);

String dirStr = ResourceDefinitionHelper.extractDirectory(realFilename);
String tmpFilename = ResourceDefinitionHelper.extractFileName(realFilename, false);
String dirStr = ResourceDefinitionHelper.extractDirectory(realFileName);
String tmpFilename = ResourceDefinitionHelper.extractFileName(realFileName, false);

// need to try to load from the repository
try {
RepositoryDirectoryInterface dir = rep.findDirectory(dirStr);
// transMeta = rep.loadTransformation(tmpFilename, dir, null, true, null);
transMeta = ResourceDefinitionHelper.loadTransformation(rep, dir, tmpFilename);
if (dir != null) {
logBasic("Loading transformation [" + realFileName + "] from repository...");
transMeta = ResourceDefinitionHelper.loadTransformation(rep, dir, tmpFilename);
}
} catch (KettleException ke) {
logBasic("Unable to load transformation [" + realFileName + "] from repository", ke);
// fall back to try loading from file system (transMeta is going to be null)
}
}
if (transMeta == null && ResourceDefinitionHelper.fileExists(realFilename)) {
logBasic("Loading transformation from [" + realFilename + "]");
transMeta = new TransMeta(realFilename, metaStore, rep, true, tmpSpace, null);
if (transMeta == null && ResourceDefinitionHelper.fileExists(realFileName)) {
logBasic("Loading transformation from [" + realFileName + "]");
transMeta = new TransMeta(realFileName, metaStore, rep, true, tmpSpace, null);
}
break;
case REPOSITORY_BY_NAME:
String realDirectory = ResourceDefinitionHelper.normalizeFileName(
tmpSpace.environmentSubstitute(getDirectory()), r);
String realTransName = tmpSpace.environmentSubstitute(getTransname());
String filename = realDirectory + '/' + realTransName;
realFileName = realDirectory + '/' + realTransName;

logBasic(BaseMessages.getString(PKG, "JobTrans.Log.LoadingTransRepDirec", realTransName, realDirectory));

Expand All @@ -1286,21 +1289,22 @@ public TransMeta getTransMeta(Repository rep, IMetaStore metaStore, VariableSpac
//
RepositoryDirectoryInterface repositoryDirectory = rep.findDirectory(realDirectory);
if (repositoryDirectory != null) {
logBasic("Loading transformation from [" + filename + "]");
logBasic("Loading transformation [" + realFileName + "] from repository...");
transMeta = rep.loadTransformation(realTransName, repositoryDirectory, null, true, null);
}
}

if (transMeta == null) {
if (transMeta == null && !ResourceDefinitionHelper.containsVariable(realFileName)) {
// rep is null, let's try loading by filename
try {
logBasic("Loading transformation from [" + filename + "]");
transMeta = new TransMeta(filename, metaStore, null, true, this, null);
logBasic("Loading transformation [" + realFileName + "]...");
transMeta = new TransMeta(realFileName, metaStore, null, true, this, null);
} catch (KettleException ke) {
String ext = "." + Const.STRING_TRANS_DEFAULT_EXT;
try {
// add .ktr extension and try again
logBasic("Try again by loading transformation [" + filename + "] with .ktr extension");
transMeta = new TransMeta(filename + "." + Const.STRING_TRANS_DEFAULT_EXT,
logBasic("Try again by loading transformation [" + realFileName + "] with " + ext + " extension");
transMeta = new TransMeta(realFileName + ext,
metaStore, null, true, this, null);
} catch (KettleException ke2) {
throw new KettleException(BaseMessages.getString(PKG, "JobTrans.Exception.NoRepDefined"), ke2);
Expand All @@ -1314,6 +1318,8 @@ public TransMeta getTransMeta(Repository rep, IMetaStore metaStore, VariableSpac
"JobTrans.Exception.ReferencedTransformationIdIsNull"));
}

realFileName = String.valueOf(transObjectId);

if (rep != null) {
// Load the last revision
//
Expand All @@ -1337,6 +1343,8 @@ public TransMeta getTransMeta(Repository rep, IMetaStore metaStore, VariableSpac
//
transMeta.setRepository(rep);
transMeta.setMetaStore(metaStore);
} else {
logBasic("Defer transformation loading for [" + realFileName + "]");
}

return transMeta;
Expand Down
Loading

0 comments on commit d7320e6

Please sign in to comment.