package tundra; // -----( IS Java Code Template v1.2 // -----( CREATED: 2017-05-06 15:01:20 EST // -----( ON-HOST: 192.168.66.129 import com.wm.data.*; import com.wm.util.Values; import com.wm.app.b2b.server.Service; import com.wm.app.b2b.server.ServiceException; // --- <<IS-START-IMPORTS>> --- import permafrost.tundra.data.IDataHelper; import permafrost.tundra.flow.ConditionEvaluator; import permafrost.tundra.lang.BooleanHelper; import permafrost.tundra.xml.namespace.IDataNamespaceContext; // --- <<IS-END-IMPORTS>> --- public final class condition { // ---( internal utility methods )--- final static condition _instance = new condition(); static condition _newInstance() { return new condition(); } static condition _cast(Object o) { return (condition)o; } // ---( server methods )--- public static final void choose (IData pipeline) throws ServiceException { // --- <<IS-START(choose)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $condition // [i] record:0:optional $scope // [i] record:0:optional $namespace // [i] - field:0:optional default // [i] object:0:optional $result.true // [i] object:0:optional $result.false // [o] object:0:optional $result IDataCursor cursor = pipeline.getCursor(); try { String condition = IDataHelper.get(cursor, "$condition", String.class); IData scope = IDataHelper.get(cursor, "$scope", IData.class); IDataNamespaceContext namespace = IDataHelper.get(cursor, "$namespace", IDataNamespaceContext.class); Object trueResult = IDataHelper.get(cursor, "$result.true"); Object falseResult = IDataHelper.get(cursor, "$result.false"); if (trueResult != null || falseResult != null) { boolean result = ConditionEvaluator.evaluate(condition, scope == null? pipeline : scope, namespace); IDataHelper.put(cursor, "$result", result ? trueResult : falseResult, false); } } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void evaluate (IData pipeline) throws ServiceException { // --- <<IS-START(evaluate)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $condition // [i] record:0:optional $scope // [i] record:0:optional $namespace // [i] - field:0:optional default // [o] field:0:required $result? IDataCursor cursor = pipeline.getCursor(); try { String condition = IDataHelper.get(cursor, "$condition", String.class); IData scope = IDataHelper.get(cursor, "$scope", IData.class); IDataNamespaceContext namespace = IDataHelper.get(cursor, "$namespace", IDataNamespaceContext.class); IDataHelper.put(cursor, "$result?", ConditionEvaluator.evaluate(condition, scope == null? pipeline : scope, namespace), String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } }