avoid as much as possible accessing logger through class instances, whenever that...
[sfa.git] / sfa / methods / GetCredential.py
index b645cd4..9e83f45 100644 (file)
@@ -1,8 +1,12 @@
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
 from sfa.util.xrn import urn_to_hrn
 from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
+from sfa.util.sfalogging import logger
+
 from sfa.trust.credential import Credential
 
 from sfa.trust.credential import Credential
 
+from sfa.storage.parameter import Parameter, Mixed
+
+
 class GetCredential(Method):
     """
     Retrive a credential for an object
 class GetCredential(Method):
     """
     Retrive a credential for an object
@@ -12,23 +16,23 @@ class GetCredential(Method):
     @param cred credential object specifying rights of the caller
     @param type type of object (user | slice | node | authority )
 
     @param cred credential object specifying rights of the caller
     @param type type of object (user | slice | node | authority )
 
-    @return the string representation of a credential object  
+    @return the string representation of a credential object
     """
 
     interfaces = ['registry']
     """
 
     interfaces = ['registry']
-    
+
     accepts = [
         Mixed(Parameter(str, "Credential string"),
     accepts = [
         Mixed(Parameter(str, "Credential string"),
-              Parameter(type([str]), "List of credentials")), 
+              Parameter(type([str]), "List of credentials")),
         Parameter(str, "Human readable name (hrn or urn)"),
         Mixed(Parameter(str, "Record type"),
               Parameter(None, "Type not specified")),
         Parameter(str, "Human readable name (hrn or urn)"),
         Mixed(Parameter(str, "Record type"),
               Parameter(None, "Type not specified")),
-        ]
+    ]
 
     returns = Parameter(str, "String representation of a credential object")
 
     def call(self, creds, xrn, type):
 
     returns = Parameter(str, "String representation of a credential object")
 
     def call(self, creds, xrn, type):
-    
+
         if type:
             hrn = urn_to_hrn(xrn)[0]
         else:
         if type:
             hrn = urn_to_hrn(xrn)[0]
         else:
@@ -38,9 +42,10 @@ class GetCredential(Method):
         valid_creds = self.api.auth.checkCredentials(creds, 'getcredential')
         self.api.auth.verify_object_belongs_to_me(hrn)
 
         valid_creds = self.api.auth.checkCredentials(creds, 'getcredential')
         self.api.auth.verify_object_belongs_to_me(hrn)
 
-        #log the call
-        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, hrn, self.name))        
-
-        return self.api.manager.get_credential(self.api, xrn, type)
+        # log the call
+        origin_hrn = Credential(
+            string=valid_creds[0]).get_gid_caller().get_hrn()
+        logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s" %
+                    (self.api.interface, origin_hrn, hrn, self.name))
 
 
+        return self.api.manager.GetCredential(self.api, xrn, type, self.api.auth.client_gid.get_urn())