package net.sourceforge.phpdt.sql.actions;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.crimson.tree.XmlDocument;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+import net.sourceforge.phpdt.sql.Messages;
import net.sourceforge.phpdt.sql.view.BookmarkView;
import net.sourceforge.phpdt.sql.view.bookmark.BookmarkContentProvider;
public void init(IViewPart view) {
this.view = (BookmarkView) view;
dialog = new FileDialog(view.getSite().getShell(), SWT.OPEN);
- dialog.setFilterExtensions(new String[]{"*.ini","*.*"}); //$NON-NLS-1$ //$NON-NLS-2$
- dialog.setFilterNames(new String[]{Messages.getString("filedialog.preferences"),Messages.getString("filedialog.allfiles")}); //$NON-NLS-1$ //$NON-NLS-2$
+ dialog.setFilterExtensions(new String[]{"*.xml","*.*"}); //$NON-NLS-1$ //$NON-NLS-2$
+ dialog.setFilterNames(new String[]{Messages.getString("filedialog.xmlFiles"),Messages.getString("filedialog.xmlFiles")}); //$NON-NLS-1$ //$NON-NLS-2$
}
/**
String filename = dialog.open();
if (filename != null) {
File importFile = new File(filename);
- BookmarkContentProvider.getInstance().importBookmarks(importFile);
- view.refresh();
+
+ XmlDocument doc = new XmlDocument();
+ FileInputStream source = null;
+ try {
+ source = new FileInputStream(importFile);
+ } catch (FileNotFoundException e1) {
+ e1.printStackTrace();
+ return;
+ }
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder parser;
+ try {
+ parser = factory.newDocumentBuilder();
+ doc = (XmlDocument) parser.parse(source);
+ } catch (ParserConfigurationException e) {
+ e.printStackTrace();
+ return;
+ } catch (SAXException e) {
+ e.printStackTrace();
+ return;
+ } catch (IOException e) {
+ e.printStackTrace();
+ return;
+ }
+ Element root = doc.getDocumentElement();
+
+ BookmarkContentProvider.getInstance().importXML(root);
+
+ view.refresh();
+
}
}