I have discovered that even though java does not support unsigned types it is necessary to use unsigned types in describing the index array in glDrawElements()
example:
short[] index = {1, 2, 3};
// will not work
gl.glDrawElements(GL.GL_TRIANGLES, index.length, GL.GL_SHORT, index);
// will work
gl.glDrawElements(GL.GL_TRIANGLES, index.length, GL.GL_UNSIGNED_SHORT, index);