Author: rfeng
Date: Thu Dec 4 16:27:12 2008
New Revision: 723508
URL: http://svn.apache.org/viewvc?rev=723508&view=rev
Log:
Refine the CallableReferenceExt
Modified:
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceExt.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/impl/ConversationManagerImpl.java
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
Modified:
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceExt.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceExt.java?rev=723508&r1=723507&r2=723508&view=diff
==============================================================================
---
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceExt.java
(original)
+++
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceExt.java
Thu Dec 4 16:27:12 2008
@@ -25,32 +25,28 @@
import javax.xml.stream.XMLStreamReader;
import org.apache.tuscany.sca.core.conversation.ConversationExt;
-import org.apache.tuscany.sca.core.factory.ObjectCreationException;
import org.apache.tuscany.sca.runtime.EndpointReference;
import org.apache.tuscany.sca.runtime.RuntimeWire;
import org.osoa.sca.CallableReference;
-import org.osoa.sca.Conversation;
/**
* Extended version of CallableReference
*/
public interface CallableReferenceExt<B> extends CallableReference<B>,
Externalizable {
+ /**
+ * @return
+ */
RuntimeWire getRuntimeWire();
- B getProxy() throws ObjectCreationException;
-
- B getService();
-
- Class<B> getBusinessInterface();
-
- boolean isConversational();
-
- Conversation getConversation();
-
- Object getCallbackID();
-
+ /**
+ * @return
+ * @throws IOException
+ */
String toXMLString() throws IOException;
+ /**
+ * @param callbackID
+ */
void attachCallbackID(Object callbackID);
void attachConversationID(Object conversationID);
@@ -59,8 +55,14 @@
void attachConversation(Object conversationID);
+ /**
+ * @return
+ */
EndpointReference getEndpointReference();
+ /**
+ * @return
+ */
XMLStreamReader getXMLReader();
}
Modified:
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java?rev=723508&r1=723507&r2=723508&view=diff
==============================================================================
---
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
(original)
+++
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/impl/RequestContextImpl.java
Thu Dec 4 16:27:12 2008
@@ -23,6 +23,7 @@
import javax.security.auth.Subject;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.context.CallableReferenceExt;
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
import org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint;
import org.apache.tuscany.sca.core.invocation.ThreadMessageContext;
@@ -75,8 +76,8 @@
CallableReference<B> callableReference =
component.getComponentContext().getCallableReference(null, component, service);
ReferenceParameters parameters =
msgContext.getFrom().getReferenceParameters();
- ((CallableReferenceImpl<B>)
callableReference).attachCallbackID(parameters.getCallbackID());
- ((CallableReferenceImpl<B>)
callableReference).attachConversation(parameters.getConversationID());
+ ((CallableReferenceExt<B>)
callableReference).attachCallbackID(parameters.getCallbackID());
+ ((CallableReferenceExt<B>)
callableReference).attachConversation(parameters.getConversationID());
return callableReference;
}
Modified:
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/impl/ConversationManagerImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/impl/ConversationManagerImpl.java?rev=723508&r1=723507&r2=723508&view=diff
==============================================================================
---
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/impl/ConversationManagerImpl.java
(original)
+++
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/impl/ConversationManagerImpl.java
Thu Dec 4 16:27:12 2008
@@ -31,29 +31,29 @@
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.tuscany.sca.core.conversation.ConversationExt;
import org.apache.tuscany.sca.core.conversation.ConversationListener;
import org.apache.tuscany.sca.core.conversation.ConversationManager;
import org.apache.tuscany.sca.core.conversation.ConversationState;
-import org.apache.tuscany.sca.core.conversation.ConversationExt;
/**
* @version $Rev$ $Date$
*/
public class ConversationManagerImpl implements ConversationManager {
-
+
private List<ConversationListener> listeners =
Collections.synchronizedList(new ArrayList<ConversationListener>());
private Map<Object, ConversationExt> conversations = new
ConcurrentHashMap<Object, ConversationExt>();
/**
* the default max age. this is set to 1 hour
*/
- private static final long DEFAULT_MAX_AGE = 60 * 60 * 1000; ;
-
+ private static final long DEFAULT_MAX_AGE = 60 * 60 * 1000;;
+
/**
* the default max idle time. this is set to 1 hour
*/
- private static final long DEFAULT_MAX_IDLE_TIME = 60 * 60 * 1000;
-
+ private static final long DEFAULT_MAX_IDLE_TIME = 60 * 60 * 1000;
+
/**
* the globally used max age
*/
@@ -62,40 +62,40 @@
/**
* the globally used max idle time
*/
- private final long maxIdleTime;
+ private final long maxIdleTime;
/**
* the reaper thread
*/
private final ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
-
+
/**
* constructor
*/
public ConversationManagerImpl() {
- long mit = DEFAULT_MAX_IDLE_TIME;
- long ma = DEFAULT_MAX_AGE;
-
- // Allow privileged access to read system property. Requires
PropertyPermission in security
+ long mit = DEFAULT_MAX_IDLE_TIME;
+ long ma = DEFAULT_MAX_AGE;
+
+ // Allow privileged access to read system property. Requires
PropertyPermission in security
// policy.
String aProperty = AccessController.doPrivileged(new
PrivilegedAction<String>() {
public String run() {
- return
System.getProperty("org.apache.tuscany.sca.core.scope.ConversationalScopeContainer.MaxIdleTime");
+ return System.getProperty(ConversationManager.class.getName()
+ ".MaxIdleTime");
}
});
- if (aProperty != null) {
- try {
- mit = (new Long(aProperty) * 1000);
- } catch (NumberFormatException nfe) {
- // Ignore
- }
- }
+ if (aProperty != null) {
+ try {
+ mit = (new Long(aProperty) * 1000);
+ } catch (NumberFormatException nfe) {
+ // Ignore
+ }
+ }
- // Allow privileged access to read system property. Requires
PropertyPermission in security
+ // Allow privileged access to read system property. Requires
PropertyPermission in security
// policy.
aProperty = AccessController.doPrivileged(new
PrivilegedAction<String>() {
public String run() {
- return
System.getProperty("org.apache.tuscany.sca.core.scope.ConversationalScopeContainer.MaxAge");
+ return System.getProperty(ConversationManager.class.getName()
+ ".MaxAge");
}
});
if (aProperty != null) {
@@ -109,7 +109,7 @@
maxAge = ma;
maxIdleTime = mit;
}
-
+
/**
* @see
org.apache.tuscany.sca.core.conversation.ConversationManager#addListener(org.apache.tuscany.sca.core.conversation.ConversationListener)
*/
@@ -165,9 +165,8 @@
/**
* starts the reaper thread
*/
- public void scheduleConversation(ExtendedConversationImpl aConversation,
long time)
- {
- this.scheduler.schedule(aConversation, time, TimeUnit.MILLISECONDS);
+ public void scheduleConversation(ExtendedConversationImpl aConversation,
long time) {
+ this.scheduler.schedule(aConversation, time, TimeUnit.MILLISECONDS);
}
/**
@@ -176,16 +175,15 @@
public synchronized void stopReaper() {
// Prevent the scheduler from submitting any additional reapers,
- // initiate an orderly shutdown if a reaper task is in progress.
- this.scheduler.shutdown();
+ // initiate an orderly shutdown if a reaper task is in progress.
+ this.scheduler.shutdown();
}
-
/**
* @see
org.apache.tuscany.sca.core.conversation.ConversationManager#startConversation(java.lang.Object)
*/
public ConversationExt startConversation(Object conversationID) {
-
+
if (conversationID == null) {
conversationID = UUID.randomUUID().toString();
}
@@ -193,9 +191,8 @@
if (conversation != null && conversation.getState() !=
ConversationState.ENDED) {
throw new IllegalStateException(conversation + " already exists.");
}
-
- conversation = new ExtendedConversationImpl(
- this, conversationID, ConversationState.STARTED);
+
+ conversation = new ExtendedConversationImpl(this, conversationID,
ConversationState.STARTED);
conversations.put(conversationID, conversation);
for (ConversationListener listener : listeners) {
listener.conversationStarted(conversation);
@@ -215,7 +212,7 @@
* returns the default max age
* @param impProvider the implementation Provider to extract any
ConversationAttribute details
*/
- public long getMaxAge(){
+ public long getMaxAge() {
return maxAge;
}
}
Modified:
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java?rev=723508&r1=723507&r2=723508&view=diff
==============================================================================
---
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
(original)
+++
tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
Thu Dec 4 16:27:12 2008
@@ -29,10 +29,11 @@
import java.util.UUID;
import org.apache.tuscany.sca.core.assembly.impl.RuntimeWireImpl;
+import org.apache.tuscany.sca.core.context.CallableReferenceExt;
import org.apache.tuscany.sca.core.context.impl.CallableReferenceImpl;
+import org.apache.tuscany.sca.core.conversation.ConversationExt;
import org.apache.tuscany.sca.core.conversation.ConversationManager;
import org.apache.tuscany.sca.core.conversation.ConversationState;
-import org.apache.tuscany.sca.core.conversation.ConversationExt;
import org.apache.tuscany.sca.core.factory.InstanceWrapper;
import org.apache.tuscany.sca.core.invocation.ThreadMessageContext;
import org.apache.tuscany.sca.core.scope.Scope;
@@ -91,7 +92,7 @@
if (callableReference != null) {
this.businessInterface = callableReference.getBusinessInterface();
this.conversation =
(ConversationExt)callableReference.getConversation();
- this.wire =
((CallableReferenceImpl<?>)callableReference).getRuntimeWire();
+ this.wire =
((CallableReferenceExt<?>)callableReference).getRuntimeWire();
if (wire != null) {
init(wire);
}
@@ -351,7 +352,7 @@
Interface interfaze =
msg.getFrom().getCallbackEndpoint().getInterfaceContract().getInterface();
if (callbackObject != null) {
if (callbackObject instanceof ServiceReference) {
- EndpointReference callbackRef =
((CallableReferenceImpl)callbackObject).getEndpointReference();
+ EndpointReference callbackRef =
((CallableReferenceExt<?>)callbackObject).getEndpointReference();
parameters.setCallbackReference(callbackRef);
} else {
if (interfaze != null) {