view jungleOnmaTrix.tex @ 0:6e8b3ae59b5d

fix
author tatsuki
date Thu, 07 May 2015 14:21:15 +0900
parents
children
line wrap: on
line source

\section{Jungle上でのmaTrixのデータ構造の表現}\label{section:jungleOnmaTrix}
maTrixの人、組織、役割、権限等のデータ構造は木構造なので、Jungleの木構造にそのままマッピングできる。
実際のmaTrixのデータ構造の一部を格納したJungleTree(図\ref{fig:PersonTree})を以下に記す。

\begin{figure}[h]
\begin{center}
\includegraphics[height = 7cm , bb=0 0 398 367]{images/TreePersonJungle.pdf}
\caption{Jungle上での人物Treeの表現例(1)}
\label{fig:PersonTree}
\end{center}
\end{figure}

Jungleは、TreeNodeにデータを格納する際、String型の属性名とByteBuffer型の属性値の組み合わせで保持しているため、1つの属性名に対して複数の属性値を持つことは出来ない。
そのため、表\ref{list:PersonTree2}の様に、1つの要素に複数の値がある場合はデータを格納できない。
しかし、表\ref{list:maTrixDataChild}の様に、データを分割し、2つのNodeに分けて格納することで、Jungleに格納できるようになる。

\begin{table}[h]
\caption{Jungle上で表現できないデータ例}
\label{list:PersonTree2}
\begin{center}
\begin{tabular}{|l|} \hline
\verb|<|ids\verb|>|r:10 r:34\verb|<|/ids\verb|>| \\
\hline
\end{tabular}
\end{center}
\end{table}

\begin{table}[h]
\caption{Jungleに対応したデータ例}
\label{list:maTrixDataChild}
\begin{center}
\begin{tabular}{|l|} \hline
\ \verb|<|id\verb|>|r:10\verb|<|/id\verb|>| \\
\ \verb|<|id\verb|>|r:34\verb|<|/id\verb|>| \\
\hline

\end{tabular}
\end{center}
\end{table}

Jungle上でのmaTrixの組織構造の表現は木に対するidの検索を用いて表現すれば良い。

また、maTrixは自身のデータをXML形式で書き出すことが可能である。
書きだしたデータをJungleに格納するためにJungleXMLReaderの実装も行った。