Replacing remove with Remove and update with Update
[sfa.git] / sfa / methods / Update.py
index dcc5c70..de9dbb0 100644 (file)
@@ -8,7 +8,7 @@ from sfa.util.parameter import Parameter, Mixed
 from sfa.util.debug import log
 from sfa.trust.credential import Credential
 
 from sfa.util.debug import log
 from sfa.trust.credential import Credential
 
-class update(Method):
+class Update(Method):
     """
     Update an object in the registry. Currently, this only updates the
     PLC information associated with the record. The SFA fields (name, type,
     """
     Update an object in the registry. Currently, this only updates the
     PLC information associated with the record. The SFA fields (name, type,
@@ -31,21 +31,13 @@ class update(Method):
 
     returns = Parameter(int, "1 if successful")
     
 
     returns = Parameter(int, "1 if successful")
     
-    def call(self, cred, record_dict, origin_hrn=None):
-        user_cred = Credential(string=cred)
-    
-           #log the call
-        if not origin_hrn:
-            origin_hrn = user_cred.get_gid_caller().get_hrn()
-        self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, None, self.name))
-        
+    def call(self, record_dict, creds):
         # validate the cred
         # validate the cred
-        self.api.auth.check(cred, "update")
-        
-        # send the call to the right manager
-        manager_base = 'sfa.managers'
-        mgr_type = self.api.config.SFA_REGISTRY_TYPE
-        manager_module = manager_base + ".registry_manager_%s" % mgr_type
-        manager = __import__(manager_module, fromlist=[manager_base])
+        valid_creds = self.api.auth.checkCredentials(creds, "update")
+        origin_hrn = Credential(string=valid_creds[0]).get_gid_caller().get_hrn()
+        self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, None, self.name))
+       
+        manager = self.api.get_interface_manager()
         return manager.update(self.api, record_dict)
 
         return manager.update(self.api, record_dict)