Trim asparagus and cut into 1-inch pieces. Blanch asparagus in boiling water for 2 minutes, move to an ice bath using a slotted spoon and then dry on paper towels. Set aside. Sauté onions in olive oil until translucent. Add garlic and shallots and sauté for 1 minute. Add rice and coat with oil. Add 1/2; cup of stock at a time, stirring until most of the liquid is absorbed each time. Test consistency of the rice when it starts to appear translucent around the edges. Add one final 1/2 cup of stock, asparagus, butter, and fresh parsley; salt and pepper to taste. Garnish with diced tomatoes and fresh basil. Serve warm.