You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by mm...@apache.org on 2004/11/23 20:00:14 UTC
svn commit: r106328 - /incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java
Author: mmerz
Date: Tue Nov 23 11:00:12 2004
New Revision: 106328
Modified:
incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java
Log:
Contributor: Wolfgang
Don't allow service implementation bean to be a Java interface.
Modified: incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java?view=diff&rev=106328&p1=incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java&r1=106327&p2=incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java&r2=106328
==============================================================================
--- incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java (original)
+++ incubator/beehive/trunk/wsm/src/runtime/org/apache/beehive/wsm/jsr181/model/Jsr181TypeMetadataImpl.java Tue Nov 23 11:00:12 2004
@@ -416,36 +416,47 @@
/**
* Checks whether the implementation bean implements all the methods
- * specified in the endpointInterface.
+ * specified by the endpoint interface.
*
* @throws ValidationException
*/
public void validate() throws ValidationException {
+
// note: load class here -- we might want to create the object model without a sib class file (from source)
- // if we have a service endpoint interface
- if (0 < seiClassName.length()) {
- try {
- // load endpoint interface
- Class sibClass = Class.forName(sibClassName);
+ try {
+
+ // load and verify service implementation bean
+ Class sibClass = Class.forName(sibClassName);
+ if (sibClass.isInterface()) {
+ throw new ValidationException(
+ "The service implementation bean (" +
+ sibClassName +
+ " ) cannot be an interface."
+ );
+ }
+
+ // load and verify service endpoint interface -- if we have one
+ if (0 < seiClassName.length()) {
Class seiClass = Class.forName(seiClassName);
-
- // verify that bean implements all methods specified in interface
for (Method m : seiClass.getMethods()) {
- if (!doesImplement(sibClass, m)) {
- throw new ValidationException("The implementation bean doesn't implement " +
- m +
- " as required by the interface: " +
- getServiceImplementationBean());
+ if (! doesImplement(sibClass, m)) {
+ throw new ValidationException(
+ "The implementation bean doesn't implement " +
+ m +
+ " as required by the interface: " +
+ getServiceImplementationBean()
+ );
}
}
- } catch (ClassNotFoundException e) {
- throw new ValidationException("endpoint interface (" +
- seiClassName +
- ") or implementation bean (" +
- sibClassName +
- ") not on classpath");
}
+ }
+ catch (ClassNotFoundException e) {
+ throw new ValidationException(
+ "service implementation bean (" + sibClassName + ") " +
+ "or service endpoint interface (" + seiClassName + ") " +
+ "not on classpath"
+ );
}
validateDuplicatedMethods();