That's almost exactly what I have and it's not working. The only differences in our code is that you called it setDefaultDirection and I called it direction, and the fact that I have the wrong sets of blocks in said method. But even then, it should be rotated.
EDIT: I copied and pasted your code into mine and adjusted it accordingly and nothing happened. The block stays the same direction, facing north, with the textures correct, but the rotation incorrect.