You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by rg...@apache.org on 2005/07/09 19:30:15 UTC
svn commit: r209959 -
/forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java
Author: rgardler
Date: Sat Jul 9 10:30:14 2005
New Revision: 209959
URL: http://svn.apache.org/viewcvs?rev=209959&view=rev
Log:
add ability to add an element to the site.xml
Modified:
forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java
Modified: forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java
URL: http://svn.apache.org/viewcvs/forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java?rev=209959&r1=209958&r2=209959&view=diff
==============================================================================
--- forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java (original)
+++ forrest/trunk/tools/eclipse/plugins/org.apache.forrest/src/org/apache/forrest/eclipse/views/SiteXMLView.java Sat Jul 9 10:30:14 2005
@@ -23,6 +23,14 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
import org.apache.forrest.eclipse.actions.Utilities;
import org.eclipse.core.resources.IProject;
@@ -39,7 +47,6 @@
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
-
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.Viewer;
@@ -60,6 +67,7 @@
import org.eclipse.ui.part.ViewPart;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
+import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -74,23 +82,19 @@
*/
public class SiteXMLView extends ViewPart implements IMenuListener,
ISelectionListener {
- private TreeViewer treeViewer;
-
+private TreeViewer treeViewer;
private DocumentBuilder parser;
-
private Document document;
-
private String projectName;
-
+ private String path;
private IStructuredSelection treeSelection;
-
private Action AddElement;
-
private Action RemoveElement;
+ private Action SaveDocument;
protected IProject activeProject;
+
- protected Composite parent;
@@ -213,14 +217,19 @@
IResource resource = (IResource) first;
if (resource instanceof IProject) {
activeProject = (IProject) resource;
- String projectName = activeProject.getProject().getName();
- String path = (activeProject.getProject().getLocation()
+ projectName = activeProject.getProject().getName();
+ path = (activeProject.getProject().getLocation()
.toString()
+ java.io.File.separator
+ Utilities.getPathToXDocs()
+ java.io.File.separator + "site.xml");
try {
- document = parser.parse(new File(path));
+
+ Document newDocument = parser.parse(new File(path));
+ if ((document != (newDocument))) {
+ document = newDocument;
+ treeViewer.setInput(document);
+ }
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
@@ -228,7 +237,8 @@
// TODO Auto-generated catch block
e.printStackTrace();
}
- treeViewer.setInput(document);
+
+
}
}
@@ -250,19 +260,27 @@
- private void fillContextMenu(IMenuManager manager) {
- manager.add(AddElement);
- manager.add(RemoveElement);
- // Other plug-ins can contribute there actions here
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
+ private void fillContextMenu(IMenuManager manager) {
+ manager.add(AddElement);
+ manager.add(RemoveElement);
+ manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+ manager.add(SaveDocument);
+ }
- private void makeActions() {
+
+ private void makeActions() {
AddElement = new Action() {
public void run() {
if (treeSelection != null) {
//TODO: Code to add Element goes here
+ Node insertionElement = (Element) treeSelection.getFirstElement();
+ Node element = document.createElement("NewElement");
+
+ insertionElement.appendChild(element);
+
+ //showMessage(element.atoString());
+ treeViewer.refresh();
}
}
};
@@ -275,14 +293,43 @@
public void run() {
if (treeSelection != null) {
//TODO: Code to remove Element does here.
- }
+ Node deletionElement = (Element) treeSelection.getFirstElement();
+ Node deletionParent = deletionElement.getParentNode();
+ deletionParent.removeChild(deletionElement);
+ treeViewer.refresh();
+
+ }
}
};
RemoveElement.setText("DeleteElement");
RemoveElement.setToolTipText("Delete Element");
RemoveElement.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
+
+ SaveDocument = new Action() {
+ public void run() {
+ SaveXmlFile(document,path);
+ }
+ };
+
+ SaveDocument.setText("Save");
+ SaveDocument.setToolTipText("Save XML Document");
+ SaveDocument.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
+ getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
}
+
+ public static void SaveXmlFile(Document document, String filename) {
+ try {
+
+ Source source = new DOMSource(document);
+ File file = new File(filename);
+ Result result = new StreamResult(file);
+ Transformer transformer = TransformerFactory.newInstance().newTransformer();
+ transformer.transform(source, result);
+ } catch (TransformerConfigurationException e) {
+ } catch (TransformerException e) {
+ }
+ }
private void showMessage(String message) {
MessageDialog.openInformation(