import copy
+import json
 import os
+import re
 import shutil
 import urllib
 
                 #                     ret_props[key] = self._verify_map(inputs, parsed_params, value)
                 #                     continue
                 #                 ret_props[key] = value
-        return ret_props
\ No newline at end of file
+        return ret_props
+
+    def build_requirements(self, node_template):
+        rets = []
+        for req in node_template.requirements:
+            for req_name, req_value in req.items():
+                if (isinstance(req_value, dict)):
+                    if ('node' in req_value and req_value['node'] not in node_template.templates):
+                        continue  # No target requirement for aria parser, not add to result.
+                rets.append({req_name : req_value})
+        return rets
+
+    def buildCapabilities(self, nodeTemplate, inputs, ret):
+        capabilities = json.dumps(nodeTemplate.entity_tpl.get('capabilities', None))
+        match = re.findall(r'\{"get_input":\s*"([\w|\-]+)"\}',capabilities)
+        for m in match:
+            aa= [input_def for input_def in inputs
+                 if m == input_def.name][0]
+            capabilities = re.sub(r'\{"get_input":\s*"([\w|\-]+)"\}', json.dumps(aa.default), capabilities,1)
+        if capabilities != 'null':
+            ret['capabilities'] = json.loads(capabilities)
\ No newline at end of file
 
             ret['description'] = ''
         props = self.buildProperties(nodeTemplate, parsed_params)
         ret['properties'] = self.verify_properties(props, inputs, parsed_params)
-        # ret['requirements'] = self.build_requirements(nodeTemplate)
-        # self.buildCapabilities(nodeTemplate, inputs, ret)
+        ret['requirements'] = self.build_requirements(nodeTemplate)
+        self.buildCapabilities(nodeTemplate, inputs, ret)
         # self.buildArtifacts(nodeTemplate, inputs, ret)
         # interfaces = self.build_interfaces(nodeTemplate)
         # if interfaces: ret['interfaces'] = interfaces