Author: boisvert
Date: Fri Apr 13 08:15:06 2007
New Revision: 528518

URL: http://svn.apache.org/viewvc?view=rev&rev=528518
Log:
Better error reporting for invalid/missing portTypes on partnerLinkTypes

Modified:
    
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
    
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java

Modified: 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java?view=diff&rev=528518&r1=528517&r2=528518
==============================================================================
--- 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
 (original)
+++ 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
 Fri Apr 13 08:15:06 2007
@@ -946,7 +946,10 @@
                 if (myRole == null)
                     throw new 
CompilationException(__cmsgs.errUndeclaredRole(plink.getMyRole(), 
plinkType.getName()));
                 oplink.myRoleName = myRole.getName();
-                oplink.myRolePortType = resolvePortType(myRole.getPortType());
+                QName portType = myRole.getPortType();
+                if (portType == null)
+                    throw new 
CompilationException(__cmsgs.errMissingMyRolePortType(portType, 
plink.getMyRole(), plinkType.getName()));
+                oplink.myRolePortType = resolvePortType(portType);
             }
 
             if (plink.isInitializePartnerRole() && !plink.hasPartnerRole()) {
@@ -958,7 +961,10 @@
                     throw new 
CompilationException(__cmsgs.errUndeclaredRole(plink.getPartnerRole(), plinkType
                             .getName()));
                 oplink.partnerRoleName = partnerRole.getName();
-                oplink.partnerRolePortType = 
resolvePortType(partnerRole.getPortType());
+                QName portType = partnerRole.getPortType();
+                if (portType == null)
+                    throw new 
CompilationException(__cmsgs.errMissingPartnerRolePortType(portType, 
plink.getPartnerRole(), plinkType.getName()));
+                oplink.partnerRolePortType = resolvePortType(portType);
             }
 
             oplink.declaringScope = _structureStack.topScope();

Modified: 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java?view=diff&rev=528518&r1=528517&r2=528518
==============================================================================
--- 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
 (original)
+++ 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/CommonCompilationMessages.java
 Fri Apr 13 08:15:06 2007
@@ -433,4 +433,13 @@
     public CompilationMessage errProcessNamespaceNotSpecified() {
         return this.formatCompilationMessage("The process namespace was not 
specified.");
     }
+
+    public CompilationMessage errMissingMyRolePortType(QName portType, String 
myRole, QName plnkType) {
+        return formatCompilationMessage("Missing portType {0} on 
partnerLinkType {1} for myRole {2}", portType, plnkType, myRole);
+    }
+
+    public CompilationMessage errMissingPartnerRolePortType(QName portType, 
String partnerRole, QName plnkType) {
+        return formatCompilationMessage("Missing portType {0} on 
partnerLinkType {1} for partnerRole {2}", portType, plnkType, partnerRole);
+    }
+
 }


Reply via email to