[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openejb-cvs
Subject:    [openejb-scm] openejb/modules/core/src/java/org/openejb/corba/security/config/css CSSSASITTPrincipal
From:       maguro () codehaus ! org
Date:       2005-04-20 18:43:29
Message-ID: 20050420184329.3583.qmail () codehaus ! org
[Download RAW message or body]

maguro      2005/04/20 14:43:29

  Modified:    modules/core/src/java/org/openejb/corba/security/config/css
                        CSSSASITTPrincipalNameStatic.java
  Log:

  Defer token creation
  
  Revision  Changes    Path
  1.2       +21 -17    \
openejb/modules/core/src/java/org/openejb/corba/security/config/css/CSSSASITTPrincipalNameStatic.java
  
  Index: CSSSASITTPrincipalNameStatic.java
  ===================================================================
  RCS file: /home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/security/config/css/CSSSASITTPrincipalNameStatic.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CSSSASITTPrincipalNameStatic.java	2 Apr 2005 01:28:48 -0000	1.1
  +++ CSSSASITTPrincipalNameStatic.java	20 Apr 2005 18:43:28 -0000	1.2
  @@ -58,7 +58,9 @@
    */
   public class CSSSASITTPrincipalNameStatic implements CSSSASIdentityToken {
   
  -    private final IdentityToken token;
  +    private final String oid;
  +    private final String name;
  +    private transient IdentityToken token;
   
       public CSSSASITTPrincipalNameStatic(String name) {
   
  @@ -66,25 +68,27 @@
       }
   
       public CSSSASITTPrincipalNameStatic(String oid, String name) {
  +        this.oid = (oid == null ? GSSUPMechOID.value.substring(4) : oid);
  +        this.name = name;
  +    }
   
  -        if (oid == null) oid = GSSUPMechOID.value.substring(4);
  +    public IdentityToken encodeIdentityToken() {
   
  -        Any any = Util.getORB().create_any();
  +        if (token == null) {
  +            Any any = Util.getORB().create_any();
   
  -        GSS_NT_ExportedNameHelper.insert(any, Util.encodeGSSExportName(oid, \
name));  +            GSS_NT_ExportedNameHelper.insert(any, \
Util.encodeGSSExportName(oid, name));  
  -        byte[] encoding = null;
  -        try {
  -            encoding = Util.getCodec().encode_value(any);
  -        } catch (InvalidTypeForEncoding itfe) {
  -            throw new IllegalStateException("Unable to encode principal name '" + \
                name + "' " + itfe);
  -        }
  +            byte[] encoding = null;
  +            try {
  +                encoding = Util.getCodec().encode_value(any);
  +            } catch (InvalidTypeForEncoding itfe) {
  +                throw new IllegalStateException("Unable to encode principal name \
'" + name + "' " + itfe);  +            }
   
  -        token = new IdentityToken();
  -        token.principal_name(encoding);
  -    }
  -
  -    public IdentityToken encodeIdentityToken() {
  +            token = new IdentityToken();
  +            token.principal_name(encoding);
  +        }
           return token;
       }
   }
  
  
  


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic