Hi,

I was looking through some of the code and spotted a possible logic error in the binding-ws-axis2 project in the class org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.

If you have a look at line 708, it has:

[http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java?view=annotate&sortby=file#l702]

702 :  private void processImport(Node importNode, String name) {
703 :    NamedNodeMap nodeMap = importNode.getAttributes();
704 :    for (int i = 0; i < nodeMap.getLength(); i++) {
705 :      Node attribute = nodeMap.item(i);
706 :      if (attribute.getNodeName().equals("schemaLocation")) {
707 :        String location = attribute.getNodeValue();
708 : if (location.indexOf(":/") < 0 *&* location.indexOf("?xsd=") < 0) {
709 :          attribute.setNodeValue(name + "?xsd=" + location);
710 :        }
711 :      }
712 :    }
713 :  }

Notice the single *& *character in the if statement. This is valid Java logic but it is unusual. The normal case is to use && in an if statement.

Unfortunately, I don't know this block of code well enough to know if it should be & or &&. Perhaps someone else may know?

Thanks,

Mark

Reply via email to