in core/src/main/java/org/apache/oozie/service/ShareLibService.java [786:886]
public void instrument(Instrumentation instr) {
instr.addVariable("libs", "sharelib.source", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
if (!StringUtils.isEmpty(sharelibMappingFile.trim())) {
return SHARELIB_MAPPING_FILE;
}
return WorkflowAppService.SYSTEM_LIB_PATH;
}
});
instr.addVariable("libs", "sharelib.mapping.file", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
if (!StringUtils.isEmpty(sharelibMappingFile.trim())) {
return sharelibMappingFile;
}
return "(none)";
}
});
instr.addVariable("libs", "sharelib.system.libpath", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
String sharelibPath = "(unavailable)";
try {
Path libPath = getLatestLibPath(services.get(WorkflowAppService.class).getSystemLibPath(),
SHARE_LIB_PREFIX);
if (libPath != null) {
sharelibPath = libPath.toUri().toString();
}
}
catch (IOException ioe) {
// ignore exception because we're just doing instrumentation
}
return sharelibPath;
}
});
instr.addVariable("libs", "sharelib.mapping.file.timestamp", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
if (!StringUtils.isEmpty(sharelibMetaFileOldTimeStamp)) {
return sharelibMetaFileOldTimeStamp;
}
return "(none)";
}
});
instr.addVariable("libs", "sharelib.keys", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
Map<String, List<Path>> shareLib = getShareLib();
if (shareLib != null && !shareLib.isEmpty()) {
Set<String> keySet = shareLib.keySet();
return keySet.toString();
}
return "(unavailable)";
}
});
instr.addVariable("libs", "launcherlib.system.libpath", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
return getLauncherlibPath().toUri().toString();
}
});
instr.addVariable("libs", "sharelib.symlink.mapping", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
Map<String, Map<Path, Path>> shareLibSymlinkMapping = getSymlinkMapping();
if (shareLibSymlinkMapping != null && !shareLibSymlinkMapping.isEmpty()
&& shareLibSymlinkMapping.values() != null && !shareLibSymlinkMapping.values().isEmpty()) {
StringBuilder bf = new StringBuilder();
for (Entry<String, Map<Path, Path>> entry : shareLibSymlinkMapping.entrySet()) {
if (entry.getKey() != null && !entry.getValue().isEmpty()) {
for (Path path : entry.getValue().keySet()) {
bf.append(path).append("(").append(entry.getKey()).append(")").append("=>")
.append(shareLibSymlinkMapping.get(entry.getKey()) != null ? shareLibSymlinkMapping
.get(entry.getKey()).get(path) : "").append(",");
}
}
}
return bf.toString();
}
return "(none)";
}
});
instr.addVariable("libs", "sharelib.cached.config.file", new Instrumentation.Variable<String>() {
@Override
public String getValue() {
Map<String, Map<Path, Configuration>> shareLibConfigMap = getShareLibConfigMap();
if (shareLibConfigMap != null && !shareLibConfigMap.isEmpty()) {
StringBuilder bf = new StringBuilder();
for (String path : shareLibConfigMap.keySet()) {
bf.append(path).append(";");
}
return bf.toString();
}
return "(none)";
}
});
}