You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/12/05 01:27:13 UTC
svn commit: r723508 - in
/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core:
context/ context/impl/ conversation/impl/ invocation/impl/
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) {