In the book "Representation of Semisimple Lie Algebra in the BGG Category $\mathcal{O}$".
Exercise 1.13. Suppose $\lambda\not\in\Lambda$, so the linkage class $W\cdot\lambda$ is the disjoint union of its nonempty intersections with various cosets of $\Lambda_r$ in $\mathbb{h}^*$. Prove that each $M\in\mathcal{O}_{\chi_\lambda}$ has a corresponding direct sum decomposition $M=\oplus_i M_i$, in which all weights of $M_i$ lies in a single coset.
My attempt:
$M=\bigoplus_{\nu\in\mathfrak{h}^*} M_\nu =\bigoplus_{[\nu]\in\mathfrak{h}^*/\Lambda_r} M^{[\nu]}$.
Since $\mathfrak{g}_\alpha\cdot M_\mu\subseteq M_{\mu+\alpha}$ for all $\alpha\in \Phi$, we get $U(\mathfrak{n})\cdot M^{[\nu]}\subseteq M^{[\nu]}$, $U(\mathfrak{h})\cdot M^{[\nu]}\subseteq M^{[\nu]}$ and $U(\mathfrak{n}^-)\cdot M^{[\nu]}\subseteq M^{[\nu]}$.
Since $U(\mathfrak{g})=U(\mathfrak{n}^-)U(\mathfrak{h})U(\mathfrak{n})$, we get $U(\mathfrak{g})\cdot M^{[\nu]}\subseteq M^{[\nu]}$. Hence $M^{[\nu]}$ is a $U(\mathfrak{g})$-submodule of $M$.
Since $M\in\mathcal{O}$, $M$ is finitely generated as a $U(\mathfrak{g})$-module. Therefore, $M=\bigoplus_{i=1}^n M^{[\nu_i]}$.
Now, let $W\cdot\lambda=\{\eta_1,\cdots,\eta_k\}$. Consider $\{\eta_{i_1},\cdots, \eta_{i_r}\}\subseteq \{\eta_1,\cdots,\eta_k\}$ such that $[\eta_{i_1}],\cdots, [\eta_{i_r}]$ are distinct and $\{[\eta_{i_1}],\cdots, [\eta_{i_r}]\}=\{[\eta_1],\cdots,[\eta_k]\}$. It is clearly that $W\cdot\lambda\cap[\eta]\neq \emptyset\implies [\eta]\in \{ [\eta_{i_1}],\cdots, [\eta_{i_r}]\}$.
Then $W\cdot \lambda =\bigcup_{\eta\in\mathfrak{h}^*} W\cdot\lambda \cap[\eta] =\bigsqcup_{j=1}^{r}W\cdot\lambda \cap[\eta_{i_j}] =\bigsqcup_{j=1}^{r}W\cdot \eta_{i_j} \cap[\eta_{i_j}] =\bigsqcup_{j=1}^{r}W_{[\eta_{i_j}]}\cdot \eta_{i_j}$
I would like to know whether the corresponding direct sum decomposition means $M=\bigoplus_{j=1}^r M^{[\eta_{i_j}]}$. If so, how to prove it? Also, am I on the right track?