Preheat oven to 300 degrees F.
On a medium-high flame, sauté the chopped onions in 2 tablespoons olive oil until they start to turn translucent. Add sliced mushrooms and tomatoes. Mix well and continue to sauté until mushrooms are soft. Season mixture with salt and pepper. Add chopped chicken or beef to mushroom mixture. Sauté all ingredients for about 5 minutes, mixing everything together with a wooden spoon until the chopped meat sizzles and browns. Lower flame and add the matzo and hot water to meat mixture. Combine thoroughly and sauté for 5-6 minutes more. Remove from flame, add parsley and let stuffing mixture cool for later handling.
In a separate bowl, mix all 4 glaze ingredients together. Set aside.
Lay veal out on flat surface. Spread the stuffing meat mixture over veal, leaving a one-half inch margin on all sides. Roll up and tie with cooking string to hold veal roll securely. Heat remaining 2 tablespoons olive oil in a Dutch oven and brown the veal roll on all sides.
Remove from heat and generously pour glaze over browned veal roll making sure to fully cover meat. Cover and place into preheated oven and let roast for 2 hours. After 2 hours raise oven temperature to 350 degrees F and uncover veal. Let cook for an additional 40-45 minutes or until a nice thick glaze has formed over veal.
Remove from oven and let veal roll stand for 15-20 minutes before slicing.