[jboss-svn-commits] JBL Code SVN: r17548 - labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jan 4 08:28:23 EST 2008
Author: KrisVerlaenen
Date: 2008-01-04 08:28:22 -0500 (Fri, 04 Jan 2008)
New Revision: 17548
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
Log:
JBRULES-1376: Mispelling in the automatically generated .project file using the guided editor
- fixed typo
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2008-01-04 12:40:36 UTC (rev 17547)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2008-01-04 13:28:22 UTC (rev 17548)
@@ -1,394 +1,394 @@
-package org.drools.eclipse.rulebuilder.editors;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.brms.server.rules.SuggestionCompletionLoader;
-import org.drools.brms.server.util.BRDRLPersistence;
-import org.drools.brms.server.util.BRXMLPersistence;
-import org.drools.compiler.DrlParser;
-import org.drools.eclipse.DroolsEclipsePlugin;
-import org.drools.eclipse.dsl.editor.DSLAdapter;
-import org.drools.eclipse.editors.DRLDocumentProvider;
-import org.drools.eclipse.editors.DRLRuleEditor;
-import org.drools.eclipse.util.ProjectClassLoader;
-import org.drools.lang.dsl.DSLMappingFile;
-import org.eclipse.core.internal.resources.Container;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.forms.editor.FormEditor;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.ide.ResourceUtil;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.DocumentProviderRegistry;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class RuleEditor extends FormEditor
- implements
- IResourceChangeListener {
-
- private BrlPage guidedEditor;
-
- private TextEditor xmlEditor = new TextEditor();
-
- private SuggestionCompletionEngine completion;
-
- private SuggestionCompletionLoader loader;
-
- private FileEditorInput packageEditorInput;
-
- private final Document drlDocument;
-
- private IResourceChangeListener packageFileTracker = new IResourceChangeListener() {
-
- public void resourceChanged(IResourceChangeEvent event) {
- IResourceDelta delta = getRootDelta( event.getDelta() );
-
- IPath p1 = delta.getFullPath();
- IPath p2 = packageEditorInput.getFile().getFullPath();
- if ( p1.equals( p2 ) ) {
- reloadCompletionEngine();
- }
-
- }
-
- };
-
- public RuleEditor() {
- super();
- ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
- ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
- IResourceChangeEvent.POST_CHANGE );
- drlDocument = new Document();
-
- }
-
- protected FormToolkit createToolkit(Display display) {
- // Create a toolkit that shares colors between editors.
- return new FormToolkit( DroolsEclipsePlugin.getDefault().getRuleBuilderFormColors( display ) );
- }
-
- protected void addPages() {
- guidedEditor = new BrlPage( this );
- try {
- addPage( guidedEditor );
- addPage( xmlEditor,
- getEditorInput() );
-
- DRLRuleEditor drlEditor = new DRLRuleEditor() {
- protected IDocumentProvider createDocumentProvider() {
- return new DRLDocumentProvider() {
- public boolean isReadOnly(Object element) {
- return true;
- }
-
- public boolean isModifiable(Object element) {
- return false;
- }
-
- protected IDocument getParentDocument(Object element) {
- return drlDocument;
- }
- };
- }
-
- };
-
- addPage( drlEditor,
- xmlEditor.getEditorInput() );
-
- IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
-
- IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
-
- IJavaProject javaProject = JavaCore.create( file.getProject() );
-
- ClassLoader classLoader = ProjectClassLoader.getProjectClassLoader( javaProject );
-
- loader = new SuggestionCompletionLoader( classLoader );
-
- if ( !file.exists() ) {
- String defaultHeader = "//This is a package configuration file";
- defaultHeader += "\n//Add imports, globals etc here which will be used by all the rule assets in thise folder.";
- InputStream is = new ByteArrayInputStream( defaultHeader.getBytes() );
- try {
- file.create( is,
- true,
- null );
- } catch ( CoreException e ) {
- DroolsEclipsePlugin.log( e );
- }
- }
-
- packageEditorInput = new FileEditorInput( file );
-
- reloadCompletionEngine();
-
- setPageText( 1,
- "BRL Source" );
-
- setPageText( 2,
- "Generated DRL (read-only)" );
-
- updateName( false );
-
- } catch ( PartInitException e ) {
- DroolsEclipsePlugin.log( e );
- }
- }
-
- private void updateName(boolean forced) {
- String name = xmlEditor.getTitle();
- setPartName( name );
-
- //TODO Add support for other than .brl extensions
- if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
- String shortName = name.substring( 0,
- name.length() - ".brl".length() );
- guidedEditor.getModeller().getModel().name = shortName;
- }
-
- updateDRLPage();
-
- }
-
- private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
- return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
- }
-
- private void reloadCompletionEngine() {
- try {
-
- // Load all .dsl files from current dir
- IPath p = (packageEditorInput).getFile().getFullPath().removeLastSegments( 1 );
-
- Container folder = (Container) ResourcesPlugin.getWorkspace().getRoot().findMember( p,
- false );
-
- IResource[] files = folder.members( false );
-
- List dslList = new ArrayList();
-
- for ( int i = 0; i < files.length; i++ ) {
- if ( files[i].getName().endsWith( ".dsl" ) ) {
- String contents = getFileContents( (IFile) files[i] );
- DSLMappingFile dsl = new DSLMappingFile();
-
- if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
- dslList.add( dsl );
- } else {
- //TODO report dsl parse error
- }
- }
- }
-
- // Load suggestion engine
- String str = getFileContents( packageEditorInput.getFile() );
-
- completion = loader.getSuggestionEngine( str,
- dslList,
- dslList );
-
- } catch ( Exception e ) {
- DroolsEclipsePlugin.log( e );
- }
- }
-
- private String getFileContents(IFile file) {
-
- InputStream is;
- try {
- is = file.getContents();
-
- StringBuffer out = new StringBuffer();
- byte[] b = new byte[4096];
- for ( int n; (n = is.read( b )) != -1; ) {
- out.append( new String( b,
- 0,
- n ) );
- }
-
- return out.toString();
- } catch ( CoreException e ) {
- //TODO Report problem with the file loading
- return "";
- } catch ( IOException e ) {
- //TODO Report problem with the file loading
- return "";
- }
-
- }
-
- public boolean isDirty() {
- return xmlEditor.isDirty() || guidedEditor.isDirty();
- }
-
- protected void pageChange(int newPageIndex) {
- super.pageChange( newPageIndex );
-
- IDocument document = getInputDocument();
-
- if ( newPageIndex == 0 ) {
-
- boolean newModel = guidedEditor.getModeller().getModel() == null;
- if ( xmlEditor.isDirty() || newModel ) {
- guidedEditor.setModelXML( document.get() );
- if ( newModel ) {
- guidedEditor.getModeller().setDirty( false );
- }
- updateName( false );
- }
-
- guidedEditor.refresh();
-
- } else if ( newPageIndex == 1 ) {
-
- if ( guidedEditor.isDirty() ) {
- document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
- }
- } else if ( newPageIndex == 2 ) {
-
- //Updating main document for proper workflow when page is switched back to "0"
- if ( guidedEditor.isDirty() ) {
- document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
- } else if ( xmlEditor.isDirty() ) {
- guidedEditor.setModelXML( document.get() );
- }
-
- updateDRLPage();
-
- updateName( false );
-
- }
-
- }
-
- private void updateDRLPage() {
-
- String drl = "";
- try {
- drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
-
- IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
-
- Reader reader = DSLAdapter.getDSLContent( drl,
- resource );
- DrlParser parser = new DrlParser();
-
- if ( reader != null ) {
- drl = parser.getExpandedDRL( drl,
- reader );
- }
-
- } catch ( Throwable t ) {
-
- StringWriter strwriter = new StringWriter();
- t.printStackTrace( new PrintWriter( strwriter ) );
- drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
- }
- drlDocument.set( drl );
- }
-
- public void doSave(IProgressMonitor monitor) {
- IDocument document = getInputDocument();
-
- if ( xmlEditor.isDirty() ) {
- guidedEditor.setModelXML( document.get() );
- } else if ( guidedEditor.isDirty() ) {
- document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
- }
-
- xmlEditor.doSave( monitor );
-
- guidedEditor.getModeller().setDirty( false );
-
- guidedEditor.refresh();
-
- }
-
- private IDocument getInputDocument() {
- IEditorInput input = getEditorInput();
- IDocumentProvider docProvider = DocumentProviderRegistry.getDefault().getDocumentProvider( input );
- IDocument document = docProvider.getDocument( input );
- return document;
- }
-
- public void doSaveAs() {
- xmlEditor.doSaveAs();
- guidedEditor.getModeller().setDirty( false );
- updateName( true );
- setInput( xmlEditor.getEditorInput() );
-
- guidedEditor.refresh();
-
- }
-
- public boolean isSaveAsAllowed() {
- return true;
- }
-
- public void resourceChanged(final IResourceChangeEvent event) {
- if ( event.getType() == IResourceChangeEvent.PRE_CLOSE ) {
- Display.getDefault().asyncExec( new Runnable() {
- public void run() {
- IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
- for ( int i = 0; i < pages.length; i++ ) {
- if ( ((FileEditorInput) xmlEditor.getEditorInput()).getFile().getProject().equals( event.getResource() ) ) {
- IEditorPart editorPart = pages[i].findEditor( xmlEditor.getEditorInput() );
- pages[i].closeEditor( editorPart,
- true );
- }
- }
- }
- } );
- }
- }
-
- public void dispose() {
- ResourcesPlugin.getWorkspace().removeResourceChangeListener( this );
- ResourcesPlugin.getWorkspace().removeResourceChangeListener( packageFileTracker );
- super.dispose();
- }
-
- public void dirtyPropertyChanged() {
- firePropertyChange( IEditorPart.PROP_DIRTY );
- guidedEditor.refresh();
- }
-
- public SuggestionCompletionEngine getCompletionEngine() {
- return completion;
- }
-
- private IResourceDelta getRootDelta(IResourceDelta delta) {
- if ( delta.getAffectedChildren().length > 0 ) {
- return getRootDelta( delta.getAffectedChildren()[0] );
- }
- return delta;
- }
-
+package org.drools.eclipse.rulebuilder.editors;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
+import org.drools.brms.server.rules.SuggestionCompletionLoader;
+import org.drools.brms.server.util.BRDRLPersistence;
+import org.drools.brms.server.util.BRXMLPersistence;
+import org.drools.compiler.DrlParser;
+import org.drools.eclipse.DroolsEclipsePlugin;
+import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.editors.DRLDocumentProvider;
+import org.drools.eclipse.editors.DRLRuleEditor;
+import org.drools.eclipse.util.ProjectClassLoader;
+import org.drools.lang.dsl.DSLMappingFile;
+import org.eclipse.core.internal.resources.Container;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.Document;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.editors.text.TextEditor;
+import org.eclipse.ui.forms.editor.FormEditor;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.ide.ResourceUtil;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.texteditor.DocumentProviderRegistry;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+
+public class RuleEditor extends FormEditor
+ implements
+ IResourceChangeListener {
+
+ private BrlPage guidedEditor;
+
+ private TextEditor xmlEditor = new TextEditor();
+
+ private SuggestionCompletionEngine completion;
+
+ private SuggestionCompletionLoader loader;
+
+ private FileEditorInput packageEditorInput;
+
+ private final Document drlDocument;
+
+ private IResourceChangeListener packageFileTracker = new IResourceChangeListener() {
+
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = getRootDelta( event.getDelta() );
+
+ IPath p1 = delta.getFullPath();
+ IPath p2 = packageEditorInput.getFile().getFullPath();
+ if ( p1.equals( p2 ) ) {
+ reloadCompletionEngine();
+ }
+
+ }
+
+ };
+
+ public RuleEditor() {
+ super();
+ ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
+ ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
+ IResourceChangeEvent.POST_CHANGE );
+ drlDocument = new Document();
+
+ }
+
+ protected FormToolkit createToolkit(Display display) {
+ // Create a toolkit that shares colors between editors.
+ return new FormToolkit( DroolsEclipsePlugin.getDefault().getRuleBuilderFormColors( display ) );
+ }
+
+ protected void addPages() {
+ guidedEditor = new BrlPage( this );
+ try {
+ addPage( guidedEditor );
+ addPage( xmlEditor,
+ getEditorInput() );
+
+ DRLRuleEditor drlEditor = new DRLRuleEditor() {
+ protected IDocumentProvider createDocumentProvider() {
+ return new DRLDocumentProvider() {
+ public boolean isReadOnly(Object element) {
+ return true;
+ }
+
+ public boolean isModifiable(Object element) {
+ return false;
+ }
+
+ protected IDocument getParentDocument(Object element) {
+ return drlDocument;
+ }
+ };
+ }
+
+ };
+
+ addPage( drlEditor,
+ xmlEditor.getEditorInput() );
+
+ IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
+
+ IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
+
+ IJavaProject javaProject = JavaCore.create( file.getProject() );
+
+ ClassLoader classLoader = ProjectClassLoader.getProjectClassLoader( javaProject );
+
+ loader = new SuggestionCompletionLoader( classLoader );
+
+ if ( !file.exists() ) {
+ String defaultHeader = "//This is a package configuration file";
+ defaultHeader += "\n//Add imports, globals etc here which will be used by all the rule assets in this folder.";
+ InputStream is = new ByteArrayInputStream( defaultHeader.getBytes() );
+ try {
+ file.create( is,
+ true,
+ null );
+ } catch ( CoreException e ) {
+ DroolsEclipsePlugin.log( e );
+ }
+ }
+
+ packageEditorInput = new FileEditorInput( file );
+
+ reloadCompletionEngine();
+
+ setPageText( 1,
+ "BRL Source" );
+
+ setPageText( 2,
+ "Generated DRL (read-only)" );
+
+ updateName( false );
+
+ } catch ( PartInitException e ) {
+ DroolsEclipsePlugin.log( e );
+ }
+ }
+
+ private void updateName(boolean forced) {
+ String name = xmlEditor.getTitle();
+ setPartName( name );
+
+ //TODO Add support for other than .brl extensions
+ if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
+ String shortName = name.substring( 0,
+ name.length() - ".brl".length() );
+ guidedEditor.getModeller().getModel().name = shortName;
+ }
+
+ updateDRLPage();
+
+ }
+
+ private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
+ return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
+ }
+
+ private void reloadCompletionEngine() {
+ try {
+
+ // Load all .dsl files from current dir
+ IPath p = (packageEditorInput).getFile().getFullPath().removeLastSegments( 1 );
+
+ Container folder = (Container) ResourcesPlugin.getWorkspace().getRoot().findMember( p,
+ false );
+
+ IResource[] files = folder.members( false );
+
+ List dslList = new ArrayList();
+
+ for ( int i = 0; i < files.length; i++ ) {
+ if ( files[i].getName().endsWith( ".dsl" ) ) {
+ String contents = getFileContents( (IFile) files[i] );
+ DSLMappingFile dsl = new DSLMappingFile();
+
+ if ( dsl.parseAndLoad( new StringReader( contents ) ) ) {
+ dslList.add( dsl );
+ } else {
+ //TODO report dsl parse error
+ }
+ }
+ }
+
+ // Load suggestion engine
+ String str = getFileContents( packageEditorInput.getFile() );
+
+ completion = loader.getSuggestionEngine( str,
+ dslList,
+ dslList );
+
+ } catch ( Exception e ) {
+ DroolsEclipsePlugin.log( e );
+ }
+ }
+
+ private String getFileContents(IFile file) {
+
+ InputStream is;
+ try {
+ is = file.getContents();
+
+ StringBuffer out = new StringBuffer();
+ byte[] b = new byte[4096];
+ for ( int n; (n = is.read( b )) != -1; ) {
+ out.append( new String( b,
+ 0,
+ n ) );
+ }
+
+ return out.toString();
+ } catch ( CoreException e ) {
+ //TODO Report problem with the file loading
+ return "";
+ } catch ( IOException e ) {
+ //TODO Report problem with the file loading
+ return "";
+ }
+
+ }
+
+ public boolean isDirty() {
+ return xmlEditor.isDirty() || guidedEditor.isDirty();
+ }
+
+ protected void pageChange(int newPageIndex) {
+ super.pageChange( newPageIndex );
+
+ IDocument document = getInputDocument();
+
+ if ( newPageIndex == 0 ) {
+
+ boolean newModel = guidedEditor.getModeller().getModel() == null;
+ if ( xmlEditor.isDirty() || newModel ) {
+ guidedEditor.setModelXML( document.get() );
+ if ( newModel ) {
+ guidedEditor.getModeller().setDirty( false );
+ }
+ updateName( false );
+ }
+
+ guidedEditor.refresh();
+
+ } else if ( newPageIndex == 1 ) {
+
+ if ( guidedEditor.isDirty() ) {
+ document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+ }
+ } else if ( newPageIndex == 2 ) {
+
+ //Updating main document for proper workflow when page is switched back to "0"
+ if ( guidedEditor.isDirty() ) {
+ document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+ } else if ( xmlEditor.isDirty() ) {
+ guidedEditor.setModelXML( document.get() );
+ }
+
+ updateDRLPage();
+
+ updateName( false );
+
+ }
+
+ }
+
+ private void updateDRLPage() {
+
+ String drl = "";
+ try {
+ drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
+
+ IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
+
+ Reader reader = DSLAdapter.getDSLContent( drl,
+ resource );
+ DrlParser parser = new DrlParser();
+
+ if ( reader != null ) {
+ drl = parser.getExpandedDRL( drl,
+ reader );
+ }
+
+ } catch ( Throwable t ) {
+
+ StringWriter strwriter = new StringWriter();
+ t.printStackTrace( new PrintWriter( strwriter ) );
+ drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
+ }
+ drlDocument.set( drl );
+ }
+
+ public void doSave(IProgressMonitor monitor) {
+ IDocument document = getInputDocument();
+
+ if ( xmlEditor.isDirty() ) {
+ guidedEditor.setModelXML( document.get() );
+ } else if ( guidedEditor.isDirty() ) {
+ document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
+ }
+
+ xmlEditor.doSave( monitor );
+
+ guidedEditor.getModeller().setDirty( false );
+
+ guidedEditor.refresh();
+
+ }
+
+ private IDocument getInputDocument() {
+ IEditorInput input = getEditorInput();
+ IDocumentProvider docProvider = DocumentProviderRegistry.getDefault().getDocumentProvider( input );
+ IDocument document = docProvider.getDocument( input );
+ return document;
+ }
+
+ public void doSaveAs() {
+ xmlEditor.doSaveAs();
+ guidedEditor.getModeller().setDirty( false );
+ updateName( true );
+ setInput( xmlEditor.getEditorInput() );
+
+ guidedEditor.refresh();
+
+ }
+
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
+
+ public void resourceChanged(final IResourceChangeEvent event) {
+ if ( event.getType() == IResourceChangeEvent.PRE_CLOSE ) {
+ Display.getDefault().asyncExec( new Runnable() {
+ public void run() {
+ IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
+ for ( int i = 0; i < pages.length; i++ ) {
+ if ( ((FileEditorInput) xmlEditor.getEditorInput()).getFile().getProject().equals( event.getResource() ) ) {
+ IEditorPart editorPart = pages[i].findEditor( xmlEditor.getEditorInput() );
+ pages[i].closeEditor( editorPart,
+ true );
+ }
+ }
+ }
+ } );
+ }
+ }
+
+ public void dispose() {
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener( this );
+ ResourcesPlugin.getWorkspace().removeResourceChangeListener( packageFileTracker );
+ super.dispose();
+ }
+
+ public void dirtyPropertyChanged() {
+ firePropertyChange( IEditorPart.PROP_DIRTY );
+ guidedEditor.refresh();
+ }
+
+ public SuggestionCompletionEngine getCompletionEngine() {
+ return completion;
+ }
+
+ private IResourceDelta getRootDelta(IResourceDelta delta) {
+ if ( delta.getAffectedChildren().length > 0 ) {
+ return getRootDelta( delta.getAffectedChildren()[0] );
+ }
+ return delta;
+ }
+
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list