tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vamsic...@apache.org
Subject svn commit: r688128 - /tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
Date Fri, 22 Aug 2008 17:32:38 GMT
Author: vamsic007
Date: Fri Aug 22 10:32:37 2008
New Revision: 688128

URL: http://svn.apache.org/viewvc?rev=688128&view=rev
Log:
TUSCANY-2562 Callback issue when reference is set with getter & setter method
 o Problem appears when the reference computed by HeuristicPojoProcessor has a bidirectional
interface.

Modified:
    tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java

Modified: tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java?rev=688128&r1=688127&r2=688128&view=diff
==============================================================================
--- tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
(original)
+++ tuscany/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java
Fri Aug 22 10:32:37 2008
@@ -552,6 +552,8 @@
         } catch (InvalidInterfaceException e1) {
             throw new IntrospectionException(e1);
         }
+
+        // FIXME:  This part seems to have already been taken care above!!
         try {
             processCallback(paramType, reference);
         } catch (InvalidServiceType e) {
@@ -584,9 +586,13 @@
         Callback callback = interfaze.getAnnotation(Callback.class);
         if (callback != null && !Void.class.equals(callback.value())) {
             Class<?> callbackClass = callback.value();
-            JavaInterface javaInterface = javaFactory.createJavaInterface();
-            javaInterface.setJavaClass(callbackClass);
-            contract.getInterfaceContract().setCallbackInterface(javaInterface);
+            JavaInterface javaInterface;
+            try {
+                javaInterface = javaFactory.createJavaInterface(callbackClass);
+                contract.getInterfaceContract().setCallbackInterface(javaInterface);
+            } catch (InvalidInterfaceException e) {
+                throw new InvalidServiceType("Invalid callback interface "+callbackClass,
interfaze);
+            }
         } else if (callback != null && Void.class.equals(callback.value())) {
             throw new InvalidServiceType("No callback interface specified on annotation",
interfaze);
         }



Mime
View raw message