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) {