use of org.apache.oozie.util.ELEvaluator in project oozie by apache.
the class CoordELFunctions method ph2_coord_nominalTime.
/**
* Return nominal time or Action Creation Time.
*
* @return coordinator action creation or materialization date time
* @throws Exception if unable to format the Date object to String
*/
public static String ph2_coord_nominalTime() throws Exception {
ELEvaluator eval = ELEvaluator.getCurrent();
SyncCoordAction action = ParamChecker.notNull((SyncCoordAction) eval.getVariable(COORD_ACTION), "Coordinator Action");
return DateUtils.formatDateOozieTZ(action.getNominalTime());
}
use of org.apache.oozie.util.ELEvaluator in project oozie by apache.
the class CoordELFunctions method isSyncDataSet.
/**
* @return whether a data set is SYNCH or ASYNC
*/
private static boolean isSyncDataSet() {
ELEvaluator eval = ELEvaluator.getCurrent();
SyncCoordDataset ds = (SyncCoordDataset) eval.getVariable(DATASET);
if (ds == null) {
throw new RuntimeException("Associated Dataset should be defined with key " + DATASET);
}
return ds.getType().equalsIgnoreCase("SYNC");
}
use of org.apache.oozie.util.ELEvaluator in project oozie by apache.
the class CoordInputLogicEvaluatorUtil method getInputDependencies.
/**
* Get input dependencies.
*
* @param name the name
* @param syncCoordAction the sync coord action
* @return the string
* @throws JDOMException the JDOM exception
*/
public String getInputDependencies(String name, SyncCoordAction syncCoordAction) throws JDOMException {
JexlEngine jexl = new OozieJexlEngine();
CoordinatorActionBean coordAction = new CoordinatorActionBean();
ELEvaluator eval = ELEvaluator.getCurrent();
coordAction.setId(syncCoordAction.getActionId());
Element eJob = XmlUtils.parseXml(eval.getVariable(".actionInputLogic").toString());
String expression = new InputLogicParser().parseWithName(eJob, name);
Expression e = jexl.createExpression(expression);
CoordPullInputDependency pull = (CoordPullInputDependency) syncCoordAction.getPullDependencies();
CoordPushInputDependency push = (CoordPushInputDependency) syncCoordAction.getPushDependencies();
coordAction.setPushInputDependencies(push);
coordAction.setPullInputDependencies(pull);
JexlContext jc = new OozieJexlParser(jexl, new CoordInputLogicBuilder(new CoordInputLogicEvaluatorPhaseThree(coordAction, eval)));
CoordInputLogicEvaluatorResult result = (CoordInputLogicEvaluatorResult) e.evaluate(jc);
if (result == null || !result.isTrue()) {
log.debug("Input logic expression for [{0}] is [{1}] and it is not resolved", name, expression);
return "${coord:dataIn('" + name + "')}";
} else {
log.debug("Input logic expression for [{0}] is [{1}] and evaluate result is [{2}]", name, expression, result.getStatus());
return result.getDataSets();
}
}
use of org.apache.oozie.util.ELEvaluator in project oozie by apache.
the class HCatELFunctions method echoUnResolvedPre.
private static String echoUnResolvedPre(String functionName, String n, String prefix) {
ELEvaluator eval = ELEvaluator.getCurrent();
eval.setVariable(".wrap", "true");
// Unresolved
return prefix + functionName + "(" + n + ")";
}
use of org.apache.oozie.util.ELEvaluator in project oozie by apache.
the class HCatELFunctions method isValidDataEvent.
private static boolean isValidDataEvent(String dataInName) {
ELEvaluator eval = ELEvaluator.getCurrent();
String val = (String) eval.getVariable("oozie.dataname." + dataInName);
if (val == null || (val.equals("data-in") == false && val.equals("data-out") == false)) {
XLog.getLog(HCatELFunctions.class).error("dataset name " + dataInName + " is not valid. val :" + val);
throw new RuntimeException("data set name " + dataInName + " is not valid");
}
return true;
}
Aggregations