aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java6
-rw-r--r--src/com/vaadin/terminal/gwt/server/ServerRpcManager.java22
2 files changed, 19 insertions, 9 deletions
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
index f0c218eff6..a7bd69d620 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
@@ -1560,9 +1560,9 @@ public abstract class AbstractCommunicationManager implements Serializable {
if (c instanceof RpcTarget) {
ServerRpcManager.applyInvocation((RpcTarget) c, invocation);
} else {
- // TODO better exception?
- throw new RuntimeException("No RPC target for connector "
- + invocation.getConnectorId());
+ logger.log(Level.WARNING, "RPC call received for connector "
+ + c.getClass().getName() + " (" + c.getConnectorId()
+ + ") but the connector is not a ServerRpcTarget");
}
}
diff --git a/src/com/vaadin/terminal/gwt/server/ServerRpcManager.java b/src/com/vaadin/terminal/gwt/server/ServerRpcManager.java
index 061f079ca0..cdab4b327f 100644
--- a/src/com/vaadin/terminal/gwt/server/ServerRpcManager.java
+++ b/src/com/vaadin/terminal/gwt/server/ServerRpcManager.java
@@ -9,6 +9,8 @@ import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import com.vaadin.terminal.gwt.client.Connector;
import com.vaadin.terminal.gwt.client.communication.MethodInvocation;
@@ -82,14 +84,18 @@ public class ServerRpcManager<T> implements RpcManager {
if (manager != null) {
manager.applyInvocation(invocation);
} else {
- throw new RuntimeException(
- "RPC call to a target without an RPC manager.");
+ getLogger()
+ .log(Level.WARNING,
+ "RPC call received for RpcTarget "
+ + target.getClass().getName()
+ + " ("
+ + invocation.getConnectorId()
+ + ") but the target has not registered any RPC interfaces");
}
} catch (ClassNotFoundException e) {
- throw new RuntimeException(
- "No RPC manager registered for RPC interface "
- + invocation.getInterfaceName() + " of the target "
- + target + ".");
+ throw new RuntimeException("Class for RPC interface "
+ + invocation.getInterfaceName() + " of the target "
+ + target + " could not be found.");
}
}
@@ -190,4 +196,8 @@ public class ServerRpcManager<T> implements RpcManager {
return null;
}
+ private static Logger getLogger() {
+ return Logger.getLogger(ServerRpcManager.class.getName());
+ }
+
}