KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > tirsen > nanning > samples > rmi > MyStatelessServiceImpl


1 package com.tirsen.nanning.samples.rmi;
2
3 import java.io.Serializable JavaDoc;
4 import java.util.Collection JavaDoc;
5 import java.util.Set JavaDoc;
6 import java.util.Arrays JavaDoc;
7 import java.util.HashSet JavaDoc;
8 import java.security.AccessController JavaDoc;
9 import java.security.Principal JavaDoc;
10
11 import javax.security.auth.Subject JavaDoc;
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 JavaDoc {
20     public void createObject(String JavaDoc 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 JavaDoc getAllObjects() {
31         return ((MySystem)CurrentPrevayler.getSystem()).getAllObjects();
32     }
33
34     public void authenticatedCall(String JavaDoc expectedUserName) {
35         Subject JavaDoc subject = Subject.getSubject(AccessController.getContext());
36         Assert.assertNotNull(subject);
37         Set JavaDoc 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