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 RealmPrincipalInfo extends LoginDomainPrincipalInfo { 29 30 static { 31 PropertyEditorManager.registerEditor(RealmPrincipalInfo.class, RealmPrincipalEditor.class); 32 } 33 34 private final String realm; 35 36 public RealmPrincipalInfo(String realm, String domainName, String className, String principalName, boolean designatedRunAs) { 37 super(domainName, className, principalName, designatedRunAs); 38 this.realm = realm; 39 } 40 41 public String getRealm() { 42 return realm; 43 } 44 45 public static class RealmPrincipalEditor extends TextPropertyEditorSupport { 46 47 public void setAsText(String text) { 48 if (text != null) { 49 String [] parts = text.split(","); 50 if (parts.length != 5) { 51 throw new PropertyEditorException("Principal should have the form 'realm,domain,class,name,run-as'"); 52 } 53 RealmPrincipalInfo principal = new RealmPrincipalInfo(parts[0], parts[1], parts[2], parts[3], Boolean.valueOf(parts[4]).booleanValue()); 54 setValue(principal); 55 } else { 56 setValue(null); 57 } 58 } 59 60 public String getAsText() { 61 RealmPrincipalInfo principal = (RealmPrincipalInfo) getValue(); 62 if (principal == null) { 63 return null; 64 } 65 return principal.getRealm() + "," + principal.getDomain() + "," + principal.getClassName() + "," + principal.getPrincipalName() + "," + principal.isDesignatedRunAs(); 67 } 68 } 69 } 70 | Popular Tags |