Bring a large pot of salted water to a boil.
Core the cabbage and carefully remove 12 to 14 leaves, keeping them whole.
Blanch the cabbage leaves in the boiling water for 2 to 3 minutes until pliable.
Drain the leaves on a clean towel and set aside.
Heat olive oil in a large skillet over medium heat.
Add onion and sauté for 5 minutes until softened.
Add garlic and cook for 1 minute.
Add mushrooms, salt, pepper, thyme, and sage.
Cook for 8 to 10 minutes until mushrooms release liquid and it evaporates.
Stir in cooked barley and dried cranberries.
Remove from heat and stir in Parmesan cheese.
Lay one cabbage leaf flat on a work surface.
Spoon about 1/3 cup of filling onto the base of the leaf.
Fold in the sides and roll tightly to enclose.
Repeat with remaining leaves and filling.
Preheat the oven to 375°F (190°C).
Arrange the cabbage rolls seam side down in a greased 9x13-inch baking dish.
In a saucepan, combine vegetable broth and white wine.
Simmer for 5 minutes.
Stir in heavy cream and heat gently.
Pour the sauce over the cabbage rolls.
Sprinkle shredded Gruyère evenly on top.
Cover with foil and bake for 40 minutes.
Uncover and bake for another 15 minutes until golden and bubbling.
Remove from oven and let rest for 10 minutes before serving.