1 package com.tirsen.nanning.samples.rmi; 2 3 import java.io.Serializable ; 4 import java.util.Collection ; 5 import java.util.Set ; 6 import java.util.Arrays ; 7 import java.util.HashSet ; 8 import java.security.AccessController ; 9 import java.security.Principal ; 10 11 import javax.security.auth.Subject ; 12 13 import com.tirsen.nanning.Aspects; 14 import com.tirsen.nanning.samples.prevayler.CurrentPrevayler; 15 import com.tirsen.nanning.samples.prevayler.MyObject; 16 import com.tirsen.nanning.samples.prevayler.MySystem; 17 import junit.framework.Assert; 18 19 public class MyStatelessServiceImpl implements MyStatelessService, Serializable { 20 public void createObject(String attributeValue) { 21 MyObject myObject = (MyObject) Aspects.getCurrentAspectFactory().newInstance(MyObject.class); 22 ((MySystem) CurrentPrevayler.getSystem()).setMyObject(myObject); 23 myObject.setValue(attributeValue); 24 } 25 26 public MyObject getMyObject() { 27 return ((MySystem)CurrentPrevayler.getSystem()).getMyObject(); 28 } 29 30 public Collection getAllObjects() { 31 return ((MySystem)CurrentPrevayler.getSystem()).getAllObjects(); 32 } 33 34 public void authenticatedCall(String expectedUserName) { 35 Subject subject = Subject.getSubject(AccessController.getContext()); 36 Assert.assertNotNull(subject); 37 Set principals = subject.getPrincipals(MyPrincipal.class); 38 Assert.assertEquals(1, principals.size()); 39 MyPrincipal principal = (MyPrincipal) principals.iterator().next(); 40 Assert.assertEquals(expectedUserName, principal.getName()); 41 } 42 } 43 | Popular Tags |