package tundra; // -----( IS Java Code Template v1.2 // -----( CREATED: 2017-05-07 11:30:35 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 com.wm.lang.ns.NSType; import java.util.SortedSet; import permafrost.tundra.data.IDataHelper; import permafrost.tundra.lang.BooleanHelper; import permafrost.tundra.math.IntegerHelper; import permafrost.tundra.server.NodeHelper; // --- <<IS-END-IMPORTS>> --- public final class node { // ---( internal utility methods )--- final static node _instance = new node(); static node _newInstance() { return new node(); } static node _cast(Object o) { return (node)o; } // ---( server methods )--- public static final void access (IData pipeline) throws ServiceException { // --- <<IS-START(access)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $node // [i] record:1:optional $permissions // [i] - field:0:required type {"list","read","write","execute"} // [i] - field:0:optional acl IDataCursor cursor = pipeline.getCursor(); try { String node = IDataHelper.get(cursor, "$node", String.class); IData[] permissions = IDataHelper.get(cursor, "$permissions", IData[].class); NodeHelper.setPermissions(node, permissions); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void exists (IData pipeline) throws ServiceException { // --- <<IS-START(exists)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $node // [o] field:0:required $exists? IDataCursor cursor = pipeline.getCursor(); try { String node = IDataHelper.get(cursor, "$node", String.class); IDataHelper.put(cursor, "$exists?", NodeHelper.exists(node), String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void list (IData pipeline) throws ServiceException { // --- <<IS-START(list)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $interface // [i] field:0:optional $pattern // [i] field:0:optional $type {"service","record","interface","Flat File Schema"} // [i] field:0:optional $recurse? {"false","true"} // [o] field:1:required $nodes // [o] field:0:required $nodes.length IDataCursor cursor = pipeline.getCursor(); try { String parent = IDataHelper.get(cursor, "$interface", String.class); String pattern = IDataHelper.get(cursor, "$pattern", String.class); String type = IDataHelper.get(cursor, "$type", String.class); boolean recurse = IDataHelper.getOrDefault(cursor, "$recurse?", Boolean.class, false); SortedSet<String> set = NodeHelper.list(parent, pattern, type, recurse); IDataHelper.put(cursor, "$nodes", set.toArray(new String[set.size()])); IDataHelper.put(cursor, "$nodes.length", set.size(), String.class); } finally { cursor.destroy(); } // --- <<IS-END>> --- } public static final void type (IData pipeline) throws ServiceException { // --- <<IS-START(type)>> --- // @subtype unknown // @sigtype java 3.5 // [i] field:0:optional $node // [o] field:0:optional $type IDataCursor cursor = pipeline.getCursor(); try { String node = IDataHelper.get(cursor, "$node", String.class); NSType type = NodeHelper.getNodeType(node); if (type != null) IDataHelper.put(cursor, "$type", type.toString()); } finally { cursor.destroy(); } // --- <<IS-END>> --- } }