David Warner scores Shield century for NSW