| 1 17 package org.apache.geronimo.security.deploy; 18 19 import java.beans.PropertyEditorManager ; 20 21 import org.apache.geronimo.common.propertyeditor.PropertyEditorException; 22 import org.apache.geronimo.common.propertyeditor.TextPropertyEditorSupport; 23 24 25 28 public class LoginDomainPrincipalInfo extends PrincipalInfo { 29 30 static { 31 PropertyEditorManager.registerEditor(LoginDomainPrincipalInfo.class, LoginDomainPrincipalEditor.class); 32 } 33 34 public LoginDomainPrincipalInfo(String domainName, String className, String principalName, boolean designatedRunAs) { 35 super(className, principalName, designatedRunAs); 36 this.domainName = domainName; 37 } 38 39 private final String domainName; 40 41 public String getDomain() { 42 return domainName; 43 } 44 45 public static class LoginDomainPrincipalEditor extends TextPropertyEditorSupport { 46 47 public void setAsText(String text) { 48 if (text != null) { 49 String [] parts = text.split(","); 50 if (parts.length != 4) { 51 throw new PropertyEditorException("Principal should have the form 'domain,class,name,run-as'"); 52 } 53 LoginDomainPrincipalInfo principal = new LoginDomainPrincipalInfo(parts[0], parts[1], parts[2], Boolean.valueOf(parts[3]).booleanValue()); 54 setValue(principal); 55 } else { 56 setValue(null); 57 } 58 } 59 60 public String getAsText() { 61 LoginDomainPrincipalInfo principal = (LoginDomainPrincipalInfo) getValue(); 62 if (principal == null) { 63 return null; 64 } 65 return principal.getPrincipalName() + "," + principal.getClassName() + "," + principal.isDesignatedRunAs() + "," + principal.getDomain(); 66 } 67 } 68 } 69 | Popular Tags |