Code Search for Developers
 
 
  

WikiEditorController.java from MASE: Agile Software Engineering at Krugle


Show WikiEditorController.java syntax highlighted

package ca.ucalgary.cpsc.ebe.fitClipse.ui.editor;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PlatformUI;

import ca.ucalgary.cpsc.ebe.fitClipse.connector.IServerConnector;
import ca.ucalgary.cpsc.ebe.fitClipse.connector.ServerConnectorFactory;
import ca.ucalgary.cpsc.ebe.fitClipse.ui.testHierarchy.model.WikiPageModel;

public class WikiEditorController {
	private boolean pageModified = false;

	private WikiPageModel parent = null;

	private String pageQName;

	private boolean fitTest = false;

	public void setParent(WikiPageModel parent) {
		this.parent = parent;
	}

	public String getPageQName() {
		return pageQName;
	}

	public String loadWikiPage(String qName, WikiPageModel parent)
			throws Exception {

		this.pageQName = qName.replace(".root", "");
		this.parent = parent;
		if (qName != "") {

			IServerConnector connector = ServerConnectorFactory
					.getServerInstance(null);
			if (connector == null) {
				return null;
			}
			System.out.println("qName is: " + qName);
			String wikipageContent = connector.getFitPageText(qName);

			if (wikipageContent != null) {
				return wikipageContent;

			} else {
				return null;

			}

		}
		return null;
	}

	public void saveWikiContent(String content) throws Exception {

		if (pageQName != "") {

			IServerConnector connector = ServerConnectorFactory
					.getServerInstance(null);
			if (connector == null) {
				return;
			}

			if (content != null) {
				Pattern p = Pattern.compile("(.*)\\.(.*)");
				Matcher m = p.matcher(pageQName);
				String name = null;
				String nameSpace = null;
				if (m.matches()) {
					nameSpace = m.group(1);
					name = m.group(2);
				}

				boolean saveSuccess = false;

				WikiPageModel model = new WikiPageModel(this.parent);
				model.setName(name);
				model.setNameSpace(nameSpace);
				model.setFitTest(fitTest);

				saveSuccess = connector.saveGenericWikiPage(model, content);
				if (!saveSuccess) {
					MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), "Error", "Error saving page content");
				}
			}
		}
	}

	public boolean isPageModified() {
		return pageModified;
	}

	public void setPageModified(boolean pageModified) {
		this.pageModified = pageModified;
	}

	public static WikiEditor newWikiEditor(String name, String qName,
			WikiPageModel parent) {
		boolean exist = false;
		IWorkbenchPage page = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage();
		IEditorReference [] editorReference = page.getEditorReferences();
		for(IEditorReference er: editorReference){
//			System.out.println("inside wikiEditor: name is:"+er.getName());
			if(er.getName().equals(qName)){
				exist = true;
			}	
		}
		String wikiEditorName = "[Wiki Editor]"+qName;
		WikiEditorInput input = new WikiEditorInput(wikiEditorName);
		WikiEditor editor = null;
		try {
			editor = (WikiEditor) page.openEditor(input, WikiEditor.ID);
			if (editor == null) {
				throw new Exception("Error opening new Eclipse editor.");
			}
			if(!exist){
			editor.loadWikiPage(name, qName, false, parent);
			}

		} catch (Exception e) {
		}

		return editor;

	}

	public static WikiEditor newFitEditor(String name, String qName,
			WikiPageModel parent) {
		boolean exist = false;
		IWorkbenchPage page = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow().getActivePage();
		IEditorReference [] editorReference = page.getEditorReferences();
		for(IEditorReference er: editorReference){
//			System.out.println("inside wikiEditor: name is:"+er.getName());
			if(er.getName().equals(qName)){
				exist = true;
			}	
		}
		WikiEditorInput input = new WikiEditorInput(qName);
		WikiEditor editor = null;
		try {
			editor = (WikiEditor) page.openEditor(input, WikiEditor.ID);
			if (editor == null) {
				throw new Exception("Error opening new Eclipse editor.");
			}
			if(!exist){
				editor.loadWikiPage(name, qName, false, parent);
				}

		} catch (Exception e) {
		}

		return editor;

	}

	public String getURL(String qName) throws Exception {

		IServerConnector connector = ServerConnectorFactory
				.getServerInstance(null);
		String url = connector.getWikiEditorUrl(qName);
		return url;
	}

	public void setFitTest(boolean fitTest) {
		this.fitTest = fitTest;
	}

	public boolean isFitTest() {
		return fitTest;
	}

}




See more files for this project here

MASE: Agile Software Engineering

The MASE project investigates methods to support the coordination and executable acceptance testing of software projects. Keywords: Agile methods, distributed teams, Extreme Programming. See http://ebe.cpsc.ucalgary.ca/ebe for more information.

Project homepage: http://sourceforge.net/projects/mase
Programming language(s): Java,XML
License: other

  LoadWikiEditorAction.java
  WikiEditor.java
  WikiEditorController.java
  WikiEditorInput.java