From 1cc10fee55cf95760ade2f6e4dd570d7dd60d969 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 6 Aug 2010 21:43:22 +0000 Subject: [PATCH] Replacing register with Register --- sfa/methods/Register.py | 24 ++++++++++-------------- sfa/methods/register.py | 29 +++++------------------------ 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/sfa/methods/Register.py b/sfa/methods/Register.py index 00560f77..4f5a452c 100644 --- a/sfa/methods/Register.py +++ b/sfa/methods/Register.py @@ -12,7 +12,7 @@ from sfa.trust.auth import Auth from sfa.trust.gid import create_uuid from sfa.trust.credential import Credential -class register(Method): +class Register(Method): """ Register an object with the registry. In addition to being stored in the SFA database, the appropriate records will also be created in the @@ -27,29 +27,25 @@ class register(Method): interfaces = ['registry'] accepts = [ - Parameter(str, "Credential string"), - Parameter(dict, "Record dictionary containing record fields") + Parameter(dict, "Record dictionary containing record fields"), + Mixed(Parameter(str, "Credential string"), + Parameter(type([str]), "List of credentials")), ] returns = Parameter(int, "String representation of gid object") - def call(self, cred, record, origin_hrn=None): - user_cred = Credential(string=cred) + def call(self, record, creds): + + valid_creds = self.api.auth.checkCredentials(creds, 'register') #log the call - if not origin_hrn: - origin_hrn = user_cred.get_gid_caller().get_hrn() + origin_hrn = Credential(string=valid_creds[0]).get_gid_caller().get_hrn() + hrn = None if 'hrn' in record: hrn = record['hrn'] self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, hrn, self.name)) - # validate the cred - self.api.auth.check(cred, "register") + manager = self.api.get_interface_manager() - #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]) return manager.register(self.api, record) diff --git a/sfa/methods/register.py b/sfa/methods/register.py index 1e3e24a6..494b969c 100644 --- a/sfa/methods/register.py +++ b/sfa/methods/register.py @@ -6,14 +6,12 @@ from sfa.trust.gid import * from sfa.util.faults import * from sfa.util.method import Method from sfa.util.parameter import Parameter, Mixed -from sfa.util.record import SfaRecord -from sfa.util.debug import log -from sfa.trust.auth import Auth -from sfa.trust.gid import create_uuid -from sfa.trust.credential import Credential +from sfa.methods.Register import Register -class register(Method): +class register(Register): """ + Deprecated. Used Register instead. + Register an object with the registry. In addition to being stored in the SFA database, the appropriate records will also be created in the PLC databases @@ -34,22 +32,5 @@ class register(Method): returns = Parameter(int, "String representation of gid object") def call(self, cred, record, origin_hrn=None): - user_cred = Credential(string=cred) - - #log the call - if not origin_hrn: - origin_hrn = user_cred.get_gid_caller().get_hrn() - hrn = None - if 'hrn' in record: - hrn = record['hrn'] - self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, hrn, self.name)) - # validate the cred - self.api.auth.check(cred, "register") - - #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]) - return manager.register(self.api, record) + return Register.call(self, record, cred) -- 2.43.0