Program: 65551
Project: 65551
Buggy source:
protected ClassDescriptor buildPLSQLargumentDescriptor(){
  XMLDescriptor descriptor=new XMLDescriptor();
  descriptor.setJavaClass(PLSQLargument.class);
  XMLDirectMapping nameMapping=new XMLDirectMapping();
  nameMapping.setAttributeName("String_Node_Str");
  nameMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  descriptor.addMapping(nameMapping);
  XMLDirectMapping indexMapping=new XMLDirectMapping();
  indexMapping.setAttributeName("String_Node_Str");
  indexMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  indexMapping.setNullValue(-1);
  descriptor.addMapping(indexMapping);
  XMLDirectMapping directionMapping=new XMLDirectMapping();
  directionMapping.setAttributeName("String_Node_Str");
  directionMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  ObjectTypeConverter directionConverter=new ObjectTypeConverter();
  directionConverter.addConversionValue("String_Node_Str",IN);
  directionConverter.addConversionValue("String_Node_Str",INOUT);
  directionConverter.addConversionValue("String_Node_Str",OUT);
  directionMapping.setConverter(directionConverter);
  directionMapping.setNullValue(IN);
  descriptor.addMapping(directionMapping);
  XMLDirectMapping lengthMapping=new XMLDirectMapping();
  lengthMapping.setAttributeName("String_Node_Str");
  lengthMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  lengthMapping.setNullValue(255);
  descriptor.addMapping(lengthMapping);
  XMLDirectMapping precisionMapping=new XMLDirectMapping();
  precisionMapping.setAttributeName("String_Node_Str");
  precisionMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  precisionMapping.setNullValue(MIN_VALUE);
  descriptor.addMapping(precisionMapping);
  XMLDirectMapping scaleMapping=new XMLDirectMapping();
  scaleMapping.setAttributeName("String_Node_Str");
  scaleMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  scaleMapping.setNullValue(MIN_VALUE);
  descriptor.addMapping(scaleMapping);
  XMLDirectMapping cursorOutputMapping=new XMLDirectMapping();
  cursorOutputMapping.setAttributeName("String_Node_Str");
  cursorOutputMapping.setXPath("String_Node_Str");
  cursorOutputMapping.setNullValue(Boolean.FALSE);
  descriptor.addMapping(cursorOutputMapping);
  XMLCompositeObjectMapping databaseTypeMapping=new XMLCompositeObjectMapping();
  databaseTypeMapping.setAttributeName("String_Node_Str");
  databaseTypeMapping.setAttributeAccessor(new AttributeAccessor(){
    public Object getAttributeValueFromObject(    Object object){
      PLSQLargument argument=(PLSQLargument)object;
      DatabaseType type=argument.databaseType;
      return wrapType(type);
    }
    public void setAttributeValueInObject(    Object object,    Object value){
      PLSQLargument argument=(PLSQLargument)object;
      DatabaseTypeWrapper type=(DatabaseTypeWrapper)value;
      argument.databaseType=type.getWrappedType();
    }
  }
);
  databaseTypeMapping.setReferenceClass(DatabaseTypeWrapper.class);
  databaseTypeMapping.setXPath("String_Node_Str");
  descriptor.addMapping(databaseTypeMapping);
  return descriptor;
}

Fixed version (ground truth):
protected ClassDescriptor buildPLSQLargumentDescriptor(){
  XMLDescriptor descriptor=new XMLDescriptor();
  descriptor.setJavaClass(PLSQLargument.class);
  XMLDirectMapping nameMapping=new XMLDirectMapping();
  nameMapping.setAttributeName("String_Node_Str");
  nameMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  descriptor.addMapping(nameMapping);
  XMLDirectMapping indexMapping=new XMLDirectMapping();
  indexMapping.setAttributeName("String_Node_Str");
  indexMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  indexMapping.setNullValue(-1);
  descriptor.addMapping(indexMapping);
  XMLDirectMapping directionMapping=new XMLDirectMapping();
  directionMapping.setAttributeName("String_Node_Str");
  directionMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  ObjectTypeConverter directionConverter=new ObjectTypeConverter();
  directionConverter.addConversionValue("String_Node_Str",IN);
  directionConverter.addConversionValue("String_Node_Str",INOUT);
  directionConverter.addConversionValue("String_Node_Str",OUT);
  directionMapping.setConverter(directionConverter);
  directionMapping.setNullValue(IN);
  descriptor.addMapping(directionMapping);
  XMLDirectMapping lengthMapping=new XMLDirectMapping();
  lengthMapping.setAttributeName("String_Node_Str");
  lengthMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  lengthMapping.setNullValue(255);
  descriptor.addMapping(lengthMapping);
  XMLDirectMapping precisionMapping=new XMLDirectMapping();
  precisionMapping.setAttributeName("String_Node_Str");
  precisionMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  precisionMapping.setNullValue(MIN_VALUE);
  descriptor.addMapping(precisionMapping);
  XMLDirectMapping scaleMapping=new XMLDirectMapping();
  scaleMapping.setAttributeName("String_Node_Str");
  scaleMapping.setXPath(getPrimaryNamespaceXPath() + "String_Node_Str");
  scaleMapping.setNullValue(MIN_VALUE);
  descriptor.addMapping(scaleMapping);
  XMLDirectMapping cursorOutputMapping=new XMLDirectMapping();
  cursorOutputMapping.setAttributeName("String_Node_Str");
  cursorOutputMapping.setXPath("String_Node_Str");
  cursorOutputMapping.setNullValue(Boolean.FALSE);
  descriptor.addMapping(cursorOutputMapping);
  XMLCompositeObjectMapping databaseTypeMapping=new XMLCompositeObjectMapping();
  databaseTypeMapping.setAttributeName("String_Node_Str");
  databaseTypeMapping.setAttributeAccessor(new AttributeAccessor(){
    public Object getAttributeValueFromObject(    Object object){
      PLSQLargument argument=(PLSQLargument)object;
      DatabaseType type=argument.databaseType;
      return wrapType(type);
    }
    public void setAttributeValueInObject(    Object object,    Object value){
      PLSQLargument argument=(PLSQLargument)object;
      DatabaseTypeWrapper type=(DatabaseTypeWrapper)value;
      argument.databaseType=type.getWrappedType();
    }
  }
);
  databaseTypeMapping.setReferenceClass(DatabaseTypeWrapper.class);
  databaseTypeMapping.setXPath("String_Node_Str");
  descriptor.addMapping(databaseTypeMapping);
  XMLDirectMapping nonAssociativeMapping=new XMLDirectMapping();
  nonAssociativeMapping.setAttributeName("String_Node_Str");
  nonAssociativeMapping.setXPath("String_Node_Str");
  nonAssociativeMapping.setNullValue(false);
  descriptor.addMapping(nonAssociativeMapping);
  return descriptor;
}