Used XML File : catalog.xml
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="001" lang="ENG">
<isbn>23-34-42-3</isbn>
<regDate>1990-05-24</regDate>
<title>Operating Systems</title>
<publisher country="USA">Pearson</publisher>
<price>400</price>
<authors>
<author>Ganesh Tiwari</author>
</authors>
</book>
<book id="002">
<isbn>24-300-042-3</isbn>
<regDate>1995-05-12</regDate>
<title>Distributed Systems</title>
<publisher country="Nepal">Ekata</publisher>
<price>500</price>
<authors>
<author>Ganesh T</author>
<author>Tiwari Ganesh</author>
<author>Test Author</author>
</authors>
</book>
</catalog>
Transformation Code : ObjectModelToTreeModel.Java
public class ObjectModelToTreeModel {
public static DefaultMutableTreeNode getTreeOfModel(List<Book> bookL) {
DefaultMutableTreeNode root = new DefaultMutableTreeNode("Catalog");
for (Book bk : bookL) {
DefaultMutableTreeNode book = new DefaultMutableTreeNode("Book " + bk.getTitle() + "BookId: " + bk.getId());
book.add(new DefaultMutableTreeNode("Language: " + bk.getLang()));
book.add(new DefaultMutableTreeNode("Isbn :" + bk.getIsbn()));
book.add(new DefaultMutableTreeNode("Registration Date:" + bk.getRegDate().toString()));
book.add(new DefaultMutableTreeNode("Publisher :" + bk.getPublisher()));
DefaultMutableTreeNode authors = new DefaultMutableTreeNode("Authors:");
for (String auths : bk.getAuthors()) {
authors.add(new DefaultMutableTreeNode(auths));
}
book.add(authors);
root.add(book);
}
return root;
}
}
Test App :XmlToJTreeMain.Java
public class XmlToJTreeMain extends JFrame {
private JPanel jContentPane = null;
JPanel panel;
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
JButton btnGenerate = new JButton("Generate");
btnGenerate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SaxParser sp = new SaxParser("catalog.xml");
JTree jt = new JTree(ObjectModelToTreeModel.getTreeOfModel(sp.getBookL()));
JScrollPane jp = new JScrollPane(jt);
jp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jp.setBounds(2, 4, 500, 300);
panel.add(jp);
panel.revalidate();
panel.repaint();
}
});
btnGenerate.setBounds(334, 11, 89, 23);
jContentPane.add(btnGenerate);
panel = new JPanel();
panel.setBounds(10, 11, 314, 290);
panel.setLayout(null);
jContentPane.add(panel);
}
return jContentPane;
}
public XmlToJTreeMain() {
super();
setSize(441, 350);
setContentPane(getJContentPane());
setTitle("JFrame");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new XmlToJTreeMain();
}
}
No comments:
Post a Comment
Your Comment and Question will help to make this blog better...