01: /*
02: * Created on January 12, 2004
03: *
04: * ActivationSpecImpl.java is used to test JCA 1.5
05: * as implemented by JOnAS. This class implements the ActivationSpec Interface
06: *
07: * An ActivationSpec JavaBean represents inbound connectivity information from
08: * an EIS instance
09: */
10: package ersatz.resourceadapter;
11:
12: import javax.resource.ResourceException;
13: import javax.resource.spi.ResourceAdapter;
14: import javax.resource.spi.ActivationSpec;
15:
16: // ActivationSpec interface extends ResourceAdapterAssociation interface.
17:
18: public class ActivationSpecImpl implements ActivationSpec,
19: java.io.Serializable {
20: private transient ResourceAdapter ra = null; // loaded by Application Server
21: private boolean raLoaded;
22: private String messageObjectType;
23: String cName = "ActivationSpecImpl";
24: ResourceAdapterImpl rai;
25:
26: public ActivationSpecImpl() {
27: Utility.log(cName + ".constructor");
28: }
29:
30: public void validate()
31: throws javax.resource.spi.InvalidPropertyException {
32: Utility.log(cName + ".validate. eis=" + rai.EIS_URL);
33: }
34:
35: public ResourceAdapter getResourceAdapter() {
36: return ra;
37: }
38:
39: /** Set the ResourceAdapter association.
40: *
41: * @param ra ResourceAdapter passed in by Application Server (JOnAS)
42: * @exception javax.resource.ResourceException
43: **/
44: public void setResourceAdapter(ResourceAdapter ra)
45: throws ResourceException {
46: Utility.log(cName + ".setResourceAdapter arg=" + ra);
47: rai = (ResourceAdapterImpl) ra;
48: if (ra == null) {
49: String s = "Application Server cannot set ResourceAdapter to null";
50: Utility.log(cName + ".setResourceAdapter error: " + s);
51: throw new ResourceException(s);
52: }
53: if (this .ra == null) {
54: this .ra = ra;
55: } else if (this .ra != ra) {
56: String s = "ResourceAdapter already set to " + this .ra
57: + ". Must not change association";
58: Utility.log(cName + ".setResourceAdapter error: " + s);
59: throw new ResourceException(s);
60: }
61: }
62:
63: // test "setter" methods in Message Driven Bean MessageTakerMD.java
64: // as specified in deployment descriptor
65: //
66: public void setFormat(String f) {
67: messageObjectType = f; // f="String"
68: }
69:
70: public String getFormat() {
71: return messageObjectType;
72: }
73: // TODO ...other methods
74: }
|